qzdoom/wadsrc/static/actors/shared/inventory.txt
Randy Heit b2ccd0bd28 Use action function return value to make state jumps happen
- The A_Jump family of action functions now return the state to jump
  to (NULL if no jump is to be taken) instead of jumping directly.
  It is the caller's responsibility to handle the jump. This will
  make it possible to use their results in if statements and
  do something other than jump.
- DECORATE return statements can now return the result of a function
  (but not any random expression--it must be a function call). To
  make a jump happen from inside a multi-action block, you must
  return the value of an A_Jump function. e.g.:
    { return A_Jump(128, "SomeState"); }
- The VMFunction class now contains its prototype instead of storing
  it at a higher level in PFunction. This is so that
  FState::CallAction can easily tell if a function returns a state.
- Removed the FxTailable class because with explicit return
  statements, it's not useful anymore.
2016-02-18 20:39:40 -06:00

376 lines
8.2 KiB
Text

ACTOR Inventory native
{
Inventory.Amount 1
Inventory.MaxAmount 1
Inventory.InterHubAmount 1
Inventory.UseSound "misc/invuse"
Inventory.PickupSound "misc/i_pkup"
Inventory.PickupMessage "$TXT_DEFAULTPICKUPMSG"
action native state A_JumpIfNoAmmo(state label);
action native 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 = "", sound MissSound = "");
action native A_FireBullets(float/*angle*/ spread_xy, float/*angle*/ spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", int flags = 1, float range = 0);
action native A_FireCustomMissile(class<Actor> missiletype, float angle = 0, bool useammo = true, int spawnofs_xy = 0, float spawnheight = 0, int flags = 0, float pitch = 0);
action native A_RailAttack(int damage, int spawnofs_xy = 0, bool useammo = true, color color1 = "", color color2 = "", int flags = 0, float maxdiff = 0, class<Actor> pufftype = "BulletPuff", float/*angle*/ spread_xy = 0, float/*angle*/ 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);
action native A_Light(int extralight);
action native A_Light0();
action native A_Light1();
action native A_Light2();
action native A_LightInverse();
action native A_WeaponReady(int flags = 0);
action native A_Lower();
action native A_Raise();
action native A_FirePistol();
action native A_FireShotgun();
action native A_FireShotgun2();
action native A_OpenShotgun2();
action native A_LoadShotgun2();
action native A_CloseShotgun2();
action native A_FireCGun();
action native A_FireSTGrenade(class<Actor> grenadetype = "Grenade");
action native A_FireMissile();
action native A_FirePlasma();
action native A_FireRailgun();
action native A_FireRailgunLeft();
action native A_FireRailgunRight();
action native A_RailWait();
action native A_BFGsound();
action native A_FireBFG();
action native A_FireOldBFG();
action native A_ReFire(state flash = "");
action native A_ClearReFire();
action native A_CheckReload();
action native A_GunFlash(state flash = "", int flags = 0);
action native A_Saw(sound fullsound = "weapons/sawfull", sound hitsound = "weapons/sawhit", int damage = 2, class<Actor> pufftype = "BulletPuff", int flags = 0, float range = 0, float/*angle*/ spread_xy = 2.8125, float/*angle*/ spread_z = 0, float lifesteal = 0, int lifestealmax = 0, class<BasicArmorBonus> armorbonustype = "ArmorBonus");
action native state A_CheckForReload(int counter, state label, bool dontincrement = false);
action native A_ResetReloadCounter();
action native A_RestoreSpecialPosition();
action native A_RestoreSpecialDoomThing();
action native A_RestoreSpecialThing1();
action native A_RestoreSpecialThing2();
States
{
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
}
}
Actor ScoreItem : Inventory native
{
Height 10
+COUNTITEM
Inventory.Amount 1
+Inventory.ALWAYSPICKUP
}
Actor Ammo : Inventory native
{
+INVENTORY.KEEPDEPLETED
Inventory.PickupSound "misc/ammo_pkup"
}
Actor BackpackItem : Inventory native
{
}
ACTOR Armor : Inventory native
{
Inventory.PickupSound "misc/armor_pkup"
}
ACTOR BasicArmor : Armor native
{
+Inventory.KEEPDEPLETED
}
ACTOR BasicArmorBonus : Armor native
{
+Inventory.AUTOACTIVATE
+Inventory.ALWAYSPICKUP
Inventory.MaxAmount 0
Armor.SavePercent 0.333333
}
ACTOR BasicArmorPickup : Armor native
{
+Inventory.AUTOACTIVATE
Inventory.MaxAmount 0
}
ACTOR HexenArmor : Armor native
{
+Inventory.KEEPDEPLETED
+Inventory.UNDROPPABLE
}
ACTOR DehackedPickup : Inventory native {}
ACTOR FakeInventory : Inventory native {}
ACTOR CustomInventory : Inventory native {}
Actor Health : Inventory native
{
Inventory.Amount 1
Inventory.MaxAmount 0
Inventory.PickupSound "misc/health_pkup"
}
Actor HealthPickup : Inventory native
{
Inventory.DefMaxAmount
+INVENTORY.INVBAR
}
Actor Key : Inventory native
{
+DONTGIB // Don't disappear due to a crusher
+INVENTORY.INTERHUBSTRIP
Inventory.PickupSound "misc/k_pkup"
}
ACTOR PowerupGiver : Inventory native
{
Inventory.DefMaxAmount
+INVENTORY.INVBAR
+INVENTORY.FANCYPICKUPSOUND
Inventory.PickupSound "misc/p_pkup"
}
ACTOR Powerup : Inventory native {}
ACTOR PowerInvulnerable : Powerup native
{
Powerup.Duration -30
inventory.icon "SPSHLD0"
}
ACTOR PowerStrength : Powerup native
{
Powerup.Duration 1
Powerup.Color 255,0,0,0.5
+INVENTORY.HUBPOWER
}
ACTOR PowerInvisibility : Powerup native
{
+SHADOW
Powerup.Duration -60
Powerup.Strength 80
Powerup.Mode "Fuzzy"
}
ACTOR PowerGhost : PowerInvisibility
{
+GHOST
Powerup.Duration -60
Powerup.Strength 60
Powerup.Mode "None"
}
ACTOR PowerShadow : PowerInvisibility
{
+INVENTORY.HUBPOWER
Powerup.Duration -55
Powerup.Strength 75
Powerup.Mode "Cumulative"
}
ACTOR PowerIronFeet : Powerup native
{
Powerup.Duration -60
Powerup.Color 0, 255, 0, 0.125
}
ACTOR PowerMask : PowerIronFeet native
{
Powerup.Duration -80
Powerup.Color 0,0,0,0
+INVENTORY.HUBPOWER
Inventory.Icon "I_MASK"
}
ACTOR PowerLightAmp : Powerup native
{
Powerup.Duration -120
}
ACTOR PowerTorch : PowerLightAmp native {}
ACTOR PowerFlight : Powerup native
{
Powerup.Duration -60
+INVENTORY.HUBPOWER
}
ACTOR PowerWeaponLevel2 : Powerup native
{
Powerup.Duration -40
Inventory.Icon "SPINBK0"
+INVENTORY.NOTELEPORTFREEZE
}
ACTOR PowerSpeed : Powerup native
{
Powerup.Duration -45
Speed 1.5
Inventory.Icon "SPBOOT0"
+INVENTORY.NOTELEPORTFREEZE
}
// Player Speed Trail (used by the Speed Powerup) ----------------------------
ACTOR PlayerSpeedTrail native
{
+NOBLOCKMAP
+NOGRAVITY
Alpha 0.6
RenderStyle Translucent
}
ACTOR PowerMinotaur : Powerup native
{
Powerup.Duration -25
Inventory.Icon "SPMINO0"
}
ACTOR PowerTargeter : Powerup native
{
Powerup.Duration -160
+INVENTORY.HUBPOWER
States
{
Targeter:
TRGT A -1
Stop
TRGT B -1
Stop
TRGT C -1
Stop
}
}
ACTOR PowerFrightener : Powerup native
{
Powerup.Duration -60
}
ACTOR PowerBuddha : Powerup native
{
Powerup.Duration -60
}
ACTOR PowerScanner : Powerup native
{
Powerup.Duration -80
+INVENTORY.HUBPOWER
}
ACTOR PowerTimeFreezer : Powerup native
{
Powerup.Duration -12
}
ACTOR PowerDamage : Powerup native
{
Powerup.Duration -25
}
ACTOR PowerProtection : Powerup native
{
Powerup.Duration -25
}
ACTOR PowerDrain : Powerup native
{
Powerup.Duration -60
}
ACTOR PowerRegeneration : Powerup native
{
Powerup.Duration -120
Powerup.Strength 5
}
ACTOR PowerHighJump : Powerup native {}
ACTOR PowerDoubleFiringSpeed : Powerup native {}
ACTOR PowerMorph : Powerup native
{
Powerup.Duration -40
}
ACTOR PowerInfiniteAmmo : Powerup native
{
Powerup.Duration -30
}
ACTOR MapRevealer : Inventory native {}
ACTOR PuzzleItem : Inventory native
{
+NOGRAVITY
+INVENTORY.INVBAR
Inventory.DefMaxAmount
Inventory.UseSound "PuzzleSuccess"
Inventory.PickupSound "misc/i_pkup"
}
Actor Weapon : Inventory native
{
Inventory.PickupSound "misc/w_pkup"
Weapon.DefaultKickback
Weapon.BobSpeed 1.0
Weapon.BobRangeX 1.0
Weapon.BobRangeY 1.0
+WEAPONSPAWN
States
{
LightDone:
SHTG E 0 A_Light0
Stop
}
action native A_ZoomFactor(float scale = 1, int flags = 0);
const int ZOOM_INSTANT = 1;
const int ZOOM_NOSCALETURNING = 2;
action native A_SetCrosshair(int xhair);
}
ACTOR WeaponGiver : Weapon native
{
Weapon.AmmoGive1 -1
Weapon.AmmoGive2 -1
}
Actor WeaponHolder : Inventory native
{
+NOBLOCKMAP
+NOSECTOR
+INVENTORY.UNDROPPABLE
}
Actor WeaponPiece : Inventory native
{
+WEAPONSPAWN
}