/* Gravity Axe */ Actor GravityAxe : Weapon { Inventory.PickupSound "misc/w_pkup" Weapon.AmmoUse 0 Weapon.SlotNumber 6 Weapon.KickBack 400 +WEAPON.NOALERT Obituary "%o was succumbed to %k's Graviton Enforcer" Inventory.PickupMessage "You got the Graviton Enforcer!" Tag "Graviton Enforcer" States { Spawn: GNFW AB 6 GNFW B 4 BRIGHT Loop Select: TNT1 A 0 A_TakeInventory ("GraxReturned", 999) TNT1 A 0 A_TakeInventory ("NoGraxFlag", 999) GNFI A 0 BRIGHT A_Raise GNFI A 1 BRIGHT A_Raise Loop Deselect: TNT1 A 0 A_TakeInventory ("GraxReturned", 999) TNT1 A 0 A_TakeInventory ("NoGraxFlag", 999) GNFI A 0 BRIGHT A_Lower GNFI A 1 BRIGHT A_Lower Loop Ready: TNT1 A 0 A_JumpIfInventory ("NoGraxFlag", 1, "NoAxeReady") GNFI ABC 1 BRIGHT A_WeaponReady Loop Fire: TNT1 A 0 A_JumpIfInventory ("NoGraxFlag", 1, "NoAxeAttack") Normal: GNFI A 0 A_PlaySound ("sounds/nrgdaggertoss") GNFT A 1 BRIGHT GNFA A 1 BRIGHT GNFA B 1 BRIGHT GNFA B 1 BRIGHT TNT1 A 0 A_AlertMonsters GNFA C 0 BRIGHT A_CustomPunch (40, 1, 0, GraxImpactPuff, 160) GNFA C 1 BRIGHT A_FireCustomMissile ("GravityAxeBurst", 0, 0, 0, 0, 0, 0) GNFA D 1 BRIGHT TNT1 A 21 BRIGHT GNFA E 3 GNFI A 1 A_ReFire Goto Ready Altfire: TNT1 A 0 A_JumpIfInventory ("NoGraxFlag", 1, "NoAxeAltfire") TNT1 A 0 A_JumpIfInventory("PowerStrength", 1, "BerserkAxeAltfire") Normal: TNT1 A 0 A_PlaySound ("sounds/nrgdaggertoss") GNFT A 1 BRIGHT THDT B 1 THDT C 0 A_FireCustomMissile ("BoomerangAxeTrail", 0, 0, 0, 0, 0, 0) THDT C 4 A_FireCustomMissile ("BoomerangAxe", 0, 0, 0, 0, 0, 0) THDT D 1 THDT E 3 TNT1 A 1 A_GiveInventory ("NoGraxFlag", 1) Goto Ready BerserkAxeAltfire: TNT1 A 0 A_PlaySound ("sounds/nrgdaggertoss") GNFT A 1 BRIGHT THDT B 1 THDT C 0 A_FireCustomMissile ("BoomerangAxeTrail", 0, 0, 0, 0, 0, 0) THDT C 4 A_FireCustomMissile ("BerserkBoomerangAxe", 0, 0, 0, 0, 0, 0) THDT D 1 THDT E 3 GNFA E 3 TNT1 A 1 A_GiveInventory ("NoGraxFlag", 1) Goto Ready NoAxeReady: TNT1 A 0 A_JumpIfInventory ("GraxReturned", 1, "GraxCatch") NGX2 I 2 A_WeaponReady(WRF_NOSWITCH) Loop GraxCatch: TNT1 A 0 A_TakeInventory ("GraxReturned", 999) TNT1 A 0 A_TakeInventory ("NoGraxFlag", 999) GNFC A 3 GNFC B 3 TNT1 A 1 Goto Ready NoAxeAttack: TNT1 A 0 A_JumpIfInventory ("GraxReturned", 1, "GraxCatch") TNT1 A 0 A_PlaySound ("sounds/fireplasma") DBLG E 0 A_Light1 DBLG DD 1 DBLG EE 1 BRIGHT TNT1 A 0 A_SpawnItemEX ("TeslaLaunchPuff", 25, -10, 35) TNT1 A 0 A_SpawnItemEX ("TeslaLaunchPuff", 25, 10, 35) TNT1 A 0 A_FireCustomMissile("GauntletSpark", -1, 0, -12, 0) TNT1 A 0 A_FireCustomMissile("GauntletSpark", 1, 0, 12, 0) DBLG FF 1 BRIGHT DBLG D 1 A_Refire DBLG C 1 A_Light0 DBLG B 1 DBLG A 1 Goto NoAxeReady NoAxeAltfire: TNT1 A 0 A_JumpIfInventory ("GraxReturned", 1, "GraxCatch") NRGG EEE 0 A_Playsound("sounds/nrgshieldup") NRGG FFF 1 BRIGHT A_SpawnItemEx("NRGShield", 24,-6,20,velx, vely, velz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION, 0) NRGG GGG 1 BRIGHT A_SpawnItemEx("NRGShieldBash", 24,-6,20,velx, vely, velz, 0, SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERTRANSLATION, 0) NRGG E 1 A_ReFire NRGG D 2 NRGG C 2 NRGG B 1 Goto NoAxeReady } } ACTOR GravityAxeBurst { Radius 12 Height 3 Speed 40 RenderStyle Translucent Alpha 0.1 Scale 2.0 Projectile +explodeonwater +BLOODLESSIMPACT +DONTBLAST +DONTREFLECT AttackSound "sounds/nrgshieldhit" DeathSound "sounds/plasmastrike" States { Spawn: TNT1 A 1 Goto Death Death: TNT1 A 0 A_ChangeFlag ("NOGRAVITY", True) TNT1 A 0 A_Scream TNT1 A 0 A_Stop TNT1 A 0 A_Stop TNT1 A 0 A_Explode (50, 128, 0, 0, 1) TNT1 A 0 A_SpawnItemEX ("GraxGravityPuff", 0, 0, 5) NGFX ABCDE 1 BRIGHT A_RadiusThrust (20000, 200, 0) Stop } } ACTOR GraxGravityPuff { RenderStyle Add Alpha 0.1 Scale 5.0 YScale 0.5 -NOINTERACTION -SOLID +NOBLOCKMAP +NOGRAVITY +PUFFONACTORS States { Spawn: NGFX ABCDE 1 BRIGHT Stop } } ACTOR GraxImpactPuff { RenderStyle Add Alpha 0.1 +NOBLOCKMAP +NOGRAVITY +PUFFONACTORS SeeSound "sounds/graxhit" AttackSound "sounds/graxfail" States { Spawn: NGFX ABCDE 1 BRIGHT Stop } } //Boomerang code borrowed and tweaked from version 9.2 of Combine_Kegan's GMOTA mod. ACTOR BoomerangAxe { PROJECTILE Damage (10) Height 6 Radius 16 Speed 30 +RIPPER +NOGRAVITY +THRUSPECIES +SKYEXPLODE +notimefreeze RenderStyle Normal Scale 1.0 seesound "sounds/boomeraxetoss" Species "NRG" Obituary "%o was chopped in half %k's Graviton Enforcer" States { Spawn: GNFB ABCDABCDABCD 1 GNFB ABCDABCDABCD 1 Goto Death Death: TNT1 A 0 bright TNT1 A 1 a_custommissile ("ReturningAxe",0,0,0,0) Stop } } ACTOR BoomerangAxeTrail { PROJECTILE Damage (15) Height 6 Radius 16 Speed 30 +RIPPER +NOGRAVITY +THRUSPECIES +notimefreeze RenderStyle Add Alpha 0.5 Scale 1.5 Species "NRG" Obituary "%o was chopped in half %k's Graviton Enforcer" States { Spawn: GNSB A 0 A_PlaySound ("sounds/boomeraxetrail") GNSB A 1 Bright GNSB BCDEF 1 Bright GNSB A 0 A_PlaySound ("sounds/boomeraxetrail") GNSB A 1 Bright GNSB BCDEF 1 Bright GNSB A 0 A_PlaySound ("sounds/boomeraxetrail") GNSB A 1 Bright GNSB BCDEF 1 Bright GNSB A 0 A_PlaySound ("sounds/boomeraxetrail") GNSB A 1 Bright GNSB BCDEF 1 Bright Goto Death Death: GNSD ABCDEF 1 bright Stop } } actor ReturningAxe : BoomerangAxe { -noblockmap -SOLID +NOCLIP +notimefreeze speed 30 reactiontime 3 states { Spawn: TNT1 A 0 A_FaceTarget TNT1 A 0 A_JumpIfCloser(60,"Catch") TNT1 A 0 A_PlaySound("sounds/boomeraxetoss") GNFB AA 1 A_Explode (10, 48, 0) TNT1 A 0 A_FaceTarget TNT1 A 0 A_JumpIfCloser(60,"Catch") GNFB BB 1 A_Explode (10, 48, 0) TNT1 A 0 A_FaceTarget TNT1 A 0 A_JumpIfCloser(60,"Catch") GNFB CC 1 A_Explode (10, 48, 0) TNT1 A 0 A_FaceTarget TNT1 A 0 A_JumpIfCloser(60,"Catch") GNFB DD 1 A_Explode (10, 48, 0) TNT1 A 0 A_Countdown TNT1 A 1 A_CustomMissile("ReturningAxe",0,0,0,0) stop catch: TNT1 A 0 A_GiveToTarget ("GraxReturned", 1) TNT1 A 0 A_TakefromTarget ("NoGraxFlag", 1) TNT1 A 1 a_playsound ("sounds/nrgshieldhit") stop death: TNT1 A 1 a_custommissile ("ReturningAxe",0,0,0,0) stop } } ACTOR BerserkBoomerangAxe : BoomerangAxe { PROJECTILE Damage (10) Height 6 Radius 16 Speed 25 +RIPPER +NOGRAVITY +THRUSPECIES +notimefreeze +SKYEXPLODE RenderStyle Normal Scale 1.0 seesound "sounds/boomeraxetoss" Species "NRG" Obituary "%o was chopped in half %k's Graviton Enforcer" States { Spawn: GNFB ABCDABCDABCD 1 GNFB ABCDABCDABCD 1 Goto Death Death: TNT1 A 0 bright TNT1 A 1 a_custommissile ("StormBoomerangAxe",0,0,0,0) Stop } } ACTOR StormBoomerangAxe : BerserkBoomerangAxe { PROJECTILE Damage (10) Height 6 Radius 16 Speed 0 +RIPPER +NOGRAVITY +THRUSPECIES +notimefreeze RenderStyle Normal Scale 1.0 seesound "sounds/boomeraxetoss" Species "NRG" Obituary "%o was chopped in half %k's Graviton Enforcer" States { Spawn: GNFB AAAA 1 GNFB BBBB 1 GNFB CCCC 1 GNFB DDDD 1 GNFB AAA 1 GNFB BBB 1 GNFB CCC 1 GNFB DDD 1 GNFB AA 1 GNFB BB 1 GNFB CC 1 GNFB DD 1 GNFB ABCDABCDABCD 1 TNT1 A 0 A_CustomMissile ("AxeTornado",0,0,0,0) TNT1 A 0 A_CustomMissile ("GravityAxeVacuum",0,0,0,0) Goto TornadoSpin TornadoSpin: GNFB ABCDABCDABCD 1 GNFB ABCDABCDABCD 1 TNT1 A 0 A_CountDown Loop Death: TNT1 A 0 bright TNT1 A 1 a_custommissile ("ReturningAxe",0,0,0,0) Stop } } ACTOR GravityAxeVacuum { Radius 12 Height 3 Speed 0 Mass 9999 Projectile RenderStyle Translucent Alpha 0.1 Scale 5.0 YScale 0.5 +NOBLOCKMAP +NOGRAVITY +explodeonwater +BLOODLESSIMPACT +DONTBLAST +DONTREFLECT AttackSound "sounds/nrgshieldhit" ReactionTime 30 States { Spawn: TNT1 A 1 NGFX EDCBA 1 BRIGHT A_RadiusThrust (-2000, 300, 0) TNT1 A 0 A_CountDown Loop Death: TNT1 A 1 A_Stop Stop } } ACTOR AxeTornado { Radius 32 Height 3 Speed 0 Damage 30 Projectile RenderStyle Translucent Alpha 0.25 Scale 3.0 -SOLID +NOBLOCKMAP +NOGRAVITY +NOCLIP +explodeonwater +BLOODLESSIMPACT +DONTBLAST +DONTREFLECT +ForceRadiusDmg AttackSound "sounds/nrgshieldhit" ReactionTime 18 States { Spawn: NADO DEFG 3 Goto Storm Storm: NADO ABC 3 A_Explode (5, 256, 0, 0, 1) tnt1 a 1 A_CountDown Loop Death: NADO GFED 4 Stop } } ACTOR NoGraxFlag : Inventory { Scale 0.4 +INVENTORY.IGNORESKILL +INVENTORY.UNDROPPABLE Inventory.InterHubAmount 0 Inventory.Amount 1 Inventory.Maxamount 1 } ACTOR GraxReturned : Inventory { Scale 0.4 +INVENTORY.IGNORESKILL +INVENTORY.UNDROPPABLE Inventory.InterHubAmount 0 Inventory.Amount 1 Inventory.Maxamount 1 } ACTOR GauntletSpark { PROJECTILE Damage (10) Height 3 Radius 3 Speed 50 Scale 0.25 +NOGRAVITY +THRUSPECIES RenderStyle Normal Species "NRG" Obituary "%o was lit up %k's Energy Spark" DeathSound "sounds/plasmastrike" States { Spawn: ZOT3 ABCDE 1 bright Loop Death: ZAP7 A 1 bright ZAP7 B 1 bright A_SetTranslucent (0.8, 0) ZAP7 C 1 bright A_SetTranslucent (0.6, 0) ZAP7 D 1 bright A_SetTranslucent (0.4, 0) ZAP7 E 1 bright A_SetTranslucent (0.2, 0) Stop } }