fix(scripts): the water gun blows Forbidden Valley candles out

L_ACT_CANDLE also blows a candle out on the "waterspray" skill event; the port only did it on a hit. The 169
candles in Forbidden Valley now go out (and count for missions 850, 1431, 1529, 1566 and 1603) when sprayed. Check:
spray a candle with the water gun: it goes out, smokes, relights after 5 seconds, and the candle missions count it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-29 09:15:32 -05:00
parent f7d21b22c2
commit 8bf01a6c43
2 changed files with 6 additions and 0 deletions

View File

@@ -19,6 +19,11 @@ void FvCandle::OnHit(Entity* self, Entity* attacker) {
BlowOutCandle(self, attacker);
}
// The water gun blows candles out too
void FvCandle::OnSkillEventFired(Entity* self, Entity* caster, const std::string& message) {
if (message == "waterspray" && caster) BlowOutCandle(self, caster);
}
void FvCandle::BlowOutCandle(Entity* self, Entity* blower) {
if (self->GetBoolean(u"AmHit"))
return;

View File

@@ -6,6 +6,7 @@ class FvCandle : public CppScripts::Script
public:
void OnStartup(Entity* self);
void OnHit(Entity* self, Entity* attacker);
void OnSkillEventFired(Entity* self, Entity* caster, const std::string& message) override;
void OnTimerDone(Entity* self, std::string timerName);
private:
void BlowOutCandle(Entity* self, Entity* blower);