View Full Version : CT Doesn't Update Vehicle Handling (SWADE)
Mike Serfass
June 9th, 2024, 21:06
In Savage Worlds, I dropped a vehicle into the combat tracker from a PC's inventory vehicle tab.
When I open the vehicle from CT and change Handling, the change is on the vehicle sheet, but <handling> in the underlying db.xml under <combattracker> does not update.
I forced a save and it still does not update the CT entry, even though the vehicle sheet is correct.
Also, it doesn't matter what Handling is set to, when dropped in CT Handling is set to 2.
The vehicle on the character sheet has Handling 5, CT sets Handling to 2, when you open the vehicle from CT is shows 5, but in db.xml Handling is 2.
If I drop a vehicle from the Vehicles list, it sets handling properly, and changes it in CT if I change it on the vehicle.
This bug is only with vehicles dropped from a character sheet.
Moon Wizard
June 10th, 2024, 19:19
I tried dragging a vehicle from the PC inventory to CT; and the handling was being pulled from the sheet as far as I could tell. Clicking on the link and editing via PC sheet or CT seemed to work.
Can you show me a screen clip of where the handling is not updating; and the screen clip where the link was that you opened those windows from? Or a specific set of steps to see the issue?
Thanks,
JPG
Mike Serfass
June 10th, 2024, 20:18
Here are the steps, which reproduce this bug every time. I tried this with a different campaign to verify it's not an issue with that specific campaign.
Open the character Hana, find the vehicle on the Inventory tab.
Open Dangerous Guppy to verify Handling is 3.
Drag Dangerous Guppy to CT from inventory.
Open Dangerous Guppy from CT, verify Handling is 3.
Use /save.
Open db.xml, find Dangerous Guppy under <combattracker>, check Handling.
Sometimes it comes in properly, sometimes as 2.
Open Dangerous Guppy from CT, change Handling to 4.
Use /save.
Open db.xml, find Dangerous Guppy under <combattracker>, check Handling.
Handling is still 3.
Open Dangerous Guppy from CT, Handling is 4.
Open Dangerous Guppy from character sheet, Handling is 4.
Handling is still 3 in db.xml.
Here are a couple of screenshots.
61049
61050
Here's a link to the campaign I first saw this in. (It's too large to attach even with images deleted.)
Test Renegades of Quar Dai.zip (https://drive.google.com/file/d/1zzWZ2iGZEz93FA4nAiRh5o7ggsgG2hyu/view?usp=drive_link)
Let me know if there's anything else I can provide.
Thanks!
Moon Wizard
June 11th, 2024, 01:34
When I do this on my machine the handling is correct; so I assume it is one of the 7 extensions that you have loaded that is overriding the default behavior. I don't have all those extensions on my machine.
<extension name="CharacterAdvances" />
<extension name="ConversionChecker" />
<extension name="SettingMakerTweaks" />
<extension name="QuarDaiTweaks" />
<extension name="SFCPlaytest" />
<extension name="S2P10013FG2" />
<extension name="SWK99003-theme" />
Regards,
JPG
Mike Serfass
June 11th, 2024, 15:45
Unfortunately, it's not an extension doing this. This bug still occurs when running with no extensions (including themes).
I created a brand new campaign. No extensions, and only the SWADE core rules.
I created a character (Tim), and put a harrier in his inventory.
I dropped the Harrier from Tim to the CT.
I changed Tim's Harrier handling to 2. It stayed 1 in db.xml.
I changed handling to 3, set the harrier to read only, closed the window, closed CT, opened them all, handling is 3 on the page but 1 in db.xml.
I closed the campaign, opened it, the Harrier has handling 3, but db.xml still shows 1.
The handling is not being updated in CT.
I can produce this bug consistently.
The campaign is attached.
Look at combatants in db.xml, then open the campaign, open the vehicle from CT, note the difference.
(I didn't hand change it to mess with you, I promise.)
Moon Wizard
June 11th, 2024, 19:16
Ok, I think I see the confusion. I was looking in the record UI for the handling value; which updates fine whether from CT or from PC. You're looking at the raw database, which is probably just an initial copy of the data.
Looking at the code, I reviewed the changes from before I worked on the combat tracker. It doesn't look like the code ever had a synchronization from the PC sheet to CT for any data fields except for name/senses. I'll add a basic synch for handling/vehicletoughness for now; but I'm hesitant to pull apart and try anything more complex since I'm not familiar with the SW actor/vehicle code or how it might be affected. Technically, it should probably realize that the CT vehicle is a PC vehicle and pull from the source (instead of CT record).
Regards,
JPG
Mike Serfass
June 11th, 2024, 20:36
Thanks Moon!
That means if speed, toughness, or weapons are changed, that will not perpetuate to CT either.
That's a problem and will become more so as the Sci-Fi Companion is played and implemented. Lots of vehicle stuff involved in sci-fi games.
For my fellow Savage players, don't use vehicles from a character sheet. Keep the vehicle updated in the Vehicles list and use that each combat.
Moon Wizard
June 11th, 2024, 21:21
They get updated if you remove from the CT and re-add; as it becomes a new copy.
Regards,
JPG
Moon Wizard
June 12th, 2024, 00:22
For the additional comments I've seen, anything else would require a significant rewrite (to redirect to PC version) or massive linking/update tree (to keep both synchronized). The rewrite is beyond my knowledge of SW ruleset and available time at this point; while the other would be very heavy performance wise. It will most likely have to wait until someone picks up the SW ruleset development gauntlet.
Regards,
JPG
Mike Serfass
June 12th, 2024, 21:28
I understand significant rewrites to unfamiliar code bases.
We have an acceptable work-around that isn't too much of a hassle. Your update should catch most scenarios of those who don't know the work-around.
Thanks Moon Wizard!
Lonewolf
June 13th, 2024, 00:17
I understand significant rewrites to unfamiliar code bases.
We have an acceptable work-around that isn't too much of a hassle. Your update should catch most scenarios of those who don't know the work-around.
Thanks Moon Wizard!
How about this for a work around. Use the existing button on the CT to add a copy of what is in character inventory. No need for synchronization?
For my fellow Savage players, don't use vehicles from a character sheet. Keep the vehicle updated in the Vehicles list and use that each combat.
WTF? Your player don't use character sheets? Can you explain this use case is sounds bizarre? How exactly are you using vehicles?
Looking at the code, I reviewed the changes from before I worked on the combat tracker. It doesn't look like the code ever had a synchronization from the PC sheet to CT for any data fields except for name/senses.
Yes that is how it has always worked.
I'll add a basic synch for handling
And what is the reason change this?
Is this change optional?
Sorry I am totally confused by all of this. I cannot see a bug. Please explain any that have been added? Help me to get my head around this.
Mike Serfass
June 13th, 2024, 02:36
Vehicles are added to player character sheets, to the vehicles inventory tab.
This is used for special vehicles.
For example, a character may purchase a jetbike, drop it from Vehicles to inventory, then mod it. And give it a cool name.
This vehicles is specific to that character. This is done instead of adding a new vehicle to the Vehicles list.
A chase happens, so the jetbike is dragged from the character sheet to the CT.
Just like named NPCs / allies. A base NPC is dropped on the character sheet Allies section. That NPC isn't the typical one from the NPCs list.
So, don't use the Vehicles tab under Inventory. Those vehicles won't update in CT.
Using the button in CT is the same as dragging it from the character. If I change the vehicles handling, toughness, whatever, it's not updated in db.xml, so attacks, damage, maneuvering rolls, etc are not calculated properly. That's the bug.
Mike Serfass
June 13th, 2024, 02:45
And just like vehicles, NPCs dropped onto the CT from the player's character sheet do not update.
I dropped an NPC from the character sheet Allies section to CT.
I opened the NPC from the CT and changed Toughness.
I saved the game and looked at db.xml.
The NPC's toughness did not change.
I opened the NPC from CT and the player character sheet. Toughness was changed.
I saved again and looked at db.xml. Toughness was the old value.
On the CT it lists toughness with the old value.
Rolling damage against the NPC calculated against the old Toughness.
This means that Allies used from the character sheet are broken.
So, like vehicles, don't use the Allies section of the character sheet for allies / named NPCs.
This happens because the CT creates a copy of the NPC / vehicle, but the link button on CT that opens the sheet opens the referenced record from the character sheet, not the copy in the <combattracker> node.
One fix would be to update that link button to open the node uncer <combattracker> rather than the referenced record.
The downside is that you're always working with a copy rather than the original. So any changes resulting from combat wouldn't carry over to the record on the player's sheet.
That's how items from the NPC and Vehicles templates behave.
If the npcs and vehicles on a character sheet work the same way, there's no point in having those sections on a character sheet.
I'm not saying that's good or bad. It means GMs have to handle named characters and vehicles differently.
Moon Wizard
June 13th, 2024, 17:16
This is all original SW ruleset implementation, so I'm not familiar with what the thinking was on these items to make them like that.
I just hooked up a few NPC fields at the top level without issues (such as Toughness/Parry/Size/Armor); but anything nested (aka attacks, etc.) would not be updated without re-adding NPC to the CT. Again, it's a performance/implementation issue that is much deeper in the code than I'm familiar with.
Regards,
JPG
Powered by vBulletin® Version 4.2.1 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.