Implement instance modes, full-group departures and mandatory flight regions

This commit is contained in:
Nico committed 2026-10-30 02:15:06 +01:00
1 parent bc8f171055
commit 373818628d
40 files changed
+1838 -82

No files matched your search

@@ -6,6 +6,7 @@ s=(root/'src/server/game/World/AdventureBehaviorMgr.cpp').read_text()
a=s.index('void AdventureBehaviorMgr::Update(');b=s.index('bool AdventureBehaviorMgr::Command(',a)
code=r'''
#include "AdventureBehaviorPolicy.h"
#include "AdventureGroupPolicy.h"
#include <cassert>
#include <cstdint>
#include <ctime>
@@ -55,7 +56,7 @@ class AdventureBehaviorMgr {
public:
enum class Phase{Idle,Travel,OnSite,Switching,Handover};
struct Record{
bool Enabled=true,Schedule=false,Queued=false,Dirty=false;
bool Enabled=true,Schedule=false,Queued=false,Dirty=false;AdventureGroupPolicy::Departure Departure;
Phase State=Phase::Travel;
std::string Intent="social",Location="tavern",WantedIntent="social",WantedLocation="tavern",Detail,Micro,ManualNextIntent,ManualNextLocation;
time_t Deadline=1000;uint32 AreaRevision=0,Date=20261026,Timer=0,MicroTimer=0,GestureTimer=0,RetryTimer=0;int Hour=5;
@@ -71,6 +72,7 @@ public:
bool AdoptGroup(Player*,Player*){return false;}
bool UpdateNavigationRescue(Player*,Record&){return false;}
bool UpdateGathering(Player*,Record&,time_t){return false;}
bool UpdateDeparture(Player*,Record&,time_t){return false;}
void Update(Player*,uint32);
void EnterPlayerInstance(Player*);
void Generate(Player*,Record&,uint32){}