void CZone::IncreaseZoneCounter(CCharEntity* PChar) { DSP_DEBUG_BREAK_IF(PChar == nullptr); DSP_DEBUG_BREAK_IF(PChar->loc.zone != nullptr); DSP_DEBUG_BREAK_IF(PChar->PTreasurePool != nullptr); PChar->targid = m_zoneEntities->GetNewTargID(); if (PChar->targid >= 0x700) { ShowError(CL_RED"CZone::InsertChar : targid is high (03hX)\n" CL_RESET, PChar->targid); return; } m_zoneEntities->InsertPC(PChar); if (!ZoneTimer && !m_zoneEntities->CharListEmpty()) { createZoneTimer(); } CharZoneIn(PChar); }
CZoneInstance::CZoneInstance(ZONEID ZoneID, REGIONTYPE RegionID, CONTINENTTYPE ContinentID) : CZone(ZoneID, RegionID, ContinentID) { createZoneTimer(); }