diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cppindex 93d4796..6a62fc2 100644--- a/src/server/game/Entities/Creature/Creature.cpp+++ b/src/server/game/Entities/Creature/Creature.cpp@@ -881,6 +881,7 @@ bool Creature::isCanTrainingOf(Player* player, bool msg) const switch (GetCreatureTemplate()->trainer_class) { case CLASS_DRUID: player->PlayerTalkClass->SendGossipMenu(4913, GetGUID()); break;+ case CLASS_TEST: player->PlayerTalkClass->SendGossipMenu(324913, GetGUID()); break; // CLASS TRAINER case CLASS_HUNTER: player->PlayerTalkClass->SendGossipMenu(10090, GetGUID()); break; case CLASS_MAGE: player->PlayerTalkClass->SendGossipMenu(328, GetGUID()); break; case CLASS_PALADIN:player->PlayerTalkClass->SendGossipMenu(1635, GetGUID()); break;warning: LF will be replaced by CRLF in src/server/game/Entities/Creature/Creature.cpp.The file will have its original line endings in your working directory.diff --git a/src/server/game/Entities/Item/ItemPrototype.h b/src/server/game/Entities/Item/ItemPrototype.hindex f689237..55a02a0 100644--- a/src/server/game/Entities/Item/ItemPrototype.h+++ b/src/server/game/Entities/Item/ItemPrototype.h@@ -506,6 +506,7 @@ enum ItemSubclassGlyph ITEM_SUBCLASS_GLYPH_SHAMAN = 7, ITEM_SUBCLASS_GLYPH_MAGE = 8, ITEM_SUBCLASS_GLYPH_WARLOCK = 9,+ ITEM_SUBCLASS_GLYPH_TEST = 10, ITEM_SUBCLASS_GLYPH_DRUID = 11 }; warning: LF will be replaced by CRLF in src/server/game/Entities/Item/ItemPrototype.h.The file will have its original line endings in your working directory.diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cppindex 073fadd..438d2a7 100644--- a/src/server/game/Entities/Player/Player.cpp+++ b/src/server/game/Entities/Player/Player.cpp@@ -5761,7 +5761,7 @@ void Player::GetDodgeFromAgility(float &diminishing, float &nondiminishing) 0.021080f, // Shaman 0.036587f, // Mage 0.024211f, // Warlock- 0.0f, // ??+ 0.05f, // TEST 0.056097f // Druid }; // Crit/agility to dodge/agility coefficient multipliers; 3.2.0 increased required agility by 15%@@ -5776,7 +5776,7 @@ void Player::GetDodgeFromAgility(float &diminishing, float &nondiminishing) 1.60f/1.15f, // Shaman 1.00f/1.15f, // Mage 0.97f/1.15f, // Warlock (?)- 0.0f, // ??+ 2.00f/1.15f, // TEST 2.00f/1.15f // Druid }; @@ -11957,7 +11957,7 @@ InventoryResult Player::CanRollForItemInLFG(ItemTemplate const* proto, WorldObje return EQUIP_ERR_CANT_DO_RIGHT_NOW; } - if (_class == CLASS_ROGUE || _class == CLASS_DRUID)+ if (_class == CLASS_ROGUE || _class == CLASS_DRUID || _class == CLASS_TEST) if (proto->SubClass != ITEM_SUBCLASS_ARMOR_LEATHER) return EQUIP_ERR_CANT_DO_RIGHT_NOW; warning: LF will be replaced by CRLF in src/server/game/Entities/Player/Player.cpp.The file will have its original line endings in your working directory.diff --git a/src/server/game/Entities/Unit/StatSystem.cpp b/src/server/game/Entities/Unit/StatSystem.cppindex 5cf0550..4777abd 100644--- a/src/server/game/Entities/Unit/StatSystem.cpp+++ b/src/server/game/Entities/Unit/StatSystem.cpp@@ -306,6 +306,9 @@ void Player::UpdateAttackPowerAndDamage(bool ranged) case CLASS_WARRIOR: val2 = level + GetStat(STAT_AGILITY) - 10.0f; break;+ case CLASS_TEST:+ val2 = level * 1.5f + GetStat(STAT_AGILITY) - 10.0f;+ break; case CLASS_DRUID: switch (GetShapeshiftForm()) {@@ -339,6 +342,9 @@ void Player::UpdateAttackPowerAndDamage(bool ranged) case CLASS_HUNTER: val2 = level * 2.0f + GetStat(STAT_STRENGTH) + GetStat(STAT_AGILITY) - 20.0f; break;+ case CLASS_TEST:+ val2 = level * 1.5f + GetStat(STAT_STRENGTH) + GetStat(STAT_AGILITY) - 20.0f;+ break; case CLASS_SHAMAN: val2 = level * 2.0f + GetStat(STAT_STRENGTH) + GetStat(STAT_AGILITY) - 20.0f; break;@@ -634,7 +640,7 @@ const float m_diminishing_k[MAX_CLASSES] = 0.9880f, // Shaman 0.9830f, // Mage 0.9830f, // Warlock- 0.0f, // ??+ 0.9730f, // TEST 0.9720f // Druid }; @@ -651,7 +657,7 @@ float Player::GetMissPercentageFromDefence() const 16.00f, // Shaman //? 16.00f, // Mage //? 16.00f, // Warlock //?- 0.0f, // ??+ 16.00f, // TEST 16.00f // Druid //? }; @@ -678,7 +684,7 @@ void Player::UpdateParryPercentage() 145.560408f, // Shaman 0.0f, // Mage 0.0f, // Warlock- 0.0f, // ??+ 0.0f, // test 0.0f // Druid }; @@ -715,7 +721,7 @@ void Player::UpdateDodgePercentage() 145.560408f, // Shaman 150.375940f, // Mage 150.375940f, // Warlock- 0.0f, // ??+ 150.0f, // test 116.890707f // Druid }; warning: LF will be replaced by CRLF in src/server/game/Entities/Unit/StatSystem.cpp.The file will have its original line endings in your working directory.diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cppindex 3025779..ff5dff3 100644--- a/src/server/game/Globals/ObjectMgr.cpp+++ b/src/server/game/Globals/ObjectMgr.cpp@@ -3588,6 +3588,13 @@ void ObjectMgr::BuildPlayerLevelInfo(uint8 race, uint8 _class, uint8 level, Play info->stats[STAT_INTELLECT] += (lvl > 33 ? 2: (lvl > 2 ? 1: 0)); info->stats[STAT_SPIRIT] += (lvl > 38 ? 2: (lvl > 3 ? 1: 0)); break;+ case CLASS_TEST:+ info->stats[STAT_STRENGTH] += (lvl > 34 ? 1: (lvl > 6 && (lvl%2) ? 1: 0));+ info->stats[STAT_STAMINA] += (lvl > 4 ? 1: 0);+ info->stats[STAT_AGILITY] += (lvl > 7 && !(lvl%2) ? 1: 0);+ info->stats[STAT_INTELLECT] += (lvl > 5 ? 1: 0);+ info->stats[STAT_SPIRIT] += (lvl > 4 ? 1: 0);+ break; case CLASS_DRUID: info->stats[STAT_STRENGTH] += (lvl > 38 ? 2: (lvl > 6 && (lvl%2) ? 1: 0)); info->stats[STAT_STAMINA] += (lvl > 32 ? 2: (lvl > 4 ? 1: 0));warning: LF will be replaced by CRLF in src/server/game/Globals/ObjectMgr.cpp.The file will have its original line endings in your working directory.diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.hindex 19dfb9d..9d6922a 100644--- a/src/server/game/Miscellaneous/SharedDefines.h+++ b/src/server/game/Miscellaneous/SharedDefines.h@@ -105,7 +105,7 @@ enum Classes CLASS_SHAMAN = 7, CLASS_MAGE = 8, CLASS_WARLOCK = 9,- //CLASS_UNK = 10,+ CLASS_TEST = 10, CLASS_DRUID = 11 }; @@ -116,7 +116,7 @@ enum Classes ((1<<(CLASS_WARRIOR-1))|(1<<(CLASS_PALADIN-1))|(1<<(CLASS_HUNTER-1))| (1<<(CLASS_ROGUE-1)) |(1<<(CLASS_PRIEST-1)) |(1<<(CLASS_SHAMAN-1))| (1<<(CLASS_MAGE-1)) |(1<<(CLASS_WARLOCK-1))|(1<<(CLASS_DRUID-1)) | - (1<<(CLASS_DEATH_KNIGHT-1)))+ (1<<(CLASS_TEST-1)) |(1<<(CLASS_DEATH_KNIGHT-1))) // valid classes for creature_template.unit_class enum UnitClass@@ -2700,7 +2700,8 @@ enum QuestSort QUEST_SORT_JEWELCRAFTING = 373, QUEST_SORT_NOBLEGARDEN = 374, QUEST_SORT_PILGRIMS_BOUNTY = 375,- QUEST_SORT_LOVE_IS_IN_THE_AIR = 376+ QUEST_SORT_LOVE_IS_IN_THE_AIR = 376,+ QUEST_SORT_TEST = 400 }; inline uint8 ClassByQuestSort(int32 QuestSort)@@ -2716,6 +2717,7 @@ inline uint8 ClassByQuestSort(int32 QuestSort) case QUEST_SORT_HUNTER: return CLASS_HUNTER; case QUEST_SORT_PRIEST: return CLASS_PRIEST; case QUEST_SORT_DRUID: return CLASS_DRUID;+ case QUEST_SORT_TEST: return CLASS_TEST; case QUEST_SORT_DEATH_KNIGHT: return CLASS_DEATH_KNIGHT; } return 0;@@ -3357,7 +3359,7 @@ enum SpellFamilyNames SPELLFAMILY_SHAMAN = 11, SPELLFAMILY_UNK2 = 12, // 2 spells (silence resistance) SPELLFAMILY_POTION = 13,- // 14 - unused+ SPELLFAMILY_TEST = 14, // 14 - unused // TEST SPELLFAMILY_DEATHKNIGHT = 15, // 16 - unused SPELLFAMILY_PET = 17warning: LF will be replaced by CRLF in src/server/game/Miscellaneous/SharedDefines.h.The file will have its original line endings in your working directory.diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cppindex 3e30e95..5709504 100644--- a/src/server/game/Scripting/ScriptLoader.cpp+++ b/src/server/game/Scripting/ScriptLoader.cpp@@ -27,6 +27,7 @@ void AddSC_example_commandscript(); // spells void AddSC_deathknight_spell_scripts(); void AddSC_druid_spell_scripts();+void AddSC_test_spell_scripts(); void AddSC_generic_spell_scripts(); void AddSC_hunter_spell_scripts(); void AddSC_mage_spell_scripts();@@ -656,6 +657,7 @@ void AddSpellScripts() { AddSC_deathknight_spell_scripts(); AddSC_druid_spell_scripts();+ AddSC_test_spell_scripts(); AddSC_generic_spell_scripts(); AddSC_hunter_spell_scripts(); AddSC_mage_spell_scripts();warning: LF will be replaced by CRLF in src/server/game/Scripting/ScriptLoader.cpp.The file will have its original line endings in your working directory.diff --git a/src/server/scripts/Spells/CMakeLists.txt b/src/server/scripts/Spells/CMakeLists.txtindex 077b4cc..9b2bee3 100644--- a/src/server/scripts/Spells/CMakeLists.txt+++ b/src/server/scripts/Spells/CMakeLists.txt@@ -14,6 +14,7 @@ set(scripts_STAT_SRCS Spells/spell_hunter.cpp Spells/spell_rogue.cpp Spells/spell_druid.cpp+ Spells/spell_test.cpp Spells/spell_dk.cpp Spells/spell_quest.cpp Spells/spell_warrior.cppwarning: LF will be replaced by CRLF in src/server/scripts/Spells/CMakeLists.txt.The file will have its original line endings in your working directory.
player_classlevelstatsREPLACE INTO `player_classlevelstats` (`class`, `level`, `basehp`, `basemana`) VALUES (10, 1, 46, 65);
player_levelstatsREPLACE INTO `player_levelstats` (`race`, `class`, `level`, `str`, `agi`, `sta`, `inte`, `spi`) VALUES (2, 10, 1, 23, 20, 23, 17, 24);
playercreateinfoREPLACE INTO `playercreateinfo` (`race`, `class`, `map`, `zone`, `position_x`, `position_y`, `position_z`, `orientation`) VALUES (1, 10, 0, 12, -8949.95, -132.493, 83.5312, 0);
playercreateinfo_spellREPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 81, 'Dodge');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 196, 'One-Handed Axes');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 198, 'One-Handed Maces');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 201, 'One-Handed Swords');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 203, 'Unarmed');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 204, 'Defense');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 522, 'SPELLDEFENSE (DND)');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 668, 'Language Common');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 1843, 'Disarm');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 2382, 'Generic');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 2479, 'Honorless Target');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 3050, 'Detect');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 3365, 'Opening');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 5301, 'Defensive State (DND)');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 6233, 'Closing');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 6246, 'Closing');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 6247, 'Opening');REPLACE INTO `playercreateinfo_spell` (`race`, `class`, `Spell`, `Note`) VALUES (1, 10, 6477, 'Opening');etc....
CLASS_BUTTONS = { ["WARRIOR"] = {0, 0.25, 0, 0.25}, ["MAGE"] = {0.25, 0.49609375, 0, 0.25}, ["ROGUE"] = {0.49609375, 0.7421875, 0, 0.25}, ["DRUID"] = {0.7421875, 0.98828125, 0, 0.25}, ["HUNTER"] = {0, 0.25, 0.25, 0.5}, ["SHAMAN"] = {0.25, 0.49609375, 0.25, 0.5}, ["PRIEST"] = {0.49609375, 0.7421875, 0.25, 0.5}, ["WARLOCK"] = {0.7421875, 0.98828125, 0.25, 0.5}, ["PALADIN"] = {0, 0.25, 0.5, 0.75}, ["DEATHKNIGHT"] = {0.25, 0.49609375, 0.5, 0.75}, ["TEST"] = {0.49609375, 0.7421875, 0.5, 0.75},};
RAID_CLASS_COLORS = { ["HUNTER"] = { r = 0.67, g = 0.83, b = 0.45 }, ["WARLOCK"] = { r = 0.58, g = 0.51, b = 0.79 }, ["PRIEST"] = { r = 1.0, g = 1.0, b = 1.0 }, ["PALADIN"] = { r = 0.96, g = 0.55, b = 0.73 }, ["MAGE"] = { r = 0.41, g = 0.8, b = 0.94 }, ["ROGUE"] = { r = 1.0, g = 0.96, b = 0.41 }, ["DRUID"] = { r = 1.0, g = 0.49, b = 0.04 }, ["SHAMAN"] = { r = 0.0, g = 0.44, b = 0.87 }, ["WARRIOR"] = { r = 0.78, g = 0.61, b = 0.43 }, ["DEATHKNIGHT"] = { r = 0.77, g = 0.12 , b = 0.23 }, ["TEST"] = { r = 0.0, g = 0.45, b = 0.45 },};CLASS_SORT_ORDER = { "WARRIOR", "DEATHKNIGHT", "PALADIN", "PRIEST", "SHAMAN", "DRUID", "ROGUE", "MAGE", "WARLOCK", "HUNTER", "TEST",};CLASS_ICON_TCOORDS = { ["WARRIOR"] = {0, 0.25, 0, 0.25}, ["MAGE"] = {0.25, 0.49609375, 0, 0.25}, ["ROGUE"] = {0.49609375, 0.7421875, 0, 0.25}, ["DRUID"] = {0.7421875, 0.98828125, 0, 0.25}, ["HUNTER"] = {0, 0.25, 0.25, 0.5}, ["SHAMAN"] = {0.25, 0.49609375, 0.25, 0.5}, ["PRIEST"] = {0.49609375, 0.7421875, 0.25, 0.5}, ["WARLOCK"] = {0.7421875, 0.98828125, 0.25, 0.5}, ["PALADIN"] = {0, 0.25, 0.5, 0.75}, ["DEATHKNIGHT"] = {0.25, .5, 0.5, .75}, ["TEST"] = {0.49609375, 0.7421875, 0.5, 0.75},};
14>game.lib(ScriptLoader.obj) : error LNK2019: símbolo externo "void __cdecl AddSC_nigromante_spell_scripts(void)" (?AddSC_nigromante_spell_scripts@@YAXXZ) sin resolver al que se hace referencia en la función "void __cdecl AddSpellScripts(void)" (?AddSpellScripts@@YAXXZ)
14>game.lib(ScriptLoader.obj) : error LNK2019: external simbol "void __cdecl AddSC_nigromante_spell_scripts(void)" (?AddSC_nigromante_spell_scripts@@YAXXZ) without resolving which refers in function "void __cdecl AddSpellScripts(void)" (?AddSpellScripts@@YAXXZ)