UW2_PRC8/_module/nss/jumpdusttrig.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

72 lines
1.8 KiB
Plaintext

effect eEffect;
location lTarget;
object oTarget;
//Created by Guile 3/31/07 :)
//Put this script OnEnter
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
int DoOnce = GetLocalInt(oPC, GetTag(OBJECT_SELF));
if (DoOnce==TRUE) return;
SetLocalInt(oPC, GetTag(OBJECT_SELF), TRUE);
if (GetIsSkillSuccessful(oPC, SKILL_TUMBLE, 42))
{
oTarget = GetWaypointByTag("jumpway3");
lTarget = GetLocation(oTarget);
//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
//the script will stop if the location isn't valid - meaning that
//nothing put after the teleport will fire either.
//the current location won't be stored, either
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionJumpToLocation(lTarget));
DelayCommand(1.0, FloatingTextStringOnCreature("You jump to the other side, and your tumbling skills keep you from breaking your kneck!!!", oPC));
}
else
{
oTarget = GetWaypointByTag("jumpway 3");
lTarget = GetLocation(oTarget);
//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
//the script will stop if the location isn't valid - meaning that
//nothing put after the teleport will fire either.
//the current location won't be stored, either
if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionJumpToLocation(lTarget));
oTarget = oPC;
eEffect = EffectDeath();
eEffect = SupernaturalEffect(eEffect);
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget));
FloatingTextStringOnCreature("You jump to the otherside, but as you tumble you break your kneck!!!", oPC);
}
}