actor Lith_MakarovShotgunTrail { RenderStyle "Add" Scale 0.5 Alpha 0.5 +NOINTERACTION states { Spawn: PUFF A 1 A_FadeOut wait } } actor Lith_MakarovShotgunBullet : FastProjectile { MissileType "Lith_MakarovShotgunTrail" RenderStyle "Translucent" DamageType "Lith_Bullets" Alpha 0.9 Scale 0.5 Radius 24 Height 20 Damage (3 * random(1, 5)) Speed 96 +BLOODSPLATTER states { Spawn: TNT1 A 1 wait Crash: Death: PUFF CD 4 stop XDeath: TNT1 A 0 stop } } actor Lith_MakarovGrenade : Lith_RifleGrenade { Speed 30 Species "Lith_Phantom" +DONTHURTSPECIES } actor Lith_MakarovChainStopper : Lith_CustomFunction { states { Pickup: TNT1 A 0 A_Stop stop } } actor Lith_MakarovChainFX { states { Spawn: BLLT I 10 bright stop } } actor Lith_MakarovChain { Speed 30 DamageType "Lith_Melee" Projectile +HITTRACER states { Spawn: TNT1 A 1 A_SpawnItemEx("Lith_MakarovChainFX") wait XDeath: TNT1 A 0 A_PlaySound("enemies/makarov/chainhit", CHAN_5) Death: TNT1 AAAAAAAAAAAAAAAAAA 1 A_GiveInventory("Lith_MakarovChainStopper", 1, AAPTR_TRACER) stop } } actor Lith_Boss_Makarov : Lith_Phantom { Tag "Makarov, Avarum Est" Health 3000 states { See: PLAY AAAABBBBCCCCDDDD 1 A_Chase loop Missile: PLAY E 0 A_JumpIf(user_phase < 2, "Missile1") PLAY F 0 A_JumpIf(user_meleetime > 0, "Missile1") PLAY E 0 A_JumpIfCloser(384, "Lunge") Missile1: PLAY E 0 A_Jump(128, "Missile2", "Missile3") PLAY E 0 A_PlaySound("enemies/makarov/fire", CHAN_6) PLAY EEEEEEEE 0 A_CustomMissile("Lith_MakarovShotgunBullet", 32, 0, frandom(-20, 20), CMF_OFFSETPITCH, frandom(-5, 5)) PLAY E 5 A_FaceTarget PLAY F 2 A_FaceTarget PLAY E 10 A_PlaySound("enemies/makarov/pump", CHAN_5) PLAY F 10 PLAY F 0 A_Jump(128, "See") PLAY F 2 A_MonsterRefire(0, "See") loop Missile2: PLAY E 0 A_PlaySound("enemies/makarov/throw", CHAN_6) PLAY E 0 A_CustomMissile("Lith_MakarovGrenade", 32, 0, frandom(-4,4), CMF_ABSOLUTEPITCH|CMF_SAVEPITCH, -10) PLAY EF 10 goto See Missile3: PLAY E 0 A_JumpIf(user_phase < 3, "Missile2") PLAY E 0 A_PlaySound("enemies/makarov/chainthrow", CHAN_6) PLAY E 0 A_CustomMissile("Lith_MakarovChain") PLAY EF 10 goto See Melee: PLAY F 0 A_JumpIf(user_phase < 2, "Missile") PLAY F 0 A_JumpIf(user_meleetime > 0, "Missile") PLAY F 0 A_SetUserVar(user_meleetime, 35) PLAY F 0 A_FaceTarget PLAY F 5 A_CustomMeleeAttack(15 * random(1, 5), "enemies/makarov/scythehit", "enemies/makarov/scythe", "Lith_Melee") PLAY F 7 goto See Lunge: PLAY A 0 A_PlaySound("enemies/phantom/lunge", CHAN_5, 1.0, false, 0.5) PLAY A 10 A_FaceTarget PLAY A 0 A_FaceTarget PLAY A 5 ACS_NamedExecuteWithResult("Lith_PhantomTeleport") goto Melee Death: TNT1 A 0 ACS_NamedExecuteWithResult("Lith_PhantomDeath", 2, user_phase) PLAY H 10 A_NoBlocking PLAY I 60 TNT1 A 70 stop } } // EOF