Fix a couple of bugs, add wrapping paper and destination tagger

This commit is contained in:
BlackMajor
2020-01-07 15:33:16 +13:00
parent a4d2ea0281
commit 5a97259ba9
3 changed files with 48 additions and 60 deletions
+24 -7
View File
@@ -846,10 +846,18 @@
icon = 'icons/mecha/mecha_equipment.dmi'
icon_state = "mecha_clamp"
tool_behaviour = TOOL_RETRACTOR
item_flags = NOBLUDGEON
flags_1 = NONE
var/cargo_capacity = 8
var/cargo = list()
/obj/item/cyborg_clamp/afterattack(atom/target, mob/user, proximity)
/obj/item/cyborg_clamp/attack(mob/M, mob/user, def_zone)
return
/obj/item/cyborg_clamp/afterattack(atom/movable/target, mob/user, proximity)
. = ..()
if(!proximity)
return FALSE
if(isobj(target))
var/obj/O = target
if(!O.anchored)
@@ -857,15 +865,24 @@
user.visible_message("[user] lifts [target] and starts to load it into its cargo compartment.")
O.anchored = TRUE
if(do_mob(user, O, 20))
for(var/mob/chump in target.contents)
for(var/mob/chump in target.GetAllContents())
to_chat(user, "<span class='warning'>Error: Living entity detected in [target]. Cannot load.</span>")
O.anchored = initial(O.anchored)
return
cargo += O
O.forceMove(src)
O.anchored = FALSE
to_chat(user, "<span class='notice'>[target] successfully loaded.</span>")
playsound(loc, 'sound/effects/bin_close.ogg', 50, 0)
for(var/obj/item/disk/nuclear/diskie in target.GetAllContents())
to_chat(user, "<span class='warning'>Error: Nuclear class authorization device detected in [target]. Cannot load.</span>")
O.anchored = initial(O.anchored)
return
if(contents.len < cargo_capacity) //check both before and after
cargo += O
O.forceMove(src)
O.anchored = FALSE
to_chat(user, "<span class='notice'>[target] successfully loaded.</span>")
playsound(loc, 'sound/effects/bin_close.ogg', 50, 0)
else
to_chat(user, "<span class='warning'>Not enough room in cargo compartment! Maximum of [cargo_capacity] objects!</span>")
O.anchored = initial(O.anchored)
return
else
O.anchored = initial(O.anchored)
else
+2 -1
View File
@@ -48,6 +48,7 @@
/turf/closed/mineral/attackby(obj/item/pickaxe/I, mob/user, params)
var/stored_dir = user.dir
if (!user.IsAdvancedToolUser())
to_chat(usr, "<span class='warning'>You don't have the dexterity to do this!</span>")
return
@@ -67,7 +68,7 @@
if(ismineralturf(src))
if(I.digrange > 0)
for(var/turf/closed/mineral/M in range(user,range))
if(get_dir(user,M)&user.dir)
if(get_dir(user,M)&stored_dir)
M.gets_drilled()
to_chat(user, "<span class='notice'>You finish cutting into the rock.</span>")
gets_drilled(user)
@@ -121,6 +121,10 @@
else if(istype(S, /obj/item/stack/marker_beacon))
S.cost = 1
S.source = get_or_create_estorage(/datum/robot_energy_storage/beacon)
else if(istype(S, /obj/item/stack/packageWrap))
S.cost = 1
S.source = get_or_create_estorage(/datum/robot_energy_storage/wrapping_paper)
if(S && S.source)
S.materials = list()
@@ -139,6 +143,9 @@
//Adds flavoursome dogborg items to dogborg variants without mechanical benefits
/obj/item/robot_module/proc/dogborg_equip()
has_snowflake_deadsprite = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
var/obj/item/I = new /obj/item/analyzer/nose/flavour(src)
basic_modules += I
I = new /obj/item/soap/tongue/flavour(src)
@@ -362,30 +369,21 @@
sleeper_overlay = "msleeper"
moduleselect_icon = "medihound"
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
if("Medihound Dark")
cyborg_base_icon = "medihounddark"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
sleeper_overlay = "mdsleeper"
moduleselect_icon = "medihound"
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
if("Vale")
cyborg_base_icon = "valemed"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
sleeper_overlay = "valemedsleeper"
moduleselect_icon = "medihound"
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
if("Alina")
cyborg_base_icon = "alina-med"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
@@ -393,10 +391,7 @@
sleeper_overlay = "alinasleeper"
moduleselect_icon = "medihound"
moduleselect_alternate_icon = 'modular_citadel/icons/ui/screen_cyborg.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
return ..()
/obj/item/robot_module/engineering
@@ -477,29 +472,20 @@
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
if("Pup Dozer")
cyborg_base_icon = "pupdozer"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "dozersleeper"
dogborg = TRUE
if("Vale")
cyborg_base_icon = "valeeng"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "valeengsleeper"
dogborg = TRUE
if("Alina")
cyborg_base_icon = "alina-eng"
special_light_key = "alina"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "alinasleeper"
dogborg = TRUE
return ..()
/obj/item/robot_module/security
@@ -558,36 +544,24 @@
if("K9")
cyborg_base_icon = "k9"
sleeper_overlay = "ksleeper"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
if("Alina")
cyborg_base_icon = "alina-sec"
special_light_key = "alina"
sleeper_overlay = "alinasleeper"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
if("K9 Dark")
cyborg_base_icon = "k9dark"
sleeper_overlay = "k9darksleeper"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
if("Vale")
cyborg_base_icon = "valesec"
sleeper_overlay = "valesecsleeper"
hat_offset = INFINITY
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
return ..()
/obj/item/robot_module/security/Initialize()
@@ -795,24 +769,18 @@
if("(Service) DarkK9")
cyborg_base_icon = "k50"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "ksleeper"
dogborg = TRUE
if("(Service) Vale")
cyborg_base_icon = "valeserv"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "valeservsleeper"
dogborg = TRUE
if("(Service) ValeDark")
cyborg_base_icon = "valeservdark"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
sleeper_overlay = "valeservsleeper"
dogborg = TRUE
if("(Janitor) Default")
cyborg_base_icon = "janitor"
if("(Janitor) Marina")
@@ -830,10 +798,8 @@
if("(Janitor) Scrubpuppy")
cyborg_base_icon = "scrubpup"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
has_snowflake_deadsprite = TRUE
cyborg_pixel_offset = -16
dogborg = TRUE
sleeper_overlay = "jsleeper"
dogborg = TRUE
return ..()
/obj/item/robot_module/miner
@@ -855,7 +821,9 @@
/obj/item/weapon/gripper/mining,
/obj/item/cyborg_clamp,
/obj/item/card/id/miningborg,
/obj/item/stack/marker_beacon)
/obj/item/stack/marker_beacon,
/obj/item/destTagger,
/obj/item/stack/packageWrap)
emag_modules = list(/obj/item/borg/stun)
ratvar_modules = list(
/obj/item/clockwork/slab/cyborg/miner,
@@ -899,10 +867,7 @@
cyborg_base_icon = "blade"
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
sleeper_overlay = "bladesleeper"
has_snowflake_deadsprite = TRUE
dogborg = TRUE
cyborg_pixel_offset = -16
hat_offset = INFINITY
return ..()
/obj/item/robot_module/syndicate
@@ -1048,3 +1013,8 @@
max_energy = 30
recharge_rate = 1
name = "Marker Beacon Storage"
/datum/robot_energy_storage/wrapping_paper
max_energy = 30
recharge_rate = 1
name = "Wrapping Paper Storage"