From e5d61ee90e3bc8cab6c570ccee5f3ce6b7f6691b Mon Sep 17 00:00:00 2001 From: Aaron Kimbrell Date: Thu, 1 Oct 2026 04:55:03 -0500 Subject: [PATCH] fix(scripts): lightning garden orbs knock players back again (issue 1352) As L_LIGHTNING_ORB_SERVER: knockback (dx*2.5, 15, dz*2.5) and the orb's knockback effect; it was off while platforms didn't run on the server. Co-Authored-By: Claude Opus 5.5 --- dScripts/02_server/Map/njhub/LightningOrbServer.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dScripts/02_server/Map/njhub/LightningOrbServer.cpp b/dScripts/02_server/Map/njhub/LightningOrbServer.cpp index e686d540d..d97605c02 100644 --- a/dScripts/02_server/Map/njhub/LightningOrbServer.cpp +++ b/dScripts/02_server/Map/njhub/LightningOrbServer.cpp @@ -1,4 +1,6 @@ #include "LightningOrbServer.h" +#include "CombatMessages.h" +#include "EffectsMessages.h" void LightningOrbServer::OnCollisionPhantom(Entity* self, Entity* target) { GameMessages::GetPosition playerPos; @@ -6,7 +8,12 @@ void LightningOrbServer::OnCollisionPhantom(Entity* self, Entity* target) { GameMessages::GetPosition selfPos; selfPos.Send(self->GetObjectID()); const NiPoint3 newVec((playerPos.pos.x - selfPos.pos.x) * 2.5, 15, (playerPos.pos.z - selfPos.pos.z) * 2.5); - // ahhhh aron said to put a TODO here moving platforms don't work lol. disable this so people can actually do the puzzle - // GameMessages::SendKnockback(target->GetObjectID(), self->GetObjectID(), self->GetObjectID(), 0, newVec); - // GameMessages::SendPlayFXEffect(target->GetObjectID(), -1, u"knockback", "knockback"); + // L_LIGHTNING_ORB_SERVER (issue 1352): it was off while the platforms didn't move with the server + GameMessages::Knockback knockback; + knockback.target = target->GetObjectID(); + knockback.Caster = self->GetObjectID(); + knockback.Originator = self->GetObjectID(); + knockback.vector = newVec; + knockback.Send(UNASSIGNED_SYSTEM_ADDRESS); + GameMessages::PlayFXEffect(self->GetObjectID(), -1, u"knockback", "knockback").Send(UNASSIGNED_SYSTEM_ADDRESS); }