Posted: Sat Nov 19, 2005 15:21
Do weapons count? If so, I have a monster of a weapon.
[spoiler][/spoiler]
[spoiler]
Code: Select all
ACTOR Minigun : Weapon 20022
{
Inventory.PickupMessage "You got the XA-532 Minigun"
Inventory.PickupSound "misc/w_pkup"
Weapon.SelectionOrder 400
Weapon.Kickback 90
Weapon.AmmoType1 "Cell"
Weapon.AmmoType2 "MinigunHeat"
Weapon.AmmoGive 75
Weapon.AmmoUse 1
AttackSound "weapons/minigun"
Obituary "%k turned %o into swiss cheese using %p XA-532 minigun"
States
{
Spawn:
MINI A -1
LOOP
Ready:
MING A 1 A_WeaponReady
MING A 0 A_TakeInventory("MinigunHeat",1)
Loop
Deselect:
MING A 0 A_TakeInventory("MinigunHeat",100)
MING A 1 A_Lower
LOOP
Select:
MING A 1 A_Raise
LOOP
Fire:
MING A 0 A_JumpIfInventory("IsUp",1,3)
MING A 0 A_GiveInventory("IsUp",1)
MING A 0 A_PlaySound("weapons/minigunup")
MING A 0 A_JumpIfInventory("SpinLevel",5,40)
MING A 0 A_JumpIfInventory("SpinLevel",4,31)
MING A 0 A_JumpIfInventory("SpinLevel",3,23)
MING A 0 A_JumpIfInventory("SpinLevel",2,13)
MING A 0 A_JumpIfInventory("SpinLevel",1,6)
MING BCD 2 A_TakeInventory("MinigunHeat",1)
MING D 0 A_GiveInventory("SpinLevel",1)
MING D 0 A_Refire
Goto Fire+63
MING EFGH 2 A_TakeInventory("MinigunHeat",1)
MING H 0 A_GiveInventory("SpinLevel",1)
MING H 0 A_Refire
Goto Fire+63
MING A 1 A_TakeInventory("MinigunHeat",1)
MING B 1
MING C 1 A_TakeInventory("MinigunHeat",1)
MING D 1
MING E 1 A_TakeInventory("MinigunHeat",1)
MING F 1
MING G 1 A_TakeInventory("MinigunHeat",1)
MING H 1 A_GiveInventory("SpinLevel",1)
MING H 0 A_Refire //Fire+28
Goto Fire+63
MING B 1 A_TakeInventory("MinigunHeat",1)
MING C 1
MING D 1 A_TakeInventory("MinigunHeat",1)
MING E 1
MING F 1 A_TakeInventory("MinigunHeat",1)
MING G 1 A_GiveInventory("SpinLevel",1)
MING H 0 A_Refire
Goto Fire+63
MING H 1 A_TakeInventory("MinigunHeat",1) //Fire+36
MING A 1
MING H 0
MING C 1 A_TakeInventory("MinigunHeat",1)
MING E 1
MING G 1 A_TakeInventory("MinigunHeat",1)
MING G 0 A_GiveInventory("SpinLevel",1)
MING H 0 A_Refire
Goto Fire+63
MINF A 0 A_PlaySound("weapons/minigunhold")
MINF A 0 A_GunFlash
MINF A 0 BRIGHT A_FireCustomMissile("5.56mmcasing",45+random(-8,8),0,1,4)
MINF A 0 BRIGHT A_Jump(48,2)
MINF A 0 BRIGHT A_FireCustomMissile("MinigunSmoke",0,0,3,2)
MINF A 1 BRIGHT A_FireBullets(15,15,1,7,0,1,10240)
MINF A 0 A_GiveInventory("MinigunHeat",2)
MINF A 0 A_JumpIfInventory("MinigunHeat",100,50) //Fire+50
MINF B 0 BRIGHT A_FireCustomMissile("5.56mmcasing",45+random(-8,8),0,1,4)
MINF B 0 BRIGHT A_Jump(48,2)
MINF B 0 BRIGHT A_FireCustomMissile("MinigunSmoke",0,0,3,2)
MINF B 1 BRIGHT A_FireBullets(15,15,1,7,0,1,10240)
MINF B 0 A_JumpIfInventory("MinigunHeat",100,45)
MINF C 0 BRIGHT A_FireCustomMissile("5.56mmcasing",45+random(-8,8),0,1,4)
MINF C 0 BRIGHT A_Jump(48,2)
MINF C 0 BRIGHT A_FireCustomMissile("MinigunSmoke",0,0,3,2)
MINF C 1 BRIGHT A_FireBullets(15,15,1,7,0,1,10240)
MINF C 0 A_JumpIfInventory("MinigunHeat",100,40)
MING A 0
MING A 0 A_ReFire
MING A 0 A_JumpIfInventory("IsUp",1,1)
Goto Fire+66
MING A 0 A_PlaySound("weapons/minigundown")
MING A 0 A_TakeInventory("IsUp",1)
MING A 0 A_JumpIfInventory("SpinLevel",5,6) //Here by mistake and taking it out would mean recalculating
MING A 0 A_JumpIfInventory("SpinLevel",4,10) //state jumps, which is a royal pain in the arse with this monster
MING A 0 A_JumpIfInventory("SpinLevel",3,14)
MING A 0 A_JumpIfInventory("SpinLevel",2,19)
MING A 0 A_JumpIfInventory("SpinLevel",1,25)
Goto Ready
MING A 1
MING C 1 A_TakeInventory("MinigunHeat",1)
MING E 1
MING G 1 A_TakeInventory("MinigunHeat",1)
MING A 1 A_TakeInventory("SpinLevel",1)
MING A 0 A_Refire
Goto Fire+66
MING B 1 A_TakeInventory("MinigunHeat",1)
MING C 1
MING D 1 A_TakeInventory("MinigunHeat",1)
MING E 1 A_TakeInventory("SpinLevel",1)
MING A 0 A_Refire
Goto Fire+66
MING F 1 A_TakeInventory("MinigunHeat",1)
MING G 1
MING H 2 A_TakeInventory("MinigunHeat",1)
MING A 2 A_TakeInventory("MinigunHeat",1)
MING A 0 A_TakeInventory("SpinLevel",1)
MING A 0 A_Refire
Goto Fire+66
MING BCDE 2 A_TakeInventory("MinigunHeat",1)
MING A 0 A_TakeInventory("SpinLevel",1)
MING A 0 A_Refire
Goto Fire+66
MING FGH 2 A_TakeInventory("MinigunHeat",1)
MING A 0 A_TakeInventory("SpinLevel",1)
MING A 0 A_Refire
Goto Ready
MING DGADG 1
MING A 0 A_TakeInventory("MinigunHeat",2)
MING A 0 A_Refire
Goto Fire+63
Flash:
MINF Z 1 A_Light2
MINF Z 1 A_Light1
MINF Z 0 A_Light0
Stop
}
}