qzdoom/wadsrc/static/zscript/doom/doomweapons.txt

224 lines
3.2 KiB
Plaintext

// --------------------------------------------------------------------------
//
// Doom weapon base class
//
// --------------------------------------------------------------------------
class DoomWeapon : Weapon
{
Default
{
Weapon.Kickback 100;
}
}
// --------------------------------------------------------------------------
//
// Plasma rifle
//
// --------------------------------------------------------------------------
class PlasmaRifle : DoomWeapon
{
Default
{
Weapon.SelectionOrder 100;
Weapon.AmmoUse 1;
Weapon.AmmoGive 40;
Weapon.AmmoType "Cell";
Inventory.PickupMessage "$GOTPLASMA";
Tag "$TAG_PLASMARIFLE";
}
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;
}
}
class PlasmaBall : Actor
{
Default
{
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
//
// --------------------------------------------------------------------------
class PlasmaBall1 : PlasmaBall
{
Default
{
Damage 4;
BounceType "Classic";
BounceFactor 1.0;
Obituary "$OB_MPBFG_MBF";
}
States
{
Spawn:
PLS1 AB 6 Bright;
Loop;
Death:
PLS1 CDEFG 4 Bright;
Stop;
}
}
class PlasmaBall2 : PlasmaBall1
{
States
{
Spawn:
PLS2 AB 6 Bright;
Loop;
Death:
PLS2 CDE 4 Bright;
Stop;
}
}
// --------------------------------------------------------------------------
//
// BFG 9000
//
// --------------------------------------------------------------------------
class BFG9000 : DoomWeapon
{
Default
{
Height 20;
Weapon.SelectionOrder 2800;
Weapon.AmmoUse 40;
Weapon.AmmoGive 40;
Weapon.AmmoType "Cell";
+WEAPON.NOAUTOFIRE;
Inventory.PickupMessage "$GOTBFG9000";
Tag "$TAG_BFG9000";
}
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;
}
}
class BFGBall : Actor
{
Default
{
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;
}
}
class BFGExtra : Actor
{
Default
{
+NOBLOCKMAP
+NOGRAVITY
RenderStyle "Add";
Alpha 0.75;
DamageType "BFGSplash";
}
States
{
Spawn:
BFE2 ABCD 8 Bright;
Stop;
}
}