33 lines
1.3 KiB
Plaintext
33 lines
1.3 KiB
Plaintext
////////////////////////////////////////////////////////////////////////////////
|
|
// dr_rd_chasmop - Door from Chasm leading to Random Dungeon.
|
|
// By Deva B. Winblood. November 15th, 2008.
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
void main()
|
|
{
|
|
object oMe=OBJECT_SELF;
|
|
object oPC=GetLastUsedBy();
|
|
int nState=GetLocalInt(oMe,"nState");
|
|
object oDest=GetLocalObject(oMe,"oDest");
|
|
if (nState==0)
|
|
{ // open
|
|
SetLocalInt(oMe,"nState",1);
|
|
AssignCommand(oMe,ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN,1.0,10.0));
|
|
DelayCommand(10.2,AssignCommand(oMe,ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE,1.0,10.0)));
|
|
DelayCommand(10.1,DeleteLocalInt(oMe,"nState"));
|
|
} // open
|
|
else if (nState==1&&GetIsObjectValid(oDest))
|
|
{ // jump
|
|
AssignCommand(oPC,ClearAllActions(TRUE));
|
|
AssignCommand(oPC,JumpToObject(oDest));
|
|
nState=GetLocalInt(oDest,"nState");
|
|
if (nState!=1&&GetTag(oMe)!="door_cata")
|
|
{ // open
|
|
SetLocalInt(oDest,"nState",1);
|
|
AssignCommand(oDest,ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN,1.0,10.0));
|
|
DelayCommand(10.2,AssignCommand(oDest,ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE,1.0,10.0)));
|
|
DelayCommand(10.1,DeleteLocalInt(oDest,"nState"));
|
|
} // open
|
|
} // jump
|
|
}
|