67359a7c88127

67359a7c88f44
4 Guests are here.
 

Topic: SS2 Unstable Grenades mod
Page: « 1 [2]
Read 2805 times  

67359a7c894c8sarge945

67359a7c89538
The metaprop is definitely the right way to go.

67359a7c89656ZylonBane

67359a7c896a6
That's great, but I'd still like to know why what should be identical operations are having different results.

67359a7c89881voodoo47

67359a7c898cf
assigning props via dml works 99% the same as applying them in the editor. this is the 1%, a dml quirk you have to be aware of else there will be issues. just like when you change the class tags/schema of a concrete object - no issues when changed in the editor, but if you do it via dml, you will have to save and reload at least once when playing the game for the change to be fully applied.

I was aware that something like this is going on (that's why my dmls stomp on empty script slots), but lacked the last piece of puzzle (the Grenades object, which by default doesn't have any scripts) which you now have provided - I will mention this peculiarity in the dml guide, I just need to give it some form that would be understandable by human beings.
« Last Edit: 02. October 2024, 13:26:08 by voodoo47 »

67359a7c89987ZylonBane

67359a7c899d2
Maybe when the DML processor automatically adds the script property before modifying it, it's copying the inherited script property, resulting in script duplication. I'll have to do some testing.

67359a7c89a8bvoodoo47

67359a7c89ad5
well.. sure, but I'm positive the only thing we can really do here is to describe the scenario thoroughly and file it under just don't.

67359a7c89c2eZylonBane

67359a7c89c79
Confirmed in DromEd, adding a Script object via DML duplicates the inherited script object. This is actually normal behavior in DromEd when adding most properties, whether it's a runtime inherited property or not. A handful of properties seem to be internally excepted from this copying, like the Script property. The DML processor apparently doesn't respect this flag or however it's implemented.

So... not sure if bug or intentional.

Anyway, fixed by moving to a metaprop. Mod updated. Removed your post advising to edit the DML so there isn't conflicting advice in the mod thread. Correct course of action is update the mod, not hack the mod.
Acknowledged by: voodoo47

67359a7c89d91voodoo47

67359a7c89ddc
and dml guide updated with the info.

also there is no sane scenario where you'd want script duplication to happen (editor or not), so this is unintended functionality at best, I'd say - remember, we had to fix quite a few instances of duplicate scripts both on the archetypes and concretes, very likely this has happened because the original mappers weren't aware of this and caused the duplication when adding the prop.
« Last Edit: 04. October 2024, 12:41:23 by voodoo47 »

67359a7c89e8cZylonBane

67359a7c89ef4
I see you've described "the DML loader will copy the inherited script property" in an impressively verbose way.

67359a7c89f97voodoo47

67359a7c89fe2
a master of eloquence, I ain't. feel free to edit and simplify.

Your name:
This box must be left blank:

System Shock 2 takes place on the star ship named ...:
4 Guests are here.
Yes, of course duct tape works in a near-vacuum. Duct tape works anywhere. Duct tape is magic and should be worshiped.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
67359a7c8aaa2