mirror of
https://github.com/EQEmu/Server.git
synced 2026-06-21 18:58:21 +00:00
LDON tweaks, working branch, average_level pass
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user