Merge master

This commit is contained in:
KimLS
2013-06-05 16:58:11 -07:00
15 changed files with 299 additions and 48 deletions
+7 -4
View File
@@ -1850,7 +1850,7 @@ bool NPC::Attack(Mob* other, int Hand, bool bRiposte, bool IsStrikethrough, bool
damage = (max_dmg+eleBane);
}
damage = mod_npc_damage(damage, skillinuse, Hand, &weapon_inst, other);
damage = mod_npc_damage(damage, skillinuse, Hand, weapon, other);
int32 hate = damage;
if(IsPet())
@@ -2114,10 +2114,13 @@ bool NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
Group *kg = entity_list.GetGroupByClient(give_exp_client);
Raid *kr = entity_list.GetRaidByClient(give_exp_client);
int32 finalxp = EXP_FORMULA;
finalxp = give_exp_client->mod_client_xp(finalxp, this);
if(kr)
{
if(!IsLdonTreasure) {
kr->SplitExp((EXP_FORMULA), this);
kr->SplitExp((finalxp), this);
if(killerMob && (kr->IsRaidMember(killerMob->GetName()) || kr->IsRaidMember(killerMob->GetUltimateOwner()->GetName())))
killerMob->TrySpellOnKill(killed_level,spell);
}
@@ -2158,7 +2161,7 @@ bool NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
else if (give_exp_client->IsGrouped() && kg != nullptr)
{
if(!IsLdonTreasure) {
kg->SplitExp((EXP_FORMULA), this);
kg->SplitExp((finalxp), this);
if(killerMob && (kg->IsGroupMember(killerMob->GetName()) || kg->IsGroupMember(killerMob->GetUltimateOwner()->GetName())))
killerMob->TrySpellOnKill(killed_level,spell);
}
@@ -2207,7 +2210,7 @@ bool NPC::Death(Mob* killerMob, int32 damage, uint16 spell, SkillType attack_ski
if(GetOwner() && GetOwner()->IsClient()){
}
else {
give_exp_client->AddEXP((EXP_FORMULA), conlevel); // Pyro: Comment this if NPC death crashes zone
give_exp_client->AddEXP((finalxp), conlevel); // Pyro: Comment this if NPC death crashes zone
if(killerMob && (killerMob->GetID() == give_exp_client->GetID() || killerMob->GetUltimateOwner()->GetID() == give_exp_client->GetID()))
killerMob->TrySpellOnKill(killed_level,spell);
}