mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-25 21:56:13 +01:00
Merge pull request #1621 from ProbablyCarl/dogborg_fixes
Borg QoL Material
This commit is contained in:
@@ -86,11 +86,11 @@
|
||||
to_chat(user, "<span class='warning'>Your [src] is already occupied.</span>")
|
||||
return
|
||||
|
||||
user.visible_message("<span class='warning'>[hound.name] is carefully inserting [target.name] into their [src].</span>",
|
||||
user.visible_message("<span class='warning'>[hound.name] is carefully inserting [target.name] into their [src].</span>",
|
||||
"<span class='notice'>You start placing [target] into your [src]...</span>")
|
||||
|
||||
if(!patient && iscarbon(target) && !target.buckled && do_after (user, 100, target = target))
|
||||
if(!in_range(src, target))
|
||||
if(!in_range(src, target))
|
||||
return
|
||||
if(patient)
|
||||
return
|
||||
@@ -217,7 +217,7 @@
|
||||
data["occupant"]["fireLoss"] = mob_occupant.getFireLoss()
|
||||
data["occupant"]["cloneLoss"] = mob_occupant.getCloneLoss()
|
||||
data["occupant"]["brainLoss"] = mob_occupant.getOrganLoss(ORGAN_SLOT_BRAIN)
|
||||
|
||||
|
||||
if(mob_occupant.reagents.reagent_list.len)
|
||||
for(var/datum/reagent/R in mob_occupant.reagents.reagent_list)
|
||||
chemical_list += list(list("name" = R.name, "volume" = R.volume))
|
||||
@@ -393,7 +393,7 @@
|
||||
H.playsound_local(source, null, 45, falloff = 0, S = pred_digest)
|
||||
else if(H in contents)
|
||||
H.playsound_local(source, null, 65, falloff = 0, S = prey_digest)
|
||||
|
||||
|
||||
UpdateGut(hound)
|
||||
if(cleaning)
|
||||
addtimer(CALLBACK(src, .proc/clean_cycle, hound), 50)
|
||||
@@ -515,7 +515,7 @@
|
||||
trashman.reset_perspective(src)
|
||||
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [trashman] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [trashman] slips inside.</span>")
|
||||
playsound(hound, 'sound/effects/bin_close.ogg', 80, 1)
|
||||
|
||||
|
||||
UpdateGut(hound)
|
||||
|
||||
|
||||
@@ -523,4 +523,11 @@
|
||||
var/current_belly = ..()
|
||||
if(length(contents) > 11)
|
||||
current_belly = BORGBELLY_RED
|
||||
return current_belly
|
||||
return current_belly
|
||||
|
||||
|
||||
/obj/item/dogborg/sleeper/compactor/ore//identical to janihound for moment
|
||||
name = "ore processor"
|
||||
desc = "A mounted compactor unit with fuel processor."
|
||||
icon = 'icons/mob/dogborg.dmi'
|
||||
icon_state = "compactorb"//needs its own icon
|
||||
|
||||
@@ -67,6 +67,12 @@
|
||||
syndie = TRUE
|
||||
if(keyslot.independent)
|
||||
independent = TRUE
|
||||
//Skyrat edit start
|
||||
if(extra_channels)
|
||||
for(var/ch_name in extra_channels)
|
||||
if(!(ch_name in channels))
|
||||
channels[ch_name] = extra_channels[ch_name]
|
||||
//Skyrat edit end
|
||||
|
||||
for(var/ch_name in channels)
|
||||
secure_radio_connections[ch_name] = add_radio(src, GLOB.radiochannels[ch_name])
|
||||
|
||||
@@ -200,6 +200,10 @@
|
||||
INVOKE_ASYNC(RM, .proc/do_transform_animation)
|
||||
SEND_SIGNAL(R, COMSIG_CYBORG_MODULE_CHANGE) //hyperstation edit
|
||||
qdel(src)
|
||||
//Skyrat change start
|
||||
R.radio.extra_channels = RM.added_channels
|
||||
R.radio.recalculateChannels()
|
||||
//Skyrat change stop
|
||||
return RM
|
||||
|
||||
/obj/item/robot_module/proc/be_transformed_to(obj/item/robot_module/old_module)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
/obj/item/radio
|
||||
var/list/extra_channels = list() //Allows indivudal channels, used for borgs
|
||||
@@ -0,0 +1,8 @@
|
||||
/mob/living/silicon/robot/proc/examine_bellies_borg()
|
||||
|
||||
var/message = ""
|
||||
for(var/belly in vore_organs)
|
||||
var/obj/belly/B = belly
|
||||
message += B.get_examine_msg()
|
||||
|
||||
return message
|
||||
@@ -1,3 +1,3 @@
|
||||
//This file is empty right now, but leaves room for people to put shit here in the future for those who are lazy
|
||||
/mob/living/silicon/robot
|
||||
var/datum/action/cyborg_small_sprite/small_sprite_action //This gets replaced every time the cyborg changes modules --Cyanosis
|
||||
var/datum/action/cyborg_small_sprite/small_sprite_action //This gets replaced every time the cyborg changes modules --Cyanosis
|
||||
|
||||
@@ -1,11 +1,60 @@
|
||||
//This file is empty right now, but leaves room for people to put shit here in the future for those who are lazy
|
||||
|
||||
/obj/item/robot_module
|
||||
var/list/added_channels = list() //Borg radio stuffs
|
||||
|
||||
//service
|
||||
/obj/item/robot_module/butler
|
||||
added_channels = list(RADIO_CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/robot_module/clown
|
||||
added_channels = list(RADIO_CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/robot_module/janitor
|
||||
added_channels = list(RADIO_CHANNEL_SERVICE = 1)
|
||||
|
||||
//engineering
|
||||
/obj/item/robot_module/engineering
|
||||
added_channels = list(RADIO_CHANNEL_ENGINEERING = 1)
|
||||
|
||||
//medical
|
||||
/obj/item/robot_module/medical
|
||||
added_channels = list(RADIO_CHANNEL_MEDICAL = 1)
|
||||
|
||||
//security
|
||||
/obj/item/robot_module/peacekeeper
|
||||
added_channels = list(RADIO_CHANNEL_SECURITY = 1)
|
||||
|
||||
/obj/item/robot_module/security
|
||||
added_channels = list(RADIO_CHANNEL_SECURITY = 1)
|
||||
|
||||
//supply
|
||||
/obj/item/robot_module/miner
|
||||
added_channels = list(RADIO_CHANNEL_SUPPLY = 1) // Probably already handled by other code when spawned with pre-set module, but whatever.
|
||||
|
||||
//dogborgs
|
||||
/obj/item/robot_module/k9
|
||||
added_channels = list(RADIO_CHANNEL_SECURITY = 1)
|
||||
|
||||
/obj/item/robot_module/medihound
|
||||
added_channels = list(RADIO_CHANNEL_MEDICAL = 1)
|
||||
|
||||
/obj/item/robot_module/scrubpup
|
||||
added_channels = list(RADIO_CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/robot_module/borgi
|
||||
added_channels = list(RADIO_CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/robot_module/orepup
|
||||
added_channels = list(RADIO_CHANNEL_SUPPLY = 1)
|
||||
|
||||
|
||||
//This proc gets called whenever a new robot module is being applied --Cyanosis
|
||||
/obj/item/robot_module/proc/handle_sprite_action(mob/living/silicon/robot/R, is_huge = FALSE)
|
||||
ASSERT(istype(R))
|
||||
if(R.small_sprite_action)
|
||||
QDEL_NULL(R.small_sprite_action)
|
||||
if(!is_huge) //only from the expander upgrade. The borg won't have an action if they don't have the expander upgrade
|
||||
if(!is_huge) //only from the expander upgrade. The borg won't have an action if they don't have the expander upgrade
|
||||
return
|
||||
for(var/P in typesof(/datum/action/cyborg_small_sprite))
|
||||
var/datum/action/cyborg_small_sprite/action = P
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -10,6 +10,9 @@
|
||||
/mob/living/silicon/robot/modules/borgi
|
||||
set_module = /obj/item/robot_module/borgi
|
||||
|
||||
/mob/living/silicon/robot/modules/orepup
|
||||
set_module = /obj/item/robot_module/orepup
|
||||
|
||||
/mob/living/silicon/robot/proc/get_cit_modules()
|
||||
var/list/modulelist = list()
|
||||
modulelist["MediHound"] = /obj/item/robot_module/medihound
|
||||
@@ -17,6 +20,7 @@
|
||||
modulelist["Security K-9"] = /obj/item/robot_module/k9
|
||||
modulelist["Scrub Puppy"] = /obj/item/robot_module/scrubpup
|
||||
modulelist["Borgi"] = /obj/item/robot_module/borgi
|
||||
modulelist["Orepup"] = /obj/item/robot_module/orepup
|
||||
return modulelist
|
||||
|
||||
/obj/item/robot_module
|
||||
@@ -261,14 +265,13 @@
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
|
||||
/*
|
||||
/obj/item/robot_module/orepup
|
||||
name = "Ore Pup"
|
||||
basic_modules = list(
|
||||
/obj/item/storage/bag/ore/cyborg,
|
||||
/obj/item/analyzer/nose,
|
||||
/obj/item/storage/bag/borgdelivery,
|
||||
/obj/item/dogborg/sleeper/ore,
|
||||
/obj/item/dogborg/sleeper/compactor/ore,
|
||||
/obj/item/pickaxe/drill/cyborg,
|
||||
/obj/item/shovel,
|
||||
/obj/item/crowbar/cyborg,
|
||||
@@ -282,20 +285,33 @@
|
||||
/obj/item/clockwork/slab/cyborg/miner,
|
||||
/obj/item/clockwork/weapon/ratvarian_spear,
|
||||
/obj/item/borg/sight/xray/truesight_lens)
|
||||
cyborg_base_icon = "orepup"
|
||||
moduleselect_icon = "orepup"
|
||||
sleeper_overlay = "osleeper"
|
||||
cyborg_base_icon = "blade"
|
||||
moduleselect_icon = "miner"
|
||||
sleeper_overlay = "bladesleeper"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/widerobot.dmi'
|
||||
has_snowflake_deadsprite = TRUE
|
||||
cyborg_pixel_offset = -16
|
||||
/obj/item/robot_module/miner/do_transform_animation()
|
||||
|
||||
/obj/item/robot_module/orepup/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
R.cut_overlays()
|
||||
R.setDir(SOUTH)
|
||||
flick("orepup_transform", R)
|
||||
do_transform_delay()
|
||||
R.update_headlamp()
|
||||
*/
|
||||
var/static/list/orepup_models
|
||||
if(!orepup_models)
|
||||
orepup_models = list(
|
||||
"blade" = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "blade"),
|
||||
"vale" = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "valemine")
|
||||
)
|
||||
orepup_models = sortList(orepup_models)
|
||||
var/orepup_borg_icon = show_radial_menu(R, R , orepup_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE)
|
||||
if(!orepup_borg_icon)
|
||||
return
|
||||
switch(orepup_borg_icon)
|
||||
if("blade")
|
||||
cyborg_base_icon = "blade"
|
||||
if("vale")
|
||||
cyborg_base_icon = "valemine"
|
||||
sleeper_overlay = "valeminesleeper"
|
||||
has_snowflake_deadsprite = TRUE
|
||||
return ..()
|
||||
|
||||
/obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module)
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
@@ -353,7 +369,7 @@
|
||||
cyborg_base_icon = "haydeemedical"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
hat_offset = 3
|
||||
|
||||
|
||||
if("qualified_doctor")
|
||||
cyborg_base_icon = "qualified_doctor"
|
||||
cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi'
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 417 KiB After Width: | Height: | Size: 706 KiB |
@@ -3115,6 +3115,7 @@
|
||||
#include "hyperstation\code\game\objects\items\coconutcannon.dm"
|
||||
#include "hyperstation\code\game\objects\items\cosmetics.dm"
|
||||
#include "hyperstation\code\game\objects\items\lovedice.dm"
|
||||
#include "hyperstation\code\game\objects\items\devices\radio\radio.dm"
|
||||
#include "hyperstation\code\game\objects\items\stacks\tiles\tile_types.dm"
|
||||
#include "hyperstation\code\game\objects\items\storage\big_bag.dm"
|
||||
#include "hyperstation\code\game\objects\structures\bench.dm"
|
||||
@@ -3189,6 +3190,7 @@
|
||||
#include "hyperstation\code\modules\mob\living\carbon\carbon.dm"
|
||||
#include "hyperstation\code\modules\mob\living\carbon\human\cosmetic_part_handler.dm"
|
||||
#include "hyperstation\code\modules\mob\living\carbon\human\species_types\ipc.dm"
|
||||
#include "hyperstation\code\modules\mob\living\silicon\robot\examine_vr.dm"
|
||||
#include "hyperstation\code\modules\mob\living\silicon\robot\robot.dm"
|
||||
#include "hyperstation\code\modules\mob\living\silicon\robot\robot_modules.dm"
|
||||
#include "hyperstation\code\modules\mob\living\simple_animal\friendly\chicken_types.dm"
|
||||
|
||||
Reference in New Issue
Block a user