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_RestoreSpecialDoomThing();
|
|
|
|
private native void A_RestoreSpecialThing1();
|
|
|
|
private native void A_RestoreSpecialThing2();
|
2016-11-19 23:25:38 +00:00
|
|
|
|
|
|
|
native bool, Actor CallTryPickup(Actor toucher);
|
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-11-21 12:04:27 +00:00
|
|
|
action native void A_CustomPunch(int damage, bool norandom = false, int flags = CPF_USEAMMO, class<Actor> pufftype = "BulletPuff", double range = 0, double lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus", sound MeleeSound = 0, sound MissSound = "");
|
|
|
|
action native void A_FireBullets(double spread_xy, double spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", int flags = 1, double range = 0, class<Actor> missile = null, double Spawnheight = 32, double Spawnofs_xy = 0);
|
|
|
|
action native void A_FireCustomMissile(class<Actor> missiletype, double angle = 0, bool useammo = true, double spawnofs_xy = 0, double spawnheight = 0, int flags = 0, double pitch = 0);
|
|
|
|
action native void A_RailAttack(int damage, int spawnofs_xy = 0, bool useammo = true, color color1 = 0, color color2 = 0, int flags = 0, double maxdiff = 0, class<Actor> pufftype = "BulletPuff", double spread_xy = 0, double spread_z = 0, double range = 0, int duration = 0, double sparsity = 1.0, double driftspeed = 1.0, class<Actor> spawnclass = "none", double 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-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-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-21 12:04:27 +00:00
|
|
|
native action void A_ZoomFactor(double scale = 1, int flags = 0);
|
2016-11-15 15:05:42 +00:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|