2016-10-13 18:45:52 +00:00
|
|
|
class Inventory : Actor native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.Amount 1;
|
|
|
|
Inventory.MaxAmount 1;
|
|
|
|
Inventory.InterHubAmount 1;
|
|
|
|
Inventory.UseSound "misc/invuse";
|
|
|
|
Inventory.PickupSound "misc/i_pkup";
|
|
|
|
Inventory.PickupMessage "$TXT_DEFAULTPICKUPMSG";
|
|
|
|
}
|
|
|
|
|
2016-10-22 14:46:47 +00:00
|
|
|
// These are regular functions for the item itself.
|
2016-10-22 15:49:08 +00:00
|
|
|
private native void A_RestoreSpecialPosition();
|
|
|
|
private native void A_RestoreSpecialDoomThing();
|
|
|
|
private native void A_RestoreSpecialThing1();
|
|
|
|
private native void A_RestoreSpecialThing2();
|
2016-10-22 14:46:47 +00:00
|
|
|
|
2016-11-14 22:24:10 +00:00
|
|
|
States(Actor, Overlay, Weapon, Item)
|
2016-10-22 14:46:47 +00:00
|
|
|
{
|
|
|
|
HideDoomish:
|
|
|
|
TNT1 A 1050;
|
|
|
|
TNT1 A 0 A_RestoreSpecialPosition;
|
|
|
|
TNT1 A 1 A_RestoreSpecialDoomThing;
|
|
|
|
Stop;
|
|
|
|
HideSpecial:
|
|
|
|
ACLO E 1400;
|
|
|
|
ACLO A 0 A_RestoreSpecialPosition;
|
|
|
|
ACLO A 4 A_RestoreSpecialThing1;
|
|
|
|
ACLO BABCBCDC 4;
|
|
|
|
ACLO D 4 A_RestoreSpecialThing2;
|
|
|
|
Stop;
|
|
|
|
Held:
|
|
|
|
TNT1 A -1;
|
|
|
|
Stop;
|
|
|
|
HoldAndDestroy:
|
|
|
|
TNT1 A 1;
|
|
|
|
Stop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class StateProvider : Inventory native
|
|
|
|
{
|
2016-11-14 13:12:27 +00:00
|
|
|
action native state A_JumpIfNoAmmo(statelabel label);
|
2016-10-26 23:30:34 +00:00
|
|
|
action native void A_CustomPunch(int damage, bool norandom = false, int flags = CPF_USEAMMO, class<Actor> pufftype = "BulletPuff", float range = 0, float lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus", sound MeleeSound = 0, sound MissSound = "");
|
|
|
|
action native void A_FireBullets(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", int flags = 1, float range = 0, class<Actor> missile = null, float Spawnheight = 32, float Spawnofs_xy = 0);
|
2016-10-15 13:10:48 +00:00
|
|
|
action native void A_FireCustomMissile(class<Actor> missiletype, float angle = 0, bool useammo = true, float spawnofs_xy = 0, float spawnheight = 0, int flags = 0, float pitch = 0);
|
2016-10-26 23:30:34 +00:00
|
|
|
action native void A_RailAttack(int damage, int spawnofs_xy = 0, bool useammo = true, color color1 = 0, color color2 = 0, int flags = 0, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float spread_xy = 0, float spread_z = 0, float range = 0, int duration = 0, float sparsity = 1.0, float driftspeed = 1.0, class<Actor> spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270, int limit = 0);
|
2016-11-13 13:20:30 +00:00
|
|
|
action native void A_WeaponReady(int flags = 0);
|
|
|
|
action native void A_Lower();
|
|
|
|
action native void A_Raise();
|
2016-10-15 13:10:48 +00:00
|
|
|
action native void A_FireShotgun();
|
|
|
|
action native void A_FireShotgun2();
|
2016-11-13 13:20:30 +00:00
|
|
|
|
|
|
|
action void A_OpenShotgun2() { A_PlaySound("weapons/sshoto", CHAN_WEAPON); }
|
|
|
|
action void A_LoadShotgun2() { A_PlaySound("weapons/sshotl", CHAN_WEAPON); }
|
|
|
|
action void A_CloseShotgun2() { A_PlaySound("weapons/sshotc", CHAN_WEAPON); }
|
|
|
|
|
2016-10-15 13:10:48 +00:00
|
|
|
action native void A_FireCGun();
|
|
|
|
action native void A_FireSTGrenade(class<Actor> grenadetype = "Grenade");
|
|
|
|
action native void A_FireMissile();
|
|
|
|
action native void A_FirePlasma();
|
|
|
|
action native void A_FireRailgun();
|
|
|
|
action native void A_FireRailgunLeft();
|
|
|
|
action native void A_FireRailgunRight();
|
2016-11-13 13:20:30 +00:00
|
|
|
action void A_RailWait() {}
|
|
|
|
action void A_BFGsound() { A_PlaySound("weapons/bfgf", CHAN_WEAPON); }
|
2016-10-15 13:10:48 +00:00
|
|
|
action native void A_FireBFG();
|
|
|
|
action native void A_FireOldBFG();
|
2016-11-14 13:12:27 +00:00
|
|
|
action native void A_ReFire(statelabel flash = null);
|
2016-11-13 13:20:30 +00:00
|
|
|
action native void A_ClearReFire();
|
|
|
|
action native void A_CheckReload();
|
2016-11-14 13:12:27 +00:00
|
|
|
action native void A_GunFlash(statelabel flash = null, int flags = 0);
|
2016-11-13 13:20:30 +00:00
|
|
|
action native void A_FireAssaultGun();
|
2016-10-15 13:10:48 +00:00
|
|
|
action native void A_Saw(sound fullsound = "weapons/sawfull", sound hitsound = "weapons/sawhit", int damage = 2, class<Actor> pufftype = "BulletPuff", int flags = 0, float range = 0, float spread_xy = 2.8125, float spread_z = 0, float lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus");
|
2016-11-14 13:12:27 +00:00
|
|
|
action native state A_CheckForReload(int counter, statelabel label, bool dontincrement = false);
|
2016-11-13 13:20:30 +00:00
|
|
|
action native void A_ResetReloadCounter();
|
2016-10-15 13:10:48 +00:00
|
|
|
}
|
|
|
|
|
2016-10-13 18:45:52 +00:00
|
|
|
class ScoreItem : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Height 10;
|
2016-11-14 17:31:12 +00:00
|
|
|
+COUNTITEM
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.Amount 1;
|
2016-11-14 17:31:12 +00:00
|
|
|
+Inventory.ALWAYSPICKUP
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Ammo : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.KEEPDEPLETED
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.PickupSound "misc/ammo_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class BackpackItem : Inventory native
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
class Armor : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.PickupSound "misc/armor_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class BasicArmor : Armor native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+Inventory.KEEPDEPLETED
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class BasicArmorBonus : Armor native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+Inventory.AUTOACTIVATE
|
|
|
|
+Inventory.ALWAYSPICKUP
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.MaxAmount 0;
|
|
|
|
Armor.SavePercent 33.335;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class BasicArmorPickup : Armor native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
+Inventory.AUTOACTIVATE;
|
|
|
|
Inventory.MaxAmount 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class HexenArmor : Armor native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+Inventory.KEEPDEPLETED
|
|
|
|
+Inventory.UNDROPPABLE
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class DehackedPickup : Inventory native {}
|
|
|
|
|
|
|
|
class FakeInventory : Inventory native {}
|
|
|
|
|
2016-11-14 17:31:12 +00:00
|
|
|
class CustomInventory : StateProvider native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
DefaultStateUsage SUF_ACTOR|SUF_OVERLAY|SUF_ITEM;
|
|
|
|
}
|
|
|
|
}
|
2016-10-13 18:45:52 +00:00
|
|
|
|
|
|
|
class Health : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.Amount 1;
|
|
|
|
Inventory.MaxAmount 0;
|
|
|
|
Inventory.PickupSound "misc/health_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class HealthPickup : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.DefMaxAmount;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.INVBAR
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Key : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
+DONTGIB; // Don't disappear due to a crusher
|
|
|
|
Inventory.InterHubAmount 0;
|
|
|
|
Inventory.PickupSound "misc/k_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerupGiver : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.DefMaxAmount;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.INVBAR
|
|
|
|
+INVENTORY.FANCYPICKUPSOUND
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Powerup : Inventory native {}
|
|
|
|
|
|
|
|
class PowerInvulnerable : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -30;
|
|
|
|
inventory.icon "SPSHLD0";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerStrength : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration 1;
|
|
|
|
Powerup.Color "ff 00 00", 0.5;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerInvisibility : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
+SHADOW;
|
|
|
|
Powerup.Duration -60;
|
|
|
|
Powerup.Strength 80;
|
|
|
|
Powerup.Mode "Fuzzy";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerGhost : PowerInvisibility
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
+GHOST;
|
|
|
|
Powerup.Duration -60;
|
|
|
|
Powerup.Strength 60;
|
|
|
|
Powerup.Mode "None";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerShadow : PowerInvisibility
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
Powerup.Duration -55;
|
|
|
|
Powerup.Strength 75;
|
|
|
|
Powerup.Mode "Cumulative";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerIronFeet : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -60;
|
|
|
|
Powerup.Color "00 ff 00", 0.125;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerMask : PowerIronFeet native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -80;
|
|
|
|
Powerup.Color "00 00 00", 0;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.Icon "I_MASK";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerLightAmp : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -120;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerTorch : PowerLightAmp native {}
|
|
|
|
|
|
|
|
class PowerFlight : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -60;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerWeaponLevel2 : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -40;
|
|
|
|
Inventory.Icon "SPINBK0";
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.NOTELEPORTFREEZE
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerSpeed : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -45;
|
|
|
|
Speed 1.5;
|
|
|
|
Inventory.Icon "SPBOOT0";
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.NOTELEPORTFREEZE
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Player Speed Trail (used by the Speed Powerup) ----------------------------
|
|
|
|
|
|
|
|
class PlayerSpeedTrail native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+NOBLOCKMAP
|
|
|
|
+NOGRAVITY
|
2016-10-13 18:45:52 +00:00
|
|
|
Alpha 0.6;
|
|
|
|
RenderStyle "Translucent";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerMinotaur : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -25;
|
|
|
|
Inventory.Icon "SPMINO0";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerTargeter : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -160;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
States
|
|
|
|
{
|
|
|
|
Targeter:
|
|
|
|
TRGT A -1;
|
|
|
|
Stop;
|
|
|
|
TRGT B -1;
|
|
|
|
Stop;
|
|
|
|
TRGT C -1;
|
|
|
|
Stop;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerFrightener : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -60;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerBuddha : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -60;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerScanner : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -80;
|
2016-11-14 17:31:12 +00:00
|
|
|
+INVENTORY.HUBPOWER
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerTimeFreezer : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -12;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerDamage : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -25;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerProtection : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -25;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerDrain : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -60;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerRegeneration : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -120;
|
|
|
|
Powerup.Strength 5;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerHighJump : Powerup native {}
|
|
|
|
|
|
|
|
class PowerDoubleFiringSpeed : Powerup native {}
|
|
|
|
|
|
|
|
class PowerMorph : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -40;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class PowerInfiniteAmmo : Powerup native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Powerup.Duration -30;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class MapRevealer : Inventory native {}
|
|
|
|
|
|
|
|
class PuzzleItem : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+NOGRAVITY
|
|
|
|
+INVENTORY.INVBAR
|
2016-10-13 18:45:52 +00:00
|
|
|
Inventory.DefMaxAmount;
|
|
|
|
Inventory.UseSound "PuzzleSuccess";
|
|
|
|
Inventory.PickupSound "misc/i_pkup";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-10-15 13:10:48 +00:00
|
|
|
class Weapon : StateProvider native
|
2016-10-13 18:45:52 +00:00
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Inventory.PickupSound "misc/w_pkup";
|
|
|
|
Weapon.DefaultKickback;
|
|
|
|
Weapon.BobSpeed 1.0;
|
|
|
|
Weapon.BobRangeX 1.0;
|
|
|
|
Weapon.BobRangeY 1.0;
|
2016-11-14 17:31:12 +00:00
|
|
|
+WEAPONSPAWN
|
2016-11-14 19:00:01 +00:00
|
|
|
DefaultStateUsage SUF_ACTOR|SUF_OVERLAY|SUF_WEAPON;
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
States
|
|
|
|
{
|
|
|
|
LightDone:
|
|
|
|
SHTG E 0 A_Light0;
|
|
|
|
Stop;
|
|
|
|
}
|
|
|
|
|
2016-11-19 00:23:56 +00:00
|
|
|
native bool DepleteAmmo(bool altFire, bool checkEnough = true, int ammouse = -1);
|
|
|
|
|
2016-11-15 15:05:42 +00:00
|
|
|
native action void A_ZoomFactor(float scale = 1, int flags = 0);
|
|
|
|
native action void A_SetCrosshair(int xhair);
|
2016-10-13 18:45:52 +00:00
|
|
|
const ZOOM_INSTANT = 1;
|
|
|
|
const ZOOM_NOSCALETURNING = 2;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
class WeaponGiver : Weapon native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
Weapon.AmmoGive1 -1;
|
|
|
|
Weapon.AmmoGive2 -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class WeaponHolder : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
2016-11-14 17:31:12 +00:00
|
|
|
+NOBLOCKMAP
|
|
|
|
+NOSECTOR
|
|
|
|
+INVENTORY.UNDROPPABLE
|
2016-10-13 18:45:52 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class WeaponPiece : Inventory native
|
|
|
|
{
|
|
|
|
Default
|
|
|
|
{
|
|
|
|
+WEAPONSPAWN;
|
|
|
|
}
|
|
|
|
}
|