Dev | Monster Setting Sheet - JasXSL/GoThongs GitHub Wiki

To store config data on a monster in your level. You set its description to $[[task1,data1],[task2,data2]...]. Here's a reference

Task Args Description
(int)any (var)data Sets monster LocalConf data. Look at a monster LocalConf script INI_DATA (or Monster INI_DATA below).
"SC" script1, script2... Requests scripts to be fetched from the root prim of the current cell. Works for assets as well. Can end with * as wildcard.
"HSC" script1, script2... Requests scripts to be fetched from the main GoT HUD script repo. Scripts dropped into the monster's inventory will automatically be loaded, but this can be useful to load other scripts on demand such as got Follower.
"ID" mixed Sets an ID and data to be used to raise got Level monster events.
"PR" prim1, prim2... Requests prims to be fetched from the root prim of the current cell. Can end with a * as a wildcard.
"IDL" anim Requires AniAnim. Plays one or more animations when loaded. These animations stop when the monster enters combat

Monster INI_DATA

Nr. Type Description
0 int Bitwise combination of monster runtime flags to init with. See below for monster runtime flags.
1 float Speed of monster.
2 float Monster melee hit range.
3 float Attack speed of melee attacks.
4 float Damage of melee hits
5 float Monster free roaming range.
6 int Max HP
7 float Aggro range (default 15)
8 key Aggro sound
9 key Aggro lost sound UUID
10 key Damaged sound UUID
11 key Melee attack sound UUID
12 key Death sound UUID
13 key Icon texture UUID
14 str Rape pack name. Usually the monster uses it's own name, but this can be used to override.
15 arr Drops. (str)name, (float)chance
16 int 0 for NPC, 1 for PC
17 int decimeters - Increases the range players can hit this target from.
18 int decimeters - Offset the height for where LOS is calculated. Default 0.5 above root prim.
19 int Used for RP. Determines what height the monster is hitting with its melee attacks. 0 = groin or butt, 1 = chest or back, -1 = neither
20 float Hover height of monster. Useful for animesh monsters since their groin is the centerpoint.
21 float Seconds that the monster should be able to "hear" where the player has gone after losing line of sight

Monster runtime flags

Name Dec.Nr Hex.Nr Description
Monster$RF_IMMOBILE 1 0x1 Makes monster unable to move, can still rotate.
Monster$RF_PACIFIED 2 0x2 Monster will not use melee attacks but can aggro.
Monster$RF_NOROT 4 0x4 Monster will not rotate
Monster$RF_NOAGGRO 8 0x8 Monster will not aggro any new players
Monster$RF_FREEZE_AGGRO 16 0x10 Monster will not change aggro target until this is unset.
Monster$RF_NO_DEATH 32 0x20 Monster will raise an event on death instead of removing itself.
Monster$RF_INVUL 64 0x40 Monster is invulnerable. Note that this setting also blocks defeat scenes.
Monster$RF_NO_TARGET 128 0x80 Monster cannot be targeted.
Monster$RF_NO_SPELLS 256 0x100 Monster cannot cast spells.
Monster$RF_IS_BOSS 512 0x200 Shows the monster's health as the boss HP bar on your HUD. Only one monster can do this.
Monster$RF_IS_FLYING 1024 0x400 Allows the monster to move freely on Z axis
Monster$RF_360_VIEW 2048 0x800 Ignores the aggro radius penalty for targets behind the NPC
Monster$RF_FOLLOWER 4096 0x1000 Will not free roam
Monster$RF_ANIMESH 8192 0x2000 Monster is animesh. Animesh is rotated differently and has a different ground offset.
Monster$RF_HUMANOID 16384 0x4000 Monster is a humanoid. This allows some NPC interactions like shambler lick.
Monster$RF_MINOR 32768 0x8000 Monster should not drop loot. Good for monsters spawned programmatically.
Monster$RF_ALWAYS_R 65536 0x10000 This overrides the defeat scene restriction for invulnerable monsters.
Monster$RF_FLANKING 131072 0x20000 Makes the monster try to flank the highest aggro target if they are not targeting the monster.
Monster$RF_INF_HP 262144 0x40000 Monster cannot lose HP. Similar to invul but can still be affected by spells and aggro.
Monster$RF_PASS_WALLS 524288 0x80000 Monsters will phase through walls. Must be combined with Monster$RF_IS_FLYING They cannot aggro through walls but once aggroed they will not drop aggro even if the player hides.

472 = Dummy monster flags for events

8664 = Same but animesh

NPC spells flags

Name Dec.Nr Description
NPCS$FLAG_ROOT 1 Monster is rooted while casting
NPCS$FLAG_PACIFY 2 monster cannot attack while casting
NPCS$FLAG_NOROT 4 Monster doesn't look at the target
NPCS$FLAG_NO_INTERRUPT 16 Spell cannot be interrupted
NPCS$FLAG_DISABLED_ON_START 32 Spell is disabled on start. Use NPCSpells$wipeCooldown(id) to reset cooldown
NPCS$FLAG_REQUEST_CASTSTART 64 Will attempt to get a callback before casting
NPCS$FLAG_RESET_CD_ON_INTERRUPT 128 Resets cooldown if interrupted
NPCS$FLAG_CAST_AT_RANDOM 256 Tries to cast at a random visible target
NPCS$FLAG_LOOK_OVERRIDE 512 Forces the monster to look at the victim even if it's not the target
NPCS$ALLOW_MULTIPLE_CHECKS 1024 Use with FLAG_CAST_AT_RNADOM - Even if a player matches, it will still query all