Fixed Merc spell recast timers, changed how Mercs add mobs to their hate lists (should prevent IsEngaged() issues), initial Caster DPS Merc spell casting AI, initial Merc stance implementation, Mercs now suspend when their owner dies to prevent them being bugged (until it can be fixed), added 2 seconds between spell casts to be live-like.

This commit is contained in:
badcaptain
2013-03-14 19:51:29 -04:00
parent af1f87a00f
commit 0a805feeec
11 changed files with 1104 additions and 130 deletions
+10 -3
View File
@@ -665,6 +665,7 @@ void Zone::LoadMercTemplates(){
}
else {
while(DataRow = mysql_fetch_row(DatasetResult)) {
int stanceIndex = 0;
MercTemplate tempMercTemplate;
tempMercTemplate.MercTemplateID = atoi(DataRow[0]);
@@ -678,11 +679,17 @@ void Zone::LoadMercTemplates(){
tempMercTemplate.ClientVersion = atoi(DataRow[8]);
tempMercTemplate.MercNPCID = atoi(DataRow[9]);
for(std::list<MercStanceInfo>::iterator mercStanceListItr = merc_stances.begin(); mercStanceListItr != merc_stances.end(); mercStanceListItr++) {
for(int i = 0; i < MaxMercStanceID; i++) {
tempMercTemplate.Stances[i] = 0;
}
for(std::list<MercStanceInfo>::iterator mercStanceListItr = merc_stances.begin(); mercStanceListItr != merc_stances.end(); mercStanceListItr++) {
if(mercStanceListItr->ClassID == tempMercTemplate.ClassID && mercStanceListItr->ProficiencyID == tempMercTemplate.ProficiencyID) {
zone->merc_stance_list[tempMercTemplate.MercTemplateID].push_back((*mercStanceListItr));
}
zone->merc_stance_list[tempMercTemplate.MercTemplateID].push_back((*mercStanceListItr));
tempMercTemplate.Stances[stanceIndex] = mercStanceListItr->StanceID;
stanceIndex++;
}
}
merc_templates[tempMercTemplate.MercTemplateID] = tempMercTemplate;
}