stinger_m/zscript/biggun.zsc
Marisa Kirisame b12c4a4112 Flashlight/Searchlight implemented.
Proper handling of charge redistribution on multi-copy items (fixes infinitely replenishable charge exploit).
More preparation code for other items.
2019-09-05 16:31:05 +02:00

95 lines
1.5 KiB
Text

Class BigAmmo : Ammo
{
Default
{
Tag "$T_BIGAMMO";
Inventory.Icon "I_BigM";
Inventory.PickupMessage "";
Inventory.Amount 10;
Inventory.MaxAmount 30;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 60;
Ammo.DropAmount 10;
Inventory.RespawnTics 2100;
+INVENTORY.IGNORESKILL;
}
override String PickupMessage()
{
if ( PickupMsg.Length() > 0 ) return Super.PickupMessage();
return String.Format("%s%d%s",StringTable.Localize("$I_BIGAMMOL"),Amount,StringTable.Localize("$I_BIGAMMOR"));
}
States
{
Spawn:
BIGA A -1;
Stop;
}
}
Class BigAmmo2 : BigAmmo
{
Default
{
Tag "$T_BIGAMMO2";
Inventory.Amount 3;
Ammo.DropAmount 3;
+INVENTORY.IGNORESKILL;
}
}
Class BigAmmo3 : BigAmmo
{
Default
{
Tag "$T_BIGAMMO3";
Inventory.PickupMessage "$I_BIGAMMO3";
Inventory.Amount 1;
Ammo.DropAmount 1;
+INVENTORY.IGNORESKILL;
}
}
Class BigBlast : Actor
{
}
Class HitListEntry
{
Actor hitactor;
Vector3 hitlocation, x;
}
Class BigTracer : LineTracer
{
Array<HitListEntry> hitlist;
double penetration; // please don't laugh
}
Class BigGun : UnrealWeapon
{
Default
{
Tag "$T_BIGGUN";
Inventory.PickupMessage "$I_BIGGUN";
Weapon.UpSound "big/select";
Weapon.SlotNumber 0;
Weapon.SelectionOrder 0;
Weapon.AmmoType "BigAmmo";
Weapon.AmmoUse 1;
Weapon.AmmoType2 "BigAmmo";
Weapon.AmmoUse2 1;
Weapon.AmmoGive 10;
Inventory.RespawnTics 2100;
+INVENTORY.IGNORESKILL;
+WEAPON.NOAUTOFIRE;
UTWeapon.DropAmmo 5;
}
States
{
Spawn:
BIGP A -1;
Stop;
BIGP B -1;
Stop;
}
}