Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Fallen Empire: Legions
- Copyright (C) GarageGames.com, Inc.
- */
- $raceStarted=0;
- $zone0Loc="-960.258 -586.881 2703.33";
- $zone1Loc="-369.241 -73.9871 5136.51";
- $zone2Loc="244.958 -1705.25 8159";
- $zone3Loc="-649.497 1457.46 11085.9";
- $zone4Loc="-11.2289 -914.205 14017";
- //Universal Functions
- function raceTimer(%player)
- {
- if(%player.data["Status","Time"] != 0){
- //echo("Inc Time");
- echo("Time: " @ %player.data["Status","Time"]);
- %thusFar=%player.data["Status","Time"]+10;
- %player.data["Status","Time"]=%thusFar;
- schedule(10,45,"raceTimer",%player);
- }
- }
- //Level 0 --------------------------------------------------------------------------------------------------------------------------
- // --------------------------------------------------------------------------------------------------------------------------
- function Race1StartTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Time"] == 0)
- {
- Game.cancelInvincibility(%obj);
- %obj.setData("Status","Time",1);
- %obj.data["Status","Time"]=1;
- schedule(15,89,"raceTimer",%obj);
- echo("Process Player Start");
- if($raceStarted==0){
- $numPlayers++;
- $raceStarted=1;
- $MaxPlayers++;
- }
- }
- }
- function Race1StartTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Start Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Race1StopTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Time"] >0)
- {
- if($numPlayers>0)
- $numPlayers--;
- //echo("Process Player Stop");
- %place=$MaxPlayers-$numPlayers+1;
- %time=%obj.data["Status","Time"];
- echo("Time End: " @ %time);
- echo("Finish");
- messageAll('MsgPlacing','finished in',%place,%time,%obj.client);
- %obj.setData("Status","Time",0);//wipe for new race
- %obj.data["Status","Time"]=0;
- if($numPlayers==0){
- $raceStarted=0;
- $MaxPlayers=0;
- }
- }
- }
- function Race1StopTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function zone0UPTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- echo("Enter Zone 0 Up");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Progress"]>=1)
- {
- %obj.setPosition($zone1Loc);
- }
- }
- function zone0UPTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //Level 1 --------------------------------------------------------------------------------------------------------------------------
- // --------------------------------------------------------------------------------------------------------------------------
- function Race2StartTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Time"] == 0)
- {
- Game.cancelInvincibility(%obj);
- %obj.setData("Status","Time",1);
- %obj.data["Status","Time"]=1;
- schedule(15,89,"raceTimer",%obj);
- echo("Process Player Start");
- if($raceStarted==0){
- $numPlayers++;
- $raceStarted=1;
- $MaxPlayers++;
- }
- }
- }
- function Race2StartTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Start Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Race2StopTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Time"] >0)
- {
- if($numPlayers>0)
- $numPlayers--;
- //echo("Process Player Stop");
- %place=$MaxPlayers-$numPlayers+1;
- %time=%obj.data["Status","Time"];
- echo("Time End: " @ %time);
- echo("Finish");
- messageAll('MsgPlacing','finished in',%place,%time,%obj.client);
- %obj.setData("Status","Time",0);//wipe for new race
- %obj.data["Status","Time"]=0;
- if($numPlayers==0){
- $raceStarted=0;
- $MaxPlayers=0;
- }
- }
- }
- function Race2StopTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function zone1UPTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Progress"]>=2)
- {
- %obj.setPosition($zone2Loc);
- }
- }
- function zone1UPTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function zone1DOWNTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- echo("Enter Zone 1 Down");
- if (%obj.getClassName() $= "Player")
- {
- %obj.setPosition($zone0Loc);
- }
- }
- function zone1DOWNTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Checkpoint1Trigger::onEnterTrigger( %this, %trigger, %obj )
- {
- echo("Enter CP 1");
- if (%obj.getClassName() $= "Player")
- {
- if(%player.data["Status","Progress"] >1){//-structured this way for a reason
- // -do NOT change the structure!
- // -this one's is also different from
- // the others on purpose
- }else{
- %player.data["Status","Progress"]=1;
- }
- }
- }
- function Checkpoint1Trigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //Level 2 --------------------------------------------------------------------------------------------------------------------------
- // --------------------------------------------------------------------------------------------------------------------------
- function zone2UPTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Progress"]>=3)
- {
- %obj.setPosition($zone3Loc);
- }
- }
- function zone2UPTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function zone2DOWNTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- %obj.setPosition($zone1Loc);
- }
- }
- function zone2DOWNTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Checkpoint2rigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- if(%player.data["Status","Progress"] <3)
- %player.data["Status","Progress"]=2;
- }
- }
- function Checkpoint2Trigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //Level 3 --------------------------------------------------------------------------------------------------------------------------
- // --------------------------------------------------------------------------------------------------------------------------
- function zone3UPTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player" && %obj.data["Status","Progress"]>=4)
- {
- %obj.setPosition($zone4Loc);
- }
- }
- function zone3UPTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function zone3DOWNTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- %obj.setPosition($zone2Loc);
- }
- }
- function zone3DOWNTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Checkpoint3rigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- if(%player.data["Status","Progress"] <4)
- %player.data["Status","Progress"]=3;
- }
- }
- function Checkpoint3Trigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //Level 4 --------------------------------------------------------------------------------------------------------------------------
- // --------------------------------------------------------------------------------------------------------------------------
- function zone4DOWNTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- %obj.setPosition($zone3Loc);
- }
- }
- function zone4DOWNTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- function Checkpoint4rigger::onEnterTrigger( %this, %trigger, %obj )
- {
- //echo("Enter Player Stop");
- if (%obj.getClassName() $= "Player")
- {
- if(%player.data["Status","Progress"] <5)
- %player.data["Status","Progress"]=4;
- }
- }
- function Checkpoint4Trigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Stop Tick");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //Kill Trigger
- function RaceKillTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- echo("Process Kill");
- if (%obj.getClassName() $= "Player"/* && %trigger.teamIndex == %obj.teamIndex*/)
- {
- echo("Kill");
- %obj.damage(%client, %player.getPosition(), 1000,
- $DamageType::ForcedRespawn,
- %player.stats.getWeaponStats($DamageType::ForcedRespawn));
- }
- }
- function RaceKillTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- echo("Enter Kill");
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- ////Jump Ring Trigger
- function JumpRingTrigger::onEnterTrigger( %this, %trigger, %obj )
- {
- if (%obj.getClassName() $= "Player" && %trigger.teamIndex == %obj.teamIndex)
- {
- Game.cancelInvincibility(%obj);
- %muzzleVector = %obj.getMuzzleVector(0);
- %moveDir = MatrixMulVector(%matrix, %muzzleVector);
- %impulse = VectorAdd(VectorScale(%moveDir, %this.jumpImpulse), "0 0 0");
- %obj.damage(%obj.client, %obj.position, 0, $DamageType::Collision, %obj.stats.getWeaponStats($DamageType::Collision));
- // %obj.setVelocity("0 0 0");
- %obj.applyImpulse("0 0 0", %impulse);
- %obj.setEnergyLevel(100);
- }
- }
- function JumpRingTrigger::onTickTrigger( %this, %trigger )
- {
- %numObjects = %trigger.getNumObjects();
- for (%i = 0; %i < %numObjects; %i++)
- %this.onEnterTrigger(%trigger, %trigger.getObject(%i));
- }
- //override settings ( Collision , plasma dmg etc )
- function pipeOverwriteSettings()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment