Creature template

Материал из YTDB DataBase

(Различия между версиями)
Перейти к: навигация, поиск
(npcflag)
Строка 7: Строка 7:
<big>'''Таблица `creature_template`'''</big>
<big>'''Таблица `creature_template`'''</big>
-
Эта таблица содержит шаблоны существ. Каждое существо, поставленное в игровом мире, это результат значений в этой таблицы. Это означает, что каждое существо ДОЛЖНО быть создано в этой таблицы.
+
Эта таблица содержит шаблоны существ. Каждое существо, поставленное в игровом мире, это результат значений в этой таблицы. Это означает, что каждое существо '''ДОЛЖНО''' быть создано в этой таблице.

Версия 16:24, 26 сентября 2010

Содержание

К описанию таблиц базы данных mangos.


Таблица `creature_template`

Эта таблица содержит шаблоны существ. Каждое существо, поставленное в игровом мире, это результат значений в этой таблицы. Это означает, что каждое существо ДОЛЖНО быть создано в этой таблице.


Структура

Field Type Attributes Null Key Default Comments
entry mediumint(8) unsigned NO PRI 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
KillCredit1 int(11) unsigned NO 0
KillCredit2 int(11) unsigned NO 0
modelid_1 mediumint(8) unsigned NO 0
modelid_2 mediumint(8) unsigned NO 0
modelid_3 mediumint(8) unsigned NO 0
modelid_4 mediumint(8) unsigned NO 0
name char(100) NO 0
subname char(100) Null
IconName char(100) Null
gossip_menu_id mediumint(8) unsigned NO 0
minlevel tinyint(3) unsigned NO 1
maxlevel tinyint(3) unsigned NO 1
minhealth int(10) unsigned NO 0
maxhealth int(10) unsigned NO 0
minmana int(10) unsigned NO 0
maxmana int(10) unsigned NO 0
armor mediumint(8) unsigned NO 0
faction_A smallint(5) unsigned NO 0
faction_H smallint(5) unsigned NO 0
npcflag int(10) unsigned NO 0
speed_walk float NO 1 Result of 2.5/2.5, most common value
speed_run float NO 1.14286 Result of 8.0/7.0, most common value
scale float NO 0
rank tinyint(3) unsigned NO 0
mindmg float NO 0
maxdmg float NO 0
dmgschool tinyint(4) NO 0
attackpower int(10) unsigned NO 0
dmg_multiplier float NO 1
baseattacktime int(10) unsigned NO 0
rangeattacktime int(10) unsigned NO 0
unit_class tinyint(3) unsigned NO 0
unit_flags int(10) unsigned NO 0
dynamicflags int(10) unsigned NO 0
family tinyint(4) NO 0
trainer_type tinyint(4) NO 0
trainer_spell mediumint(8) unsigned NO 0
trainer_class tinyint(3) unsigned NO 0
trainer_race tinyint(3) unsigned NO 0
minrangedmg float NO 0
maxrangedmg float NO 0
rangedattackpower smallint(5) unsigned NO 0
type tinyint(3) unsigned NO 0
type_flags int(10) unsigned NO 0
lootid mediumint(8) unsigned NO 0
pickpocketloot mediumint(8) unsigned NO 0
skinloot mediumint(8) unsigned NO 0
resistance1 smallint(5) NO 0
resistance2 smallint(5) NO 0
resistance3 smallint(5) NO 0
resistance4 smallint(5) NO 0
resistance5 smallint(5) NO 0
resistance6 smallint(5) NO 0
spell1 mediumint(8) unsigned NO 0
spell2 mediumint(8) unsigned NO 0
spell3 mediumint(8) unsigned NO 0
spell4 mediumint(8) unsigned NO 0
PetSpellDataId mediumint(8) unsigned NO 0
mingold mediumint(8) unsigned NO 0
maxgold mediumint(8) unsigned NO 0
AIName char(64) NO
MovementType tinyint(3) unsigned NO 0
InhabitType tinyint(3) unsigned NO 3
unk16 float NO 1
unk17 float NO 1
RacialLeader tinyint(3) unsigned NO 0
questItem1 int(11) unsigned NO 0
questItem2 int(11) unsigned NO 0
questItem3 int(11) unsigned NO 0
questItem4 int(11) unsigned NO 0
questItem5 int(11) unsigned NO 0
questItem6 int(11) unsigned NO 0
movementId int(11) unsigned NO 0
RegenHealth tinyint(3) unsigned NO 1
equipment_id mediumint(8) unsigned NO 0
mechanic_immune_mask int(10) unsigned NO 0
flags_extra int(10) unsigned NO 0
ScriptName char(64) NO


Описание полей

entry

Уникальный номер(ID) существа(NPC).

difficulty_entry

В этих полях указываются entry существ из таблици creature_template для использования их в разных режимах подземелья. `difficulty_entry_1` - для нормального режима рейдового подземелья на 25 человек или для героического режима подзмелья на 5 человек, `difficulty_entry_2` - для героического режима рейдового подземелья на 10 человек, `difficulty_entry_3` - для героического режима рейдового подземелья на 25 человек.

KillCredit

Если поле заполнено, то при смерти засчитывается убийство того, чей номер записан.

modelid_x

Содержит информацию о графической модели(DisplayID) существа. Значение берется из таблицы creature_model_info.entry.

name

Имя существа.

subname

Подимя существа, которое появляется в <> ниже имени существа.

IconName

Script icon used by guards with directions menu.

gossip_menu_id

Указывается номер из gossip_menu.

minlevel

Минимальный уровень существа.

maxlevel

Максимальный уровень существа. Когда существо добавляется в мир, ему выдается уровень из диапазона указанного в minlevel и maxlevel.

minhealth

Минимальное значение жизней существа.

maxhealth

Максимальное значение жизней существа. When added to world, the health value is chosen in proportion to the level chosen.

minmana

Минимальное значение маны существа.

maxmana

Максимальное значение маны существа. When added to world, the mana value is chosen in proportion to the level chosen.

armor

Определяет колличество брони у существа. It controls how much damage reduction the creature gets from physical attacks.

faction_A

Определяет фракцию для существ на стороне Альянса. Значения хранятся в файле FactionTemplate.dbc. Just because more than one faction has the same name, the inter-faction relationships can be different.


Note: Это поле так же отвечает за то, что существо будет помогать существам с такой же фракцией.

faction_H

Определяет фракцию для существ на стороне Орды. Значения хранятся в файле FactionTemplate.dbc. Just because more than one faction has the same name, the inter-faction relationships can be different.

Note: Это поле так же отвечает за то, что существо будет помогать существам с такой же фракцией.

npcflag

Битовая маска, показывающая возможности NPC в зависимости от выставленного флага. При комбинировании можно добавить новый тип флага.

Значение Название Описание
1 Gossip Для существ имеющих меню. (пример охранники столиц)
2 Quest Giver Для существ, которые выдают или принимают задания.
4 Not used
8 Not Used
16 Trainer Существо с таким флагом может обучать игрока различным заклинаниям.
32 Class Trainer Определяет существо как тренера класса
64 Profession Trainer Определяет существо как тренера профессии
128 Vendor Существо будет продавцом.
256 Vendor Не используется в MaNGOS. Продажа патронов. (не точно)
512 Vendor Не используется в MaNGOS. Продажа еды\напитков. (не точно)
1024 Vendor Не используется в MaNGOS. Продажа ядов. (не точно)
2048 Vendor Не используется в MaNGOS. Продажа реагентов. (не точно)
4096 Repairer Существо сможет починить поломанные вещи персонажа.
8192 Flight Master Существо с таким флагом становиться распорядителем полетов.
16384 Spirit Healer Делает существо не видимым для живых игроков и может воскрешать.
32768 Spirit Guide
65536 Innkeeper Creatures with this flag can set hearthstone locations.
131072 Banker Существа с таким флагом предоставляют доступ к банку игрока.
262144 Petitioner
524288 Tabard Designer Позволяет создавать табарды для гильдий.
1048576 Battlemaster Существо с таким флагом записывает на Поле Сражений.
2097152 Auctioneer Предоставляет доступ к аукциону.
4194304 Stable Master У существа с таким флагом можно будет оставлять питомцев охотника.
16777216 Instantloot Для существ которых можно обыскать без убийства. Подробнее тут - MaNGOS forum and at Npc_spellclick_spells table
268435456 Guard Существа с таким флагом являются охранниками в городах.

Пример: если вы хотите существо которое будет выдавать задания, продавать товар и чинить вещи, то вам нужно добавить особый флаг: 1 + 2 + 128 + 4096 = 4227.

speed

Определяет как быстро существо может передвигаться.

scale

Определяет размер существа. Если в поле содержится 1, то выставляется стандартный размер заданный графической моделью (DisplayID)

rank

Ранг существа:

Значение Название Описание
0 Normal
1 Elite Большой урон, много жизний и хорошая добыча.
2 Rare Elite Рарное существо, но с Elite уроном и жизнями.
3 World Boss Высший ранк, лучшая добыча, долгое время респауна.
4 Rare Лучшая добыча, долгое время респауна.

mindmg

Минимальный урон существа наносимый в ближнем бою.

maxdmg

Максимальный урон существа наносимый в ближнем бою.

dmgschool

Школа(тип) урона наносимого существами в ближнем бою.

ID Название
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

Сила атаки существа в ближнем бою. This field indicates how much dmg is possible to take off from mob, by using -ap or +ap effects.

dmg_multiplier

Используется для умножения урона наносимым существом.

baseattacktime

Скорость ближнего боя существа в миллисекундах.

rangeattacktime

Скорость дистанционной атаки существа.

unit_class

Класс существа. Только 4 класса доступны для существ.

КлассЗначениеОписание
CLASS_WARRIOR1Воин
CLASS_PALADIN2Паладин
CLASS_ROGUE4Вор
CLASS_MAGE8Маг

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:

Флаг Название Описание
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) is NON_PVP_ATTACKABLE)
256 UNIT_FLAG_OOC_NOT_ATTACKABLE (2.0.8) (2.4.3, Возможно делает существо не атакуемым)
512 UNIT_FLAG_UNKNOWN11
1024 UNIT_FLAG_LOOTING (анимация грабежа(loot))
2048 UNIT_FLAG_PET_IN_COMBAT (in combat?, 2.0.8)
4096 UNIT_FLAG_PVP Allows item spells to be casted upon (?)
8192 UNIT_FLAG_SILENCED Не может произнести заклинание
16384 UNIT_FLAG_UNKNOWN4 (2.0.8)
32768 UNIT_FLAG_UNK_15 Добавляет анимацию плаванья, если НПС находится в воде
65536 UNIT_FLAG_UNKNOWN14
131072 UNIT_FLAG_PACIFIED
262144 UNIT_FLAG_DISABLE_ROTATE (оглушенный, 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 (used in Feing Death spell)
1073741824 UNIT_FLAG_SHEATHE
UNIT_FLAG_UNK_31

dynamicflags

Флаг управляющий видом существа.

Несколько известных флагов и их описание:

Flag Название Описание
1 UNIT_DYNFLAG_LOOTABLE
2 UNIT_DYNFLAG_TRACK_UNIT
4 UNIT_DYNFLAG_OTHER_TAGGER Делает имя существа серым цветом (отлично подходит для симуляции смерти существа).
8 UNIT_DYNFLAG_ROOTED
16 UNIT_DYNFLAG_SPECIALINFO Показывает базовое значение статов (жизни, урон, сопротивление, приручаемость).
32 UNIT_DYNFLAG_DEAD Делает существо мертвым (данный флаг не делает имя существа серым).

family

Определяет к какой семье принадлежит существо. Используется только если type равен 1 (Животное).

ID Family ID Family ID Family
1 Волк 19 Стражник ужаса 34 Скат Пустоты
2 Кошка 20 Скорпид 35 Змей
3 Паук 21 Черепаха 36 Мотылек
4 Медведь 23 Бес 38 Химера
5 Вепрь 24 Летучая мышь 39 Дьявозавр
6 Кроколиск 25 Гиена 40 Вурдалак
7 Падальщик 26 Сова 41 Силитид
8 Краб 27 Крылатый змей 42 Червь
9 Горилла 28 Управление 43 Люторог
11 Ящер 29 Страж Скверны 44 Оса
12 Долгоног 30 Дракондор 45 Гончая Недр
15 Охотник скверны 31 Опустошитель 46 Дух зверя
16 Демон бездны 32 Прыгуана
17 Суккуб 33 Спороскат

Экзотические питомцы выделены жирным шрифтом: 38, 39, 41, 42, 43, 45, 46

trainer_type

Если существо - тренер (имеет флаг тренера), то это поле определяет, какой это тренер.

ID Тип Related Field Описание
0 TRAINER_TYPE_CLASS class Тренер классовых заклинаний
1 TRAINER_TYPE_MOUNTS race Тренер верховой езды
2 TRAINER_TYPE_TRADESKILLS trainer_spell Тренер профессий
3 TRAINER_TYPE_PETS class Тренер питомцев

trainer_spell

Если НИП является тренером профессий (trainer_type == 2), то в этом поле указывается номер профессии (заклинания). Игрок так же должен иметь в наличии данную профессию (заклинание), что бы с НИПом можно было поговорить.

trainer_class

Если НИП является тренером классовых заклинаний (trainer_type == 2), тогда игрок должен иметь определенное значение, что бы поговорить с ним. Для питомцев, значение должно равняться 3. Смотри character.class.

trainer_race

Если НИП является тренером верховой езды (trainer_type == 1), то игрок должен иметь определенное значение расы, что бы поговорить с ним. Смотри character.race.

minrangedmg

Минимальный урон наносимый существами дистанционным уроном.

maxrangedmg

Максимальный урон наносимый существами дистанционным уроном.

rangedattackpower

Сила атаки существа в дальнем бою.

type

Тип существа.

ID Тип
0 Нет
1 Животное
2 Дракон
3 Демон
4 Элементаль
5 Великан
6 Нежить
7 Гуманоид
8 Существо
9 Механизм
10 Не указано
11 Тотем
12 Спутник
13 Облако газа

type_flags

Это поле определяет, можно ли собрать с данного НПС руду или сорвать траву при выученных профессиях шахтера или травника. Если в поле будет указано одно из значений, то добыча будет указана в таблице skinning_loot_template. Aside from those two flags, field has no special meaning on the serverside. It will be send to the client in SMSG_CREATURE_QUERY_RESPONSE

Список некоторых значений:

Флаг Название Описание
1 Делает НИПа приручаемым (должен так же являтся зверем и принадлежать к семье(группе))
2 UNIT_FLAG_NOT_ATTACKABLE НИП становиться не атакуемым
8 UNIT_FLAG_ATTACKABLE НИП становится атакуемым
128 UNIT_FLAG_NOT_ATTACKABLE_1
136 UNIT_FLAG_NON_PVP_PLAYER
256 С НИПа можно сорвать траву, при наличии травничества
512 С НИПа можно отколоть руду, при наличии профессии шахтера
1024 UNIT_FLAG_ANIMATION_FROZEN
4096 UNIT_FLAG_WAR_PLAYER

lootid

Номер(entry) шаблона добычи(loot). Значение берется из creature_loot_template.entry.

pickpocketloot

Если номер указан, то существо можно обворовать, лут указывается в pickpocketing_loot_template.entry.

skinloot

Если номер указан, то с существа можно снять шкуру, лут указывается в skinning_loot_template.entry. Если у моба есть флаги профессий в поле type_flags, то в эту же таблицу также записывается лут для этих профессий.

resistance1

Сопротивление святой магии.

resistance2

Сопротивление огню

resistance3

Сопротивление природе.

resistance4

Сопротивление морозу.

resistance5

Сопротивление тьме.

resistance6

Сопротивление тайной магии.

spell1-4

Указываются номера спелов, которые доступны для существа.

At this time, these fields are used by core only to populate pet spells if PetSpellDataId is 0.

PetSpellDataId

Номер указывается из первой колонки CreatureSpellData.dbc. Эта dbc содержит заклинания петомцев (abilities).

mingold

Минимальное кол-во денег, которые выпадут при смерти существа, в меди.

maxgold

Максимальноее кол-во денег, которые выпадут при смерти существа, в меди.

AIName

Определяет, какого типа AI будет использовать существо.

Name Description
NullAI Отсутствие AI, существо ничего не делает.
AggressorAI Существо нападает, как только кто-то пересекает агрессивный диапазон (агро)
ReactorAI Существо нападает, как только кто-то начинает его атаковать.
GuardAI
PetAI Существо является питомцем.
TotemAI Существо произносит заклинание из поля spell1, иначе NullAI.
EventAI Существо использует базируемый случай AI.

MovementType

Тип передвижения по умолчанию для существ

ID Тип
0 Пауза;стоит в одном месте
1 Рандомное движение в зависимости от радиуса
2 Передвижение по точкам

InhabitType

Управляет, где существо может двигаться и атаковать

ID Тип
1 Только на земле
2 Только в воде
4 Только в полете

unk16

Float values with unknown meaning. Values are from WDB Files.

unk17

Float values with unknown meaning. Values are from WDB Files.

RacialLeader

Флаг, обозначающий лидера фракции. За его убийство дается 100 очков чести

questItem1-6

Указывается вещь из поля entry.

movementId

В поле вписывается тип движения из CreatureMovementInfo.dbc.

RegenHealth

Boolean 1 or 0 контролирует, будет или нет существо восстанавливать здоровье.

equipment_id

Указывается номер экипировки, которая будет отображаться на существе. Смотри creature_equip_template.entry.

mechanic_immune_mask

Делает существо неуязвимым к определённым эффектам заклинаний. Смотри effect_X_mechanic_id в Spell.dbc.

Использует ссылки из SpellMechanic.dbc.

Bit Тип Описание Bit Тип Описание
1 MECHANIC_CHARM Контроль над разумом 65536 MECHANIC_POLYMORPH Преврашение
2 MECHANIC_DISORIENTED Дизориентирование 131072 MECHANIC_BANISH Изгнание
4 MECHANIC_DISARM Разоружение 262144 MECHANIC_SHIELD Щит
8 MECHANIC_DISTRACT Отвлечение 524288 MECHANIC_SHACKLE Сковывание
16 MECHANIC_FEAR Страх 1048576 MECHANIC_MOUNT Ездовое животное
32 MECHANIC_GRIP Хватка 2097152 MECHANIC_INFECTED Инфекция, Болезни
64 MECHANIC_ROOT Опутывание 4194304 MECHANIC_TURN Изгнание
128 MECHANIC_PACIFY Умиротворение 8388608 MECHANIC_HORROR Ужас
256 MECHANIC_SILENCE Молчание 16777216 MECHANIC_INVULNERABILITY Неуязвимость
512 MECHANIC_SLEEP Сон 33554432 MECHANIC_INTERRUPT Прерывание
1024 MECHANIC_SNARE Ловушка 67108864 MECHANIC_DAZE Головокружение
2048 MECHANIC_STUN Оглушение 134217728 MECHANIC_DISCOVERY Открытие\находка
4096 MECHANIC_FREEZE Замораживание 268435456 MECHANIC_IMMUNE_SHIELD Щит неуязвимости
8192 MECHANIC_KNOCKOUT Нокаут 536870912 MECHANIC_SAPPED Ошеломление
16384 MECHANIC_BLEED Кровотечение 1073741824 MECHANIC_ENRAGED Ярость
32768 MECHANIC_BANDAGE Перебинтовывание

Можно складывать несколько значений. Иммунитет ко всему определяется значением 2147483647.

flags_extra

Флаг контролирует особые атрибуты существа.

Bit Название Описание
1 CREATURE_FLAG_EXTRA_INSTANCE_BIND Существо привязывается к группе игроков, находящихся в подземелье, при убийстве. Таким образом, определяется задержка(cooldown) перед следующей возможностью зачистить подземелье.
2 CREATURE_FLAG_EXTRA_CIVILIAN Заставляет существо игнорировать угрозу.
4 CREATURE_FLAG_EXTRA_NO_PARRY Мешает существу парировать.
8 CREATURE_FLAG_EXTRA_NO_PARRY_HASTEN После парирования, следующая атака происходит с задержкой.
16 CREATURE_FLAG_EXTRA_NO_BLOCK Мешает существу блокировать.
32 CREATURE_FLAG_EXTRA_NO_CRUSH Мешает существу наносить сокрушительные удары.
64 CREATURE_FLAG_EXTRA_NO_XP_AT_KILL Убийство существа не принесет очки опыта.
128 CREATURE_FLAG_EXTRA_INVISIBLE Делает существо не видимым для игрока. Используйте их для механизмов и т.п.
256 CREATURE_FLAG_EXTRA_NO_TAUNTABLE Делает существо имунным к насмешки("переагривание").

ScriptName

Имя скрипта, который будет использовать существо. This ties a script from a scripting engine to this creature.

Quick Insert

SQL запрос для быстрой вставки:

INSERT INTO creature_template(entry, heroic_entry, KillCredit1, KillCredit2, modelid_A, modelid_A2, modelid_H, modelid_H2, name, subname, IconName, minlevel, maxlevel, minhealth, maxhealth, minmana, maxmana, armor, faction_A, faction_H, npcflag, speed, scale, rank, mindmg, maxdmg, dmgschool, attackpower, dmg_multiplier, baseattacktime, rangeattacktime, unit_class, unit_flags, dynamicflags, family, trainer_type, trainer_spell, trainer_class, trainer_race, minrangedmg, maxrangedmg, rangedattackpower, type, type_flags, lootid, pickpocketloot, skinloot, resistance1, resistance2, resistance3, resistance4, resistance5, resistance6, spell1, spell2, spell3, spell4, PetSpellDataId, mingold, maxgold, AIName, MovementType, InhabitType, unk16, unk17, RacialLeader, questItem1, questItem2, questItem3, questItem4, movementId, RegenHealth, equipment_id, mechanic_immune_mask, flags_extra, ScriptName) VALUES ('0', '0', '0', '0', '0', '0', '0', '0', '0', 'None', '','1', '1', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '','0', '3', '1.0', '1.0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '0', '');

Личные инструменты