@Add service.h #define ENABLE_REGEN_RENEWAL @Find char_battle.cpp CHARACTER::Dead @Add End Function #ifdef ENABLE_REGEN_RENEWAL if (!IsPC() && !GetDungeon()) { if (GetRegen() != NULL) regen_event_create(GetRegen()); } #endif @Find cmd_gm.cpp struct FuncPurge @Find Second M2_DESTROY_CHARACTER(pkChr); @Add Upper #ifdef ENABLE_REGEN_RENEWAL if (!pkChr->IsPC() && !pkChr->GetDungeon()) if (pkChr->GetRegen() != NULL) regen_event_create(pkChr->GetRegen()); #endif @Find regen.cpp EVENTFUNC(regen_event) @Find Second return PASSES_PER_SEC(regen->time); @Change #ifdef ENABLE_REGEN_RENEWAL regen->event = NULL; return 0; #else return PASSES_PER_SEC(regen->time); #endif @Find regen.cpp bool regen_load @Find Second regen_event_info* info = AllocEventInfo(); info->regen = regen; regen->event = event_create(regen_event, info, PASSES_PER_SEC(regen->time)); @Change #ifndef ENABLE_REGEN_RENEWAL regen_event_info* info = AllocEventInfo(); info->regen = regen; regen->event = event_create(regen_event, info, PASSES_PER_SEC(regen->time)); #endif @Find regen.cpp @Add End #ifdef ENABLE_REGEN_RENEWAL void regen_event_create(LPREGEN regen) { if (!regen) return; if (regen->time != 0) { regen_event_info* info = AllocEventInfo(); info->regen = regen; regen->event = event_create(regen_event, info, PASSES_PER_SEC(regen->time)); } } #endif @Find regen.h @Add End #ifdef ENABLE_REGEN_RENEWAL extern void regen_event_create(LPREGEN regen); #endif @Find char.h @Add public: #ifdef ENABLE_REGEN_RENEWAL LPREGEN GetRegen(); #endif @Find char.cpp @Add End LPREGEN CHARACTER::GetRegen() { return m_pkRegen; }