Additional fixups and changes to the Demolitionist Menu: - Fixed incorrectly scaled scrollbar click/drag on the lore library. - Hide mp-only tabs during singleplayer. - Don't list the "SWWMGesture" weapon in the inventory. - If the current active tab is the library, the secondary tab will also be remembered after closing and reopening.
69 lines
1.4 KiB
Text
69 lines
1.4 KiB
Text
// Blackmann Arms "Wallbuster" Heavy Armor Perforator Shotgun (planned for unreleased Total Destruction UT mod as the "Armor Perforator")
|
|
// Slot 3, replaces Super Shotgun, Ethereal Crossbow, Frost Shards
|
|
|
|
Class WallbusterReloadMenu : GenericMenu
|
|
{
|
|
}
|
|
|
|
Class Wallbuster : SWWMWeapon
|
|
{
|
|
Class<Ammo> loaded[25];
|
|
bool fired[25];
|
|
int rotation[6];
|
|
|
|
override bool UsesAmmo( Class<Ammo> kind )
|
|
{
|
|
static const Class<Ammo> types[] = {"RedShell","GreenShell","BlueShell","PurpleShell"};
|
|
for ( int i=0; i<4; i++ ) if ( kind is types[i] ) return true;
|
|
return false;
|
|
}
|
|
|
|
// leave these while it's still unimplemented
|
|
override bool ReportHUDAmmo()
|
|
{
|
|
return false;
|
|
}
|
|
override bool CheckAmmo( int firemode, bool autoswitch, bool requireammo, int ammocount )
|
|
{
|
|
return false;
|
|
}
|
|
override void AttachToOwner( Actor other )
|
|
{
|
|
Super.AttachToOwner(other);
|
|
if ( other.player == players[consoleplayer] )
|
|
Console.Printf("\cgWALLBUSTER NOT IMPLEMENTED\c-");
|
|
}
|
|
|
|
Default
|
|
{
|
|
Tag "$T_WALLBUSTER";
|
|
Inventory.PickupMessage "$I_WALLBUSTER";
|
|
Obituary "$O_WALLBUSTER";
|
|
Weapon.SlotNumber 4;
|
|
Weapon.SelectionOrder 2200;
|
|
Stamina 35000;
|
|
+WEAPON.NO_AUTO_SWITCH;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
XZW1 A -1;
|
|
Stop;
|
|
Select:
|
|
TNT1 A 1
|
|
{
|
|
Console.Printf("\cgWALLBUSTER NOT IMPLEMENTED\c-");
|
|
A_FullRaise();
|
|
}
|
|
Goto Ready;
|
|
Ready:
|
|
TNT1 A 1 A_WeaponReady();
|
|
Wait;
|
|
Fire:
|
|
TNT1 A 1;
|
|
Goto Ready;
|
|
Deselect:
|
|
TNT1 A -1 A_FullLower();
|
|
Stop;
|
|
}
|
|
}
|