The `creature_template` table
This table contains the description of creatures. Each spawned creature is an instance of a template present in this table, this means every creature MUST be Back-to:World
The `creature_template` table
This table contains the description of creatures. Each spawned creature is an instance of a template present in this table, this means every creature MUST be defined in this table.
Structure
Field | Type | Attributes | Key | Null | Default | Extra | Comment | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1198129289 | mediumint(8) | unsigned | PRI | NO | 0 | ||||||||||||||||||||||||||||||||
difficulty_entry_1 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
difficulty_entry_2 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
difficulty_entry_3 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
modelid1 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
modelid2 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
modelid3 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
modelid4 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | char(200) | signed | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | char(200) | signed | YES | NULL | |||||||||||||||||||||||||||||||||
1198129289 | char(100) | signed | YES | NULL | |||||||||||||||||||||||||||||||||
1198129289 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | smallint(5) | signed | NO | 1 | |||||||||||||||||||||||||||||||||
maxlevel | smallint(5) | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | smallint(6) | signed | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | smallint(5) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | Result of 2.5/2.5, most common value | ||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1.14286 | Result of 8.0/7.0, most common value | ||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | tinyint(3) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | tinyint(4) | signed | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | tinyint(3) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | tinyint(4) | signed | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | tinyint(3) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | int(10) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
VehicleId | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
mingold | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
maxgold | mediumint(8) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
AIName | char(64) | signed | NO | " | |||||||||||||||||||||||||||||||||
MovementType | tinyint(3) | unsigned | NO | 0 | |||||||||||||||||||||||||||||||||
1198129289 | float | unsigned | NO | 1 | |||||||||||||||||||||||||||||||||
HealthModifier | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
ArmorModifier | float | signed | 1198129289 | floatNO | 1 | ||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
1198129289 | float | signed | NO | 1 | |||||||||||||||||||||||||||||||||
RacialLeader | tinyint(3) | unsigned | NO | 10 | HealthModifier | float | |||||||||||||||||||||||||||||||
signedmovementID | int(11) | unsigned | NO | 10 | |||||||||||||||||||||||||||||||||
1198129289 | float | signedRegenHealth | tinyint(3) | unsigned | NO | 1 | ArmorModifier | float | |||||||||||||||||||||||||||||
signedmechanic_immune_mask | int(10) | unsigned | NO | 10 | |||||||||||||||||||||||||||||||||
1198129289 | float | signedint(3) | unsigned | NO | 10 | 1198129289 | float | signed||||||||||||||||||||||||||||||
flags_extra | int(10) | unsigned | NO | 10 | |||||||||||||||||||||||||||||||||
RacialLeaderScriptName | tinyintchar(364) | unsignedsigned | NO | 0" | |||||||||||||||||||||||||||||||||
movementIDVerifiedBuild | intsmallint(115) | signed | YES | unsigned | NO | 0 | RegenHealth | tinyint(3) | unsigned | NO | 1 | mechanic_immune_mask | int(10) | unsigned | NO | 0 | 1198129289 | int(3) | unsigned | NO | 0 | flags_extra | int(10) | unsigned | NO | 0 | ScriptName | char(64) | signed | NO | " | VerifiedBuild | smallint(5) | signed | YES | 0 |
...
entry
Creature's unique id.
difficulty_entry_1-3
...
KillCredit1
If this is a kill credit template -- one that is a dummy template that is used when more than one creature can count as a kill in a quest, then this is a link to the first entry of the creature that could be killed to give quest credit.
KillCredit2
If this is a kill credit template -- one that is a dummy template that is used when more than one creature can count as a kill in a quest, then this is a link to the second entry of the creature that could be killed to give quest credit. If more than two creatures can be killed and count toward a single objective, an smart or C++ script will be required.
modelid1-4
A random graphical model that the client applies on this creature. This is a creature_model_info.modelid
name
Base name of the creature.
subname
The subname of the creature that appears in <> below the creature's name.
IconName
Used to tell the player what kind of NPC this creature is.
List of known icon names:
Directions - Used for Guards and Teleporter NPC's.
Gunner - Indicator of a Turret NPC/Player Controlled.
vehichleCursor - Indicator that this is a PCV (Player Controlled Vehicle)
Driver - Shows a Steering Wheel icon when mouse over.
Attack - Shows a Sword icon indicating you can attack this target.
Buy - Shows a Brown Bag icon usually if the NPC only sells things.
Speak - Shows a Chat Bubble icon if this NPC has Quest/Gossip options.
Pickup - Shows a Hand Grasping icon of if this NPC can be picked up for quest/items.
Interact - Shows Cog icon commonly used for quest/transport.
Trainer - Shows a Book icon, identifying this NPC as a "Trainer".
Taxi - Shows a Boot w/Wings icon identifying this NPC as a "Taxi".
Repair - Shows a Anvil icon identifying this npc as a Repair NPC.
LootAll - Shows a Multiple Brown Bag icon (Same as holding Shift before looting a creature).
Quest - Unused or Unknown. (See EntryID 32870 The Real Ronakada).
PVP - Unused or Unknown.(See EntryID 29387 Arena Master: Dalaran Arena).
...
Also: Names are case sensitive. If in doubt use an example above.
gossip_menu_id
The gossip ID of this creature. This field is obtained from sniff (update fields). If you can not sniff this value, and need to make one up, it must be > 50000. This field is the link to gossip_menu.entry.
minlevel
The minimum level of the creature if the creature has a level range.
maxlevel
The maximum level of the creature if the creature has a level range. When added to world, a level in chosen in the specified level range.
exp
The expansion table the creatures health value is taken from. Values are from 0 to 2. See creature_classlevelstats.
faction
The faction of the creature. See FactionTemplate. Just because more than one faction has the same name, the inter-faction relationships can be different.
Note: This field also controls the creature family assistance mechanic. Only creatures with the same faction will assist each other.
npcflag
A bitmask that represents what NPC flags the creature has. Each bit controls a different flag and to combine flags, you can add each flag that you want, in effect activating the respective bits.
...
So if you want an NPC that is a quest giver, a vendor, and can repair you just add the specific flags together: `npcflag`=`npcflag`|1|2|128|4096
The same with hexadecimal numbers: 0x1 + 0x2 + 0x80 + 0x1000 = 0x1083
speed_walk
Controls how fast the creature can walk. For vehicles: increases fly speed.
speed_run
Controls how fast the creature can run. For vehicles: increases ground movement speed.
scale
If non-zero, this field defines the size of how the model of the creature appears ingame. If zero, it will use default model size taken from the DBC.
rank
The rank of the creature:
...
...
Worldserver.conf (Corpse.Decay)
...
spawntimesecs + Corpse.Decay
...
Note 1: An NPC's rank is mostly visual (which also requires your Cache to be cleared to see changes). Changing this value will not change its health, damage, or loot. However, it will change the respawn time of the creature.
Note 2: Respawn times can be modified in two other places: Creature.spawntimesecs (only for that single GUID of the creature) and in the worldserver.conf file under the "Corpse.Decay" settings (for ALL creatures of the same rank). The default `spawntimesecs` for all spawned creatures is 300 seconds (5 minutes). For example, using the ".npc add" command to spawn a "Normal" NPC will give it a default respawn time of 6 minutes (spawntimesecs + Corpse.Decay time). Also, the creature must decay first before it can respawn. For this reason, the Corpse Decay Time of the creature is also it's minimum respawn time, since setting the creature's Creature.spawntimesecs = 0 will remove the Default Respawn Time. In the example above, setting our Normal NPC's spawntimesecs = 0 will mean the creature's respawn time decreases from 6 minutes to 60 seconds.
Note 3: If you want the creature to show a skull or "??" in the portrait (often with Bosses), set the type_flags to 4.
dmgschool
Creature's melee damage school.
...
BaseAttackTime
This is the base time that determines how long a creature must wait between melee attacks. This time is in milliseconds.
RangeAttackTime
This is the base time that determines how long a creature must wait between ranged attacks. This time is in milliseconds.
BaseVariance
-
RangeVariance
-
unit_class
This is the creature's class, and it dictates levels of health and mana. Also note that health and mana will change according to exp, health_mod, and mana_mod. Not setting this value will report a minor warning in the DB_Errors.log.
...
unit_flags
Allows the manual application of unit flags to creatures. Again this is a bitmask field and to apply more than one flag, just add the different numbers. Some possible flags are:
...
unit_flags2
Allows additional application of unit flags to creatures. Again, this is a bitmask field and to apply more than one flag, just add the different numbers. Some possible flags are:
...
allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL
...
Flags that control visual appearance of the creature.
A few known flags and their use are:
...
family
The family this creature belongs to.
...
type
The type of the creature.
...
type_flags
This field can control whether a mob is minable or herbable or lootable by engineer. If it is either of those three, then the loot given when it is skinned/mined will be stored in the skinning_loot_template table. It also controls, whether this mob can be tamed by a hunter. Other fields have no special meaning on the serverside. The entire field will be send to the client in SMSG_CREATURE_QUERY_RESPONSE
Flag | Name | Comments | |||
---|---|---|---|---|---|
1 | 0x0000 0001 | CREATURE_TYPEFLAGS_TAMEABLE | Makes the mob tameable (must also be a beast and have family set) | ||
2 | 0x0000 0002 | CREATURE_TYPEFLAGS_GHOST | Creature are also visible for not alive player. Allow gossip interaction if npcflag allow? | ||
4 | 0x0000 0004 | CREATURE_TYPEFLAGS_BOSS | Changes creature's visible level to "??" in the creature's portrait - Immune to Knockback. | ||
8 | 0x0000 0008 | CREATURE_TYPEFLAGS_DO_NOT_PLAY_WOUND_PARRY_ANIMATION | Does not play wound animation on parry. | ||
16 | 0x0000 0010 | CREATURE_TYPEFLAGS_HIDE_FACTION_TOOLTIP | Hides tooltip faction. | 32 | 0x0000 0020 | CREATURE_TYPEFLAGS_UNK6 |
64 | 0x0000 0040 | CREATURE_TYPEFLAGS_SPELL_ATTACKABLE | Spell attackable. | ||
128 | 0x0000 0080 | CREATURE_TYPEFLAGS_DEAD_INTERACT | Player can interact with the creature if its dead (not player dead) | ||
256 | 0x0000 0100 | CREATURE_TYPEFLAGS_HERBLOOT | Makes mob herbable | ||
512 | 0x0000 0200 | CREATURE_TYPEFLAGS_MININGLOOT | Makes mob minable | ||
1024 | 0x0000 0400 | CREATURE_TYPEFLAGS_DONT_LOG_DEATH | Does not combatlog death. | ||
2048 | 0x0000 0800 | CREATURE_TYPEFLAGS_MOUNTED_COMBAT | Creature can remain mounted when entering combat | ||
4096 | 0x0000 1000 | CREATURE_TYPEFLAGS_AID_PLAYERS | Can aid any player in combat if in range? | ||
8192 | 0x0000 2000 | CREATURE_TYPEFLAGS_IS_PET_BAR_USED | Is using pet bar. | 16384 | 0x0000 4000 | CREATURE_TYPEFLAGS_MASK_UID |
32768 | 0x0000 8000 | CREATURE_TYPEFLAGS_ENGINEERLOOT | Makes mob lootable by engineer | ||
65536 | 0x0001 0000 | CREATURE_TYPE_FLAG_EXOTIC_PET | Tamable as an exotic pet. Normal tamable flag must also be set. | ||
131072 | 0x0002 0000 | CREATURE_TYPEFLAGS_USE_DEFAULT_COLLISION_BOX | Collision related. (always using default collision box?) | ||
262144 | 0x0004 0000 | CREATURE_TYPEFLAGS_IS_SIEGE_WEAPON | Is siege weapon. | ||
524288 | 0x0008 0000 | CREATURE_TYPEFLAGS_PROJECTILE_COLLISION | Projectiles can collide with this creature - interacts with TARGET_DEST_TRAJ | ||
1048576 | 0x0010 0000 | CREATURE_TYPEFLAGS_HIDE_NAMEPLATE | Hides nameplate. | ||
2097152 | 0x0020 0000 | CREATURE_TYPEFLAGS_DO_NOT_PLAY_MOUNTED_ANIMATIONS | Does not play mounted animations. | 4194304 | 0x0040 0000 | CREATURE_TYPEFLAGS_IS_LINK_ALL |
8388608 | 0x0080 0000 | CREATURE_TYPEFLAGS_INTERACT_ONLY_WITH_CREATOR | Can only interact with its creator. | ||
134217728 | 0x0800 0000 | CREATURE_TYPEFLAGS_FORCE_GOSSIP | Allows the creature to display a single gossip option.0 |
Description of the fields
entry
Creature's unique id.
difficulty_entry_1-3
This field connects the stats from another entry to this template when in 25man normal, 10man heroic or 25man heroic mode instance.
For Dungeons:
difficulty_entry_1 = 5 (Heroic)
For Raids:
difficulty_entry_1 = 25 (Normal)
difficulty_entry_2 = 10 (Heroic)
difficulty_entry_3 = 25 (Heroic)
KillCredit1
If this is a kill credit template -- one that is a dummy template that is used when more than one creature can count as a kill in a quest, then this is a link to the first entry of the creature that could be killed to give quest credit.
KillCredit2
If this is a kill credit template -- one that is a dummy template that is used when more than one creature can count as a kill in a quest, then this is a link to the second entry of the creature that could be killed to give quest credit. If more than two creatures can be killed and count toward a single objective, an smart or C++ script will be required.
modelid1-4
A random graphical model that the client applies on this creature. This is a creature_model_info.modelid
name
Base name of the creature.
subname
The subname of the creature that appears in <> below the creature's name.
IconName
Used to tell the player what kind of NPC this creature is.
List of known icon names:
Directions - Used for Guards and Teleporter NPC's.
Gunner - Indicator of a Turret NPC/Player Controlled.
vehichleCursor - Indicator that this is a PCV (Player Controlled Vehicle)
Driver - Shows a Steering Wheel icon when mouse over.
Attack - Shows a Sword icon indicating you can attack this target.
Buy - Shows a Brown Bag icon usually if the NPC only sells things.
Speak - Shows a Chat Bubble icon if this NPC has Quest/Gossip options.
Pickup - Shows a Hand Grasping icon of if this NPC can be picked up for quest/items.
Interact - Shows Cog icon commonly used for quest/transport.
Trainer - Shows a Book icon, identifying this NPC as a "Trainer".
Taxi - Shows a Boot w/Wings icon identifying this NPC as a "Taxi".
Repair - Shows a Anvil icon identifying this npc as a Repair NPC.
LootAll - Shows a Multiple Brown Bag icon (Same as holding Shift before looting a creature).
Quest - Unused or Unknown. (See EntryID 32870 The Real Ronakada).
PVP - Unused or Unknown.(See EntryID 29387 Arena Master: Dalaran Arena).
Note: This is not required to make the creature/npc function unless you are using scripts or gossip options.
Also: Names are case sensitive. If in doubt use an example above.
gossip_menu_id
The gossip ID of this creature. This field is obtained from sniff (update fields). If you can not sniff this value, and need to make one up, it must be > 50000. This field is the link to gossip_menu.entry.
minlevel
The minimum level of the creature if the creature has a level range.
maxlevel
The maximum level of the creature if the creature has a level range. When added to world, a level in chosen in the specified level range.
exp
The expansion table the creatures health value is taken from. Values are from 0 to 2. See creature_classlevelstats.
faction
The faction of the creature. See FactionTemplate. Just because more than one faction has the same name, the inter-faction relationships can be different.
Note: This field also controls the creature family assistance mechanic. Only creatures with the same faction will assist each other.
npcflag
A bitmask that represents what NPC flags the creature has. Each bit controls a different flag and to combine flags, you can add each flag that you want, in effect activating the respective bits.
Flag | Name | Comment | |
---|---|---|---|
1 | 0x0000 0001 | Gossip | If creature has more gossip options, add this flag to bring up a menu. |
2 | 0x0000 0002 | Quest Giver | Any creature giving or taking quests needs to have this flag. |
16 | 0x0000 0010 | Trainer | Allows the creature to have a trainer list to teach spells |
32 | 0x0000 0020 | Class Trainer | |
64 | 0x0000 0040 | Profession Trainer | |
128 | 0x0000 0080 | Vendor | Any creature selling items needs to have this flag. |
256 | 0x0000 0100 | Vendor Ammo | |
512 | 0x0000 0200 | Vendor Food | |
1024 | 0x0000 0400 | Vendor Poison | |
2048 | 0x0000 0800 | Vendor Reagent | |
4096 | 0x0000 1000 | Repairer | Creatures with this flag can repair items. |
8192 | 0x0000 2000 | Flight Master | Any creature serving as flight master has this. |
16384 | 0x0000 4000 | Spirit Healer | Makes the creature invisible to alive characters and has the resurrect function. |
32768 | 0x0000 8000 | Spirit Guide | |
65536 | 0x0001 0000 | Innkeeper | Creatures with this flag can set hearthstone locations. |
131072 | 0x0002 0000 | Banker | Creatures with this flag can show the bank |
262144 | 0x0004 0000 | Petitioner | |
524288 | 0x0008 0000 | Tabard Designer | Allows the designing of guild tabards. |
1048576 | 0x0010 0000 | Battlemaster | Creatures with this flag port players to battlegrounds. |
2097152 | 0x0020 0000 | Auctioneer | Allows creature to display auction list. |
4194304 | 0x0040 0000 | Stable Master | Has the option to stable pets for hunters. |
8388608 | 0x0080 0000 | Guild Banker | |
16777216 | 0x0100 0000 | Spellclick | Needs data on npc_spellclick_spells table |
67108864 | 0x0400 0000 | Mailbox | NPC will act like a mailbox (opens mailbox with right-click) |
So if you want an NPC that is a quest giver, a vendor, and can repair you just add the specific flags together: `npcflag`=`npcflag`|1|2|128|4096
The same with hexadecimal numbers: 0x1 + 0x2 + 0x80 + 0x1000 = 0x1083
speed_walk
Controls how fast the creature can walk. For vehicles: increases fly speed.
speed_run
Controls how fast the creature can run. For vehicles: increases ground movement speed.
scale
If non-zero, this field defines the size of how the model of the creature appears ingame. If zero, it will use default model size taken from the DBC.
rank
The rank of the creature:
Rank | Name | Default Respawn Time | Corpse Decay Time Worldserver.conf (Corpse.Decay) | Total Default Respawn spawntimesecs + Corpse.Decay |
---|---|---|---|---|
0 | Normal | 5 min | 60 sec | 6 min |
1 | Elite | 5 min | 5 min | 10 min |
2 | Rare Elite | 5 min | 5 min | 10 min |
3 | Boss | 5 min | 1 hour | 1 hour, 5 min |
4 | Rare | 5 min | 5 min | 10 min |
Note 1: An NPC's rank is mostly visual (which also requires your Cache to be cleared to see changes). Changing this value will not change its health, damage, or loot. However, it will change the respawn time of the creature.
Note 2: Respawn times can be modified in two other places: Creature.spawntimesecs (only for that single GUID of the creature) and in the worldserver.conf file under the "Corpse.Decay" settings (for ALL creatures of the same rank). The default `spawntimesecs` for all spawned creatures is 300 seconds (5 minutes). For example, using the ".npc add" command to spawn a "Normal" NPC will give it a default respawn time of 6 minutes (spawntimesecs + Corpse.Decay time). Also, the creature must decay first before it can respawn. For this reason, the Corpse Decay Time of the creature is also it's minimum respawn time, since setting the creature's Creature.spawntimesecs = 0 will remove the Default Respawn Time. In the example above, setting our Normal NPC's spawntimesecs = 0 will mean the creature's respawn time decreases from 6 minutes to 60 seconds.
Note 3: If you want the creature to show a skull or "??" in the portrait (often with Bosses), set the type_flags to 4.
dmgschool
Creature's melee damage school.
ID | Name |
---|---|
0 | SPELL_SCHOOL_NORMAL |
1 | SPELL_SCHOOL_HOLY |
2 | SPELL_SCHOOL_FIRE |
3 | SPELL_SCHOOL_NATURE |
4 | SPELL_SCHOOL_FROST |
5 | SPELL_SCHOOL_SHADOW |
6 | SPELL_SCHOOL_ARCANE |
BaseAttackTime
This is the base time that determines how long a creature must wait between melee attacks. This time is in milliseconds.
RangeAttackTime
This is the base time that determines how long a creature must wait between ranged attacks. This time is in milliseconds.
BaseVariance
-
RangeVariance
-
unit_class
This is the creature's class, and it dictates levels of health and mana. Also note that health and mana will change according to exp, health_mod, and mana_mod. Not setting this value will report a minor warning in the DB_Errors.log.
Value | Name | Power Shown |
---|---|---|
1 | CLASS_WARRIOR | Health only (equal to Rogue) |
2 | CLASS_PALADIN | Health & Mana (more health than Mage but less mana) |
4 | CLASS_ROGUE | Health only (equal to Warrior) |
8 | CLASS_MAGE | Health & Mana (less health than Paladin but more mana) |
unit_flags
Allows the manual application of unit flags to creatures. Again this is a bitmask field and to apply more than one flag, just add the different numbers. Some possible flags are:
Flag | Name | Comments | |
---|---|---|---|
1 | 0x0000 0001 | UNIT_FLAG_SERVER_CONTROLLED | |
2 | 0x0000 0002 | UNIT_FLAG_NON_ATTACKABLE | |
4 | 0x0000 0004 | UNIT_FLAG_REMOVE_CLIENT_CONTROL | |
8 | 0x0000 0008 | UNIT_FLAG_PLAYER_CONTROLLED | controlled by player, use _IMMUNE_TO_PC instead of _IMMUNE_TO_NPC |
16 | 0x0000 0010 | UNIT_FLAG_RENAME | |
32 | 0x0000 0020 | UNIT_FLAG_PREPARATION | Don't take reagents for spells with SPELL_ATTR_EX5_NO_REAGENT_WHILE_PREP |
64 | 0x0000 0040 | UNIT_FLAG_UNK_6 | not sure what it does, but it is needed to cast nontriggered spells in smart_scripts |
128 | 0x0000 0080 | UNIT_FLAG_NOT_ATTACKABLE_1 | UNIT_FLAG_PVP_ATTACKABLE| UNIT_FLAG_NOT_ATTACKABLE_1 is NON_PVP_ATTACKABLE |
256 | 0x0000 0100 | UNIT_FLAG_IMMUNE_TO_PC | disables combat/assistance with PlayerCharacters (PC) |
512 | 0x0000 0200 | UNIT_FLAG_IMMUNE_TO_NPC | disables combat/assistance with NonPlayerCharacters (NPC) |
1024 | 0x0000 0400 | UNIT_FLAG_LOOTING | Loot animation |
2048 | 0x0000 0800 | UNIT_FLAG_PET_IN_COMBAT | In combat? 2.0.8 |
4096 | 0x0000 1000 | UNIT_FLAG_PVP | Changed in 3.0.3 |
8192 | 0x0000 2000 | UNIT_FLAG_SILENCED | Can't cast spells |
16384 | 0x0000 4000 | UNIT_FLAG_CANNOT_SWIM | 2.0.8 |
32768 | 0x0000 8000 | UNIT_FLAG_SWIMMING | shows swim animation in water |
65536 | 0x0001 0000 | UNIT_FLAG_NON_ATTACKABLE_2 | removes attackable icon, if on yourself, cannot assist self but can cast TARGET_SELF spells - added by SPELL_AURA_MOD_UNATTACKABLE |
131072 | 0x0002 0000 | UNIT_FLAG_PACIFIED | Creature will not attack |
262144 | 0x0004 0000 | UNIT_FLAG_STUNNED | 3.0.3 ok |
524288 | 0x0008 0000 | UNIT_FLAG_IN_COMBAT | ('AffectingCombat' from UnitFlags.cs in WPP) |
1048576 | 0x0010 0000 | UNIT_FLAG_TAXI_FLIGHT | Disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag |
2097152 | 0x0020 0000 | UNIT_FLAG_DISARMED | 3.0.3, disable melee spells casting..., "Required melee weapon" added to melee spells tooltip. |
4194304 | 0x0040 0000 | UNIT_FLAG_CONFUSED | Confused. |
8388608 | 0x0080 0000 | UNIT_FLAG_FLEEING | ('Feared' from UnitFlags.cs in WPP) |
16777216 | 0x0100 0000 | UNIT_FLAG_POSSESSED | under direct client control by a player (possess or vehicle) |
33554432 | 0x0200 0000 | UNIT_FLAG_NOT_SELECTABLE | Can't be selected by mouse or with /target {name} command. |
67108864 | 0x0400 0000 | UNIT_FLAG_SKINNABLE | Skinnable |
134217728 | 0x0800 0000 | UNIT_FLAG_MOUNT | The client seems to handle it perfectly. Also used when making custom mounts. |
268435456 | 0x1000 0000 | UNIT_FLAG_UNK_28 | (PreventKneelingWhenLooting from UnitFlags.cs in WPP) |
536870912 | 0x2000 0000 | UNIT_FLAG_PREVENT_EMOTES_FROM_CHAT_TEXT | Prevent automatically playing emotes from parsing chat text, for example "lol" in /say, ending message with ? or !, or using /yell |
1073741824 | 0x4000 0000 | UNIT_FLAG_SHEATHE | |
2147483648 | 0x8000 0000 | UNIT_FLAG_IMMUNE | Immune to damage |
unit_flags2
Allows additional application of unit flags to creatures. Again, this is a bitmask field and to apply more than one flag, just add the different numbers. Some possible flags are:
Flag | Name | Comments | |
---|---|---|---|
1 | 0x0000 0001 | UNIT_FLAG2_FEIGN_DEATH | |
2 | 0x0000 0002 | UNIT_FLAG2_HIDE_BODY | Hide unit model (show only player equip) |
4 | 0x0000 0004 | UNIT_FLAG2_IGNORE_REPUTATION | |
8 | 0x0000 0008 | UNIT_FLAG2_COMPREHEND_LANG | |
16 | 0x0000 0010 | UNIT_FLAG2_MIRROR_IMAGE | |
32 | 0x0000 0020 | UNIT_FLAG2_DO_NOT_FADE_IN | Unit model instantly appears when summoned (does not fade in) |
64 | 0x0000 0040 | UNIT_FLAG2_FORCE_MOVEMENT | |
128 | 0x0000 0080 | UNIT_FLAG2_DISARM_OFFHAND | |
256 | 0x0000 0100 | UNIT_FLAG2_DISABLE_PRED_STATS | Player has disabled predicted stats (Used by raid frames) |
1024 | 0x0000 0400 | UNIT_FLAG2_DISARM_RANGED | this does not disable ranged weapon display (maybe additional flag needed?) |
2048 | 0x0000 0800 | UNIT_FLAG2_REGENERATE_POWER | |
4096 | 0x0000 1000 | UNIT_FLAG2_RESTRICT_PARTY_INTERACTION | Restrict interaction to party or raid |
8192 | 0x0000 2000 | UNIT_FLAG2_PREVENT_SPELL_CLICK | Prevent spellclick |
16384 | 0x0000 4000 | UNIT_FLAG2_ALLOW_ENEMY_INTERACT | |
32768 | 0x0000 8000 | UNIT_FLAG2_CANNOT_TURN | |
65536 | 0x0001 0000 | UNIT_FLAG2_UNK2 | |
131072 | 0x0002 0000 | UNIT_FLAG2_PLAY_DEATH_ANIM | Plays special death animation upon death |
262144 | 0x0004 0000 | UNIT_FLAG2_ALLOW_CHEAT_SPELLS | allows casting spells with AttributesEx7 & SPELL_ATTR7_IS_CHEAT_SPELL |
dynamicflags
Flags that control visual appearance of the creature.
A few known flags and their use are:
Flag | Name | Comments | |
---|---|---|---|
0 | 0x00 | UNIT_DYNFLAG_NONE | |
1 | 0x01 | UNIT_DYNFLAG_LOOTABLE | |
2 | 0x02 | UNIT_DYNFLAG_TRACK_UNIT | Creature's location will be seen as a small dot in the minimap |
4 | 0x04 | UNIT_DYNFLAG_TAPPED | Makes creatures name appear grey (Lua_UnitIsTapped) |
8 | 0x08 | UNIT_DYNFLAG_TAPPED_BY_PLAYER | Lua_UnitIsTappedByPlayer usually used by PCVs (Player Controlled Vehicles) |
16 | 0x10 | UNIT_DYNFLAG_SPECIALINFO | |
32 | 0x20 | UNIT_DYNFLAG_DEAD | Makes the creature appear dead (this DOES NOT make the creature's name grey or not attack players). |
64 | 0x40 | UNIT_DYNFLAG_REFER_A_FRIEND | |
128 | 0x80 | UNIT_DYNFLAG_TAPPED_BY_ALL_THREAT_LIST | Lua_UnitIsTappedByAllThreatList |
family
The family this creature belongs to.
ID | Family | ID | Family |
---|---|---|---|
1 | Wolf | 26 | Owl |
2 | Cat | 27 | Wind Serpent |
3 | Spider | 28 | Remote Control |
4 | Bear | 29 | Felguard |
5 | Boar | 30 | Dragonhawk |
6 | Crocolisk | 31 | Ravager |
7 | Carrion Bird | 32 | Warp Stalker |
8 | Crab | 33 | Sporebat |
9 | Gorilla | 34 | Nether Ray |
11 | Raptor | 35 | Serpent |
12 | Tallstrider | 37 | Moth |
15 | Felhunter | 38 | Chimaera |
16 | Voidwalker | 39 | Devilsaur |
17 | Succubus | 40 | Ghoul |
19 | Doomguard | 41 | Silithid |
20 | Scorpid | 42 | Worm |
21 | Turtle | 43 | Rhino |
23 | Imp | 44 | Wasp |
24 | Bat | 45 | Core Hound |
25 | Hyena | 46 | Spirit Beast |
type
The type of the creature.
ID | Type |
---|---|
0 | None |
1 | Beast |
2 | Dragonkin |
3 | Demon |
4 | Elemental |
5 | Giant |
6 | Undead |
7 | Humanoid |
8 | Critter |
9 | Mechanical |
10 | Not specified |
11 | Totem |
12 | Non-Combat Pet |
13 | Gas Cloud |
14 | Wild Pet |
15 | Aberration |
type_flags
This field can control whether a mob is minable or herbable or lootable by engineer. If it is either of those three, then the loot given when it is skinned/mined will be stored in the skinning_loot_template table. It also controls, whether this mob can be tamed by a hunter. Other fields have no special meaning on the serverside. The entire field will be send to the client in SMSG_CREATURE_QUERY_RESPONSE
Flag | Name | Comments | |
---|---|---|---|
1 | 0x0000 0001 | CREATURE_TYPE_FLAG_TAMEABLE | Makes the mob tameable (must also be a beast and have family set) |
2 | 0x0000 0002 | CREATURE_TYPE_FLAG_VISIBLE_TO_GHOSTS | Creature is also visible for not alive player. Allows gossip interaction if npcflag allows? |
4 | 0x0000 0004 | CREATURE_TYPE_FLAG_BOSS_MOB | Changes creature's visible level to "??" in the creature's portrait - Immune Knockback. |
8 | 0x0000 0008 | CREATURE_TYPE_FLAG_DO_NOT_PLAY_WOUND_PARRY_ANIMATION | Does not play wound animation on parry. |
16 | 0x0000 0010 | CREATURE_TYPE_FLAG_NO_FACTION_TOOLTIP | |
32 | 0x0000 0020 | CREATURE_TYPE_FLAG_MORE_AUDIBLE | Sound related |
64 | 0x0000 0040 | CREATURE_TYPE_FLAG_SPELL_ATTACKABLE | |
128 | 0x0000 0080 | CREATURE_TYPE_FLAG_INTERACT_WHILE_DEAD | Player can interact with the creature if creature is dead (not if player is dead) |
256 | 0x0000 0100 | CREATURE_TYPE_FLAG_SKIN_WITH_HERBALISM | Makes mob herbable |
512 | 0x0000 0200 | CREATURE_TYPE_FLAG_SKIN_WITH_MINING | Makes mob minable |
1024 | 0x0000 0400 | CREATURE_TYPE_FLAG_NO_DEATH_MESSAGE | Death event will not show up in combat log |
2048 | 0x0000 0800 | CREATURE_TYPE_FLAG_ALLOW_MOUNTED_COMBAT | Creature can remain mounted when entering combat |
4096 | 0x0000 1000 | CREATURE_TYPE_FLAG_CAN_ASSIST | Can aid any player in combat if in range? |
8192 | 0x0000 2000 | CREATURE_TYPE_FLAG_NO_PET_BAR | |
16384 | 0x0000 4000 | CREATURE_TYPE_FLAG_MASK_UID | |
32768 | 0x0000 8000 | CREATURE_TYPE_FLAG_SKIN_WITH_ENGINEERING | Makes mob lootable by engineer |
65536 | 0x0001 0000 | CREATURE_TYPE_FLAG_EXOTIC_PET | Tamable as an exotic pet. Normal tamable flag must also be set. |
131072 | 0x0002 0000 | CREATURE_TYPE_FLAG_USE_MODEL_COLLISION_SIZE | Collision related. (always using default collision box?) |
262144 | 0x0004 0000 | CREATURE_TYPE_FLAG_ALLOW_INTERACTION_WHILE_IN_COMBAT | |
524288 | 0x0008 0000 | CREATURE_TYPE_FLAG_COLLIDE_WITH_MISSILES | Projectiles can collide with this creature - interacts with TARGET_DEST_TRAJ |
1048576 | 0x0010 0000 | CREATURE_TYPE_FLAG_NO_NAME_PLATE | |
2097152 | 0x0020 0000 | CREATURE_TYPE_FLAG_DO_NOT_PLAY_MOUNTED_ANIMATIONS | |
4194304 | 0x0040 0000 | CREATURE_TYPE_FLAG_IS_LINK_ALL | |
8388608 | 0x0080 0000 | CREATURE_TYPE_FLAG_INTERACT_ONLY_WITH_CREATOR | Can only interact with its creator. |
16777216 | 0x0100 0000 | CREATURE_TYPE_FLAG_DO_NOT_PLAY_UNIT_EVENT_SOUNDS | |
33554432 | 0x0200 0000 | CREATURE_TYPE_FLAG_HAS_NO_SHADOW_BLOB | |
67108864 | 0x0400 0000 | CREATURE_TYPE_FLAG_TREAT_AS_RAID_UNIT | |
134217728 | 0x0800 0000 | CREATURE_TYPE_FLAG_FORCE_GOSSIP | Allows the creature to display a single gossip option. |
268435456 | 0x1000 0000 | CREATURE_TYPE_FLAG_DO_NOT_SHEATHE | |
536870912 | 0x2000 0000 | CREATURE_TYPE_FLAG_DO_NOT_TARGET_ON_INTERACTION | |
1073741824 | 0x4000 0000 | CREATURE_TYPE_FLAG_DO_NOT_RENDER_OBJECT_NAME | |
2147483648 | 0x8000 0000 | CREATURE_TYPE_FLAG_UNIT_IS_QUEST_BOSS |
lootid
The ID of the loot template ID that this creature should use to generate loots. See creature_loot_template.entry
...
Flag | Type | ||
---|---|---|---|
1 | CREATURE_FLAG_EXTRA_INSTANCE_BIND | 0x00000001 | creature kill binds instance to killer and killer's group |
2 | CREATURE_FLAG_EXTRA_CIVILIAN | 0x00000002 | creature does not aggro (ignore faction/reputation hostility) |
4 | CREATURE_FLAG_EXTRA_NO_PARRY | 0x00000004 | creature does not parry |
8 | CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN | 0x00000008 | creature does not counter-attack at parry |
16 | CREATURE_FLAG_EXTRA_NO_BLOCK | 0x00000010 | creature does not block |
32 | CREATURE_FLAG_EXTRA_NO_CRUSHCRUSHING_BLOWS | 0x00000020 | creature does not can't do crush - attacks |
64 | CREATURE_FLAG_EXTRA_NO_XP_AT_KILL | 0x00000040 | creature kill does not give provide XP |
128 | CREATURE_FLAG_EXTRA_TRIGGER | 0x00000080 | creature is trigger-NPC (invisible to players only) |
256 | CREATURE_FLAG_EXTRA_NO_TAUNT | 0x00000100 | creature is immune to taunt - auras and "'attack me"-' effects |
512 | CREATURE_FLAG_EXTRA_NO_MOVE_FLAGS_UPDATE | 0x00000200 | creature won't update movement flags |
1024 | CREATURE_FLAG_EXTRA_GHOST_VISIBILITY | 0x00000400 | creature will only be only visible for to dead players |
2048 | CREATURE_FLAG_EXTRA_USE_OFFHAND_ATTACK | 0x00000800 | creature will use offhand attacks |
4096 | CREATURE_FLAG_EXTRA_NO_SELL_VENDOR | 0x00001000 | players can't sell items to this vendor |
8192 | CREATURE_FLAG_EXTRA_IGNORE_COMBAT | 0x00002000 | creature is not allowed to enter combat |
16384 | CREATURE_FLAG_EXTRA_WORLDEVENT | 0x00004000 | custom flag for world events (left room for merging) |
32768 | CREATURE_FLAG_EXTRA_GUARD | 0x00008000 | creature is a guard (Will ignore feign death and vanish) |
131072 | CREATURE_FLAG_EXTRA_NO_CRIT | 0x00020000 | creature does not do critical strikes |
262144 | CREATURE_FLAG_EXTRA_NO_SKILLGAINSKILL_GAINS | 0x00040000 | creature won't increase weapon skills |
524288 | CREATURE_FLAG_EXTRA_OBEYS_TAUNT_DIMINISHDIMINISHING_RETURNS | 0x00080000 | creature taunt Taunt is subject to diminishing returns on this creature |
1048576 | CREATURE_FLAG_EXTRA_ALL_DIMINISH | 0x00100000 | Creature creature is subject to all diminishing returns as players are |
2097152 | CREATURE_FLAG_EXTRA_NO_PLAYER_DAMAGE_REQ | 0x00200000 | NPCs can help with killing this creature and player will still be credited if he tags the creature |
268435456 | CREATURE_FLAG_EXTRA_DUNGEON_BOSS | 0x10000000 | Creature is a dungeon boss. This flag is generically set by core during runtime. Setting this in database will give you startup error. |
536870912 | CREATURE_FLAG_EXTRA_IGNORE_PATHFINDING | 0x20000000 | Creature will ignore pathfinding. This is like disabling Mmaps, only for one creature. |
1073741824 | CREATURE_FLAG_EXTRA_IMMUNITY_KNOCKBACK | 0x40000000 | creature will immune all knockback effects |
...