aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/Creature
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2014-08-14 16:09:14 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2014-08-14 16:09:14 +0200
commitccfa82e7d516c9d280fc7214fcf3672397c741ff (patch)
tree2a6e1ed1efefae63f0ec5c0d88363023355f0c79 /src/server/game/Entities/Creature
parent1b65cda9480bd8207b658beca82d8c54085d0c9c (diff)
Core/Creature: update creature_template and some other small things
http://www.trinitycore.org/f/topic/9572-creature-damage/
Diffstat (limited to 'src/server/game/Entities/Creature')
-rw-r--r--src/server/game/Entities/Creature/Creature.cpp8
-rw-r--r--src/server/game/Entities/Creature/Creature.h23
2 files changed, 15 insertions, 16 deletions
diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp
index c9a2015dbb8..7103654e90f 100644
--- a/src/server/game/Entities/Creature/Creature.cpp
+++ b/src/server/game/Entities/Creature/Creature.cpp
@@ -384,9 +384,9 @@ bool Creature::UpdateEntry(uint32 entry, CreatureData const* data /*= nullptr*/)
RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IN_COMBAT);
- SetAttackTime(BASE_ATTACK, cInfo->baseattacktime);
- SetAttackTime(OFF_ATTACK, cInfo->baseattacktime);
- SetAttackTime(RANGED_ATTACK, cInfo->rangeattacktime);
+ SetAttackTime(BASE_ATTACK, cInfo->BaseAttackTime);
+ SetAttackTime(OFF_ATTACK, cInfo->BaseAttackTime);
+ SetAttackTime(RANGED_ATTACK, cInfo->RangeAttackTime);
SelectLevel();
@@ -815,7 +815,7 @@ bool Creature::Create(uint32 guidlow, Map* map, uint32 phaseMask, uint32 entry,
void Creature::InitializeReactState()
{
- if (IsTotem() || IsTrigger() || GetCreatureType() == CREATURE_TYPE_CRITTER || IsSpiritService())
+ if (IsTotem() || IsTrigger() || IsCritter() || IsSpiritService())
SetReactState(REACT_PASSIVE);
/*
else if (IsCivilian())
diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h
index ea4da5d5611..9b332bb5de4 100644
--- a/src/server/game/Entities/Creature/Creature.h
+++ b/src/server/game/Entities/Creature/Creature.h
@@ -64,12 +64,12 @@ enum CreatureFlagsExtra
CREATURE_FLAG_EXTRA_NO_SKILLGAIN | CREATURE_FLAG_EXTRA_TAUNT_DIMINISH | CREATURE_FLAG_EXTRA_ALL_DIMINISH | \
CREATURE_FLAG_EXTRA_GUARD)
-#define MAX_KILL_CREDIT 2
#define CREATURE_REGEN_INTERVAL 2 * IN_MILLISECONDS
+#define MAX_KILL_CREDIT 2
+#define MAX_CREATURE_MODELS 4
#define MAX_CREATURE_QUEST_ITEMS 6
-
-#define MAX_EQUIPMENT_ITEMS 3
+#define CREATURE_MAX_SPELLS 8
// from `creature_template` table
struct CreatureTemplate
@@ -94,13 +94,11 @@ struct CreatureTemplate
float speed_run;
float scale;
uint32 rank;
- float mindmg;
- float maxdmg;
uint32 dmgschool;
- uint32 attackpower;
- float dmg_multiplier;
- uint32 baseattacktime;
- uint32 rangeattacktime;
+ uint32 BaseAttackTime;
+ uint32 RangeAttackTime;
+ float BaseVariance;
+ float RangeVariance;
uint32 unit_class; // enum Classes. Note only 4 classes are known for creatures.
uint32 unit_flags; // enum UnitFlags mask values
uint32 unit_flags2; // enum UnitFlags2 mask values
@@ -110,9 +108,6 @@ struct CreatureTemplate
uint32 trainer_spell;
uint32 trainer_class;
uint32 trainer_race;
- float minrangedmg;
- float maxrangedmg;
- uint32 rangedattackpower;
uint32 type; // enum CreatureType values
uint32 type_flags; // enum CreatureTypeFlags mask values
uint32 lootid;
@@ -131,6 +126,8 @@ struct CreatureTemplate
float ModHealth;
float ModMana;
float ModArmor;
+ float ModDamage;
+ float ModExperience;
bool RacialLeader;
uint32 questItems[MAX_CREATURE_QUEST_ITEMS];
uint32 movementId;
@@ -237,6 +234,8 @@ struct PointOfInterestLocale
StringVector IconName;
};
+#define MAX_EQUIPMENT_ITEMS 3
+
struct EquipmentInfo
{
uint32 ItemEntry[MAX_EQUIPMENT_ITEMS];