From 343bbb28c172cf8db67981e5df1f4e6f23e0c4b7 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Tue, 23 Feb 2016 06:30:03 -0800 Subject: [PATCH] Miners can now collect ore by walking on it while having an ore satchel on --- code/modules/mining/mine_turfs.dm | 16 ---------------- code/modules/mining/ore.dm | 25 +++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 427f6bcd42d..60108127dd3 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -542,22 +542,6 @@ var/global/list/rockTurfEdgeCache for (var/turf/t in range(1,src)) t.updateMineralOverlays() - - -/turf/simulated/floor/plating/airless/asteroid/Entered(atom/movable/M as mob|obj) - ..() - if(istype(M,/mob/living/silicon/robot)) - var/mob/living/silicon/robot/R = M - if(istype(R.module, /obj/item/weapon/robot_module/miner)) - if(istype(R.module_state_1,/obj/item/weapon/storage/bag/ore)) - attackby(R.module_state_1,R) - else if(istype(R.module_state_2,/obj/item/weapon/storage/bag/ore)) - attackby(R.module_state_2,R) - else if(istype(R.module_state_3,/obj/item/weapon/storage/bag/ore)) - attackby(R.module_state_3,R) - else - return - /turf/simulated/floor/plating/airless/asteroid/cave var/length = 100 var/mob_spawn_list = list("Goldgrub" = 1, "Goliath" = 5, "Basilisk" = 4, "Hivelord" = 3) diff --git a/code/modules/mining/ore.dm b/code/modules/mining/ore.dm index f1def2e0270..e51069a92f8 100644 --- a/code/modules/mining/ore.dm +++ b/code/modules/mining/ore.dm @@ -16,6 +16,31 @@ user << "Not enough fuel to smelt [src]." ..() +/obj/item/weapon/ore/Crossed(AM as mob|obj) + var/obj/item/weapon/storage/bag/ore/OB + var/turf/simulated/floor/F = get_turf(src) + if(loc != F) + return ..() + if(ishuman(AM)) + var/mob/living/carbon/human/H = AM + OB = H.is_in_hands(/obj/item/weapon/storage/bag/ore) + if(!OB) + if(istype(H.s_store, /obj/item/weapon/storage/bag/ore)) + OB = H.s_store + else if(istype(H.belt, /obj/item/weapon/storage/bag/ore)) + OB = H.belt + else if(isrobot(AM)) + var/mob/living/silicon/robot/R = AM + for(var/thing in R.get_all_slots()) + if(istype(thing, /obj/item/weapon/storage/bag/ore)) + OB = thing + break + if(OB && istype(F, /turf/simulated/floor/plating/airless/asteroid)) + F.attackby(OB, AM) + return ..() + + + /obj/item/weapon/ore/uranium name = "uranium ore" icon_state = "Uranium ore"