Mangos world creature template

Z WoWResource Wiki
Verze z 27. 12. 2010, 11:25, kterou vytvořil Wolf Officious (diskuse | příspěvky) (npcflag)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Zpět na seznam tabulek world databáze.

Tabulka `creature_template`

Tato tabulka obsahuje popis creatur (česky: bytost, stvoření, tvor). Creatury jsou spawnovány pomocí těchto šablon. To znamená, že každá creatura MUSÍ být definovaná v této tabulce.


Struktura

Pole Typ Null Key Výchozí hodnota Extra
entry mediumint(8) unsigned NE PRI 0
heroic_entry mediumint(8) unsigned NE 0
modelid_A mediumint(8) unsigned NE 0
modelid_H mediumint(8) unsigned NE 0
name char(100) NE 0
subname char(100) ANO none
IconName char(100) ANO
minlevel tinyint(3) unsigned ANO 1
maxlevel tinyint(3) unsigned ANO 1
minhealth int(10) unsigned ANO 0
maxhealth int(10) unsigned ANO 0
minmana int(10) unsigned ANO 0
maxmana int(10) unsigned ANO 0
armor mediumint(8) unsigned NE 0
faction_A smallint(5) unsigned NE 0
faction_H smallint(5) unsigned NE 0
npcflag int(10) unsigned NE 0
speed float ANO 1
scale float NE 0
rank tinyint(3) unsigned ANO 0
mindmg float ANO 0
maxdmg float ANO 0
dmgschool tinyint(4) NE 0
attackpower int(10) unsigned NE 0
baseattacktime int(10) unsigned ANO 0
rangeattacktime int(10) unsigned ANO 0
unit_flags int(10) unsigned NE 0
dynamicflags int(10) unsigned NE 0
family tinyint(4) ANO 0
trainer_type tinyint(4) ANO 0
trainer_spell mediumint(8) unsigned ANO 0
class tinyint(3) unsigned ANO 0
race tinyint(3) unsigned ANO 0
minrangedmg float NE 0
maxrangedmg float NE 0
rangedattackpower smallint(5) unsigned NE 0
type tinyint(3) unsigned NE 0
type_flags int(10) unsigned ANO 0
lootid mediumint(8) unsigned NE 0
pickpocketloot mediumint(8) unsigned NE 0
skinloot mediumint(8) unsigned NE 0
resistance1 int(10) unsigned NE 0
resistance2 smallint(5) NE 0
resistance3 smallint(5) NE 0
resistance4 smallint(5) NE 0
resistance5 smallint(5) NE 0
resistance6 smallint(5) NE 0
spell1 mediumint(8) unsigned NE 0
spell2 mediumint(8) unsigned NE 0
spell3 mediumint(8) unsigned NE 0
spell4 mediumint(8) unsigned NE 0
PetSpellDataId mediumint(8) unsigned NE 0
mingold mediumint(8) unsigned NE 0
maxgold mediumint(8) unsigned NE 0
AIName char(64) NE
MovementType tinyint(3) unsigned NE 0
InhabitType tinyint(3) unsigned NE 3
unk16 float NE 1.0
unk17 float NE 1.0
RacialLeader tinyint(3) unsigned NE 0
RegenHealth tinyint(3) unsigned NE 1
equipment_id mediumint(8) unsigned NE 0
mechanic_immune_mask int(10) unsigned NE 0
flags_extra int(10) unsigned NE 0
ScriptName char(64) NE


Popis polí tabulky

entry

Unikátní ID creatury.

heroic_entry

Pokud není nula, odkazuje se na `creature_template.entry`. Jestliže je creatura spawnována v heroické instanci, získají se data o creatuře z šablon creature_template, podle uvedeného id creatury.

modelid_A

Grafický model, který klient použije pro creaturu, pokud je hráč na straně Aliance. Viz.: `creature_model_info.entry`.

modelid_H

Grafický model, který klient použije pro creaturu, pokud je hráč na straně Hordy. Viz.: `creature_model_info.entry`.

name

Základní jméno creatury.

subname

Sub-jméno creatury, které se objeví v závorkách <> pod základním jménem creatury.

IconName

Script ikonu používají stráže s menu s pokyny (například).

minlevel

Minimální level creatury, pokud má "level range" (rozsah úrovně).

maxlevel

Maximální level creatury, pokud má "level range" (rozsah úrovně). Po přidání do světa se level zvolí v určeném rozsahu (minlevel až maxlevel).

minhealth

Minimální health (zdraví) creatury v případě, že má variabilní zdraví.

maxhealth

Maximální health (zdraví) creatury v případě, že má variabilní zdraví. Po přidání do světa se hodnota zdraví zvolí v poměru ke zvolené úrovni (Viz. minlevel, maxlevel).

minmana

Minimální mana creatury, pokud má variabilní manu.

maxmana

Maximální mana creatury, pokud má variabilní manu. Po přidání do světa se hodnota many zvolí v poměru ke zvolené úrovni (Viz. minlevel, maxlevel).

armor

Hodnota brnění creatury. To řídí, jak velkého omezení poškození od fyzických útoků creatura dosáhne.

faction_A

Frakce creatury pro alianci. Viz. FactionTemplate.dbc Frakce mívají stejné jméno, ale mezi-vztahy frakcí mohou být různé. Poznámka: Toto pole také řídí mechanismus rodinné pomoci creatur (family assistance mechanic). Pouze creatury se stejnou frakcí si budou vzájemně pomáhat.

faction_H

Frakce creatury pro hordu. Viz. FactionTemplate.dbc Frakce mívají stejné jméno, ale mezi-vztahy frakcí mohou být různé. Poznámka: Toto pole také řídí mechanismus rodinné pomoci creatur (family assistance mechanic). Pouze creatury se stejnou frakcí si budou vzájemně pomáhat.

npcflag

Bitová maska (bitmask) představující jaké má creatura NPC flags, což představuje její komunikační a užitné schopnosti. Každý bit řídí jiný příznak (tzv. flag). Kombinování příznaků se provádí sčítáním bitů. Lze přidat jakýkoliv příznak, podle tabulky příslušných bitů:

Bit Název Komentář / popis
1 Gossip Pokud má creatura víc možností, přidejte tento příznak (flag) pro vyvolání gossip menu.
2 Quest Giver Každá creatura která dává nebo přebírá questy, musí mít tento příznak (flag).
16 Trainer Umožňuje creatuře mít trainer list k učení spellů.
128 Vendor Každá creatura prodávající zboží musí mít tento příznak (flag).
4096 Repairer Creatury s tímto flagem mohou opravovat itemy.
8192 Flight Master Každá creatura, sloužící jako mistr letu (fly master) má tento flag.
16384 Spirit Healer Udělá creaturu neviditelnou pro žijící postavy hráčů a má funkci oživování mrtvých.
32768 Spirit Guide Udělá creaturu neviditelnou pro žijící postavy hráčů.
65536 Innkeeper Creatura nastavující lokace hearthstonu.
131072 Banker Bankéř, zobrazuje hráčův bankovní depozitář.
262144 Petitioner
524288 Tabard Designer Creatura umožňuje návrhy a prodej guild tabardů.
1048576 Battlemaster Portuje hráče do BattleGroundů. atd..
2097152 Auctioneer Creatura bude zobrazovat seznam aukcí.
4194304 Stable Master Má možnost "ustájit" mazlíčky (pety) hunterům.
268435456 Guard Creatury s tímto příznakem působí jako stráže ve městech.

PŘÍKLAD: Pokud chcete NPC, které dává questy (quest giver), je prodavač (vendor) a může opravovat itemy (repairer), stačí sečíst specifické příznaky: 1 + 2 + 128 + 4096 = 4227.

speed

Určuje, jak rychle se může creatura pohybovat.

scale

Definuje velikost modelu creatury ve hře. Pokud je zadanou hodnotou nula, použije se standartní velikost modelu převzatá z DBC.

rank

Hodnost creatury:

Rank Název Komentář / popis
0 Normal
1 Elite Vyšší damage, více zdraví, lepší loot.
2 Rare Elite Vzácný mob s vyšším damage a zdravím jako u elit.
3 World Boss Vyšší rank, nejlepší loot, nejdelší čas respawnu.
4 Rare O něco lepší loot, delší čas respawnu.

mindmg

Minimální poškození při melee (česky: rvačka) útoku creaturou. Na základě tohoto pole a pole attackpower se vypočítává damage. Vzorec pro výpočet naleznete v popisu pole attackpower.

maxdmg

Maximální poškození při melee (česky: rvačka) útoku creaturou. Na základě tohoto pole a pole attackpower se vypočítává damage. Vzorec pro výpočet naleznete v popisu pole attackpower.

dmgschool

Rozdělení druhu poškození, jakým creatura disponuje při melee útoku.

ID Název
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

attackpower

Útočná síla melee útoků creatury. Toto pole, spolu s mindmg a maxdmg určuje, jak velké údery bude creatura dávat. Vzorec použitý pro výpočet "damage" creatury:

UPDATE `creature_template` SET 
    `mindmg` = <#1>, 
    `maxdmg` = <#2>, 
    `attackpower` = ROUND((`mindmg` + `maxdmg`) / 4 * 7), 
    `mindmg` = ROUND(`mindmg` - `attackpower` / 7), 
    `maxdmg` = ROUND(`maxdmg` - `attackpower` / 7) 
  WHERE `entry` = ...

V SQL dotazu výše, '<#1>' zastupuje minimální poškození a '<#2>' zastupuje maximální poškození, které chcete aby creatura dávala.

Poznámka: Doporučuje se zkontrolovat hodnoty vypočítané SQL dotazem, protože v případě že rozdíl mezi mindmg a maxdmg je příliš vysoký, mindmg skončí zápornou hodnotu.

baseattacktime

Čas melee útoku creatury v milisekundách.

rangeattacktime

unit_flags

Bitová maska (bitmask) představující "unit flags" creatury. Každý bit řídí jiný příznak (tzv. flag). Kombinování příznaků se provádí sčítáním bitů. Lze přidat jakýkoliv příznak dle tabulky:

Bit Flag Komentář / popis
1 UNIT_FLAG_UNKNOWN7
2 UNIT_FLAG_NON_ATTACKABLE
4 UNIT_FLAG_DISABLE_MOVE
8 UNIT_FLAG_PVP_ATTACKABLE (allow apply pvp rules to attackable state in addition to faction dependent state)
16 UNIT_FLAG_RENAME
32 UNIT_FLAG_RESTING
64 UNIT_FLAG_UNKNOWN9
128 UNIT_FLAG_NOT_ATTACKABLE_1 (??) ((UNIT_FLAG_PVP_ATTACKABLE + UNIT_FLAG_NOT_ATTACKABLE_1) = NON_PVP_ATTACKABLE ?)
256 UNIT_FLAG_UNKNOWN2 (2.0.8) (2.4.3, jednotka není napadnutelná? <Seems to make the unit unattackable>)
512 UNIT_FLAG_UNKNOWN11
1024 UNIT_FLAG_LOOTING (loot animace)
2048 UNIT_FLAG_PET_IN_COMBAT (v combatu?, 2.0.8)
4096 UNIT_FLAG_PVP Povoluje kouzlit na unit itemem? <Allows item spells to be casted upon> (?)
8192 UNIT_FLAG_SILENCED Nemůže provádět cast spellů
16384 UNIT_FLAG_UNKNOWN4 (2.0.8)
32768 UNIT_FLAG_UNKNOWN13
65536 UNIT_FLAG_UNKNOWN14
131072 UNIT_FLAG_PACIFIED uklidněný? omráčený?
262144 UNIT_FLAG_DISABLE_ROTATE (zmatený <stunned>, 2.1.1)
524288 UNIT_FLAG_IN_COMBAT
1048576 UNIT_FLAG_TAXI_FLIGHT (disable casting at client side spell not allowed by taxi flight (mounted?), probably used with 0x4 flag)
2097152 UNIT_FLAG_DISARMED (disable melee spells casting..., "Required melee weapon" added to melee spells tooltip.)
4194304 UNIT_FLAG_CONFUSED
8388608 UNIT_FLAG_FLEEING
16777216 UNIT_FLAG_UNKNOWN5 (used in spell Eyes of the Beast for pet...)
33554432 UNIT_FLAG_NOT_SELECTABLE Can't be selected by mouse
67108864 UNIT_FLAG_SKINNABLE
134217728 UNIT_FLAG_MOUNT (the client seems to handle it perfectly)
268435456 UNIT_FLAG_UNKNOWN17
536870912 UNIT_FLAG_UNKNOWN6 (použité pro spell Feing Death)
1073741824 UNIT_FLAG_SHEATHE

dynamicflags

Bitová maska (bitmask) určující příznaky řídící vzhled creatury.

Několik známých příznaků a jejich popis:

Bit Flag Komentář / popis
1 UNIT_DYNFLAG_LOOTABLE
2 UNIT_DYNFLAG_TRACK_UNIT
4 UNIT_DYNFLAG_OTHER_TAGGER Udělá jméno creatury šedivé (dobré pro simulaci mrtvých creatur).
8 UNIT_DYNFLAG_ROOTED
16 UNIT_DYNFLAG_SPECIALINFO Zobrazuje základní statistiky creatury (health, damage, resistance, tamable).
32 UNIT_DYNFLAG_DEAD Způsobí, že se creatura objeví mrtvá (jméno creatury NEZŠEDIVÍ!).

family

Rodina, ke které creatura patří. Používá se POUZE v případě, pokud type = 1 (Beast). Pokud není creatura "Beast", nechte v tomto poli hodnotu 0.

ID Family ID Family ID Family
1 Wolf 15 Doomguard 29 Nether Ray
2 Cat 16 Scorpid 30 Serpent
3 Spider 17 Turtle 31 Moth
4 Bear 18 Imp 32 Chimaera
5 Boar 19 Bat 33 Devilsaur
6 Crocolisk 20 Hyena 34 Ghoul
7 Carrion Bird 21 Bird of Prey 35 Silithid
8 Crab 22 Wind Serpent 36 Worm
9 Gorilla 23 Remote Control 37 Rhino
10 Raptor 24 Felguard 38 Wasp
11 Tallstrider 25 Dragonhawk 39 Core Hound
12 Felhunter 26 Ravager 40 Spirit Beast
13 Voidwalker 27 Warp Stalker
14 Succubus 28 Sporebat

trainer_type

Pokud je NPC (creatura) trenér (tzn. že má příznak 16 v poli npcflag), toto pole určuje, o jaký druh trenéra se jedná. Dále se musí vyplnit související pole uvedené v tabulce níže, aby trenér pracoval správně.

ID Typ Související pole Komentář / popis
0 TRAINER_TYPE_CLASS class Trains class spells
1 TRAINER_TYPE_MOUNTS race Trains riding skill
2 TRAINER_TYPE_TRADESKILLS trainer_spell Trains professions
3 TRAINER_TYPE_PETS class Trains pet skills

trainer_spell

Je-li NPC trenér který učí profese (trainer_type == 2), musí hráč umět zde uvedený spell, aby mohl s tímto NPC mluvit (aby se u tohoto NPC mohl hráč učit).

class

Je-li NPC class trenér nebo pet trenér (trainer_type == 0 nebo 3), musí hráčova (class) souhlasit se zde uvedenou hodnotu, aby mohl hráč trenéra používat. Pro pet trenéra, musí být tato hodnota '3' (hunter). Viz. `character.class`.

race

Je-li NPC mount trenér (trainer_type == 1), musí hráčova rasa (race) souhlasit se zde uvedenou hodnotu, aby mohl hráč trenéra využívat. Viz. `character.race`.

minrangedmg

Minimální 'ranged damage', které způsobuje stvoření.

maxrangedmg

Maximální 'ranged damage', které způsobuje stvoření.

rangedattackpower

type

Typ creatury.

ID Typ
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

type_flags

Bitová maska (bitmask). Toto pole může například ovládat, jestli je mob 'minable' nebo 'herbable'. Pokud je nastaven jeden z těch dvou, pak se loot při miningu/herbalismu creatury řídí podle dat uložených v tabulce `skinning_loot_template`. Kromě těchto dvou příznaků, toto pole nemá žádný zvláštní význam na straně serveru (server-side). Odesílání tohoto pole klientovi obstarává worldpacket SMSG_CREATURE_QUERY_RESPONSE

Několik známých příznaků:

Bit Flag Komentář / popis
1 Dovolí moba chytit (tame) jako peta (type musí být '1' (Beast) a musí mít nastavenou rodinu (family))
2 UNIT_FLAG_NOT_ATTACKABLE Viz. unit_flags
8 UNIT_FLAG_ATTACKABLE Viz. unit_flags
128 UNIT_FLAG_NOT_ATTACKABLE_1 Viz. unit_flags
136 UNIT_FLAG_NON_PVP_PLAYER Viz. unit_flags
256 Udělá moba 'herbable' (má loot se surovinami z herbalismu?)
512 Udělá moba 'minable' (má loot se surovinami z miningu?)
1024 UNIT_FLAG_ANIMATION_FROZEN ?? Viz. unit_flags
4096 UNIT_FLAG_WAR_PLAYER ?? Viz. unit_flags

lootid

ID lootu (kořisti) získaného po zabití creatury. Viz. creature_loot_template.entry

pickpocketloot

ID lootu (kořisti) získaného po zabití creatury při pickpocketingu creatury podle šablony `pickpocketing_loot_template`. Viz. pickpocketing_loot_template.entry

skinloot

ID lootu (kořisti) získaného po zabití creatury při skinningu creatury podle šablony `skinning_loot_template`. Viz. skinning_loot_template.entry

resistance1

Holy resistance.

resistance2

Fire resistance.

resistance3

Nature resistance.

resistance4

Frost resistance.

resistance5

Shadow resistance.

resistance6

Arcane resistance.

spell1

ID spellu, který má creatura k dispozici. Toto pole v tuto chvíli jádro nepoužívá. (možná již tato informace není aktuální)

spell2

ID spellu, který má creatura k dispozici. Toto pole v tuto chvíli jádro nepoužívá. (možná již tato informace není aktuální)

spell3

ID spellu, který má creatura k dispozici. Toto pole v tuto chvíli jádro nepoužívá. (možná již tato informace není aktuální)

spell4

ID spellu, který má creatura k dispozici. Toto pole v tuto chvíli jádro nepoužívá. (možná již tato informace není aktuální)

PetSpellDataId

ID, které udává, co za spelly má pet v klientovi.

mingold

Minimální obnos peněz, který je možné získat po zabití creatury. Hodnota je uváděna v cooperech (česky: v měďácích)).

maxgold

Maximální obnos peněz, který je možné získat po zabití creatury. Hodnota je uváděna v cooperech (česky: v měďácích)).

AIName

MovementType

Výchozí typ pohybu creatury.

ID Typ
0 Nečinný; stojí na místě
1 Náhodný pohyb; chodí uvnitř poloměru 'spawndist'
2 Pohyb po tzv. 'waypointech'

InhabitType

Určuje, kde se creatura může pohybovat a útočit.

ID Typ
1 Pouze na zemi (Ground only)
2 Pouze se vodě (Water only)
3 Na zemi i ve vodě (Both ground and water)
4 Létající creatura (Flying)

unk16

Hodnoty typu float (číslo s desetinou čárkou) s neznámým významem. Hodnoty jsou ze souborů WDB (world db z klienta, nebo-li DBC).

unk17

Hodnoty typu float (číslo s desetinou čárkou) s neznámým významem. Hodnoty jsou ze souborů WDB (world db z klienta, nebo-li DBC).

RacialLeader

Příznak označující creaturu rasovým vůdcem. Zabití rasových vůdců přináší 100 honor pointů (rate 1x).

RegenHealth

Možnosti: 0 - creatura neobnovuje svoje zdraví; 1 - creatura obnovuje svoje zdraví (pokud není v boji).

equipment_id

Výchozí ID šablony equipu creatury, který se na této creatuře má zobrazovat (pravá ruka, levá ruka, ...). Viz. creature_equip_template.entry

mechanic_immune_mask

Bitová maska (bitmask), dělá creaturu imunní vůči specifickým spellům. Viz. Spell.dbc.

Používá reference ze souboru SpellMechanic.dbc.

Bit Flag Bit Flag
1 MECHANIC_CHARM 32768 MECHANIC_BANDAGE
2 MECHANIC_CONFUSED 65536 MECHANIC_POLYMORPH
4 MECHANIC_DISARM 131072 MECHANIC_BANISH
8 MECHANIC_DISTRACT 262144 MECHANIC_SHIELD
16 MECHANIC_FEAR 524288 MECHANIC_SHACKLE
32 MECHANIC_FUMBLE 1048576 MECHANIC_MOUNT
64 MECHANIC_ROOT 2097152 MECHANIC_PERSUADE
128 MECHANIC_PACIFY 4194304 MECHANIC_TURN
256 MECHANIC_SILENCE 8388608 MECHANIC_HORROR
512 MECHANIC_SLEEP 16777216 MECHANIC_INVULNERABILITY
1024 MECHANIC_SNARE 33554432 MECHANIC_INTERRUPT
2048 MECHANIC_STUN 67108864 MECHANIC_DAZE
4096 MECHANIC_FREEZE 134217728 MECHANIC_DISCOVERY
8192 MECHANIC_KNOCKOUT 268435456 MECHANIC_IMMUNE_SHIELD
16384 MECHANIC_BLEED 536870912 MECHANIC_SAPPED

Chcete-li kombinovat imunity, sčítejte hodnoty. Například imunní creatura vůči všemu má hodnotu 1073741823.

flags_extra

Bitová maska (bitmask). Tyto příznaky ovládají některé specifické atributy creatury. Tyto hodnoty lze sčítat, Stejně jako u ostatních bitových masek.

Bit Flag Komentář / popis
1 CREATURE_FLAG_EXTRA_INSTANCE_BIND Uváže partu toho, kdo zabil creaturu k instanci, ve které se nachází.
2 CREATURE_FLAG_EXTRA_CIVILIAN Creatura ignoruje aggro (jako civilista).
4 CREATURE_FLAG_EXTRA_NO_PARRY Zakazuje creatuře odrážení útoku (parry).
8 CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN Creatura po odražení útoku (parry) nezrychlí svůj příští útok.
16 CREATURE_FLAG_EXTRA_NO_BLOCK Zakazuje creatuře blokování (blocking).
32 CREATURE_FLAG_EXTRA_NO_CRUSH Zakazuje creatuře rozdávat drtivé rány (crushing blows)
64 CREATURE_FLAG_EXTRA_NO_XP_AT_KILL Za zabití creatury hráč nedostane XP.
128 CREATURE_FLAG_EXTRA_INVISIBLE Učiní creaturu neviditelnou pro hráče (včetně mrtvých). Používá se pro spouštěče mechanismů (triggery) atd.

ScriptName

Název skriptu, který tato creatura používá (pokud creatura nějaký script má). Tento skript se váže na skriptovací engine (ScriptDev2).