[spoiler]
Code: Select all
ACTOR DSMaul : Weapon 2004
{
    ConversationID 193
    Inventory.Icon "TRPDA0"
    Inventory.PickupMessage "You've found the 'Maul' Class Ion Cannon! (Slot 7)"
    Weapon.SelectionOrder 300
    Weapon.AmmoType1 "EnergyPod"
    Weapon.AmmoGive1 40
    Weapon.AmmoUse1 20
    Weapon.UpSound "Maul/Up"
    +BFG
    +NOAUTOFIRE
    States
    {
    Spawn:
      TRPD A -1
      Loop
    Select:
      MAUL A 1 A_Raise
      Loop
    Deselect:
      MAUL A 1 A_Lower
      Loop
    Ready:
      MAUL FGHA 6 A_WeaponReady
      Loop
    Fire:
      MAUL A 0 A_PlayWeaponSound ("Maul/Spread")
      BLSF A 5 Bright A_FireBullets (5,5,20,16,"DSMaulPuff",1)
      MAUL B 3 Bright
      MAUL CDE 2
      MAUL AH 7
      MAUL G 7 A_CheckReload
      Goto Ready
    AltFire:
      MAUL I 7 A_PlayWeaponSound ("Maul/Charge")
      MAUL JKL 7
      MAUL I 10
      MAUL J 10
      MAUL A 0 A_PlayWeaponSound ("Maul/Fire")
      BLSF A 10 Bright A_FireCustomMissile ("DSMaulTorpedo",0,1)
      MAUL B 10 Bright
      MAUL CDE 2
      Goto Ready
    }
}
ACTOR DSMaulPuff
{
   +NOBLOCKMAP
   +NOGRAVITY
   +PUFFONACTORS
   RenderStyle Add
   Scale 0.25
   DamageType Disintegrate
   States
   {
   Spawn:
     BUF2 A 1 Bright A_PlaySound ("Maul/Puff")
     BUF2 B 1 Bright A_SpawnDebris ("DSMaulSpark")
     BUF2 CDEFGHIJKLMNOPQRSTUVWXWYZ 1 Bright
     BUF3 ABC 1 Bright A_FadeOut
     Stop
   }
}
ACTOR DSMaulSpark : DSDaggerSpark
{
    Health 10
    States
    {
      TORP A 1
      TORP ABCDABCDABCD 8 A_FadeOut
      Stop
    }
}
ACTOR DSMaulTorpedo
{
   DeathSound "Maul/Impact"
   Speed 20
   Height 8
   Radius 13
   Damage 60
   PROJECTILE
   DamageType Disintegrate
   States
   {
   Spawn:
     TORP ABCD 4 A_SpawnDebris ("DSMaulSpark")
     Loop
   Death:
     //This is really complex, so I'm gonna divide it up. First is the equator, which has waves every 10 mapunits.
     THIT A 8 Bright A_SpawnDebris ("DSMaulSpark")
     THIT B 8 Bright A_SpawnDebris ("DSMaulSpark")
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,10,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,30,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,50,2,0)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,70,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,110,2,0)
     //3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,130,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,150,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,170,2,0)
     //4
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,190,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,210,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,230,2,0)
     //5
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,250,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,290,2,0)
     //6
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,310,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,330,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,0)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,350,2,0)
     //Bands 1 and -1, every 20 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,20)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,20)
     //3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,20)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,20,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,100,2,-20)
     //-2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,140,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,220,2,-20)
     //-3
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,260,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,-20)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,340,2,-20)
     //Bands 2 and -2. Every 40 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,40)
     //2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,40)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,40,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,80,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,160,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,200,2,-40)
     //-2
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,280,2,-40)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,320,2,-40)
     //Bands 3 and -3. Every 60 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,60)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,60,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,120,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,240,2,-60)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,300,2,-60)
     //Bands 4 and -4. Every 90 mapunits
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,80)
     //-1
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,0,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,90,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,180,2,-80)
     THIT A 0 A_CustomMissile ("DSMaulWave",0,0,270,2,-80)
     //Whew!
     THIT CDE 8 Bright A_SpawnDebris ("DSMaulSpark")
     Stop
     }
}
ACTOR DSMaulWave
{
   PROJECTILE
   +RIPPER
   Speed 35
   Damage 10
   Height 13
   Radius 13
   ReactionTime 3
   DamageType Disintegrate
   States
   {
   Spawn:
     TWAV A 9 Bright A_SpawnDebris ("DSMaulSpark")
     TWAV B 9 Bright A_SpawnDebris ("DSMaulSpark")
     TWAV C 9 Bright A_SpawnDebris ("DSMaulSpark")
     Goto Death
   Death:
     MWAV C 4 Bright A_FadeOut
     Stop
   }
}


