// Programmer --------------------------------------------------------------- ACTOR Programmer { Game Strife ConversationID 95, -1, -1 Health 1100 PainChance 50 Speed 26 FloatSpeed 5 Radius 45 Height 60 Mass 800 Damage 4 Monster +NOGRAVITY +FLOAT +NOBLOOD +NOTDMATCH +DONTMORPH +NOBLOCKMONST +LOOKALLAROUND +NOICEDEATH +NOTARGETSWITCH DamageFactor "Fire", 0.5 MinMissileChance 150 AttackSound "programmer/attack" PainSound "programmer/pain" DeathSound "programmer/death" ActiveSound "programmer/active" Obituary "$OB_PROGRAMMER" DropItem "Sigil1" action native A_ProgrammerMelee (); action native A_SpawnProgrammerBase (); action native A_ProgrammerDeath (); action native A_SpotLightning(); States { Spawn: PRGR A 5 A_Look PRGR A 1 A_SentinelBob Loop See: PRGR A 160 A_SentinelBob PRGR BCD 5 A_SentinelBob PRGR EF 2 A_SentinelBob PRGR EF 3 A_Chase Goto See+4 Melee: PRGR E 2 A_SentinelBob PRGR F 3 A_SentinelBob PRGR E 3 A_FaceTarget PRGR F 4 A_ProgrammerMelee Goto See+4 Missile: PRGR G 5 A_FaceTarget PRGR H 5 A_SentinelBob PRGR I 5 Bright A_FaceTarget PRGR J 5 Bright A_SpotLightning Goto See+4 Pain: PRGR K 5 A_Pain PRGR L 5 A_SentinelBob Goto See+4 Death: PRGR L 7 Bright A_TossGib PRGR M 7 Bright A_Scream PRGR N 7 Bright A_TossGib PRGR O 7 Bright A_NoBlocking PRGR P 7 Bright A_TossGib PRGR Q 7 Bright A_SpawnProgrammerBase PRGR R 7 Bright PRGR S 6 Bright PRGR TUVW 5 Bright PRGR X 32 Bright PRGR X -1 Bright A_ProgrammerDeath Stop } } // The Programmer's base for when he dies ----------------------------------- ACTOR ProgrammerBase { ConversationID 96,-1,-1 +NOBLOCKMAP +NOCLIP +NOBLOOD states { Spawn: BASE A 5 Bright A_Explode(32,32,1,1) BASE BCD 5 Bright BASE EFG 5 BASE H -1 Stop } } // The Programmer level ending thing ---------------------------------------- ACTOR ProgLevelEnder : Inventory native { +INVENTORY.UNDROPPABLE }