I have at least solved the "dead until activated" problem:
Code: Select all
ACTOR PossumActivate : Inventory
{
// State flag for switched-on
Inventory.Amount 1
Inventory.MaxAmount 2
}
ACTOR DemonPossum: Demon 15959
{
//
// This is a demon that is supposed to be dead
// and later resurrected for a special effect.
//
// The idea is to have a pile of dead demons of which
// some come to life. Since a corpse cannot be solid,
// this is faked using advanced DECORATE logic.
//
//$Category butchery
//
-SHOOTABLE
States
{
Spawn:
SARG A 0
SARG A 0 A_JumpIfInventory("PossumActivate",2,5)
SARG A 0 A_JumpIfInventory("PossumActivate",1,2)
// NotActivated
SARG N 10
Loop
// JustActivated
SARG A 0 A_GiveInventory("PossumActivate",1)
SARG A 0 A_ChangeFlag("SHOOTABLE",1)
// FullyActivated
SARG A 10 A_Look
SARG B 10 A_Look
Loop
}
}
Code: Select all
script 238 (void)
{
GiveActorInventory(183,"PossumActivate",1);
}
This code needs polishing but it does work - I just tried it.
Hmm... "Play possum" is slang in English to play dead... wonder what a Possum is... /me looks it up on Google