mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-27 14:22:13 +00:00
afab7855c4
The range checks this protected against can be safely omitted now that the misc fields are large enough. - added MBF Dehacked emulation. SVN r1824 (trunk)
588 lines
9.6 KiB
Text
588 lines
9.6 KiB
Text
// --------------------------------------------------------------------------
|
|
//
|
|
// Doom weapon base class
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR DoomWeapon : Weapon
|
|
{
|
|
Weapon.Kickback 100
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Fist
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Fist : Weapon
|
|
{
|
|
Game Doom
|
|
Weapon.SelectionOrder 3700
|
|
Weapon.Kickback 100
|
|
Obituary "$OB_MPFIST"
|
|
+WEAPON.WIMPY_WEAPON
|
|
+WEAPON.MELEEWEAPON
|
|
States
|
|
{
|
|
Ready:
|
|
PUNG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
PUNG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
PUNG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
PUNG B 4
|
|
PUNG C 4 A_Punch
|
|
PUNG D 5
|
|
PUNG C 4
|
|
PUNG B 5 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Pistol
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Pistol : DoomWeapon 5010
|
|
{
|
|
Game Doom
|
|
Weapon.SelectionOrder 1900
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 20
|
|
Weapon.AmmoType "Clip"
|
|
Obituary "$OB_MPPISTOL"
|
|
+WEAPON.WIMPY_WEAPON
|
|
Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
|
|
States
|
|
{
|
|
Ready:
|
|
PISG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
PISG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
PISG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
PISG A 4
|
|
PISG B 6 A_FirePistol
|
|
PISG C 4
|
|
PISG B 5 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
PISF A 7 Bright A_Light1
|
|
Goto LightDone
|
|
PISF A 7 Bright A_Light1
|
|
Goto LightDone
|
|
Spawn:
|
|
PIST A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Chainsaw
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Chainsaw : Weapon 2005
|
|
{
|
|
Game Doom
|
|
SpawnID 32
|
|
Weapon.Kickback 0
|
|
Weapon.SelectionOrder 2200
|
|
Weapon.UpSound "weapons/sawup"
|
|
Weapon.ReadySound "weapons/sawidle"
|
|
Inventory.PickupMessage "$GOTCHAINSAW"
|
|
Obituary "$OB_MPCHAINSAW"
|
|
+WEAPON.MELEEWEAPON
|
|
States
|
|
{
|
|
Ready:
|
|
SAWG CD 4 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
SAWG C 1 A_Lower
|
|
Loop
|
|
Select:
|
|
SAWG C 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
SAWG AB 4 A_Saw
|
|
SAWG B 0 A_ReFire
|
|
Goto Ready
|
|
Spawn:
|
|
CSAW A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Shotgun
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Shotgun : DoomWeapon 2001
|
|
{
|
|
Game Doom
|
|
SpawnID 27
|
|
Weapon.SelectionOrder 1300
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 8
|
|
Weapon.AmmoType "Shell"
|
|
Inventory.PickupMessage "$GOTSHOTGUN"
|
|
Obituary "$OB_MPSHOTGUN"
|
|
States
|
|
{
|
|
Ready:
|
|
SHTG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
SHTG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
SHTG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
SHTG A 3
|
|
SHTG A 7 A_FireShotgun
|
|
SHTG BC 5
|
|
SHTG D 4
|
|
SHTG CB 5
|
|
SHTG A 3
|
|
SHTG A 7 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
SHTF A 4 Bright A_Light1
|
|
SHTF B 3 Bright A_Light2
|
|
Goto LightDone
|
|
Spawn:
|
|
SHOT A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Shotgun
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR SuperShotgun : DoomWeapon 82
|
|
{
|
|
Game Doom
|
|
SpawnID 33
|
|
Weapon.SelectionOrder 400
|
|
Weapon.AmmoUse 2
|
|
Weapon.AmmoGive 8
|
|
Weapon.AmmoType "Shell"
|
|
Inventory.PickupMessage "$GOTSHOTGUN2"
|
|
Obituary "$OB_MPSSHOTGUN"
|
|
States
|
|
{
|
|
Ready:
|
|
SHT2 A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
SHT2 A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
SHT2 A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
SHT2 A 3
|
|
SHT2 A 7 A_FireShotgun2
|
|
SHT2 B 7
|
|
SHT2 C 7 A_CheckReload
|
|
SHT2 D 7 A_OpenShotgun2
|
|
SHT2 E 7
|
|
SHT2 F 7 A_LoadShotgun2
|
|
SHT2 G 6
|
|
SHT2 H 6 A_CloseShotgun2
|
|
SHT2 A 5 A_ReFire
|
|
Goto Ready
|
|
// unused states
|
|
SHT2 B 7
|
|
SHT2 A 3
|
|
Goto Deselect
|
|
Flash:
|
|
SHT2 I 4 Bright A_Light1
|
|
SHT2 J 3 Bright A_Light2
|
|
Goto LightDone
|
|
Spawn:
|
|
SGN2 A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Chaingun
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Chaingun : DoomWeapon 2002
|
|
{
|
|
Game Doom
|
|
SpawnID 28
|
|
Weapon.SelectionOrder 700
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 20
|
|
Weapon.AmmoType "Clip"
|
|
Inventory.PickupMessage "$GOTCHAINGUN"
|
|
Obituary "$OB_MPCHAINGUN"
|
|
States
|
|
{
|
|
Ready:
|
|
CHGG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
CHGG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
CHGG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
CHGG AB 4 A_FireCGun
|
|
CHGG B 0 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
CHGF A 5 Bright A_Light1
|
|
Goto LightDone
|
|
CHGF B 5 Bright A_Light2
|
|
Goto LightDone
|
|
Spawn:
|
|
MGUN A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Rocket launcher
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR RocketLauncher : DoomWeapon 2003
|
|
{
|
|
Game Doom
|
|
SpawnID 29
|
|
Weapon.SelectionOrder 2500
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 2
|
|
Weapon.AmmoType "RocketAmmo"
|
|
+WEAPON.NOAUTOFIRE
|
|
Inventory.PickupMessage "$GOTLAUNCHER"
|
|
States
|
|
{
|
|
Ready:
|
|
MISG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
MISG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
MISG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
MISG B 8 A_GunFlash
|
|
MISG B 12 A_FireMissile
|
|
MISG B 0 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
MISF A 3 Bright A_Light1
|
|
MISF B 4 Bright
|
|
MISF CD 4 Bright A_Light2
|
|
Goto LightDone
|
|
Spawn:
|
|
LAUN A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
ACTOR Rocket
|
|
{
|
|
Game Doom
|
|
SpawnID 127
|
|
Radius 11
|
|
Height 8
|
|
Speed 20
|
|
Damage 20
|
|
Projectile
|
|
+RANDOMIZE
|
|
+DEHEXPLOSION
|
|
+ROCKETTRAIL
|
|
SeeSound "weapons/rocklf"
|
|
DeathSound "weapons/rocklx"
|
|
Obituary "$OB_MPROCKET"
|
|
States
|
|
{
|
|
Spawn:
|
|
MISL A 1 Bright
|
|
Loop
|
|
Death:
|
|
MISL B 8 Bright A_Explode
|
|
MISL C 6 Bright
|
|
MISL D 4 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Grenade -- Taken and adapted from Skulltag, with MBF stuff added to it
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR Grenade
|
|
{
|
|
Game Doom
|
|
SpawnID 216
|
|
Radius 8
|
|
Height 8
|
|
Speed 25
|
|
Damage 20
|
|
Projectile
|
|
-NOGRAVITY
|
|
+RANDOMIZE
|
|
+DEHEXPLOSION
|
|
+GRENADETRAIL
|
|
BounceType "Doom"
|
|
Gravity 0.25
|
|
SeeSound "weapons/grenlf"
|
|
DeathSound "weapons/grenlx"
|
|
BounceSound "weapons/grbnce"
|
|
Obituary "$OB_GRENADE"
|
|
DamageType Grenade
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
SGRN A 1 Bright
|
|
Loop
|
|
Death:
|
|
MISL B 8 Bright A_Explode
|
|
MISL C 6 Bright
|
|
MISL D 4 Bright
|
|
Stop
|
|
Grenade:
|
|
MISL A 1000 A_Die
|
|
Wait
|
|
Detonate:
|
|
MISL B 4 A_Scream
|
|
MISL C 6 A_Detonate
|
|
MISL D 10
|
|
Stop
|
|
Mushroom:
|
|
MISL B 8 A_Mushroom
|
|
Goto Death+1
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// Plasma rifle
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR PlasmaRifle : DoomWeapon 2004
|
|
{
|
|
Game Doom
|
|
SpawnID 30
|
|
Weapon.SelectionOrder 100
|
|
Weapon.AmmoUse 1
|
|
Weapon.AmmoGive 40
|
|
Weapon.AmmoType "Cell"
|
|
Inventory.PickupMessage "$GOTPLASMA"
|
|
States
|
|
{
|
|
Ready:
|
|
PLSG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
PLSG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
PLSG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
PLSG A 3 A_FirePlasma
|
|
PLSG B 20 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
PLSF A 4 Bright A_Light1
|
|
Goto LightDone
|
|
PLSF B 4 Bright A_Light1
|
|
Goto LightDone
|
|
Spawn:
|
|
PLAS A -1
|
|
Stop
|
|
}
|
|
}
|
|
|
|
ACTOR PlasmaBall
|
|
{
|
|
Game Doom
|
|
SpawnID 51
|
|
Radius 13
|
|
Height 8
|
|
Speed 25
|
|
Damage 5
|
|
Projectile
|
|
+RANDOMIZE
|
|
RenderStyle Add
|
|
Alpha 0.75
|
|
SeeSound "weapons/plasmaf"
|
|
DeathSound "weapons/plasmax"
|
|
Obituary "$OB_MPPLASMARIFLE"
|
|
States
|
|
{
|
|
Spawn:
|
|
PLSS AB 6 Bright
|
|
Loop
|
|
Death:
|
|
PLSE ABCDE 4 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// BFG 2704
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR PlasmaBall1 : PlasmaBall
|
|
{
|
|
Damage 4
|
|
BounceType "Classic"
|
|
BounceFactor 1.0
|
|
Obituary "$OB_MPBFG_MBF"
|
|
States
|
|
{
|
|
Spawn:
|
|
PLS1 AB 6 Bright
|
|
Loop
|
|
Death:
|
|
PLS1 CDEFG 4 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
ACTOR PlasmaBall2 : PlasmaBall1
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
PLS2 AB 6 Bright
|
|
Loop
|
|
Death:
|
|
PLS2 CDE 4 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
// --------------------------------------------------------------------------
|
|
//
|
|
// BFG 9000
|
|
//
|
|
// --------------------------------------------------------------------------
|
|
|
|
ACTOR BFG9000 : DoomWeapon 2006
|
|
{
|
|
Game Doom
|
|
Height 20
|
|
SpawnID 31
|
|
Weapon.SelectionOrder 2800
|
|
Weapon.AmmoUse 40
|
|
Weapon.AmmoGive 40
|
|
Weapon.AmmoType "Cell"
|
|
+WEAPON.NOAUTOFIRE
|
|
Inventory.PickupMessage "$GOTBFG9000"
|
|
States
|
|
{
|
|
Ready:
|
|
BFGG A 1 A_WeaponReady
|
|
Loop
|
|
Deselect:
|
|
BFGG A 1 A_Lower
|
|
Loop
|
|
Select:
|
|
BFGG A 1 A_Raise
|
|
Loop
|
|
Fire:
|
|
BFGG A 20 A_BFGsound
|
|
BFGG B 10 A_GunFlash
|
|
BFGG B 10 A_FireBFG
|
|
BFGG B 20 A_ReFire
|
|
Goto Ready
|
|
Flash:
|
|
BFGF A 11 Bright A_Light1
|
|
BFGF B 6 Bright A_Light2
|
|
Goto LightDone
|
|
Spawn:
|
|
BFUG A -1
|
|
Stop
|
|
OldFire:
|
|
BFGG A 10 A_BFGsound
|
|
BFGG BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_FireOldBFG
|
|
BFGG B 0 A_Light0
|
|
BFGG B 20 A_ReFire
|
|
Goto Ready
|
|
}
|
|
}
|
|
|
|
|
|
ACTOR BFGBall
|
|
{
|
|
Game Doom
|
|
SpawnID 128
|
|
Radius 13
|
|
Height 8
|
|
Speed 25
|
|
Damage 100
|
|
Projectile
|
|
+RANDOMIZE
|
|
RenderStyle Add
|
|
Alpha 0.75
|
|
DeathSound "weapons/bfgx"
|
|
Obituary "$OB_MPBFG_BOOM"
|
|
States
|
|
{
|
|
Spawn:
|
|
BFS1 AB 4 Bright
|
|
Loop
|
|
Death:
|
|
BFE1 AB 8 Bright
|
|
BFE1 C 8 Bright A_BFGSpray
|
|
BFE1 DEF 8 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|
|
ACTOR BFGExtra
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOGRAVITY
|
|
RenderStyle Add
|
|
Alpha 0.75
|
|
States
|
|
{
|
|
Spawn:
|
|
BFE2 ABCD 8 Bright
|
|
Stop
|
|
}
|
|
}
|
|
|