Mangos world creature template

Z WoWResource Wiki
Verze z 13. 10. 2010, 08:08, kterou vytvořil Wolf Officious (diskuse | příspěvky) (unit_flags (nutno opravit))
Přejít na: navigace, hledání


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 Flag 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
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í jaké má creatura "unit flags". 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:

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