diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm index de0c34cc12c..7b039127f4a 100644 --- a/code/modules/vehicles/_vehicle.dm +++ b/code/modules/vehicles/_vehicle.dm @@ -172,8 +172,9 @@ . = ..() if(emulate_door_bumps) if(istype(A, /obj/machinery/door)) + var/obj/machinery/door/conditionalwall = A for(var/m in occupants) - A.Bumped(m) + conditionalwall.bumpopen(m) /obj/vehicle/Move(newloc, dir) . = ..() diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index 662b2de5267..d04fc2a933b 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -336,39 +336,39 @@ return FALSE return TRUE -/obj/item/mecha_parts/mecha_equipment/ripleyupgrade/attach(obj/vehicle/sealed/mecha/M) - var/obj/vehicle/sealed/mecha/working/ripley/mk2/N = new (get_turf(M),1) - if(!N) +/obj/item/mecha_parts/mecha_equipment/ripleyupgrade/attach(obj/vehicle/sealed/mecha/markone) + var/obj/vehicle/sealed/mecha/working/ripley/mk2/marktwo = new (get_turf(markone),1) + if(!marktwo) return - QDEL_NULL(N.cell) - if (M.cell) - N.cell = M.cell - M.cell.forceMove(N) - M.cell = null - QDEL_NULL(N.scanmod) - if (M.scanmod) - N.scanmod = M.scanmod - M.scanmod.forceMove(N) - M.scanmod = null - QDEL_NULL(N.capacitor) - if (M.capacitor) - N.capacitor = M.capacitor - M.capacitor.forceMove(N) - M.capacitor = null - N.update_part_values() - for(var/obj/item/mecha_parts/E in M.contents) - if(istype(E, /obj/item/mecha_parts/concealed_weapon_bay)) //why is the bay not just a variable change who did this - E.forceMove(N) - for(var/obj/item/mecha_parts/mecha_equipment/E in M.equipment) //Move the equipment over... - E.detach(M) - E.attach(N) - N.dna_lock = M.dna_lock - N.mecha_flags = M.mecha_flags - N.strafe = M.strafe - N.obj_integrity = M.obj_integrity //This is not a repair tool - if(M.name != initial(M.name)) - N.name = M.name - M.wreckage = FALSE - qdel(M) - playsound(get_turf(N),'sound/items/ratchet.ogg',50,TRUE) + QDEL_NULL(marktwo.cell) + if (markone.cell) + marktwo.cell = markone.cell + markone.cell.forceMove(marktwo) + markone.cell = null + QDEL_NULL(marktwo.scanmod) + if (markone.scanmod) + marktwo.scanmod = markone.scanmod + markone.scanmod.forceMove(marktwo) + markone.scanmod = null + QDEL_NULL(marktwo.capacitor) + if (markone.capacitor) + marktwo.capacitor = markone.capacitor + markone.capacitor.forceMove(marktwo) + markone.capacitor = null + marktwo.update_part_values() + for(var/obj/item/mecha_parts/equipment in markone.contents) + if(istype(equipment, /obj/item/mecha_parts/concealed_weapon_bay)) //why is the bay not just a variable change who did this + equipment.forceMove(marktwo) + for(var/obj/item/mecha_parts/mecha_equipment/equipment in markone.equipment) //Move the equipment over... + equipment.detach(marktwo) + equipment.attach(marktwo) + marktwo.dna_lock = markone.dna_lock + marktwo.mecha_flags = markone.mecha_flags + marktwo.strafe = markone.strafe + marktwo.obj_integrity = round((markone.obj_integrity / markone.max_integrity) * marktwo.obj_integrity) //Integ set to the same percentage integ as the old mecha, rounded to be whole number + if(markone.name != initial(markone.name)) + marktwo.name = markone.name + markone.wreckage = FALSE + qdel(markone) + playsound(get_turf(marktwo),'sound/items/ratchet.ogg',50,TRUE) return diff --git a/code/modules/vehicles/mecha/working/clarke.dm b/code/modules/vehicles/mecha/working/clarke.dm index 36b6a0d4356..dadc3c5a723 100644 --- a/code/modules/vehicles/mecha/working/clarke.dm +++ b/code/modules/vehicles/mecha/working/clarke.dm @@ -18,6 +18,7 @@ /obj/vehicle/sealed/mecha/working/clarke/Initialize() . = ..() + box = new(src) var/obj/item/mecha_parts/mecha_equipment/orebox_manager/ME = new(src) ME.attach(src) diff --git a/code/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm index 363485cc6bf..94c96bc89de 100644 --- a/code/modules/vehicles/mecha/working/ripley.dm +++ b/code/modules/vehicles/mecha/working/ripley.dm @@ -44,8 +44,6 @@ /obj/vehicle/sealed/mecha/working/ripley/Initialize() . = ..() - //Add ore box to cargo, here because the clarke has a unremovable box - LAZYADD(cargo, box) AddComponent(/datum/component/armor_plate,3,/obj/item/stack/sheet/animalhide/goliath_hide,list(MELEE = 10, BULLET = 5, LASER = 5)) diff --git a/code/modules/vehicles/mecha/working/working.dm b/code/modules/vehicles/mecha/working/working.dm index de496d8e51f..72952f1f800 100644 --- a/code/modules/vehicles/mecha/working/working.dm +++ b/code/modules/vehicles/mecha/working/working.dm @@ -4,10 +4,6 @@ /// Handles an internal ore box for working mechs var/obj/structure/ore_box/box -/obj/vehicle/sealed/mecha/working/Initialize() - . = ..() - box = new(src) - /obj/vehicle/sealed/mecha/working/Destroy() QDEL_NULL(box) return ..()