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

63 lines
1.1 KiB
Text
Raw Normal View History

// --------------------------------------------------------------------------
//
// Doom weap base class
//
// --------------------------------------------------------------------------
class DoomWeapon : Weapon
{
Default
{
Weapon.Kickback 100;
}
}
extend class StateProvider
{
//
// [RH] A_FireRailgun
//
action void A_FireRailgun(int offset_xy = 0)
{
if (player == null)
{
return;
}
Weapon weap = player.ReadyWeapon;
if (weap != null && invoker == weap && stateinfo != null && stateinfo.mStateType == STATE_Psprite)
{
if (!weap.DepleteAmmo (weap.bAltFire, true, 1))
return;
State flash = weap.FindState('Flash');
if (flash != null)
{
player.SetSafeFlash(weap, flash, random[FireRail]()&1);
}
}
int damage = deathmatch ? 100 : 150;
A_RailAttack(damage, offset_xy, false); // note that this function handles ammo depletion itself for Dehacked compatibility purposes.
}
action void A_FireRailgunLeft()
{
A_FireRailgun(-10);
}
action void A_FireRailgunRight()
{
A_FireRailgun(10);
}
action void A_RailWait()
{
// only here to satisfy old Dehacked patches.
}
}