#🏍・custom
jackpoz
Jul 15, 2026 · 23:45
Even just using CalculatePath
jackpoz
Jul 15, 2026 · 23:47
And always check the path type of the resulting path
jackpoz
Jul 15, 2026 · 23:48
TrinityCore Open Source MMO Framework (master = 12.0.7.68453, 3.3.5 = 3.3.5a.12340, cata classic = 4.4.2.60895) - TrinityCore/TrinityCore
jackpoz
Jul 15, 2026 · 23:49
It will have values from this enum (as a flag) that give a lot of information
jackpoz
Jul 15, 2026 · 23:52
https://github.com/TrinityCore/TrinityCore/blob/fd9c486839d862dbb0a64ae1c42fc98cf57988c7/src/server/game/Movement/MovementGenerators/ConfusedMovementGenerator.cpp#L149 is an example of how to check that
TrinityCore Open Source MMO Framework (master = 12.0.7.68453, 3.3.5 = 3.3.5a.12340, cata classic = 4.4.2.60895) - TrinityCore/TrinityCore
Celeby
Jul 16, 2026 · 09:11
@jackpoz thanks for the pointers. However this may go above my head 😛 but looking at calculate path, it still uses the same defined MAX_PATH_LENGTH which leads to ~300y maximum path. So even if I would generate a path from origin to destination I would have the same issue when the path is longer than 300y. Or am I not understanding this right?
Shauren
Jul 16, 2026 · 09:16
that is correct
Celeby
Jul 16, 2026 · 09:18
Thanks Shauren! Something tells me I should avoid wanting to generate paths longer than that anyway... especially when i have many bots around
jackpoz
Jul 16, 2026 · 09:28
Maybe this shouldn't build a shortcut https://github.com/TrinityCore/TrinityCore/blob/fd9c486839d862dbb0a64ae1c42fc98cf57988c7/src/server/game/Movement/PathGenerator.cpp#L592
TrinityCore Open Source MMO Framework (master = 12.0.7.68453, 3.3.5 = 3.3.5a.12340, cata classic = 4.4.2.60895) - TrinityCore/TrinityCore
jackpoz
Jul 16, 2026 · 09:28
Dunno if it still provides a partial valid path
Crane
Jul 25, 2026 · 12:31
@Shauren I have a technical question: if you're using a taxi service and the server crashes, it doesn't matter you just continue the journey after logging back in. However, if you're in a vehicle, a crash could potentially cause you to plummet to your death.
Is there a way to prevent that? If so, where would one need to make changes?
Snowcraft
Jul 25, 2026 · 15:06
That sounds like you'd want a custom script that runs on server boot to automatically detect players that aren't on a flight path above the ground and have them then automatically moved to the floor?
Snowcraft
That sounds like you'd want a custom script that runs on server boot to automati…
Crane
Jul 25, 2026 · 17:56
I make extensive use of vehicles specifically for flight events. A player clicks on an NPC, automatically mounts up, and then completes the journey; everything works perfectly, just as intended.
The problem is that there’s no safety net if the player disconnects or the server crashes, as the player would then plummet to their death.
I’ve been thinking for a long time about how to solve this perhaps specifically for my flight circuits or events.
Snowcraft
Jul 25, 2026 · 18:02
As I said, if you can detect when a player isn't on a flight path, such as having been on a vehicle, you can detect if they're above the floor on server reboot and move them to the floor, saving them from said fatal fall.
Snowcraft
As I said, if you can detect when a player isn't on a flight path, such as havin…
Crane
Jul 25, 2026 · 18:09
That’s a bit tricky with temporary summoned NPCs, because the information is lost as soon as the server restarts or a player disconnects.
The taxi system is also temporary, but I believe that all runs via a database that stores the position and the fact that the player is inside the taxi. However, I don't know the exact technical details of how it works.
Snowcraft
Jul 25, 2026 · 18:10
Check the players.
Snowcraft
Jul 25, 2026 · 18:11
Check that the player is up in the air on server reload.
Snowcraft
Jul 25, 2026 · 18:11
And then move them to the ground.
Snowcraft
Jul 25, 2026 · 18:11
You don't gotta check NPCs that don't exist.
Snowcraft
Jul 25, 2026 · 18:12
You just gotta check that the player isn't actively on a taxi flight, is above the terrain and not indoors, and then put them back on the terrain beneath them.
Snowcraft
*Check the players.*
Crane
Jul 25, 2026 · 18:16
Unfortunately, it’s not quite as simple as you imagine. There are several factors involved for instance, what if a player wants to intentionally crash for an achievement or something similar using a "jump spell"? That would trigger the effect every time. It needs to be specific to the vehicle, and the problem there is that the vehicle is only spawned temporarily.
I’ve had similar thoughts, but that approach doesn’t work for me.
Snowcraft
Jul 25, 2026 · 18:18
Then you straight up can't solve it. You are looking to detect something that no longer exists.
Snowcraft
Jul 25, 2026 · 18:18
Also, why would you intentionally crash the server for an achievement? x.x. Like, the fuck?
Snowcraft
Then you straight up can't solve it. You are looking to detect something that no…
Crane
Jul 25, 2026 · 18:22
Don't get me wrong I don't want to crash the server on purpose; it can simply happen that a server goes down. You see that often with Blizzard's retail servers or at least that used to be the case, with frequent disconnects. It makes no difference whether it's a crash or a player disconnect; both lead to the same result: the player's death.
Snowcraft
Jul 25, 2026 · 18:23
You specifically said "what if a player wants to intentionally crash for an achievement".
Snowcraft
Jul 25, 2026 · 18:23
My solution was specifically also for server crashes.
Snowcraft
Jul 25, 2026 · 18:24
To put anyone in the sky on the floor on reboot as a safety feature. Doesn't do anything about relogging in the sky.
Snowcraft
Jul 25, 2026 · 18:24
You can't stop players being stupid sometimes, but you can put in a safety net when it's not their fault.
Snowcraft
Jul 25, 2026 · 18:24
Such as a script. That puts them on the ground. When the server boots up.
Snowcraft
You specifically said "what if a player wants to intentionally crash for an achi…
Crane
Jul 25, 2026 · 18:27
I mean the achievement: https://www.wowhead.com/achievement=964/going-down. You’d never be able to complete it, because the player would be detected while airborne and teleported to the ground or if someone were to parachute down, and so on... ^^
Then I must have expressed myself poorly. ^^
Fall 65 yards without dying. In the Exploration Achievements category. Always up to date with the latest patch (12.0.7).
Crane
I mean the achievement: https://www.wowhead.com/achievement=964/going-down. You’…
Snowcraft
Jul 25, 2026 · 18:27
Not if the script only happens on server reboot
Snowcraft
Jul 25, 2026 · 18:28
It's not just constantly running to teleport people to the floor.
Snowcraft
Jul 25, 2026 · 18:28
The whole point of the suggested script was it only runs on reboot.
Snowcraft
Jul 25, 2026 · 18:28
One. Single. Time.
Snowcraft
It's not just constantly running to teleport people to the floor.
Crane
Jul 25, 2026 · 18:30
Okay, let's assume that would work how would you handle a disconnect? The player's internet cuts out, they lose the connection to the server, log back in, and then dead. ^^
Snowcraft
Jul 25, 2026 · 18:31
Shrugs. Can't handle all instances.
Shauren
Jul 25, 2026 · 18:32
give the player a custom (hidden maybe) parachute aura when they enter your custom vehicle (tune its duration so it matches how long they are expected to stay on vehicle)
Crane
Jul 25, 2026 · 18:33
The only way I see to do it would be to reprogram the vehicle behavior and store the player in a separate database table, similar to a Txi flight. I’m not entirely sure if that’s technically feasible, though.
Snowcraft
Jul 25, 2026 · 18:36
Crane, I can't tell if you're being an idiot or a contrarian or both, but, like, it genuinely is as simple as "if they're in the sky on server reboot/login, move them to the floor" or "if they're in the sky on login, apply a parachute/slowfall aura."
Shauren
Jul 25, 2026 · 18:37
oh i didnt mean to try and detect being in sky on login for that parachute idea
Shauren
Jul 25, 2026 · 18:37
i meant to just always cast it on entering the vehicle
Crane
Jul 25, 2026 · 18:39
I tested this once using a parachute aura and added a condition via SAI: if a passenger leaves the vehicle, cast the parachute spell on self. It works, but only if the player exits the vehicle themselves. I haven't tested the idea involving a different aura, like the one Shauren mentioned.
Crane
Jul 25, 2026 · 18:42
It would be interesting to know how Blizzard handles the vehicles when such a situation arises.
Shauren
Jul 25, 2026 · 18:43
you die
Shauren
Jul 25, 2026 · 18:43
they sometimes even fail to restore taxi after leaving a lfg dungeon!
Shauren
they sometimes even fail to restore taxi after leaving a lfg dungeon!
Crane
Jul 25, 2026 · 18:47
I often use those kinds of flying vehicles for quests like the ones from the Dragon Soul raid in Cataclysm, for example. I don't think the sequence where you get flown to the Maw and receive the parachute aura to glide down into it is just programmed using standard flight paths.
Crane
Jul 25, 2026 · 18:49
...or the flight in Hyjal where you fly to the Firelands for a quest and Ragnaros appears I think those are all vehicle-based flight paths, not standard flight paths.
Crane
Jul 25, 2026 · 18:51
Or the quest from Dalaran to Sholazar Basin that involves a vehicle where you fly for a while, too.
Snowcraft
Jul 25, 2026 · 18:56
I'm pretty sure those were standard flight paths that just had a weird way of entering them, no?
Snowcraft
I'm pretty sure those were standard flight paths that just had a weird way of en…
Crane
Jul 25, 2026 · 18:58
No, that would have to be a vehicle flight, since you can't apply an aura to the player while they're on a taxi or even make the NPC speak once the destination is reached.
Crane
Jul 25, 2026 · 18:59
I remember that when you're in the temple, the NPC has the taxi icon, but then gets the parachute aura at the destination.
Snowcraft
Jul 25, 2026 · 19:01
You can 100% have scripts trigger from path nodes being reached, and include delays.
Snowcraft
Jul 25, 2026 · 19:02
Taxis and boats use the same exact pathing tracks and that's how boats and zeppelins get the "transport has arrived" shouts to work, I'm pretty sure.
Snowcraft
Jul 25, 2026 · 19:03
The player can't do anything while on a taxi, but they can still be hit by non-hostile auras I'm pretty sure.
Snowcraft
You can 100% have scripts trigger from path nodes being reached, and include del…
Crane
Jul 25, 2026 · 19:07
https://youtu.be/7BLejd-vDe4?t=243 That’s a vehicle; you can see it being summoned and only taking off a few seconds later... if it were a taxi, the player would take off instantly.
In this video, I’ll walk you through how to solo the Dragon Soul raid from the Cataclysm expansion to farm three unique mounts: Experiment 12-B, Life-Binder's Handmaiden, and the Blazing Drake! 🐉
Experiment 12-B drops from Ultraxion, the fifth boss in the raid, while Life-Binder's Handmaiden and Blazing Drake drop from the final boss encou...
Snowcraft
Jul 25, 2026 · 19:09
Well, if you log off in the middle of that, that's a you problem. You can't protect players from themselves all the time.
Snowcraft
Jul 25, 2026 · 19:10
You also can't be held responsible if their internet shits itself.
Shauren
Jul 25, 2026 · 19:12
your character isnt immediately removed from world when you disconnect on retail (no we dont have this on tc)
Crane
Jul 25, 2026 · 19:13
Yeah, I realize you can't protect the player from everything.
Shauren
your character isnt immediately removed from world when you disconnect on retail…
Crane
Jul 25, 2026 · 19:14
Why not, actually? Is it not technically feasible, or what is the reason?
Anduin Llane Wrynn
Jul 29, 2026 · 21:34
@Ovahlord Hey just wondering what Linux you use and do you also play wow on Linux or just running the server on Linux?
1
Anduin Llane Wrynn
@Ovahlord Hey just wondering what Linux you use and do you also play wow on Linu…
1
Ovahlord
Jul 29, 2026 · 22:50
I daily drive Linux for everything. I'm using Fedora 44 right now
1
Ovahlord
I daily drive Linux for everything. I'm using Fedora 44 right now
Anduin Llane Wrynn
Jul 29, 2026 · 23:11 (edited)
Oh nice! yeah been wondering which one to use because been testing Nobara 44, Bazzite, and CachyOS newest updates, which I know isn't suppose to be used. Been trying gnome and kde environments for each. Which environment do you use? I am going to try that next, thanks.
Anduin Llane Wrynn
Oh nice! yeah been wondering which one to use because been testing Nobara 44, Ba…
Ovahlord
Jul 30, 2026 · 05:43
Screw these forks. Stay with the original ones (Debian, Fedora, Arch or Nix)
I'm using KDE because I want a proper desktop, not a weird tablet surface like Gnome
Ovahlord
Screw these forks. Stay with the original ones (Debian, Fedora, Arch or Nix)
I'm…
Anduin Llane Wrynn
Jul 30, 2026 · 18:48
Wow your right now I know why you said screw all the forks lol
Fabian
Jul 30, 2026 · 18:55
Especially for gaming and dev you have nicer experiences with those xx based distros. Almost always :kek:
Смердокрыл
Jul 30, 2026 · 21:56
🙋♂️ I've been running Debian with KDE for years and couldn't be happier
Смердокрыл
Jul 30, 2026 · 21:56
Okay, that was before they started pushing r*st rewrite packages but that's a common problem
Смердокрыл
Jul 30, 2026 · 21:57
Games and TC work great
Kakukkokkal
Jul 31, 2026 · 02:40
Rust rewrite is Ubuntu, though, not Debian.
Смердокрыл
Jul 31, 2026 · 03:49 (edited)
Granted Ubuntu is like... Debian + worse in every single way, but I heard Debian also might switch to uutils and they're shoving r*st into apt
jackpoz
Aug 06, 2026 · 22:28
You pay for the extra support, so you don't have to learn it yourself
Anduin Llane Wrynn
@Ovahlord Hey just wondering what Linux you use and do you also play wow on Linu…
Jman
Aug 07, 2026 · 04:46
I host my server on debian 13
Crane
Aug 13, 2026 · 18:26
@Shaurensorry for a big question:
I wanted to copy this quest: https://www.wowhead.com/wotlk/quest=13003/how-to-slay-your-dragon
So, I headed to my island and, as a test, applied the original script to my model. The only things I changed were the
spell_condition and spell_impact_target so that my custom model could land hits with the spear.
Everything works perfectly up to Phase 2; then I get dismounted but am not put back on the mount like in the original. I thought it might be an issue with my model, so I took the original quest from Hodir but swapped only the NPC model ID for my custom model and it worked.
So, I spawn my custom model in the Hodir quest area, throw the spear, and mount up; everything goes fine until Phase 2. At that point, I suddenly find myself riding the blue proto-drake again instead of my own. Is there some hardcoded logic somewhere dictating that Phase 2 must look for NPC 30275 and remount it?
The only spells with conditions are 56673 and 56671.
In the phase following the execution of spell 60603, I either end up mounted on 30275 or am not placed back onto the NPC.
I’ve searched through the TC code but can’t find anything, and as I said, the issue isn't with the model.
Shauren
check all of these
Crane
Aug 13, 2026 · 18:38
`INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUES
(13, 1, 56673, 0, 0, 31, 0, 3, 30275, 0, 0, 'Potential target of the spell is creature, entry is Wild Wyrm (30275)'),
(13, 1, 56673, 0, 1, 31, 0, 3, 101178, 0, 0, 'Potential target of the spell is creature, entry is 101178');
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUES
(17, 0, 56671, 0, 0, 31, 1, 3, 30275, 0, 0, 'Explicit target of the spell (only for spells which take object selected by caster into account) is creature, entry is Wild Wyrm (30275)'),
(17, 0, 56671, 0, 1, 31, 1, 3, 101178, 0, 0, 'Explicit target of the spell (only for spells which take object selected by caster into account) is creature, entry is 101178');
Those are the only conditions that exist, and my model mount is included there; I didn't change anything else—I just added my NPC and otherwise used the original script. However, starting from phase 2, I’m no longer mounted on 101178 but back on 30275, so that transition phase must be defined somewhere.
Shauren
Aug 13, 2026 · 18:51
i told you to check all the spells from my list
Shauren
Aug 13, 2026 · 18:51
you ignored that but 60863 is what you are missing
Shauren
you ignored that but 60863 is what you are missing
Crane
Aug 13, 2026 · 19:06
Okay, I couldn't find the spell because it doesn't appear in the script. I only just realized what you meant about the condition, but the spell isn't defined in the C++ script.
Shauren
Aug 13, 2026 · 19:06
its triggered by a different spell by reading spell basepoints, id is not hardcoded in script
Shauren
its triggered by a different spell by reading spell basepoints, id is not hardco…
Crane
Aug 13, 2026 · 19:08
Okay, now the penny’s dropped. I never really grasped the concept of spell basepoints, but I do remember seeing a long number in the basepoint field for one of the spells I just couldn't make sense of it at the time.
Shauren
Aug 13, 2026 · 19:09
oh they can hold just about anything in there when effect is DUMMY or SCRIPT
Shauren
Aug 13, 2026 · 19:09
in this case it was a spellid
Shauren
oh they can hold just about anything in there when effect is DUMMY or SCRIPT
Crane
Aug 13, 2026 · 19:22
Okay, now I just need to find the spell that uses this spell as its base point. I've just gone through all of them, and only spell 60596 has 60862 as its base point but that spell doesn't exist.
Shauren
Aug 13, 2026 · 19:23
it is 60596
Shauren
Aug 13, 2026 · 19:23
spell effect value isnt as simple as just reading the basepoints from dbc
Shauren
Aug 13, 2026 · 19:24
spellwork can interpret that correctly
Shauren
spell effect value isnt as simple as just reading the basepoints from dbc
Crane
Aug 13, 2026 · 19:26
Lol, I never would have thought of that in a million years.
Shauren
spellwork can interpret that correctly
Crane
Aug 13, 2026 · 19:49
Could you make the "Spellwork" tool available for download? I can't seem to get it to compile in Visual Studio. +
Shauren
Aug 13, 2026 · 19:50
thats just saying it doesnt see dbc files
Shauren
thats just saying it doesnt see dbc files
Crane
Aug 13, 2026 · 19:51
I only have the German DBC files for 3.3.5, not the English ones.
Shauren
Aug 13, 2026 · 19:53
is your spellwork icon blue or green?
Shauren
Aug 13, 2026 · 19:54
it might sound like a silly question but spellwork for master and 335 have different icons
Crane
Aug 13, 2026 · 19:54
green
Shauren
Aug 13, 2026 · 19:54
335 is blue
Shauren
Aug 13, 2026 · 19:54
switch to
master branch in spellwork repo (master in spellwork = wotlk)
Shauren
switch to `master` branch in spellwork repo (master in spellwork = wotlk)
Crane
Aug 13, 2026 · 20:04
Yeah, it worked now. And that’s where you can actually see the real spell ID for the base point.
I never would have figured that out in a million years.


