# Jedi Knight Cog Script
#
# prl_damagedoor.cog
# Sylvicolus [PRL] 4 August 2001
#
# Door opens when surface/switch is damaged; creates sparks 3 times.
# Put sparkghost near switch or where you want sparks to originate.
# initialCel is undamaged cel of mat; damagedCel is mat cel after damage.
# Activating door produces thump sound.
#
# This cog is not supported by LucasArts Entertainment Co.
symbols
message startup
message damaged
message activated
thing door0 linkid=1
flex moveSpeed=3.0
surface switch linkid=2 mask=0x448
int initialCel=0
int damagedCel=1
thing sparkghost
template spark=+sparks local
sound wav0=00ElectrExplo03.wav local
sound wav1=df_door1-3.wav local
sector doorSector local
int done=0 local
end
# ========================================================
code
startup:
SetWallCel(switch,initialCel);
doorSector = GetThingSector(door0);
SetSectorAdjoins(doorSector, 0);
return;
activated:
if (GetSenderId() != 1) return;
PlaySoundThing(wav1, door0, 1.0, -1, -1, 0);
return;
damaged:
if (done==1 || GetSenderId() != 2) return;
done=1;
CreateThing(spark,sparkghost);
PlaySoundThing(wav0, sparkghost, 0.5,-1,-1,0);
SetWallCel(switch,damagedCel);
sleep(1.0);
CreateThing(spark,sparkghost);
PlaySoundThing(wav0, sparkghost, 0.5,-1,-1,0);
SetSectorAdjoins(doorSector, 1);
MoveToFrame(door0, 1, moveSpeed);
sleep(1.5);
CreateThing(spark,sparkghost);
PlaySoundThing(wav0, sparkghost, 0.5,-1,-1,0);
return;
end
|