// I WANT DIE // fuck Class DontDuplicate : Inventory {} Class DontDuplicate2 : Inventory {} Class HOLYCOWIMTOTALLYGOINGSOFASTOHFUCK : Inventory { override void DoEffect() { Super.DoEffect(); if ( !Owner || (Owner.Health <= 0) ) return; if ( (Owner.tics > 1) && (Owner.tics > max(1,Owner.CurState.tics/2)) ) Owner.tics = max(1,Owner.CurState.tics/2); } } extend Class SWWMHandler { private void IWantDieSpawn( WorldEvent e ) { if ( iwantdie == -1 ) iwantdie = (G_SkillName() == StringTable.Localize("$SWWM_SKLUNATIC")); if ( iwantdie ) { if ( e.Thing.bMISSILE && !e.Thing.FindInventory("DontDuplicate") && !e.Thing.IsZeroDamage() && (e.Thing.target && e.Thing.target.bISMONSTER && !e.Thing.target.player) ) { e.Thing.speed *= 2; e.Thing.vel *= 2; Vector3 x, y, z; double ang = e.Thing.target.target?e.Thing.AngleTo(e.Thing.target.target):e.Thing.angle; double pt = e.Thing.target.target?SWWMUtility.PitchTo(e.Thing,e.Thing.target.target,.5):e.Thing.pitch; [x, y, z] = swwm_CoordUtil.GetAxes(pt,ang,e.Thing.roll); int numpt = Random[ExtraMissiles](1,2); for ( int i=0; i x.ceilingz ) x.SetZ(x.ceilingz-x.height); if ( x.pos.z < x.floorz ) x.SetZ(x.floorz); if ( !x.TestMobjLocation() || !x.TestMobjZ() || !level.IsPointInLevel(x.pos) ) { x.ClearCounters(); x.Destroy(); } else { x.angle = e.Thing.angle; x.GiveInventory("DontDuplicate",1); break; } } } } } } } }