// Class value is index in ChrClasses.dbcenum Classes{ CLASS_WARLOCK = 9, //CLASS_UNK = 10, CLASS_DRUID = 11[|], CLASS_HERO = 12 //I added this line[|]};
// max+1 for player class#define MAX_CLASSES [|]13[|]
#define CLASSMASK_ALL_PLAYABLE ((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_HERO-1)))[|]
enum SpellFamilyNames{ SPELLFAMILY_DEATHKNIGHT = 15, // 16 - unused SPELLFAMILY_PET = 17[|], SPELLFAMILY_HERO = 18 //I added this line[|]};
for (uint8 lvl = sWorld->getIntConfig(CONFIG_MAX_PLAYER_LEVEL)-1; lvl < level; ++lvl) { switch (_class) { case CLASS_WARRIOR: info->stats[STAT_STRENGTH] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0)); info->stats[STAT_STAMINA] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0)); info->stats[STAT_AGILITY] += (lvl > 36 ? 1: (lvl > 6 && (lvl%2) ? 1: 0)); info->stats[STAT_INTELLECT] += (lvl > 9 && !(lvl%2) ? 1: 0); info->stats[STAT_SPIRIT] += (lvl > 9 && !(lvl%2) ? 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)); info->stats[STAT_AGILITY] += (lvl > 38 ? 2: (lvl > 8 && (lvl%2) ? 1: 0)); info->stats[STAT_INTELLECT] += (lvl > 38 ? 3: (lvl > 4 ? 1: 0)); info->stats[STAT_SPIRIT] += (lvl > 38 ? 3: (lvl > 5 ? 1: 0)); [|]break; case CLASS_HERO: info->stats[STAT_STRENGTH] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0)); info->stats[STAT_STAMINA] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0)); info->stats[STAT_AGILITY] += (lvl > 36 ? 1: (lvl > 6 && (lvl%2) ? 1: 0)); info->stats[STAT_INTELLECT] += (lvl > 9 && !(lvl%2) ? 1: 0); info->stats[STAT_SPIRIT] += (lvl > 9 && !(lvl%2) ? 1: 0);[|] } }}
{ switch (_class) { [...] case CLASS_HERO: info->stats[STAT_STRENGTH] += (lvl > 6 ? 4: (lvl > 46 ? 2: 0)); [...] } }}
Code: [Select]info->stats[STAT_STRENGTH] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0));can be written asCode: [Select]if (lvl > 23) info->stats[STAT_STRENGTH] += 2;else if (lvl > 1) info->stats[STAT_STRENGTH] += 1;else // should never happen info->stats[STAT_STRENGTH] += 0;andCode: [Select]info->stats[STAT_AGILITY] += (lvl > 36 ? 1: (lvl > 6 && (lvl%2) ? 1: 0));toCode: [Select]if (lvl > 36) info->stats[STAT_AGILITY] += 1;else if (lvl > 6 && isEven(lvl)) // isEven returns true if number is divisible by 2 (0,2,4,6,8,etc) info->stats[STAT_AGILITY] += 1;else info->stats[STAT_AGILITY] += 0;
info->stats[STAT_STRENGTH] += (lvl > 23 ? 2: (lvl > 1 ? 1: 0));
if (lvl > 23) info->stats[STAT_STRENGTH] += 2;else if (lvl > 1) info->stats[STAT_STRENGTH] += 1;else // should never happen info->stats[STAT_STRENGTH] += 0;
info->stats[STAT_AGILITY] += (lvl > 36 ? 1: (lvl > 6 && (lvl%2) ? 1: 0));
if (lvl > 36) info->stats[STAT_AGILITY] += 1;else if (lvl > 6 && isEven(lvl)) // isEven returns true if number is divisible by 2 (0,2,4,6,8,etc) info->stats[STAT_AGILITY] += 1;else info->stats[STAT_AGILITY] += 0;
if (_class == CLASS_WARRIOR || _class == CLASS_PALADIN || _class == CLASS_DEATH_KNIGHT[|] || _class == CLASS_HERO)[|]
const float dodge_base[MAX_CLASSES] = { 0.024211f, // Warlock 0.0f, // ?? 0.056097f[|], // Druid 0.064974f // Hero [|] };
const float crit_to_dodge[MAX_CLASSES] = { 1.00f/1.15f, // Mage 0.97f/1.15f, // Warlock (?) 0.0f, // ?? 2.00f/1.15f[|], // Druid 1.75f/1.15f // Hero[|] };
switch (Class) { case CLASS_DRUID: ClassStr = "Druid"; break; [|]case CLASS_HERO: ClassStr = "Hero"; break;[|] }
void HandleDummy(SpellEffIndex /*effIndex*/) { Unit* caster = GetCaster(); std::vector<uint32> possibleSpells; switch (caster->getClass()) { case CLASS_WARLOCK: case CLASS_MAGE: case CLASS_PRIEST: possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_SP); break; [|]case CLASS_HERO:[|] // I added this line case CLASS_DEATH_KNIGHT: case CLASS_WARRIOR: possibleSpells.push_back(SPELL_FLASK_OF_THE_NORTH_STR); break;
<Anchor point="TOP" relativeTo="CharacterCreateClassButton5" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton>
<CheckButton name="CharacterCreateClassButton11" inherits="CharacterCreateClassButtonTemplate" id="11"> <Anchors> <Anchor point="LEFT" relativeTo="CharacterCreateClassButton10" relativePoint="RIGHT" x="6" y="0"/> </Anchors> </CheckButton>
HELP = "Help";HERTZ = "Hz";
HELP = "Help";HERO_DISABLED = "HeronYou must choose a different race to be this class.";HERTZ = "Hz";
RAID_CLASS_COLORS = { [...] [|]["HERO"] = { r = 0.78, g = 0.61, b = 0.43 },[|] ["WARRIOR"] = { r = 0.78, g = 0.61, b = 0.43 }, ["DEATHKNIGHT"] = { r = 0.77, g = 0.12 , b = 0.23 },};
CLASS_SORT_ORDER = { [...] "HUNTER", "HERO",};
CLASS_ICON_TCOORDS = { ["WARRIOR"] = {0, 0.25, 0, 0.25}, [|]["HERO"] = {0, 0.25, 0, 0.25},[|][...]};
I'll finish it over my break in a week. Was just too lazy to do it until now.
Make sure you add the approperiate values into the xml and import it into interface.
<CheckButton name="CharacterCreateClassButton10" inherits="CharacterCreateClassButtonTemplate" id="10"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton5" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton> <CheckButton name="CharacterCreateClassButton11" inherits="CharacterCreateClassButtonTemplate" id="11"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton6" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton>
Quote from: "Ascathos"Make sure you add the approperiate values into the xml and import it into interface.I used the values that are in this guide. What lines in xml need to be changed?Here's what I have in XML.Code: [Select] <CheckButton name="CharacterCreateClassButton10" inherits="CharacterCreateClassButtonTemplate" id="10"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton5" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton> <CheckButton name="CharacterCreateClassButton11" inherits="CharacterCreateClassButtonTemplate" id="11"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton6" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton>
Quote from: "Kobiesan"Quote from: "Ascathos"Make sure you add the approperiate values into the xml and import it into interface.I used the values that are in this guide. What lines in xml need to be changed?Here's what I have in XML.Code: [Select] <CheckButton name="CharacterCreateClassButton10" inherits="CharacterCreateClassButtonTemplate" id="10"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton5" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton> <CheckButton name="CharacterCreateClassButton11" inherits="CharacterCreateClassButtonTemplate" id="11"> <Anchors> <Anchor point="TOP" relativeTo="CharacterCreateClassButton6" relativePoint="BOTTOM" x="0" y="-6"/> </Anchors> </CheckButton>the .lua file also ? Try a different icon, else.
Quote from: "Kobiesan" InterfaceGluesXMLshould beInterfaceGlueXML
And you need interface fixed wow exe....