LDON tweaks, working branch, average_level pass

This commit is contained in:
Akkadius
2021-02-09 23:57:31 -06:00
parent 10ffcf155d
commit aff1223181
9 changed files with 75 additions and 12 deletions
+11
View File
@@ -26,6 +26,7 @@ Adventure::Adventure(AdventureTemplate *t)
count = 0;
assassination_count = 0;
instance_id = 0;
}
Adventure::Adventure(AdventureTemplate *t, int count, int assassination_count, AdventureStatus status, uint16 instance_id, uint32 time_left)
@@ -425,3 +426,13 @@ void Adventure::MoveCorpsesToGraveyard()
}
}
int Adventure::GetAverageLevel() const
{
return average_level;
}
void Adventure::SetAverageLevel(int average_level)
{
Adventure::average_level = average_level;
}
+4
View File
@@ -87,6 +87,8 @@ public:
int GetCount() const { return count; }
int GetAssassinationCount() const { return assassination_count; }
uint32 GetRemainingTime() const { if(current_timer) { return (current_timer->GetRemainingTime() / 1000); } else { return 0; } }
int GetAverageLevel() const;
void SetAverageLevel(int average_level);
protected:
int id;
int count;
@@ -96,6 +98,8 @@ protected:
std::list<std::string> players;
Timer *current_timer;
int instance_id;
int average_level;
};
#endif
+10
View File
@@ -337,6 +337,10 @@ void AdventureManager::CalculateAdventureRequestReply(const char *data)
sra->theme = sar->template_id;
sra->id = (*ea_iter)->id;
sra->member_count = sar->member_count;
sra->average_level = avg_level;
LogAdventure("[AdventureManager::CalculateAdventureRequestReply] Adventure average level [{}]", avg_level);
memcpy((pack->pBuffer + sizeof(ServerAdventureRequestAccept_Struct)), (data + sizeof(ServerAdventureRequest_Struct)), (sar->member_count * 64));
zoneserver_list.SendPacket(leader->zone(), leader->instance(), pack);
delete pack;
@@ -442,6 +446,8 @@ void AdventureManager::TryAdventureCreate(const char *data)
}
}
adv->SetAverageLevel(src->average_level);
adventure_list.push_back(adv);
}
@@ -936,6 +942,10 @@ void AdventureManager::GetZoneData(uint16 instance_id)
zd->dest_y = temp->dest_y;
zd->dest_z = temp->dest_z;
zd->dest_h = temp->dest_h;
zd->average_level = current->GetAverageLevel();
LogAdventure("[AdventureManager::GetZoneData] Adventure average level [{}]", zd->average_level);
zoneserver_list.SendPacket(0, instance_id, pack);
delete pack;
}