23 lines
570 B
Plaintext
23 lines
570 B
Plaintext
// swim_g_underwate - Go underwater
|
|
|
|
void fnJump(object oDest)
|
|
{
|
|
object oMe=OBJECT_SELF;
|
|
if (GetArea(oDest)!=GetArea(oMe)||GetDistanceBetween(oMe,oDest)>2.0)
|
|
{ // jump
|
|
AssignCommand(oMe,ClearAllActions(TRUE));
|
|
AssignCommand(oMe,JumpToObject(oDest));
|
|
DelayCommand(0.5,fnJump(oDest));
|
|
} // jump
|
|
} // fnJump()
|
|
|
|
void main()
|
|
{
|
|
object oPC=GetPCSpeaker();
|
|
object oUWDest=GetLocalObject(oPC,"oDest");
|
|
if (oUWDest!=OBJECT_INVALID)
|
|
{ // underwater destination exists
|
|
AssignCommand(oPC,fnJump(oUWDest));
|
|
} // underwater destination exists
|
|
}
|