Fixes mining borg ore box movement astral sorcery

This commit is contained in:
Atermonera
2020-02-16 22:17:19 -08:00
committed by VirgoBot
parent 106711b0f3
commit c5b6dfa259
5 changed files with 78 additions and 11 deletions

View File

@@ -124,15 +124,6 @@ turf/simulated/mineral/floor/light_corner
if(air_master)
air_master.mark_for_update(src)
/turf/simulated/mineral/Entered(atom/movable/M as mob|obj)
. = ..()
if(istype(M,/mob/living/silicon/robot))
var/mob/living/silicon/robot/R = M
if(R.module)
for(var/obj/item/weapon/storage/bag/ore/O in list(R.module_state_1, R.module_state_2, R.module_state_3))
attackby(O, R)
return
/turf/simulated/mineral/proc/get_cached_border(var/cache_id, var/direction, var/icon_file, var/icon_state, var/offset = 32)
//Cache miss
if(!mining_overlay_cache["[cache_id]_[direction]"])

View File

@@ -1,6 +1,5 @@
/**********************Ore box**************************/
//Why the hell is this file called satchel_ore_boxdm.dm? -CK
/obj/structure/ore_box
icon = 'icons/obj/mining.dmi'
icon_state = "orebox0"
@@ -41,11 +40,15 @@
/obj/structure/ore_box/examine(mob/user)
to_chat(user, "That's an [src].")
<<<<<<< HEAD:code/modules/mining/satchel_ore_boxdm.dm
to_chat(user,desc)
// Borgs can now check contents too.
if((!istype(user, /mob/living/carbon/human)) && (!istype(user, /mob/living/silicon/robot)))
return
=======
to_chat(user, desc)
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693):code/modules/mining/ore_box.dm
if(!Adjacent(user)) //Can only check the contents of ore boxes if you can physically reach them.
return
@@ -70,11 +73,16 @@
set category = "Object"
set src in view(1)
<<<<<<< HEAD:code/modules/mining/satchel_ore_boxdm.dm
if(!istype(usr, /mob/living/carbon/human) && !istype(usr, /mob/living/silicon/robot)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes.
to_chat(usr, "<font color='red'>You are physically incapable of emptying the ore box.</font>")
=======
if(!ishuman(usr) && !isrobot(usr)) //Only living, intelligent creatures with gripping aparatti can empty ore boxes.
to_chat(usr, "<span class='warning'>You are physically incapable of emptying the ore box.</span>")
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693):code/modules/mining/ore_box.dm
return
if( usr.stat || usr.restrained() )
if(usr.stat || usr.restrained())
return
if(!Adjacent(usr)) //You can only empty the box if you can physically reach it
@@ -84,13 +92,21 @@
add_fingerprint(usr)
if(contents.len < 1)
<<<<<<< HEAD:code/modules/mining/satchel_ore_boxdm.dm
to_chat(usr, "<font color='red'>The ore box is empty.</font>")
=======
to_chat(usr, "<span class='warning'>The ore box is empty.</span>")
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693):code/modules/mining/ore_box.dm
return
for (var/obj/item/weapon/ore/O in contents)
contents -= O
O.loc = src.loc
<<<<<<< HEAD:code/modules/mining/satchel_ore_boxdm.dm
to_chat(usr, "<font color='blue'>You empty the ore box.</font>")
=======
to_chat(usr, "<span class='notice'>You empty the ore box.</span>")
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693):code/modules/mining/ore_box.dm
return

View File

@@ -903,6 +903,7 @@
/mob/living/silicon/robot/proc/radio_menu()
radio.interact(src)//Just use the radio's Topic() instead of bullshit special-snowflake code
<<<<<<< HEAD
/mob/living/silicon/robot/Move(a, b, flag)
@@ -954,6 +955,8 @@
B.gather_all(tile, src, 1) //Shhh, unless the bag fills, don't spam the borg's chat with stuff that's going on every time they move!
return
=======
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693)
/mob/living/silicon/robot/proc/self_destruct()
gib()
return

View File

@@ -32,3 +32,56 @@
var/datum/robot_component/actuator/A = get_component("actuator")
if (cell_use_power(A.active_usage))
return ..()
<<<<<<< HEAD
=======
/mob/living/silicon/robot/Move(a, b, flag)
. = ..()
if(module)
if(module.type == /obj/item/weapon/robot_module/robot/janitor)
var/turf/tile = loc
if(isturf(tile))
tile.clean_blood()
if (istype(tile, /turf/simulated))
var/turf/simulated/S = tile
S.dirt = 0
for(var/A in tile)
if(istype(A, /obj/effect))
if(istype(A, /obj/effect/rune) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay))
qdel(A)
else if(istype(A, /obj/item))
var/obj/item/cleaned_item = A
cleaned_item.clean_blood()
else if(istype(A, /mob/living/carbon/human))
var/mob/living/carbon/human/cleaned_human = A
if(cleaned_human.lying)
if(cleaned_human.head)
cleaned_human.head.clean_blood()
cleaned_human.update_inv_head(0)
if(cleaned_human.wear_suit)
cleaned_human.wear_suit.clean_blood()
cleaned_human.update_inv_wear_suit(0)
else if(cleaned_human.w_uniform)
cleaned_human.w_uniform.clean_blood()
cleaned_human.update_inv_w_uniform(0)
if(cleaned_human.shoes)
cleaned_human.shoes.clean_blood()
cleaned_human.update_inv_shoes(0)
cleaned_human.clean_blood(1)
cleaned_human << "<font color='red'>[src] cleans your face!</font>"
if((module_state_1 && istype(module_state_1, /obj/item/weapon/storage/bag/ore)) || (module_state_2 && istype(module_state_2, /obj/item/weapon/storage/bag/ore)) || (module_state_3 && istype(module_state_3, /obj/item/weapon/storage/bag/ore))) //Borgs and drones can use their mining bags ~automagically~ if they're deployed in a slot. Only mining bags, as they're optimized for mass use.
var/obj/item/weapon/storage/bag/ore/B = null
if(istype(module_state_1, /obj/item/weapon/storage/bag/ore)) //First orebag has priority, if they for some reason have multiple.
B = module_state_1
else if(istype(module_state_2, /obj/item/weapon/storage/bag/ore))
B = module_state_2
else if(istype(module_state_3, /obj/item/weapon/storage/bag/ore))
B = module_state_3
var/turf/tile = loc
if(isturf(tile))
B.gather_all(tile, src, 1) //Shhh, unless the bag fills, don't spam the borg's chat with stuff that's going on every time they move!
return
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693)

View File

@@ -2161,12 +2161,16 @@
#include "code\modules\mining\mint.dm"
#include "code\modules\mining\money_bag.dm"
#include "code\modules\mining\ore.dm"
#include "code\modules\mining\ore_box.dm"
#include "code\modules\mining\ore_datum.dm"
<<<<<<< HEAD:vorestation.dme
#include "code\modules\mining\ore_datum_vr.dm"
#include "code\modules\mining\resonator_vr.dm"
#include "code\modules\mining\satchel_ore_boxdm.dm"
#include "code\modules\mining\shelter_atoms.dm"
#include "code\modules\mining\shelters.dm"
=======
>>>>>>> a862d55... Fixes mining borg ore box movement on sand with a mining satchel equipped (#6693):polaris.dme
#include "code\modules\mining\drilling\drill.dm"
#include "code\modules\mining\drilling\scanner.dm"
#include "code\modules\mining\ore_redemption_machine\construction.dm"