mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-16 17:31:23 +00:00
95 lines
1.6 KiB
Text
95 lines
1.6 KiB
Text
|
// Assault Gun --------------------------------------------------------------
|
||
|
|
||
|
class AssaultGun : StrifeWeapon
|
||
|
{
|
||
|
Default
|
||
|
{
|
||
|
+FLOORCLIP
|
||
|
Weapon.SelectionOrder 600;
|
||
|
Weapon.AmmoUse1 1;
|
||
|
Weapon.AmmoGive1 20;
|
||
|
Weapon.AmmoType1 "ClipOfBullets";
|
||
|
Inventory.Icon "RIFLA0";
|
||
|
Tag "$TAG_ASSAULTGUN";
|
||
|
Inventory.PickupMessage "$TXT_ASSAULTGUN";
|
||
|
Obituary "$OB_MPASSAULTGUN";
|
||
|
}
|
||
|
States
|
||
|
{
|
||
|
Spawn:
|
||
|
RIFL A -1;
|
||
|
Stop;
|
||
|
Ready:
|
||
|
RIFG A 1 A_WeaponReady;
|
||
|
Loop;
|
||
|
Deselect:
|
||
|
RIFG B 1 A_Lower;
|
||
|
Loop;
|
||
|
Select:
|
||
|
RIFG A 1 A_Raise;
|
||
|
Loop;
|
||
|
Fire:
|
||
|
RIFF AB 3 A_FireAssaultGun;
|
||
|
RIFG D 3 A_FireAssaultGun;
|
||
|
RIFG C 0 A_ReFire;
|
||
|
RIFG B 2 A_Light0;
|
||
|
Goto Ready;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
extend class StateProvider
|
||
|
{
|
||
|
//============================================================================
|
||
|
//
|
||
|
// A_FireAssaultGun
|
||
|
//
|
||
|
//============================================================================
|
||
|
|
||
|
void A_FireAssaultGun()
|
||
|
{
|
||
|
if (player == null)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
A_PlaySound ("weapons/assaultgun", CHAN_WEAPON);
|
||
|
|
||
|
Weapon weapon = player.ReadyWeapon;
|
||
|
if (weapon != null)
|
||
|
{
|
||
|
if (!weapon.DepleteAmmo (weapon.bAltFire))
|
||
|
return;
|
||
|
}
|
||
|
player.mo.PlayAttacking2 ();
|
||
|
|
||
|
int damage = 4*(random[StrifeGun]() % 3 + 1);
|
||
|
double ang = angle;
|
||
|
|
||
|
if (player.refire)
|
||
|
{
|
||
|
ang += Random2[StrifeGun]() * (22.5 / 256) * AccuracyFactor();
|
||
|
}
|
||
|
LineAttack (ang, PLAYERMISSILERANGE, BulletSlope (), damage, 'Hitscan', "StrifePuff");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
// Standing variant of the assault gun --------------------------------------
|
||
|
|
||
|
class AssaultGunStanding : WeaponGiver
|
||
|
{
|
||
|
Default
|
||
|
{
|
||
|
DropItem "AssaultGun";
|
||
|
Inventory.PickupMessage "$TXT_ASSAULTGUN";
|
||
|
}
|
||
|
States
|
||
|
{
|
||
|
Spawn:
|
||
|
RIFL B -1;
|
||
|
Stop;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|