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 DamageFactor 1.0 PushFactor 0.25 WeaveIndexXY 0 WeaveIndexZ 16 // 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 int damage; native fixed_t x; native fixed_t y; native fixed_t z; native fixed_t velx; native fixed_t vely; native fixed_t velz; native fixed_t momx; // alias for velx native fixed_t momy; // alias for vely native fixed_t momz; // alias for velz native int score; // Meh, MBF redundant functions. Only for DeHackEd support. action native A_Turn(float angle = 0); action native A_LineEffect(int boomspecial = 0, int tag = 0); // End of MBF redundant functions. action native A_MonsterRail(); action native A_BFGSpray(class 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(float max_turn = 0); 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(class fire = "ArchvileFire"); action native A_VileAttack(sound snd = "vile/stop", int initialdmg = 20, int blastdmg = 70, int blastradius = 70, float thrustfac = 1.0, name damagetype = "Fire"); action native A_StartFire(); action native A_Fire(float spawnheight = 0); 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 spawntype = "FatShot"); action native A_FatAttack2(class spawntype = "FatShot"); action native A_FatAttack3(class 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_BetaSkullAttack(); 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 spawntype = "LostSoul"); action native A_DualPainAttack(class spawntype = "LostSoul"); action native A_PainDie(class spawntype = "LostSoul"); action native A_KeenDie(int doortag = 666); action native A_BrainPain(); action native A_BrainScream(); action native A_BrainDie(); action native A_BrainAwake(); action native A_BrainSpit(class spawntype = "none"); // needs special treatment for default action native A_SpawnSound(); action native A_SpawnFly(class 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 spawntype = "FatShot", int numspawns = 0, int flags = 0, float vrange = 4.0, float hrange = 0.5); 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(sound fullsound = "weapons/sawfull", sound hitsound = "weapons/sawhit", int damage = 2, class pufftype = "BulletPuff"); 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 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 = "weapons/pistol", int slot = CHAN_BODY, float volume = 1.0, bool looping = false, float attenuation = ATTN_NORM); action native A_PlayWeaponSound(sound whattoplay); action native A_FLoopActiveSound(); action native A_LoopActiveSound(); action native A_StopSound(int slot = CHAN_VOICE); // Bad default but that's what is originally was... 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, int flags = 0, int chance = 50, int distance = 10); action native A_Jump(int chance = 256, state label, ...); action native A_CustomMissile(class 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 pufftype = "BulletPuff", float range = 0, bool aimfacing = false); action native A_CustomRailgun(int damage, int spawnofs_xy = 0, color color1 = "", color color2 = "", int flags = 0, bool aim = false, float maxdiff = 0, class pufftype = "BulletPuff"); action native A_JumpIfHealthLower(int health, state label); action native A_JumpIfCloser(float distance, state label); action native A_JumpIfInventory(class itemtype, int itemamount, state label); action native A_JumpIfArmorType(string Type, state label, int amount = 1); action native A_GiveInventory(class itemtype, int amount = 0); action native A_TakeInventory(class itemtype, int amount = 0, int flags = 0); action native A_SpawnItem(class itemtype = "Unknown", float distance = 0, float zheight = 0, bool useammo = true, bool transfer_translation = false); action native A_SpawnItemEx(class itemtype, float xofs = 0, float yofs = 0, float zofs = 0, float xvel = 0, float yvel = 0, float zvel = 0, float angle = 0, int flags = 0, int failchance = 0); action native A_Print(string whattoprint, float time = 0, string fontname = ""); action native A_PrintBold(string whattoprint, float time = 0, string fontname = ""); action native A_Log(string whattoprint); action native A_LogInt(int whattoprint); 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, bool remove = true); action native A_FadeTo(float target, float amount = 0.1, bool remove = false); action native A_SpawnDebris(class 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 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_RemoveMaster(); action native A_RemoveChildren(bool removeall = false); action native A_RemoveSiblings(bool removeall = false); action native A_KillMaster(name damagetype = "none"); action native A_KillChildren(name damagetype = "none"); action native A_KillSiblings(name damagetype = "none"); action native A_RaiseMaster(); action native A_RaiseChildren(); action native A_RaiseSiblings(); action native A_CheckFloor(state label); action native A_CheckCeiling(state label); action native A_PlayerSkinCheck(state label); action native A_BasicAttack(int meleedamage, sound meleesound, class missiletype, float missileheight); action native A_ThrowGrenade(class itemtype, float zheight = 0, float xyvel = 0, float zvel = 0, bool useammo = true); action native A_Weave(int xspeed, int yspeed, float xdist, float ydist); action native A_Recoil(float xyvel); action native A_JumpIfInTargetInventory(class itemtype, int amount, state label); action native A_GiveToTarget(class itemtype, int amount = 0); action native A_TakeFromTarget(class itemtype, int amount = 0, int flags = 0); action native A_CountdownArg(int argnum, state targstate = ""); action native A_CustomMeleeAttack(int damage = 0, sound meleesound = "", sound misssound = "", name damagetype = "none", bool bleed = true); action native A_CustomComboAttack(class missiletype, float spawnheight, int damage, sound meleesound = "", name damagetype = "none", bool bleed = true); action native A_Burst(class chunktype); action native A_Blast(int flags = 0, int strength = 255, int radius = 255, float speed = 20, class blasteffect = "BlastEffect", sound blastsound = "BlastRadius"); 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, int fulldamagedistance = 0, int nails = 0, int naildamage = 10); action native A_Stop(); action native A_Respawn(int flags = 1); 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_JumpIfInTargetLOS (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_DamageSiblings(int amount, name damagetype = "none"); action native A_SelectWeapon(class 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 p1, class p2, class p3); action native A_PigPain (); action native A_MonsterRefire(int chance, state label); action native A_SetAngle(float angle = 0); action native A_SetPitch(float pitch); action native A_ScaleVelocity(float scale); action native A_ChangeVelocity(float x = 0, float y = 0, float z = 0, int flags = 0); action native A_SetArg(int pos, int value); action native A_SetUserVar(name varname, int value); action native A_SetUserArray(name varname, int index, int value); action native A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0); action native A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake"); action native A_CheckSightOrRange(float distance, state label); States { Spawn: TNT1 A -1 Stop Null: TNT1 A 1 Stop GenericFreezeDeath: // Generic freeze death frames. Woo! "####" "#" 5 A_GenericFreezeDeath "----" A 1 A_FreezeDeathChunks Wait GenericCrush: POL5 A -1 Stop } }