ID:2283696
 
BYOND Version:511
Operating System:Windows 7 Ultimate 64-bit
Web Browser:Chrome 60.0.3112.90
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:

When editing a variable in the prototype editor to contain a modified type in a variable, the type path itself becomes lost without any error message. This will result in compilation of the map to fail.

Numbered Steps to Reproduce Problem:

1) Edit a prototype:



2) Press OK.

3) Compile.



This will cause the map to fail until the error has been fixed. Which, we can only fix manually now.

"j" = (/mob/monster{ai = {flee_dist = 1; aggro_dist = 1; behavior = "flee"}; icon_state = "chicken"; move_delay = 3},/turf{icon_state = "11"},/area)


This is the offending line in the DMM. So maybe you are thinking that this isn't a problem because the map format doesn't support modified types? Well, that sucks because you are wrong. It does. modified types are how the map editor works under the hood.

"j" = (/mob/monster{ai = /ai{flee_dist = 1; aggro_dist = 1; behavior = "flee"}; icon_state = "chicken"; move_delay = 3},/turf{icon_state = "11"},/area)


Simple change. Let's save the map and recompile. 0 errors. 0 warnings. Now let's edit that prototype again in the map editor.



Now we can't make any changes whatsoever to this object without having to manually edit the DMM, because the exporter is straight up mangling our modified types.

Worse, when we place one of these objects that has been corrected manually on the map, the map editor breaks again...
It should be noted that if /ai is parent_typed to /obj, this doesn't happen.
That parent type thing is a good clue.