Page 1 of 1

Jump Pad

Posted: Thu Jun 20, 2019 9:42 am
by Mack
Trigger based Jump Pad (like Quake 3)
This Trigger will launch the AI or Player wherever the Trigger is "facing".
This assumes you are familiar with creating and using Triggers within Torque.

UPDATE: The force that the Jump Pad pushes the AI or Player can now be set as a Dynamic Value within the Trigger itself. This will allow you to have multiple Jump Pads with various amounts of force within your mission.

datablock TriggerData(JumpPadTrigger)
{
   tickPeriodMS = 1000;
};

function JumpPadTrigger::onEnterTrigger(%this, %trigger, %obj)
{
   //set the force the Jump Pad pushes the player at as a Dynamic Value
   %jumppadforce = %trigger.getFieldValue(JumpPadForceRef);

   //get the direction the trigger is "facing" (theta)
   %aim = %trigger.getForwardVector();
   
   //take the getForwardVector and add some force
   %impulseVec = vectorScale(%aim, %jumppadforce);
   
   //take the above mix and add some additional direction if needed
   %impulseVec = vectorAdd(%impulseVec, "0 0 0");
   
   //apply this to any AI/Player that enters the trigger
   %obj.applyImpulse("0 0 0", %impulseVec);

   //TODO: add your audio here
}

function JumpPadTrigger::onLeaveTrigger(%this, %trigger, %obj)
{
   ECHO("WHEE!");
}
After creating your JumpPadTrigger within the editor create a Dynamic Field called JumpPadForceRef and set its value to the amount of force you want to push the AI or Player at.

Re: Jump Pad

Posted: Thu Jun 20, 2019 9:47 am
by Duion
I had this idea before, but then I realized, I had no idea how to teach the AI to use those jump pads.

Re: Jump Pad

Posted: Thu Jun 20, 2019 1:35 pm
by XIXWYRMEXIX
Cool resource Mack! I will throw it into my test world and see how it does.