diff --git a/src/modules/Playerbot/CMakeLists.txt b/src/modules/Playerbot/CMakeLists.txt
index c5b8c7fdb..184294ce8 100644
--- a/src/modules/Playerbot/CMakeLists.txt
+++ b/src/modules/Playerbot/CMakeLists.txt
@@ -784,8 +784,8 @@ set(PLAYERBOT_LIFECYCLE_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/Lifecycle/Instance/InstanceBotScripts.cpp
${CMAKE_CURRENT_SOURCE_DIR}/Lifecycle/Instance/InstanceBotScripts.h
- # WoW 11.2 Character Creation Data
- ${CMAKE_CURRENT_SOURCE_DIR}/Data/WoW112CharacterCreation.h
+ # WoW 12.0 Character Creation Data
+ ${CMAKE_CURRENT_SOURCE_DIR}/Data/WoW120CharacterCreation.h
)
# ============================================================================
diff --git a/src/modules/Playerbot/Data/WoW112CharacterCreation.h b/src/modules/Playerbot/Data/WoW120CharacterCreation.h
similarity index 96%
rename from src/modules/Playerbot/Data/WoW112CharacterCreation.h
rename to src/modules/Playerbot/Data/WoW120CharacterCreation.h
index 16ceb1d18..a1d9df3d1 100644
--- a/src/modules/Playerbot/Data/WoW112CharacterCreation.h
+++ b/src/modules/Playerbot/Data/WoW120CharacterCreation.h
@@ -1,12 +1,17 @@
/*
- * Copyright (C) 2024 TrinityCore
+ * Copyright (C) 2024-2026 TrinityCore
*
- * WoW 11.2 (The War Within) Character Creation Data
+ * WoW 12.0 (The War Within Season 2+) Character Creation Data
* Complete implementation guide for bot character creation
+ *
+ * WoW 12.0 Changes:
+ * - Spirit stat re-added (MAX_STATS = 5)
+ * - Difficulty type changed to int16
+ * - Item Level Squish Era system added
*/
-#ifndef PLAYERBOT_WOW112_CHARACTER_CREATION_H
-#define PLAYERBOT_WOW112_CHARACTER_CREATION_H
+#ifndef PLAYERBOT_WOW120_CHARACTER_CREATION_H
+#define PLAYERBOT_WOW120_CHARACTER_CREATION_H
#include "Define.h"
#include "SharedDefines.h"
@@ -19,25 +24,25 @@ namespace Playerbot
{
// ===================================================================================
-// WOW 11.2 CHARACTER CREATION DATA
+// WOW 12.0 CHARACTER CREATION DATA
// ===================================================================================
namespace CharacterCreation
{
- // Starting level for new characters in WoW 11.2
+ // Starting level for new characters in WoW 12.0
constexpr uint8 DEFAULT_STARTING_LEVEL = 10; // New characters start at level 10 in TWW
constexpr uint8 ALLIED_RACE_STARTING_LEVEL = 10; // Allied races also start at 10
constexpr uint8 DEMON_HUNTER_STARTING_LEVEL = 10; // DH normalized to 10
constexpr uint8 DEATH_KNIGHT_STARTING_LEVEL = 10; // DK normalized to 10
constexpr uint8 EVOKER_STARTING_LEVEL = 58; // Evokers start at 58 in Forbidden Reach
- constexpr uint8 HERO_CLASS_MIN_LEVEL_REQUIREMENT = 0; // No level requirement in 11.2
+ constexpr uint8 HERO_CLASS_MIN_LEVEL_REQUIREMENT = 0; // No level requirement in 12.0
// Maximum number of certain classes per realm
constexpr uint8 MAX_EVOKERS_PER_REALM = 1; // Only 1 Evoker per realm initially (lifted after first max level)
constexpr uint8 MAX_DEMON_HUNTERS_PER_REALM = 1; // Only 1 DH per realm (can be lifted)
// ===================================================================================
- // RACE/CLASS COMBINATIONS (WoW 11.2 - The War Within)
+ // RACE/CLASS COMBINATIONS (WoW 12.0 - The War Within Season 2+)
// ===================================================================================
struct RaceClassCombination
@@ -49,7 +54,7 @@ namespace CharacterCreation
uint32 unlockAchievement; // Achievement ID required to unlock (0 if none)
};
- // Valid Race/Class combinations for WoW 11.2
+ // Valid Race/Class combinations for WoW 12.0
// Note: Almost all race/class restrictions have been lifted in recent expansions
inline const ::std::vector VALID_COMBINATIONS = {
// ========== ALLIANCE RACES ==========
@@ -464,7 +469,7 @@ namespace CharacterCreation
};
// ===================================================================================
- // BASE STATS BY RACE/CLASS (11.2 Values)
+ // BASE STATS BY RACE/CLASS (12.0 Values)
// ===================================================================================
struct BaseStats
@@ -475,6 +480,7 @@ namespace CharacterCreation
uint32 agility;
uint32 stamina;
uint32 intellect;
+ uint32 spirit; // WoW 12.0: Spirit stat re-added (MAX_STATS = 5)
};
// Simplified base stat calculation - actual values from DBC data
@@ -495,6 +501,7 @@ namespace CharacterCreation
stats.agility = 20;
stats.intellect = 20;
stats.stamina = 32;
+ stats.spirit = 18; // WoW 12.0: Spirit for minor mana regen
break;
case CLASS_HUNTER:
@@ -505,6 +512,7 @@ namespace CharacterCreation
stats.agility = 31;
stats.intellect = 20;
stats.stamina = 30;
+ stats.spirit = 18; // WoW 12.0: Spirit for minor mana regen
break;
case CLASS_PRIEST:
@@ -515,6 +523,7 @@ namespace CharacterCreation
stats.agility = 20;
stats.intellect = 31;
stats.stamina = 29;
+ stats.spirit = 28; // WoW 12.0: Casters have high spirit for mana regen
break;
case CLASS_SHAMAN:
@@ -523,6 +532,7 @@ namespace CharacterCreation
stats.agility = 22;
stats.intellect = 27;
stats.stamina = 30;
+ stats.spirit = 25; // WoW 12.0: Hybrids have moderate spirit
break;
default:
@@ -530,6 +540,7 @@ namespace CharacterCreation
stats.agility = 20;
stats.intellect = 20;
stats.stamina = 30;
+ stats.spirit = 18; // WoW 12.0: Default spirit value
break;
}
@@ -583,6 +594,7 @@ namespace CharacterCreation
stats.agility *= 3;
stats.stamina *= 3;
stats.intellect *= 3;
+ stats.spirit *= 3; // WoW 12.0: Spirit scaling for Evokers
}
return stats;
@@ -721,4 +733,4 @@ namespace CharacterCreation
} // namespace CharacterCreation
} // namespace Playerbot
-#endif // PLAYERBOT_WOW112_CHARACTER_CREATION_H
\ No newline at end of file
+#endif // PLAYERBOT_WOW120_CHARACTER_CREATION_H
\ No newline at end of file
diff --git a/src/modules/Playerbot/Lifecycle/BotCharacterCreator.cpp b/src/modules/Playerbot/Lifecycle/BotCharacterCreator.cpp
index b09f8e94f..55483ee9d 100644
--- a/src/modules/Playerbot/Lifecycle/BotCharacterCreator.cpp
+++ b/src/modules/Playerbot/Lifecycle/BotCharacterCreator.cpp
@@ -23,7 +23,7 @@
#include "World.h"
#include "WorldSession.h"
#include "../Session/BotSession.h"
-#include "Data/WoW112CharacterCreation.h"
+#include "Data/WoW120CharacterCreation.h"
#include "CharacterPackets.h"
#include