This commit is contained in:
aozhiwei 2024-05-15 15:56:24 +08:00
parent ee70076369
commit 08243f9f9b
4 changed files with 25 additions and 1 deletions

View File

@ -374,6 +374,8 @@ enum EventAddBuff_e
kEventBuffLimitTimeKillTarget = 17, kEventBuffLimitTimeKillTarget = 17,
kEventBuffRevive = 18, kEventBuffRevive = 18,
kEventBuffDmgOut = 19, kEventBuffDmgOut = 19,
kEventEnterBattleMode = 20,
kEventLeaveBattleMode = 21,
kEventBuffEnd kEventBuffEnd
}; };

View File

@ -1176,6 +1176,7 @@ void Creature::Initialize()
}, },
&xtimer_attacher); &xtimer_attacher);
} }
GetTrigger()->LeaveBattleMode();
} else if (kRemoveNatureRecoverTimerEvent == event) { } else if (kRemoveNatureRecoverTimerEvent == event) {
room->xtimer.ModifyTime room->xtimer.ModifyTime
(nature_recover_hp_idle_timer, (nature_recover_hp_idle_timer,
@ -1183,6 +1184,7 @@ void Creature::Initialize()
if (!nature_recover_hp_timer.expired()) { if (!nature_recover_hp_timer.expired()) {
room->xtimer.Delete(nature_recover_hp_timer); room->xtimer.Delete(nature_recover_hp_timer);
} }
GetTrigger()->EnterBattleMode();
} }
}, },
&xtimer_attacher); &xtimer_attacher);

View File

@ -670,3 +670,21 @@ void Trigger::ClearDelayDelHandlers()
e->holder = nullptr; e->holder = nullptr;
} }
} }
void Trigger::EnterBattleMode()
{
TraverseCondBuffs
(kEventEnterBattleMode,
[this] (Buff* buff, bool& stop)
{
});
}
void Trigger::LeaveBattleMode()
{
TraverseCondBuffs
(kEventLeaveBattleMode,
[this] (Buff* buff, bool& stop)
{
});
}

View File

@ -36,7 +36,7 @@ enum EventId_e
kDownedEvent, kDownedEvent,
kUpdateEnergyShieldEvent, kUpdateEnergyShieldEvent,
kDestoryEnergyShieldEvent, kDestoryEnergyShieldEvent,
kCrazeModeEvent kCrazeModeEvent,
}; };
class Weapon; class Weapon;
@ -87,6 +87,8 @@ public:
void UpdateEnergyShield(int value, int new_time); void UpdateEnergyShield(int value, int new_time);
void DestoryEnergyShield(); void DestoryEnergyShield();
void EnterCrazeMode(); void EnterCrazeMode();
void EnterBattleMode();
void LeaveBattleMode();
std::weak_ptr<EventHandler> AddListener(int event_id, a8::CommonCbProc cb); std::weak_ptr<EventHandler> AddListener(int event_id, a8::CommonCbProc cb);
void RemoveEventHandler(std::weak_ptr<EventHandler> handler_ptr); void RemoveEventHandler(std::weak_ptr<EventHandler> handler_ptr);