Merge pull request #5368 from Citadel-Station-13/upstream-merge-34834

[MIRROR] Circuit drone + grabber/thrower balance changes
This commit is contained in:
LetterJay
2018-02-08 07:12:13 -06:00
committed by GitHub
2 changed files with 16 additions and 7 deletions
@@ -491,7 +491,7 @@
name = "electronic drone"
icon_state = "setup_drone"
desc = "It's a case, for building mobile electronics with."
w_class = WEIGHT_CLASS_SMALL
w_class = WEIGHT_CLASS_BULKY
max_components = IC_MAX_SIZE_BASE * 3
max_complexity = IC_COMPLEXITY_BASE * 3
@@ -292,7 +292,7 @@
/obj/item/integrated_circuit/manipulation/grabber
name = "grabber"
desc = "A circuit which is used to grab and store tiny to small objects within it's self-contained inventory."
desc = "A circuit with it's own inventory for items, used to grab and store things."
icon_state = "grabber"
extended_desc = "The circuit accepts a reference to an object to be grabbed and can store up to 10 objects. Modes: 1 to grab, 0 to eject the first object, and -1 to eject all objects."
w_class = WEIGHT_CLASS_SMALL
@@ -304,19 +304,28 @@
activators = list("pulse in" = IC_PINTYPE_PULSE_IN,"pulse out" = IC_PINTYPE_PULSE_OUT)
spawn_flags = IC_SPAWN_RESEARCH
power_draw_per_use = 50
var/max_w_class = WEIGHT_CLASS_NORMAL
var/max_items = 10
/obj/item/integrated_circuit/manipulation/grabber/do_work()
var/max_w_class = assembly.w_class
var/atom/movable/acting_object = get_object()
var/turf/T = get_turf(acting_object)
var/obj/item/AM = get_pin_data_as_type(IC_INPUT, 1, /obj/item)
if(AM)
var/mode = get_pin_data(IC_INPUT, 2)
if(mode == 1)
if(check_target(AM))
if((contents.len < max_items) && (!max_w_class || AM.w_class <= max_w_class))
var/weightcheck = FALSE
if ((!istype(AM,/obj/item/device/electronic_assembly/)) && (!istype(AM,/obj/item/device/transfer_valve)))
if (AM.w_class <= max_w_class)
weightcheck = TRUE
else
weightcheck = FALSE
else
if (AM.w_class < max_w_class)
weightcheck = TRUE
else
weightcheck = FALSE
if((contents.len < max_items) && (weightcheck))
AM.forceMove(src)
if(mode == 0)
if(contents.len)
@@ -408,9 +417,9 @@
)
spawn_flags = IC_SPAWN_RESEARCH
power_draw_per_use = 50
var/max_w_class = WEIGHT_CLASS_NORMAL
/obj/item/integrated_circuit/manipulation/thrower/do_work()
var/max_w_class = assembly.w_class
var/target_x_rel = round(get_pin_data(IC_INPUT, 1))
var/target_y_rel = round(get_pin_data(IC_INPUT, 2))
var/obj/item/A = get_pin_data_as_type(IC_INPUT, 3, /obj/item)