mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 22:58:34 +00:00
Renamed and moved SkillUseTypes enumeration to EQEmu::skills::SkillType; eq_dictionary work
This commit is contained in:
+83
-82
@@ -36,7 +36,7 @@
|
||||
|
||||
extern QueryServ* QServ;
|
||||
|
||||
static const SkillUseTypes TradeskillUnknown = Skill1HBlunt; /* an arbitrary non-tradeskill */
|
||||
static const EQEmu::skills::SkillType TradeskillUnknown = EQEmu::skills::Skill1HBlunt; /* an arbitrary non-tradeskill */
|
||||
|
||||
void Object::HandleAugmentation(Client* user, const AugmentItem_Struct* in_augment, Object *worldo)
|
||||
{
|
||||
@@ -363,7 +363,7 @@ void Object::HandleCombine(Client* user, const NewCombine_Struct* in_combine, Ob
|
||||
}
|
||||
|
||||
//changing from a switch to string of if's since we don't need to iterate through all of the skills in the SkillType enum
|
||||
if (spec.tradeskill == SkillAlchemy) {
|
||||
if (spec.tradeskill == EQEmu::skills::SkillAlchemy) {
|
||||
if (user_pp.class_ != SHAMAN) {
|
||||
user->Message(13, "This tradeskill can only be performed by a shaman.");
|
||||
return;
|
||||
@@ -373,13 +373,13 @@ void Object::HandleCombine(Client* user, const NewCombine_Struct* in_combine, Ob
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (spec.tradeskill == SkillTinkering) {
|
||||
else if (spec.tradeskill == EQEmu::skills::SkillTinkering) {
|
||||
if (user_pp.race != GNOME) {
|
||||
user->Message(13, "Only gnomes can tinker.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (spec.tradeskill == SkillMakePoison) {
|
||||
else if (spec.tradeskill == EQEmu::skills::SkillMakePoison) {
|
||||
if (user_pp.class_ != ROGUE) {
|
||||
user->Message(13, "Only rogues can mix poisons.");
|
||||
return;
|
||||
@@ -604,17 +604,17 @@ void Object::HandleAutoCombine(Client* user, const RecipeAutoCombine_Struct* rac
|
||||
parse->EventPlayer(EVENT_COMBINE_FAILURE, user, spec.name.c_str(), spec.recipe_id);
|
||||
}
|
||||
|
||||
SkillUseTypes Object::TypeToSkill(uint32 type)
|
||||
EQEmu::skills::SkillType Object::TypeToSkill(uint32 type)
|
||||
{
|
||||
switch(type) { // grouped and ordered by SkillUseTypes name - new types need to be verified for proper SkillUseTypes and use
|
||||
/*SkillAlchemy*/
|
||||
case EQEmu::item::BagTypeMedicineBag:
|
||||
return SkillAlchemy;
|
||||
return EQEmu::skills::SkillAlchemy;
|
||||
|
||||
/*SkillBaking*/
|
||||
//case EQEmu::item::BagTypeMixingBowl: // No idea...
|
||||
case EQEmu::item::BagTypeOven:
|
||||
return SkillBaking;
|
||||
return EQEmu::skills::SkillBaking;
|
||||
|
||||
/*SkillBlacksmithing*/
|
||||
case EQEmu::item::BagTypeForge:
|
||||
@@ -632,25 +632,25 @@ SkillUseTypes Object::TypeToSkill(uint32 type)
|
||||
case EQEmu::item::BagTypeValeForge:
|
||||
//case EQEmu::item::BagTypeErudForge:
|
||||
//case EQEmu::item::BagTypeGuktaForge:
|
||||
return SkillBlacksmithing;
|
||||
return EQEmu::skills::SkillBlacksmithing;
|
||||
|
||||
/*SkillBrewing*/
|
||||
//case EQEmu::item::BagTypeIceCreamChurn: // No idea...
|
||||
case EQEmu::item::BagTypeBrewBarrel:
|
||||
return SkillBrewing;
|
||||
return EQEmu::skills::SkillBrewing;
|
||||
|
||||
/*SkillFishing*/
|
||||
case EQEmu::item::BagTypeTackleBox:
|
||||
return SkillFishing;
|
||||
return EQEmu::skills::SkillFishing;
|
||||
|
||||
/*SkillFletching*/
|
||||
case EQEmu::item::BagTypeFletchingKit:
|
||||
//case EQEmu::item::BagTypeFierDalFletchingKit:
|
||||
return SkillFletching;
|
||||
return EQEmu::skills::SkillFletching;
|
||||
|
||||
/*SkillJewelryMaking*/
|
||||
case EQEmu::item::BagTypeJewelersKit:
|
||||
return SkillJewelryMaking;
|
||||
return EQEmu::skills::SkillJewelryMaking;
|
||||
|
||||
/*SkillMakePoison*/
|
||||
// This is a guess and needs to be verified... (Could be SkillAlchemy)
|
||||
@@ -661,7 +661,7 @@ SkillUseTypes Object::TypeToSkill(uint32 type)
|
||||
case EQEmu::item::BagTypePotteryWheel:
|
||||
case EQEmu::item::BagTypeKiln:
|
||||
//case EQEmu::item::BagTypeIksarPotteryWheel:
|
||||
return SkillPottery;
|
||||
return EQEmu::skills::SkillPottery;
|
||||
|
||||
/*SkillResearch*/
|
||||
//case EQEmu::item::BagTypeLexicon:
|
||||
@@ -670,18 +670,18 @@ SkillUseTypes Object::TypeToSkill(uint32 type)
|
||||
case EQEmu::item::BagTypeNecromancersLexicon:
|
||||
case EQEmu::item::BagTypeEnchantersLexicon:
|
||||
//case EQEmu::item::BagTypeConcordanceofResearch:
|
||||
return SkillResearch;
|
||||
return EQEmu::skills::SkillResearch;
|
||||
|
||||
/*SkillTailoring*/
|
||||
case EQEmu::item::BagTypeSewingKit:
|
||||
//case EQEmu::item::BagTypeHalflingTailoringKit:
|
||||
//case EQEmu::item::BagTypeErudTailoringKit:
|
||||
//case EQEmu::item::BagTypeFierDalTailoringKit:
|
||||
return SkillTailoring;
|
||||
return EQEmu::skills::SkillTailoring;
|
||||
|
||||
/*SkillTinkering*/
|
||||
case EQEmu::item::BagTypeToolBox:
|
||||
return SkillTinkering;
|
||||
return EQEmu::skills::SkillTinkering;
|
||||
|
||||
/*Undefined*/
|
||||
default:
|
||||
@@ -718,7 +718,7 @@ void Client::TradeskillSearchResults(const std::string &query, unsigned long obj
|
||||
// Recipes that have either been made before or were
|
||||
// explicitly learned are excempt from that limit
|
||||
if (RuleB(Skills, UseLimitTradeskillSearchSkillDiff)
|
||||
&& ((int32)trivial - (int32)GetSkill((SkillUseTypes)tradeskill)) > RuleI(Skills, MaxTradeskillSearchSkillDiff)
|
||||
&& ((int32)trivial - (int32)GetSkill((EQEmu::skills::SkillType)tradeskill)) > RuleI(Skills, MaxTradeskillSearchSkillDiff)
|
||||
&& row[4] == nullptr)
|
||||
continue;
|
||||
|
||||
@@ -866,49 +866,50 @@ bool Client::TradeskillExecute(DBTradeskillRecipe_Struct *spec) {
|
||||
// Some tradeskills are more eqal then others. ;-)
|
||||
// If you want to customize the stage1 success rate do it here.
|
||||
// Remember: skillup_modifier is (float). Lower is better
|
||||
switch(spec->tradeskill) {
|
||||
case SkillFletching:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpFletching);
|
||||
break;
|
||||
case SkillAlchemy:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpAlchemy);
|
||||
break;
|
||||
case SkillJewelryMaking:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpJewelcrafting);
|
||||
break;
|
||||
case SkillPottery:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpPottery);
|
||||
break;
|
||||
case SkillBaking:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBaking);
|
||||
break;
|
||||
case SkillBrewing:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBrewing);
|
||||
break;
|
||||
case SkillBlacksmithing:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBlacksmithing);
|
||||
break;
|
||||
case SkillResearch:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpResearch);
|
||||
break;
|
||||
case SkillMakePoison:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpMakePoison);
|
||||
break;
|
||||
case SkillTinkering:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpTinkering);
|
||||
break;
|
||||
default:
|
||||
skillup_modifier = 2;
|
||||
break;
|
||||
}
|
||||
switch(spec->tradeskill) {
|
||||
case EQEmu::skills::SkillFletching:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpFletching);
|
||||
break;
|
||||
case EQEmu::skills::SkillAlchemy:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpAlchemy);
|
||||
break;
|
||||
case EQEmu::skills::SkillJewelryMaking:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpJewelcrafting);
|
||||
break;
|
||||
case EQEmu::skills::SkillPottery:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpPottery);
|
||||
break;
|
||||
case EQEmu::skills::SkillBaking:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBaking);
|
||||
break;
|
||||
case EQEmu::skills::SkillBrewing:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBrewing);
|
||||
break;
|
||||
case EQEmu::skills::SkillBlacksmithing:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpBlacksmithing);
|
||||
break;
|
||||
case EQEmu::skills::SkillResearch:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpResearch);
|
||||
break;
|
||||
case EQEmu::skills::SkillMakePoison:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpMakePoison);
|
||||
break;
|
||||
case EQEmu::skills::SkillTinkering:
|
||||
skillup_modifier = RuleI(Character, TradeskillUpTinkering);
|
||||
break;
|
||||
default:
|
||||
skillup_modifier = 2;
|
||||
break;
|
||||
}
|
||||
|
||||
// Some tradeskills take the higher of one additional stat beside INT and WIS
|
||||
// to determine the skillup rate. Additionally these tradeskills do not have an
|
||||
// -15 modifier on their statbonus.
|
||||
if (spec->tradeskill == SkillFletching || spec->tradeskill == SkillMakePoison) {
|
||||
if (spec->tradeskill == EQEmu::skills::SkillFletching || spec->tradeskill == EQEmu::skills::SkillMakePoison) {
|
||||
thirdstat = GetDEX();
|
||||
stat_modifier = 0;
|
||||
} else if (spec->tradeskill == SkillBlacksmithing) {
|
||||
}
|
||||
else if (spec->tradeskill == EQEmu::skills::SkillBlacksmithing) {
|
||||
thirdstat = GetSTR();
|
||||
stat_modifier = 0;
|
||||
}
|
||||
@@ -1045,7 +1046,7 @@ bool Client::TradeskillExecute(DBTradeskillRecipe_Struct *spec) {
|
||||
return(false);
|
||||
}
|
||||
|
||||
void Client::CheckIncreaseTradeskill(int16 bonusstat, int16 stat_modifier, float skillup_modifier, uint16 success_modifier, SkillUseTypes tradeskill)
|
||||
void Client::CheckIncreaseTradeskill(int16 bonusstat, int16 stat_modifier, float skillup_modifier, uint16 success_modifier, EQEmu::skills::SkillType tradeskill)
|
||||
{
|
||||
uint16 current_raw_skill = GetRawSkill(tradeskill);
|
||||
|
||||
@@ -1290,7 +1291,7 @@ bool ZoneDatabase::GetTradeRecipe(uint32 recipe_id, uint8 c_type, uint32 some_id
|
||||
return false;//just not found i guess..
|
||||
|
||||
auto row = results.begin();
|
||||
spec->tradeskill = (SkillUseTypes)atoi(row[1]);
|
||||
spec->tradeskill = (EQEmu::skills::SkillType)atoi(row[1]);
|
||||
spec->skill_needed = (int16)atoi(row[2]);
|
||||
spec->trivial = (uint16)atoi(row[3]);
|
||||
spec->nofail = atoi(row[4]) ? true : false;
|
||||
@@ -1406,43 +1407,43 @@ void Client::LearnRecipe(uint32 recipeID)
|
||||
results = database.QueryDatabase(query);
|
||||
}
|
||||
|
||||
bool Client::CanIncreaseTradeskill(SkillUseTypes tradeskill) {
|
||||
bool Client::CanIncreaseTradeskill(EQEmu::skills::SkillType tradeskill) {
|
||||
uint32 rawskill = GetRawSkill(tradeskill);
|
||||
uint16 maxskill = MaxSkill(tradeskill);
|
||||
|
||||
if (rawskill >= maxskill) //Max skill sanity check
|
||||
return false;
|
||||
|
||||
uint8 Baking = (GetRawSkill(SkillBaking) > 200) ? 1 : 0;
|
||||
uint8 Smithing = (GetRawSkill(SkillBlacksmithing) > 200) ? 1 : 0;
|
||||
uint8 Brewing = (GetRawSkill(SkillBrewing) > 200) ? 1 : 0;
|
||||
uint8 Fletching = (GetRawSkill(SkillFletching) > 200) ? 1 : 0;
|
||||
uint8 Jewelry = (GetRawSkill(SkillJewelryMaking) > 200) ? 1 : 0;
|
||||
uint8 Pottery = (GetRawSkill(SkillPottery) > 200) ? 1 : 0;
|
||||
uint8 Tailoring = (GetRawSkill(SkillTailoring) > 200) ? 1 : 0;
|
||||
uint8 Baking = (GetRawSkill(EQEmu::skills::SkillBaking) > 200) ? 1 : 0;
|
||||
uint8 Smithing = (GetRawSkill(EQEmu::skills::SkillBlacksmithing) > 200) ? 1 : 0;
|
||||
uint8 Brewing = (GetRawSkill(EQEmu::skills::SkillBrewing) > 200) ? 1 : 0;
|
||||
uint8 Fletching = (GetRawSkill(EQEmu::skills::SkillFletching) > 200) ? 1 : 0;
|
||||
uint8 Jewelry = (GetRawSkill(EQEmu::skills::SkillJewelryMaking) > 200) ? 1 : 0;
|
||||
uint8 Pottery = (GetRawSkill(EQEmu::skills::SkillPottery) > 200) ? 1 : 0;
|
||||
uint8 Tailoring = (GetRawSkill(EQEmu::skills::SkillTailoring) > 200) ? 1 : 0;
|
||||
uint8 SkillTotal = Baking + Smithing + Brewing + Fletching + Jewelry + Pottery + Tailoring; //Tradeskills above 200
|
||||
//New Tanaan AA: Each level allows an additional tradeskill above 200 (first one is free)
|
||||
uint8 aaLevel = spellbonuses.TradeSkillMastery + itembonuses.TradeSkillMastery + aabonuses.TradeSkillMastery;
|
||||
|
||||
switch (tradeskill) {
|
||||
case SkillBaking:
|
||||
case SkillBlacksmithing:
|
||||
case SkillBrewing:
|
||||
case SkillFletching:
|
||||
case SkillJewelryMaking:
|
||||
case SkillPottery:
|
||||
case SkillTailoring:
|
||||
if (aaLevel == 6)
|
||||
break; //Maxed AA
|
||||
if (SkillTotal == 0)
|
||||
break; //First tradeskill freebie
|
||||
if ((SkillTotal == (aaLevel + 1)) && (rawskill > 200))
|
||||
break; //One of the tradeskills already allowed to go over 200
|
||||
if ((SkillTotal >= (aaLevel + 1)) && (rawskill >= 200))
|
||||
return false; //One or more tradeskills already at or beyond limit
|
||||
break;
|
||||
default:
|
||||
break; //Other skills unchecked and ability to increase assumed true
|
||||
case EQEmu::skills::SkillBaking:
|
||||
case EQEmu::skills::SkillBlacksmithing:
|
||||
case EQEmu::skills::SkillBrewing:
|
||||
case EQEmu::skills::SkillFletching:
|
||||
case EQEmu::skills::SkillJewelryMaking:
|
||||
case EQEmu::skills::SkillPottery:
|
||||
case EQEmu::skills::SkillTailoring:
|
||||
if (aaLevel == 6)
|
||||
break; //Maxed AA
|
||||
if (SkillTotal == 0)
|
||||
break; //First tradeskill freebie
|
||||
if ((SkillTotal == (aaLevel + 1)) && (rawskill > 200))
|
||||
break; //One of the tradeskills already allowed to go over 200
|
||||
if ((SkillTotal >= (aaLevel + 1)) && (rawskill >= 200))
|
||||
return false; //One or more tradeskills already at or beyond limit
|
||||
break;
|
||||
default:
|
||||
break; //Other skills unchecked and ability to increase assumed true
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user