qzdoom/wadsrc/static/actors/actor.txt
Christoph Oelckers b9afb78523 - Added native variables to expression evaluator and replaced the previous
handling of actor variables in expressions with it.
- Added support for floating point constants to DECORATE expression evaluator.

SVN r1271 (trunk)
2008-10-19 21:43:36 +00:00

250 lines
10 KiB
Text

ACTOR Actor native //: Thinker
{
Scale 1
Health 1000
Reactiontime 8
Radius 20
Height 16
Mass 100
RenderStyle Normal
Alpha 1
MinMissileChance 200
MeleeRange 44
MaxDropoffHeight 24
MaxStepHeight 24
BounceFactor 0.7
WallBounceFactor 0.75
BounceCount -1
FloatSpeed 4
Gravity 1
// Variables for the expression evaluator
// NOTE: fixed_t and angle_t are only used here to ensure proper conversion
// Internally they are handled as floats.
// Variables must be native.
native fixed_t alpha;
native angle_t angle;
native int args[5];
native fixed_t ceilingz;
native fixed_t floorz;
native int health;
native angle_t pitch;
native int special;
native int tid;
native int TIDtoHate;
native int waterlevel;
native fixed_t x;
native fixed_t y;
native fixed_t z;
native fixed_t momx;
native fixed_t momy;
native fixed_t momz;
action native A_MonsterRail();
action native A_BFGSpray(class<Actor> spraytype = "BFGExtra", int numrays = 40, int damagecount = 15);
action native A_Pain();
action native A_NoBlocking();
action native A_XScream();
action native A_Look();
action native A_Chase(state melee = "*", state missile = "none", int flags = 0);
action native A_FaceTarget();
action native A_PosAttack();
action native A_Scream();
action native A_SPosAttack();
action native A_SPosAttackUseAtkSound();
action native A_VileChase();
action native A_VileStart();
action native A_VileTarget();
action native A_VileAttack();
action native A_StartFire();
action native A_Fire();
action native A_FireCrackle();
action native A_Tracer();
action native A_SkelWhoosh();
action native A_SkelFist();
action native A_SkelMissile();
action native A_FatRaise();
action native A_FatAttack1(class<Actor> spawntype = "FatShot");
action native A_FatAttack2(class<Actor> spawntype = "FatShot");
action native A_FatAttack3(class<Actor> spawntype = "FatShot");
action native A_BossDeath();
action native A_CPosAttack();
action native A_CPosRefire();
action native A_TroopAttack();
action native A_SargAttack();
action native A_HeadAttack();
action native A_BruisAttack();
action native A_SkullAttack(float speed = 20);
action native A_Metal();
action native A_SpidRefire();
action native A_BabyMetal();
action native A_BspiAttack();
action native A_Hoof();
action native A_CyberAttack();
action native A_PainAttack(class<Actor> spawntype = "LostSoul");
action native A_DualPainAttack(class<Actor> spawntype = "LostSoul");
action native A_PainDie(class<Actor> spawntype = "LostSoul");
action native A_KeenDie();
action native A_BrainPain();
action native A_BrainScream();
action native A_BrainDie();
action native A_BrainAwake();
action native A_BrainSpit(class<Actor> spawntype = "none"); // needs special treatment for default
action native A_SpawnSound();
action native A_SpawnFly(class<Actor> spawntype = "none"); // needs special treatment for default
action native A_BrainExplode();
action native A_Die(name damagetype = "none");
action native A_Detonate();
action native A_Mushroom(class<Actor> spawntype = "FatShot", int numspawns = 0);
action native A_CallSpecial(int special, int arg1=0, int arg2=0, int arg3=0, int arg4=0, int arg5=0);
action native A_SetFloorClip();
action native A_UnSetFloorClip();
action native A_HideThing();
action native A_UnHideThing();
action native A_SetInvulnerable();
action native A_UnSetInvulnerable();
action native A_SetReflective();
action native A_UnSetReflective();
action native A_SetReflectiveInvulnerable();
action native A_UnSetReflectiveInvulnerable();
action native A_SetShootable();
action native A_UnSetShootable();
action native A_NoGravity();
action native A_Gravity();
action native A_LowGravity();
action native A_SetGravity(float gravity);
action native A_Fall();
action native A_SetSolid();
action native A_UnsetSolid();
action native A_SetFloat();
action native A_UnsetFloat();
action native A_M_Saw();
action native A_ScreamAndUnblock();
action native A_ActiveAndUnblock();
action native A_ActiveSound();
action native A_FastChase();
action native A_FreezeDeath();
action native A_FreezeDeathChunks();
action native A_GenericFreezeDeath();
action native A_IceGuyDie();
action native A_CentaurDefend();
action native A_BishopMissileWeave();
action native A_CStaffMissileSlither();
action native A_PlayerScream();
action native A_SkullPop(class<Actor> skulltype = "BloodySkull");
action native A_CheckPlayerDone();
action native A_Wander();
action native A_Look2();
action native A_TossGib();
action native A_SentinelBob();
action native A_SentinelRefire();
action native A_Tracer2();
action native A_SetShadow();
action native A_ClearShadow();
action native A_GetHurt();
action native A_TurretLook();
action native A_KlaxonBlare();
action native A_Countdown();
action native A_AlertMonsters();
action native A_ClearSoundTarget();
action native A_FireAssaultGun();
action native A_CheckTerrain();
action native A_MissileAttack();
action native A_MeleeAttack();
action native A_ComboAttack();
action native A_BulletAttack();
action native A_PlaySound(sound whattoplay);
action native A_PlayWeaponSound(sound whattoplay);
action native A_FLoopActiveSound();
action native A_LoopActiveSound();
action native A_StopSound();
action native A_PlaySoundEx(sound whattoplay, coerce name slot, bool looping = false, int attenuation = 0);
action native A_StopSoundEx(coerce name slot);
action native A_SeekerMissile(int threshold, int turnmax);
action native A_Jump(int chance, state label, ...);
action native A_CustomMissile(class<Actor> missiletype, float spawnheight = 32, int spawnofs_xy = 0, float angle = 0, int flags = 0, float pitch = 0);
action native A_CustomBulletAttack(float spread_xy, float spread_z, int numbullets, int damageperbullet, class<Actor> pufftype = "BulletPuff", float range = 0, bool aimfacing = false);
action native A_CustomRailgun(int damage, int spawnofs_xy = 0, color color1 = "", color color2 = "", bool silent = false, bool aim = false, float maxdiff = 0, class<Actor> pufftype = "BulletPuff");
action native A_JumpIfHealthLower(int health, state label);
action native A_JumpIfCloser(float distance, state label);
action native A_JumpIfInventory(class<Inventory> itemtype, int itemamount, state label);
action native A_GiveInventory(class<Inventory> itemtype, int amount = 0);
action native A_TakeInventory(class<Inventory> itemtype, int amount = 0);
action native A_SpawnItem(class<Actor> itemtype, float distance = 0, float zheight = 0, bool useammo = true, bool transfer_translation = false);
action native A_SpawnItemEx(class<Actor> itemtype, float xofs = 0, float yofs = 0, float zofs = 0, float xmom = 0, float ymom = 0, float zmom = 0, float angle = 0, int flags = 0, int failchance = 0);
action native A_Print(string whattoprint, float time = 0, string fontname = "");
action native A_SetTranslucent(float alpha, int style = 0);
action native A_FadeIn(float reduce = 0.1);
action native A_FadeOut(float reduce = 0.1);
action native A_SpawnDebris(class<Actor> spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1);
action native A_CheckSight(state label);
action native A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false);
action native A_DropInventory(class<Inventory> itemtype);
action native A_SetBlend(color color1, float alpha, int tics, color color2 = "");
action native A_ChangeFlag(string flagname, bool value);
action native A_JumpIf(bool expression, state label);
action native A_KillMaster();
action native A_KillChildren();
action native A_CheckFloor(state label);
action native A_PlayerSkinCheck(state label);
action native A_BasicAttack(int meleedamage, sound meleesound, class<actor> missiletype, float missileheight);
action native A_ThrowGrenade(class<Actor> itemtype, float zheight = 0, float xymom = 0, float zmom = 0, bool useammo = true);
action native A_Recoil(float xymom);
action native A_JumpIfInTargetInventory(class<Inventory> itemtype, int amount, state label);
action native A_GiveToTarget(class<Inventory> itemtype, int amount = 0);
action native A_TakeFromTarget(class<Inventory> itemtype, int amount = 0);
action native A_CountdownArg(int argnum);
action native A_CustomMeleeAttack(int damage, sound meleesound = "", sound misssound = "", name damagetype = "none", bool bleed = true);
action native A_CustomComboAttack(class<Actor> missiletype, float spawnheight, int damage, sound meleesound = "", name damagetype = "none", bool bleed = true);
action native A_Burst(class<Actor> chunktype);
action native A_RadiusThrust(int force = 128, int distance = -1, bool affectsource = true);
action native A_Explode(int damage = -1, int distance = -1, bool hurtsource = true, bool alert = false);
action native A_Stop();
action native A_Respawn(bool fog = true);
action native A_BarrelDestroy();
action native A_QueueCorpse();
action native A_DeQueueCorpse();
action native A_LookEx(int flags = 0, float minseedist = 0, float maxseedist = 0, float maxheardist = 0, float fov = 0, state label = "");
action native A_ClearTarget();
action native A_JumpIfTargetInLOS (state label, float fov = 0, bool projectiletarget = false);
action native A_DamageMaster(int amount, name damagetype = "none");
action native A_DamageChildren(int amount, name damagetype = "none");
action native A_SelectWeapon(class<Weapon> whichweapon);
action native A_Punch();
action native A_Feathers();
action native A_ClassBossHealth();
action native A_ShootGun();
action native A_RocketInFlight();
action native A_Bang4Cloud();
action native A_DropFire();
action native A_GiveQuestItem(int itemno);
action native A_RemoveForcefield();
action native A_DropWeaponPieces(class<Actor> p1, class<Actor> p2, class<Actor> p3);
action native A_PigPain ();
States
{
Spawn:
TNT1 A -1
Stop
Null:
TNT1 A 1
Stop
GenericFreezeDeath:
// Generic freeze death frames. Woo!
"----" A 5 A_GenericFreezeDeath
"----" A 1 A_FreezeDeathChunks
Wait
}
}