aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2024-09-14 13:06:03 +0200
committerGitHub <noreply@github.com>2024-09-14 13:06:03 +0200
commitb3a502ddb9f08a1cc3ef082263567898c7b0a3eb (patch)
tree2df9f94ff11ac872f43b6080b73ee9b699c53d44
parentc499110a0d09364fa62a1f67db17032aea9c77e6 (diff)
Core/Characters: Added missing Earthen creation data (#30220)
-rw-r--r--sql/updates/world/master/2024_09_14_01_world.sql30
-rw-r--r--src/server/game/Miscellaneous/RaceMask.h113
2 files changed, 93 insertions, 50 deletions
diff --git a/sql/updates/world/master/2024_09_14_01_world.sql b/sql/updates/world/master/2024_09_14_01_world.sql
new file mode 100644
index 00000000000..3d5421a852e
--- /dev/null
+++ b/sql/updates/world/master/2024_09_14_01_world.sql
@@ -0,0 +1,30 @@
+DELETE FROM `class_expansion_requirement` WHERE `RaceID` IN (84, 85) AND `ClassID` IN (1, 2, 3, 4, 5, 7, 8, 9, 10);
+INSERT INTO `class_expansion_requirement` (`ClassID`, `RaceID`, `ActiveExpansionLevel`, `AccountExpansionLevel`) VALUES
+(1, 84, 10, 10),
+(2, 84, 10, 10),
+(3, 84, 10, 10),
+(4, 84, 10, 10),
+(5, 84, 10, 10),
+(7, 84, 10, 10),
+(8, 84, 10, 10),
+(9, 84, 10, 10),
+(10, 84, 10, 10),
+(1, 85, 10, 10),
+(2, 85, 10, 10),
+(3, 85, 10, 10),
+(4, 85, 10, 10),
+(5, 85, 10, 10),
+(7, 85, 10, 10),
+(8, 85, 10, 10),
+(9, 85, 10, 10),
+(10, 85, 10, 10);
+
+DELETE FROM `player_racestats` WHERE `race` IN (84, 85);
+INSERT INTO `player_racestats` (`race`, `str`, `agi`, `sta`, `inte`) VALUES
+(84, 0, 0, 0, 0),
+(85, 0, 0, 0, 0);
+
+DELETE FROM `race_unlock_requirement` WHERE `raceID` IN (84, 85);
+INSERT INTO `race_unlock_requirement` (`raceID`, `expansion`, `achievementId`) VALUES
+(84, 10, 40307),
+(85, 10, 40307);
diff --git a/src/server/game/Miscellaneous/RaceMask.h b/src/server/game/Miscellaneous/RaceMask.h
index 2c1e1a29932..93a2324205d 100644
--- a/src/server/game/Miscellaneous/RaceMask.h
+++ b/src/server/game/Miscellaneous/RaceMask.h
@@ -24,57 +24,64 @@
// EnumUtils: DESCRIBE THIS
enum Races
{
- RACE_NONE = 0, // SKIP
- RACE_HUMAN = 1, // TITLE Human
- RACE_ORC = 2, // TITLE Orc
- RACE_DWARF = 3, // TITLE Dwarf
- RACE_NIGHTELF = 4, // TITLE Night Elf
- RACE_UNDEAD_PLAYER = 5, // TITLE Undead
- RACE_TAUREN = 6, // TITLE Tauren
- RACE_GNOME = 7, // TITLE Gnome
- RACE_TROLL = 8, // TITLE Troll
- RACE_GOBLIN = 9, // TITLE Goblin
- RACE_BLOODELF = 10, // TITLE Blood Elf
- RACE_DRAENEI = 11, // TITLE Draenei
- //RACE_FEL_ORC = 12,
- //RACE_NAGA = 13,
- //RACE_BROKEN = 14,
- //RACE_SKELETON = 15,
- //RACE_VRYKUL = 16,
- //RACE_TUSKARR = 17,
- //RACE_FOREST_TROLL = 18,
- //RACE_TAUNKA = 19,
- //RACE_NORTHREND_SKELETON = 20,
- //RACE_ICE_TROLL = 21,
- RACE_WORGEN = 22, // TITLE Worgen
- //RACE_GILNEAN = 23,
- RACE_PANDAREN_NEUTRAL = 24, // TITLE Pandaren DESCRIPTION Pandaren (Neutral)
- RACE_PANDAREN_ALLIANCE = 25, // TITLE Pandaren DESCRIPTION Pandaren (Alliance)
- RACE_PANDAREN_HORDE = 26, // TITLE Pandaren DESCRIPTION Pandaren (Horde)
- RACE_NIGHTBORNE = 27, // TITLE Nightborne
- RACE_HIGHMOUNTAIN_TAUREN = 28, // TITLE Highmountain Tauren
- RACE_VOID_ELF = 29, // TITLE Void Elf
- RACE_LIGHTFORGED_DRAENEI = 30, // TITLE Lightforged Draenei
- RACE_ZANDALARI_TROLL = 31, // TITLE Zandalari Troll
- RACE_KUL_TIRAN = 32, // TITLE Kul Tiran
- //RACE_THIN_HUMAN = 33,
- RACE_DARK_IRON_DWARF = 34, // TITLE Dark Iron Dwarf DESCRIPTION Dark Iron Dwarf (RaceMask bit 11)
- RACE_VULPERA = 35, // TITLE Vulpera DESCRIPTION Vulpera (RaceMask bit 12)
- RACE_MAGHAR_ORC = 36, // TITLE Mag'har Orc DESCRIPTION Mag'har Orc (RaceMask bit 13)
- RACE_MECHAGNOME = 37, // TITLE Mechagnome DESCRIPTION Mechagnome (RaceMask bit 14)
- RACE_DRACTHYR_ALLIANCE = 52, // TITLE Dracthyr DESCRIPTION Dracthyr (Alliance) (RaceMask bit 16)
- RACE_DRACTHYR_HORDE = 70, // TITLE Dracthyr DESCRIPTION Dracthyr (Horde) (RaceMask bit 15)
- //RACE_COMPANION_DRAKE = 71,
- //RACE_COMPANION_PROTO_DRAGON = 72,
- //RACE_COMPANION_SERPENT = 73,
- //RACE_COMPANION_WYVERN = 74,
- //RACE_DRACTHYR_VISAGE_ALLIANCE = 75,
- //RACE_DRACTHYR_VISAGE_HORDE= 76,
- //RACE_COMPANION_PTERRODAX = 77
+ RACE_NONE = 0, // SKIP
+ RACE_HUMAN = 1, // TITLE Human
+ RACE_ORC = 2, // TITLE Orc
+ RACE_DWARF = 3, // TITLE Dwarf
+ RACE_NIGHTELF = 4, // TITLE Night Elf
+ RACE_UNDEAD_PLAYER = 5, // TITLE Undead
+ RACE_TAUREN = 6, // TITLE Tauren
+ RACE_GNOME = 7, // TITLE Gnome
+ RACE_TROLL = 8, // TITLE Troll
+ RACE_GOBLIN = 9, // TITLE Goblin
+ RACE_BLOODELF = 10, // TITLE Blood Elf
+ RACE_DRAENEI = 11, // TITLE Draenei
+ //RACE_FEL_ORC = 12,
+ //RACE_NAGA = 13,
+ //RACE_BROKEN = 14,
+ //RACE_SKELETON = 15,
+ //RACE_VRYKUL = 16,
+ //RACE_TUSKARR = 17,
+ //RACE_FOREST_TROLL = 18,
+ //RACE_TAUNKA = 19,
+ //RACE_NORTHREND_SKELETON = 20,
+ //RACE_ICE_TROLL = 21,
+ RACE_WORGEN = 22, // TITLE Worgen
+ //RACE_GILNEAN = 23,
+ RACE_PANDAREN_NEUTRAL = 24, // TITLE Pandaren DESCRIPTION Pandaren (Neutral)
+ RACE_PANDAREN_ALLIANCE = 25, // TITLE Pandaren DESCRIPTION Pandaren (Alliance)
+ RACE_PANDAREN_HORDE = 26, // TITLE Pandaren DESCRIPTION Pandaren (Horde)
+ RACE_NIGHTBORNE = 27, // TITLE Nightborne
+ RACE_HIGHMOUNTAIN_TAUREN = 28, // TITLE Highmountain Tauren
+ RACE_VOID_ELF = 29, // TITLE Void Elf
+ RACE_LIGHTFORGED_DRAENEI = 30, // TITLE Lightforged Draenei
+ RACE_ZANDALARI_TROLL = 31, // TITLE Zandalari Troll
+ RACE_KUL_TIRAN = 32, // TITLE Kul Tiran
+ //RACE_THIN_HUMAN = 33,
+ RACE_DARK_IRON_DWARF = 34, // TITLE Dark Iron Dwarf DESCRIPTION Dark Iron Dwarf (RaceMask bit 11)
+ RACE_VULPERA = 35, // TITLE Vulpera DESCRIPTION Vulpera (RaceMask bit 12)
+ RACE_MAGHAR_ORC = 36, // TITLE Mag'har Orc DESCRIPTION Mag'har Orc (RaceMask bit 13)
+ RACE_MECHAGNOME = 37, // TITLE Mechagnome DESCRIPTION Mechagnome (RaceMask bit 14)
+ RACE_DRACTHYR_ALLIANCE = 52, // TITLE Dracthyr DESCRIPTION Dracthyr (Alliance) (RaceMask bit 16)
+ RACE_DRACTHYR_HORDE = 70, // TITLE Dracthyr DESCRIPTION Dracthyr (Horde) (RaceMask bit 15)
+ //RACE_COMPANION_DRAKE = 71,
+ //RACE_COMPANION_PROTO_DRAGON = 72,
+ //RACE_COMPANION_SERPENT = 73,
+ //RACE_COMPANION_WYVERN = 74,
+ //RACE_DRACTHYR_VISAGE_ALLIANCE = 75,
+ //RACE_DRACTHYR_VISAGE_HORDE = 76,
+ //RACE_COMPANION_PTERRODAX = 77,
+ //RACE_COMPANION_NETHERWING_DRAKE = 80,
+ //RACE_ROSTRUM_STORM_GRYPHON = 82,
+ //RACE_ROSTRUM_FAERIE_DRAGON = 83,
+ RACE_EARTHEN_DWARF_HORDE = 84, // TITLE Earthen DESCRIPTION Earthen (Horde) (RaceMask bit 17)
+ RACE_EARTHEN_DWARF_ALLIANCE = 85, // TITLE Earthen DESCRIPTION Earthen (Alliance) (RaceMask bit 18)
+ //RACE_HARRONIR = 86,
+ //RACE_ROSTRUM_AIRSHIP = 87,
};
// max+1 for player race
-#define MAX_RACES 78
+#define MAX_RACES 88
namespace Trinity
{
@@ -128,6 +135,10 @@ struct RaceMask
return 16;
case RACE_DRACTHYR_HORDE:
return 15;
+ case RACE_EARTHEN_DWARF_HORDE:
+ return 17;
+ case RACE_EARTHEN_DWARF_ALLIANCE:
+ return 18;
default:
break;
}
@@ -176,7 +187,8 @@ constexpr Trinity::RaceMask<uint64> RACEMASK_ALL_PLAYABLE = { std::integral_cons
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_MAGHAR_ORC) |
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_MECHAGNOME) |
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DRACTHYR_ALLIANCE) |
- Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DRACTHYR_HORDE)>::value };
+ Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DRACTHYR_HORDE) |
+ Trinity::RaceMask<uint64>::GetMaskForRace(RACE_EARTHEN_DWARF_HORDE)>::value };
constexpr Trinity::RaceMask<uint64> RACEMASK_NEUTRAL = { std::integral_constant<uint64, Trinity::RaceMask<uint64>::GetMaskForRace(RACE_PANDAREN_NEUTRAL)>::value };
@@ -193,7 +205,8 @@ constexpr Trinity::RaceMask<uint64> RACEMASK_ALLIANCE = { std::integral_constant
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_KUL_TIRAN) |
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DARK_IRON_DWARF) |
Trinity::RaceMask<uint64>::GetMaskForRace(RACE_MECHAGNOME) |
- Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DRACTHYR_ALLIANCE)>::value };
+ Trinity::RaceMask<uint64>::GetMaskForRace(RACE_DRACTHYR_ALLIANCE) |
+ Trinity::RaceMask<uint64>::GetMaskForRace(RACE_EARTHEN_DWARF_ALLIANCE)>::value };
constexpr Trinity::RaceMask<uint64> RACEMASK_HORDE = { std::integral_constant<uint64, (RACEMASK_ALL_PLAYABLE & ~(RACEMASK_NEUTRAL | RACEMASK_ALLIANCE)).RawValue>::value };