Core/Scripts: Razorscale Rewrite#19828
Conversation
describe them |
|
I can't set speed for only 1 movement like sniff shows. I can't reproduce a movement with these flags: |
|
|
||
| void JustDied(Unit* /*killer*/) override | ||
| void SpellHit(Unit* caster, SpellInfo const* spell) override |
There was a problem hiding this comment.
src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp:503:29: fatal error:
unused parameter 'caster' [-Wunused-parameter]
void SpellHit(Unit* caster, SpellInfo const* spell) override
^
| (33186,0,3,33282,606.2806,-137.2628,391.6004,4.537856,8,0); -- Razorscale Harpoon Fire State | ||
|
|
||
| DELETE FROM `gossip_menu_option` WHERE `menu_id`=10314; | ||
| INSERT INTO `gossip_menu_option` (`menu_id`, `id`, `option_icon`, `option_text`, `OptionBroadcastTextID`, `option_id`, `npc_option_npcflag`, `action_menu_id`, `action_poi_id`, `box_coded`, `box_money`, `box_text`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES |
There was a problem hiding this comment.
Some of the DB column names have changed recently :
DELETE FROM `gossip_menu_option` WHERE `MenuID`=10314;
INSERT INTO `gossip_menu_option` (`MenuID`,`OptionID`,`OptionIcon`,`OptionText`,`OptionBroadcastTextID`,`OptionType`,`OptionNpcFlag`,`ActionMenuID`,`ActionPoiID`,`BoxCoded`,`BoxMoney`,`BoxText`,`BoxBroadcastTextID`,`VerifiedBuild`) VALUES| (10314, 0, 0, 'We are ready to help!', 33353, 1, 1, 0, 0, 0, 0, '', 0, 0); | ||
|
|
||
| DELETE FROM `creature_text` WHERE `entry`=33210; | ||
| INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES |
There was a problem hiding this comment.
Here also :
DELETE FROM `creature_text` WHERE `CreatureID`=33210;
INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUESThere was a problem hiding this comment.
why they changed it ? :(
|
I don't think that is correct because of the state it is in |
|
OK, we may have to wait and see how travis-ci compiles this time. The previous compile included the SQL files, but for some reason they don't show up as part of the compile on my screen after the latest update. |
|
@codeman8214 what ?! @tkrokli you are a angel <3 |
|
|
Looks good |
The problem is here: Setting Flying will unset Catmullrom and viceversa. |
|
@ariel- @Keader that sniff parse to me looks like a wod/legion wpp format with the substructures. If that is the case then you need to remember that spline flag combinations are different between 3.3.5 and cataclysm+ (starting with cata they are mostly the same until latest version). In 3.3.5 flying & catmullrom are never together but in legion they can be (and also the wpp enum is slightly outdated for legion flags) |
|
@ccrs why we dont have some function that allow pass custom MoveSpline, and pass flags to MoveSpline? Movement::MoveSplineInit init(me);
init.SetVelocity(21.f);
init.MoveTo(RazorscalePoints[0]);
init.SetFlags(Movement::MoveSplineFlag::Flying | Movement::MoveSplineFlag::Walkmode);
me->GetMotionMaster()->MoveCustomSpline(POINT_COMBAT, init);I need reproduce this packet: About issue
After wipe (in perma_ground_phase) he lose flying animation and start "walk in the air" |
|
Walkmode name is wrong and has already been renamed in master (applies to 3.3.5 too) - this flag means CanSwim |
|
what sharuen said + you can always send your spline and use a placeholder movement to keep it like movepoint with charge id (check gunship battle) |
|
Add that flag and handle movement flags and stuff within script, this part of code is probably overwriting your stuff |
|
yay, something is wrong (idk if is core issue, or i fuckedup something) DummyEntryCheckPredicate pred;
summons.DoAction(ACTION_START_FIGHT, pred);This action ACTION_START_FIGHT is not getted for any creature in summon list |
|
Because SummonList::DoAction has a third optional parameter, max list size, defaults 0 and EDIT: Almost, this relied on Trinity::Containers::RandomResize (predicate version) to not resize the list if size 0 is passed, this was changed perhaps unintentionally when doing the Containers refactor. |
|
Rebase on 8188511 to get rid of the DoAction bug |
|
we can erase the "movement sytem is bugged" cloud now 💃 |
| #include "ObjectAccessor.h" | ||
| #include "PassiveAI.h" | ||
| #include "PathGenerator.h" |
There was a problem hiding this comment.
Can't see what you need PathGenerator for
There was a problem hiding this comment.
without it, i got error in:
uint32 const pathSize = 11;
G3D::Vector3 const RazorscalePath[pathSize] ="Error (active) incomplete type is not allowed scripts_northrend c:\Users\Bradley\Documents\Trinity\src\server\scripts\Northrend\Ulduar\Ulduar\boss_razorscale.cpp 279
"
There was a problem hiding this comment.
Should be changed to #include <G3D/Vector3.h> right?
And what the rule to put this includes? alphabetical order?
There was a problem hiding this comment.
Yes and yes (with ScriptMgr.h first)
| const Position RazorFlight = { 588.050f, -251.191f, 470.536f, 1.498f }; | ||
| const Position RazorGround = { 586.966f, -175.534f, GROUND_Z, 4.682f }; | ||
| const Position PosEngSpawn = { 591.951f, -95.9680f, GROUND_Z, 0.000f }; | ||
| const Position RazorFlightPosition = { 585.3610f, -173.5592f, 456.8430f, 1.526665f }; |
There was a problem hiding this comment.
Position const (codestyle and consistency with rest of consts)
|
i'm thinking about merge it... |
|
Oh, right. I almost thought this was merged already. |
|
also the bug that made the fire chase players is solved, u can remove the ai |
|
ok ccrs, i will do it tomorrow morning, ty. |
(cherry picked from commit d825a06)
…cale Replace all harpoon fire state creature GUID lookups with spatial proximity searches (FindNearestCreature/GetCreaturesWithEntryInRange) and GO entry-based spell selection, inspired by TrinityCore's Razorscale rewrite (TrinityCore/TrinityCore#19828). - boss_razorscale: Remove SPELL_LAUNCH_CHAIN handler that matched caster GUIDs; chain spells are now cast directly by the fire state creature. Use GetCreaturesWithEntryInRange for EVENT_FLY_UP harpoon reset instead of iterating instance GUID data. - npc_ulduar_harpoonfirestate: Replace GetGuidData identity checks with FindNearestGameObject proximity + X-position fallback to determine which harpoon gun corresponds to this creature. Cast the chain spell directly on Razorscale instead of SPELL_LAUNCH_CHAIN. - go_ulduar_working_harpoon: Use FindNearestCreature to locate the nearby fire state NPC instead of instance GUID lookup. Map GO entry to chain spell directly. - npc_ulduar_expedition_commander: Use GetCreaturesWithEntryInRange to reset fire state NPCs on encounter start. - npc_ulduar_expedition_engineer: Use GetCreaturesWithEntryInRange to find unrepaired harpoons instead of instance GUID iteration. - instance_ulduar: Remove m_RazorscaleHarpoonFireStateGUID storage and associated OnCreatureCreate/GetGuidData handlers. - ulduar.h: Remove DATA_HARPOON_FIRE_STATE_1-4 constants. Based on TrinityCore/TrinityCore#19828 by Keader (Lucas Nascimento). Co-Authored-By: Claude Opus 4.6 <[email protected]>
…cale Replace all harpoon fire state creature GUID lookups with spatial proximity searches (FindNearestCreature/GetCreaturesWithEntryInRange) and GO entry-based spell selection, inspired by TrinityCore's Razorscale rewrite (TrinityCore/TrinityCore#19828). - boss_razorscale: Remove SPELL_LAUNCH_CHAIN handler that matched caster GUIDs; chain spells are now cast directly by the fire state creature. Use GetCreaturesWithEntryInRange for EVENT_FLY_UP harpoon reset instead of iterating instance GUID data. - npc_ulduar_harpoonfirestate: Replace GetGuidData identity checks with FindNearestGameObject proximity + X-position fallback to determine which harpoon gun corresponds to this creature. Cast the chain spell directly on Razorscale instead of SPELL_LAUNCH_CHAIN. - go_ulduar_working_harpoon: Use FindNearestCreature to locate the nearby fire state NPC instead of instance GUID lookup. Map GO entry to chain spell directly. - npc_ulduar_expedition_commander: Use GetCreaturesWithEntryInRange to reset fire state NPCs on encounter start. - npc_ulduar_expedition_engineer: Use GetCreaturesWithEntryInRange to find unrepaired harpoons instead of instance GUID iteration. - instance_ulduar: Remove m_RazorscaleHarpoonFireStateGUID storage and associated OnCreatureCreate/GetGuidData handlers. - ulduar.h: Remove DATA_HARPOON_FIRE_STATE_1-4 constants. Based on TrinityCore/TrinityCore#19828 by Keader (Lucas Nascimento). Co-Authored-By: Claude Opus 4.6 <[email protected]>
Changes proposed:
Target branch(es): 3.3.5
Issues addressed: Closes #13056, #19038
Tests performed: Builded and tested in game
Known issues and TODO list:
Many thanks to the good friends who helped me in this fight. ❤️