Limit casting skill ups to casting skills

This commit is contained in:
Michael Cook (mackal) 2016-08-03 23:06:00 -04:00
parent 66fec40169
commit c81a5e0783
3 changed files with 24 additions and 8 deletions

View File

@ -110,6 +110,19 @@ bool EQEmu::skills::IsBardInstrumentSkill(SkillType skill)
}
}
bool EQEmu::skills::IsCastingSkill(SkillType skill)
{
switch (skill) {
case SkillAbjuration:
case SkillAlteration:
case SkillConjuration:
case SkillEvocation:
return true;
default:
return false;
}
}
const std::map<EQEmu::skills::SkillType, std::string>& EQEmu::skills::GetSkillTypeMap()
{
/* VS2013 code

View File

@ -161,10 +161,11 @@ namespace EQEmu
// server profile does not reflect this yet..so, prefixed with 'PACKET_'
#define PACKET_SKILL_ARRAY_SIZE 100
extern bool IsTradeskill(SkillType skill);
extern bool IsSpecializedSkill(SkillType skill);
extern float GetSkillMeleePushForce(SkillType skill);
extern bool IsBardInstrumentSkill(SkillType skill);
bool IsTradeskill(SkillType skill);
bool IsSpecializedSkill(SkillType skill);
float GetSkillMeleePushForce(SkillType skill);
bool IsBardInstrumentSkill(SkillType skill);
bool IsCastingSkill(SkillType skill);
extern const std::map<SkillType, std::string>& GetSkillTypeMap();

View File

@ -1327,12 +1327,14 @@ void Mob::CastedSpellFinished(uint16 spell_id, uint32 target_id, CastingSlot slo
SetMana(GetMana());
// skills
c->CheckIncreaseSkill(spells[spell_id].skill, nullptr);
if (EQEmu::skills::IsCastingSkill(spells[spell_id].skill)) {
c->CheckIncreaseSkill(spells[spell_id].skill, nullptr);
// increased chance of gaining channel skill if you regained concentration
c->CheckIncreaseSkill(EQEmu::skills::SkillChanneling, nullptr, regain_conc ? 5 : 0);
// increased chance of gaining channel skill if you regained concentration
c->CheckIncreaseSkill(EQEmu::skills::SkillChanneling, nullptr, regain_conc ? 5 : 0);
c->CheckSpecializeIncrease(spell_id);
c->CheckSpecializeIncrease(spell_id);
}
}
}