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 FloatBobPhase -1 // randomly initialize by default Gravity 1 Friction 1 DamageFactor 1.0 PushFactor 0.25 WeaveIndexXY 0 WeaveIndexZ 16 DesignatedTeam 255 PainType Normal DeathType Normal TeleFogSourceType "TeleportFog" TeleFogDestType "TeleportFog" RipperLevel 0 RipLevelMin 0 RipLevelMax 0 DefThreshold 100 BloodType "Blood", "BloodSplatter", "AxeBlood" ExplosionDamage 128 MissileHeight 32 // Functions native bool CheckClass(class checkclass, int ptr_select = AAPTR_DEFAULT, bool match_superclass = false); native bool IsPointerEqual(int ptr_select1, int ptr_select2); native int CountInv(class itemtype, int ptr_select = AAPTR_DEFAULT); native float GetDistance(bool checkz, int ptr = AAPTR_DEFAULT); native float GetAngle(bool relative, int ptr = AAPTR_DEFAULT); native float GetZAt(float px = 0, float py = 0, float angle = 0, int flags = 0, int pick_pointer = AAPTR_DEFAULT); native int GetSpawnHealth(); native int GetGibHealth(); // Action functions // Meh, MBF redundant functions. Only for DeHackEd support. action native A_Turn(float angle = 0); action native bool 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, float/*angle*/ angle = 90, float distance = 16*64, float/*angle*/ vrange = 32, int damage = 0); 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, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 0); action native A_FaceTracer(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 0); action native A_FaceMaster(float max_turn = 0, float max_pitch = 270, float ang_offset = 0, float pitch_offset = 0, int flags = 0, float z_ofs = 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", int flags = 0); 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", float angle = 0, int flags = 0, int limit = -1); 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); native bool 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(); native void 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(int flags = 0); 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(float maxdist = 0, int flags = 0); action native A_ClearSoundTarget(); action native A_FireAssaultGun(); action native A_CheckTerrain(); action native A_FaceConsolePlayer(float MaxTurnAngle = 0); // [TP] no-op action native A_MissileAttack(); action native A_MeleeAttack(); action native A_ComboAttack(); action native A_BulletAttack(); action native A_WolfAttack(int flags = 0, sound whattoplay = "weapons/pistol", float snipe = 1.0, int maxdamage = 64, int blocksize = 128, int pointblank = 2, int longrange = 4, float runspeed = 160.0, class pufftype = "BulletPuff"); action native A_PlaySound(sound whattoplay = "weapons/pistol", int slot = CHAN_BODY, float volume = 1.0, bool looping = false, float attenuation = ATTN_NORM); native void 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... native void A_PlaySoundEx(sound whattoplay, coerce name slot, bool looping = false, int attenuation = 0); native void A_StopSoundEx(coerce name slot); native void A_SeekerMissile(int threshold, int turnmax, int flags = 0, int chance = 50, int distance = 10); native state A_Jump(int chance = 256, state label, ...); native void A_CustomMissile(class missiletype, float spawnheight = 32, float spawnofs_xy = 0, float angle = 0, int flags = 0, float pitch = 0, int ptr = AAPTR_TARGET); native void A_CustomBulletAttack(float/*angle*/ spread_xy, float/*angle*/ spread_z, int numbullets, int damageperbullet, class pufftype = "BulletPuff", float range = 0, int flags = 0, int ptr = AAPTR_TARGET); native void A_CustomRailgun(int damage, int spawnofs_xy = 0, color color1 = "", color color2 = "", int flags = 0, int aim = 0, float maxdiff = 0, class 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 spawnclass = "none", float spawnofs_z = 0, int spiraloffset = 270); native state A_JumpIfHealthLower(int health, state label, int ptr_selector = AAPTR_DEFAULT); native state A_JumpIfCloser(float distance, state label, bool noz = false); native state A_JumpIfTracerCloser(float distance, state label, bool noz = false); native state A_JumpIfMasterCloser(float distance, state label, bool noz = false); native state A_JumpIfTargetOutsideMeleeRange(state label); native state A_JumpIfTargetInsideMeleeRange(state label); native state A_JumpIfInventory(class itemtype, int itemamount, state label, int owner = AAPTR_DEFAULT); native state A_JumpIfArmorType(name Type, state label, int amount = 1); native bool A_GiveInventory(class itemtype, int amount = 0, int giveto = AAPTR_DEFAULT); native bool A_TakeInventory(class itemtype, int amount = 0, int flags = 0, int giveto = AAPTR_DEFAULT); action native bool A_SpawnItem(class itemtype = "Unknown", float distance = 0, float zheight = 0, bool useammo = true, bool transfer_translation = false); native bool 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, int tid=0); native void A_Print(string whattoprint, float time = 0, name fontname = ""); native void A_PrintBold(string whattoprint, float time = 0, name fontname = ""); native void A_Log(string whattoprint); native void A_LogInt(int whattoprint); native void A_LogFloat(float whattoprint); native void A_SetTranslucent(float alpha, int style = 0); action native A_FadeIn(float reduce = 0.1, int flags = 0); action native A_FadeOut(float reduce = 0.1, int flags = 1); //bool remove == true native void A_FadeTo(float target, float amount = 0.1, int flags = 0); native void A_SetScale(float scalex, float scaley = 0, int ptr = AAPTR_DEFAULT, bool usezero = false); native void A_SetMass(int mass); native void A_SpawnDebris(class spawntype, bool transfer_translation = false, float mult_h = 1, float mult_v = 1); native void A_SpawnParticle(color color1, int flags = 0, int lifetime = 35, int size = 1, float angle = 0, float xoff = 0, float yoff = 0, float zoff = 0, float velx = 0, float vely = 0, float velz = 0, float accelx = 0, float accely = 0, float accelz = 0, float startalphaf = 1, float fadestepf = -1); native state A_CheckSight(state label); native void A_ExtChase(bool usemelee, bool usemissile, bool playactive = true, bool nightmarefast = false); native void A_DropInventory(class itemtype); native void A_SetBlend(color color1, float alpha, int tics, color color2 = ""); native void A_ChangeFlag(string flagname, bool value); native state A_CheckFlag(string flagname, state label, int check_pointer = AAPTR_DEFAULT); native state A_JumpIf(bool expression, state label); action native A_RaiseMaster(bool copy = 0); action native A_RaiseChildren(bool copy = 0); action native A_RaiseSiblings(bool copy = 0); native state A_CheckFloor(state label); native state A_CheckCeiling(state label); native state A_PlayerSkinCheck(state label); native void A_BasicAttack(int meleedamage, sound meleesound, class missiletype, float missileheight); action native state, bool A_Teleport(state teleportstate = "", class targettype = "BossSpot", class fogtype = "TeleportFog", int flags = 0, float mindist = 0, float maxdist = 0, int ptr = AAPTR_DEFAULT); action native state, bool A_Warp(int ptr_destination, float xofs = 0, float yofs = 0, float zofs = 0, float angle = 0, int flags = 0, state success_state = "", float heightoffset = 0, float radiusoffset = 0, float pitch = 0); action native bool A_ThrowGrenade(class itemtype, float zheight = 0, float xyvel = 0, float zvel = 0, bool useammo = true); native void A_Weave(int xspeed, int yspeed, float xdist, float ydist); native void A_Recoil(float xyvel); native state A_JumpIfInTargetInventory(class itemtype, int amount, state label, int forward_ptr = AAPTR_DEFAULT); native bool A_GiveToTarget(class itemtype, int amount = 0, int forward_ptr = AAPTR_DEFAULT); native bool A_TakeFromTarget(class itemtype, int amount = 0, int flags = 0, int forward_ptr = AAPTR_DEFAULT); native int A_RadiusGive(class itemtype, float distance, int flags, int amount = 0, class filter = "None", name species = "None", int mindist = 0); native state A_CheckSpecies(state jump, name species = "", int ptr = AAPTR_DEFAULT); native void A_CountdownArg(int argnum, state targstate = ""); action native A_CustomMeleeAttack(int damage = 0, sound meleesound = "", sound misssound = "", name damagetype = "none", bool bleed = true); native void A_CustomComboAttack(class missiletype, float spawnheight, int damage, sound meleesound = "", name damagetype = "none", bool bleed = true); native void A_Burst(class chunktype); action native A_Blast(int flags = 0, float strength = 255, float radius = 255, float speed = 20, class blasteffect = "BlastEffect", sound blastsound = "BlastRadius"); action native A_RadiusThrust(int force = 128, int distance = -1, int flags = RTF_AFFECTSOURCE, int fullthrustdistance = 0); action native A_Explode(int damage = -1, int distance = -1, int flags = XF_HURTSOURCE, bool alert = false, int fulldamagedistance = 0, int nails = 0, int naildamage = 10, class pufftype = "BulletPuff"); 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_ClearLastHeard(); action native A_ClearTarget(); native state A_CheckLOF(state jump, int flags = 0, float range = 0, float minrange = 0, float angle = 0, float pitch = 0, float offsetheight = 0, float offsetwidth = 0, int ptr_target = AAPTR_DEFAULT, float offsetforward = 0); native state A_JumpIfTargetInLOS (state label, float/*angle*/ fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0); native state A_JumpIfInTargetLOS (state label, float/*angle*/ fov = 0, int flags = 0, float dist_max = 0, float dist_close = 0); native bool 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(); native void A_GiveQuestItem(int itemno); action native A_RemoveForcefield(); native void A_DropWeaponPieces(class p1, class p2, class p3); action native A_PigPain (); native state A_MonsterRefire(int chance, state label); action native A_SetAngle(float angle = 0, int flags = 0, int ptr = AAPTR_DEFAULT); native void A_SetPitch(float pitch, int flags = 0, int ptr = AAPTR_DEFAULT); native void A_SetRoll(float/*angle*/ roll, int flags = 0, int ptr = AAPTR_DEFAULT); native void A_ScaleVelocity(float scale, int ptr = AAPTR_DEFAULT); action native A_ChangeVelocity(float x = 0, float y = 0, float z = 0, int flags = 0, int ptr = AAPTR_DEFAULT); native void A_SetArg(int pos, int value); native void A_SetUserVar(name varname, int value); native void A_SetUserArray(name varname, int index, int value); native void A_SetUserVarFloat(name varname, float value); native void A_SetUserArrayFloat(name varname, int index, float value); native void A_SetSpecial(int spec, int arg0 = 0, int arg1 = 0, int arg2 = 0, int arg3 = 0, int arg4 = 0); native void A_Quake(int intensity, int duration, int damrad, int tremrad, sound sfx = "world/quake"); native void A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, sound sfx = "world/quake", int flags = 0, float mulWaveX = 1, float mulWaveY = 1, float mulWaveZ = 1, int falloff = 0, int highpoint = 0, float rollIntensity = 0, float rollWave = 0); action native A_SetTics(int tics); native void A_SetDamageType(name damagetype); native void A_DropItem(class item, int dropamount = -1, int chance = 256); native void A_SetSpeed(float speed, int ptr = AAPTR_DEFAULT); native void A_SetFloatSpeed(float speed, int ptr = AAPTR_DEFAULT); native void A_SetPainThreshold(int threshold, int ptr = AAPTR_DEFAULT); native void A_DamageSelf(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); native void A_DamageTarget(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); native void A_DamageMaster(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); native void A_DamageTracer(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); native void A_DamageChildren(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); native void A_DamageSiblings(int amount, name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_KillTarget(name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_KillMaster(name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_KillTracer(name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_KillChildren(name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_KillSiblings(name damagetype = "none", int flags = 0, class filter = "None", name species = "None"); action native A_RemoveTarget(int flags = 0, class filter = "None", name species = "None"); action native A_RemoveMaster(int flags = 0, class filter = "None", name species = "None"); action native A_RemoveTracer(int flags = 0, class filter = "None", name species = "None"); action native A_RemoveChildren(bool removeall = false, int flags = 0, class filter = "None", name species = "None"); action native A_RemoveSiblings(bool removeall = false, int flags = 0, class filter = "None", name species = "None"); native void A_Remove(int removee, int flags = 0, class filter = "None", name species = "None"); native int A_GiveToChildren(class itemtype, int amount = 0); native int A_GiveToSiblings(class itemtype, int amount = 0); native int A_TakeFromChildren(class itemtype, int amount = 0); native int A_TakeFromSiblings(class itemtype, int amount = 0); native void A_SetTeleFog(class oldpos, class newpos); action native A_SwapTeleFog(); native void A_SetFloatBobPhase(int bob); native void A_SetHealth(int health, int ptr = AAPTR_DEFAULT); action native A_ResetHealth(int ptr = AAPTR_DEFAULT); native state A_JumpIfHigherOrLower(state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true, int ptr = AAPTR_TARGET); native void A_SetSpecies(name species, int ptr = AAPTR_DEFAULT); native void A_SetRipperLevel(int level); native void A_SetRipMin(int mininum); native void A_SetRipMax(int maximum); native void A_SetChaseThreshold(int threshold, bool def = false, int ptr = AAPTR_DEFAULT); native state A_CheckProximity(state jump, class classname, float distance, int count = 1, int flags = 0, int ptr = AAPTR_DEFAULT); native state A_CheckBlock(state block, int flags = 0, int ptr = AAPTR_DEFAULT, float xofs = 0, float yofs = 0, float zofs = 0, float angle = 0); native state A_CheckSightOrRange(float distance, state label, bool two_dimension = false); native state A_CheckRange(float distance, state label, bool two_dimension = false); action native bool A_FaceMovementDirection(float offset = 0, float anglelimit = 0, float pitchlimit = 0, int flags = 0, int ptr = AAPTR_DEFAULT); native void A_RearrangePointers(int newtarget, int newmaster = AAPTR_DEFAULT, int newtracer = AAPTR_DEFAULT, int flags=0); native void A_TransferPointer(int ptr_source, int ptr_recepient, int sourcefield, int recepientfield=AAPTR_DEFAULT, int flags=0); action native A_CopyFriendliness(int ptr_source = AAPTR_MASTER); native int ACS_NamedExecute(name script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0); native int ACS_NamedSuspend(name script, int mapnum=0); native int ACS_NamedTerminate(name script, int mapnum=0); native int ACS_NamedLockedExecute(name script, int mapnum=0, int arg1=0, int arg2=0, int lock=0); native int ACS_NamedLockedExecuteDoor(name script, int mapnum=0, int arg1=0, int arg2=0, int lock=0); native int ACS_NamedExecuteWithResult(name script, int arg1=0, int arg2=0, int arg3=0, int arg4=0); native void ACS_NamedExecuteAlways(name script, int mapnum=0, int arg1=0, int arg2=0, int arg3=0); 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 } // Internal functions native state __decorate_internal_state__(state); native int __decorate_internal_int__(int); native bool __decorate_internal_bool__(bool); native float __decorate_internal_float__(float); }