Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- actor S7_EmpressInvulnOrbiter {
- health 100
- radius 20
- renderStyle Add
- +isMonster +shootable +noTeleport +noBlood
- +noTargetSwitch +noGravity +forceXYBillboard
- var int user_angle;
- var int user_countdown;
- var int user_loop;
- states {
- Spawn:
- TNT1 A 0 noDelay A_RearrangePointers (AAPTR_Master, AAPTR_Default, AAPTR_Master)
- TNT1 A 0 A_JumpIfInventory ("S7_IsEmpress", 1, "Initialize", AAPTR_Master)
- TNT1 A 0 A_Die
- goto Death
- Initialize:
- TNT1 A 0 A_GiveInventory ("S7_EmpressBalls", 1, AAPTR_Master)
- TNT1 A 0 A_SetUserVar ("user_countdown", 35 * 12)
- TNT1 A 0 A_ChangeFlag ("isMonster", 0)
- Idle:
- BAL1 A 1 bright A_Warp (AAPTR_Master, 64.0, 0.0, 55.0, user_angle, WARPF_AbsoluteAngle | WARPF_NoCheckPosition | WARPF_Interpolate)
- TNT1 A 0 A_SetUserVar ("user_countdown", user_countdown - 1)
- TNT1 A 0 A_SetUserVar ("user_angle", user_angle + 18)
- CountdownChecks:
- TNT1 A 0 A_JumpIf (user_countdown > 0, "Idle")
- TNT1 A 0 A_Die ("TimeOver")
- TNT1 A 0 A_Jump (256, "Death.TimeOver")
- wait
- Death:
- TNT1 A 1 A_GiveInventory ("S7_EmpressInvulnOrbiterDeath", 1, AAPTR_Master)
- TNT1 A 0 A_DamageMaster (random [miscDamage] (1, 8) * 8, "Empress_BallExploded") // That's gotta hurt.
- // Explosion here
- stop
- Death.TimeOver:
- BAL1 A 1 bright A_Warp (AAPTR_Master, 64.0, 0.0, 55.0, user_angle, WARPF_AbsoluteAngle | WARPF_NoCheckPosition | WARPF_Interpolate)
- TNT1 A 0 A_SetUserVar ("user_angle", user_angle + 18)
- TNT1 A 0 A_FadeOut (0.03, 0)
- TNT1 A 0 A_JumpIf (alpha <= 0, "KILLKILLKILL")
- loop
- KILLKILLKILL:
- TNT1 A 1 A_GiveInventory ("S7_EmpressInvulnOrbiterDeath", 1, AAPTR_Master)
- stop
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement