diff --git a/code/modules/persistence/persistence.dm b/code/modules/persistence/persistence.dm index 29317bc37ef..316130d1566 100644 --- a/code/modules/persistence/persistence.dm +++ b/code/modules/persistence/persistence.dm @@ -78,6 +78,14 @@ in their list if(!path) throw EXCEPTION("Path not found: [path]") - var/atom/movable/thing = new path(loc) + // Since Initialize() eats the first argument + // we need to pass loc twice for organs, otherwise + // they'll never attach to the mob. But if it's passed + // for everything, it'll break shit cause it gets passed random args. + var/atom/movable/thing + if(ispath(path, /obj/item/organ)) + thing = new path(loc, loc) + else + thing = new path(loc) thing.deserialize(data) return thing