Merge pull request #206 from Alphas00/master

Tray of Holding, ARCD, Fat Mask, Voices and Voice Preferences
This commit is contained in:
MrSky12
2024-06-19 15:52:29 +02:00
committed by GitHub
23 changed files with 164 additions and 5 deletions
+26
View File
@@ -0,0 +1,26 @@
/obj/item/clothing/mask/gas/fattening
name = "drone mask"
desc = "A mask that can be connected to an air supply. When seen from certain angles, an orange light is reflected by it."
icon = 'GainStation13/icons/obj/clothing/fat_mask.dmi'
icon_state = "fat_mask"
item_state = "fat_mask"
var/mob/living/carbon/C
/obj/item/clothing/mask/gas/fattening/equipped(mob/M, slot)
. = ..()
if (slot == SLOT_WEAR_MASK)
if(iscarbon(M))
C = M
START_PROCESSING(SSobj, src)
else
C = null
return PROCESS_KILL
/obj/item/clothing/mask/gas/fattening/process()
C.adjust_fatness(5, FATTENING_TYPE_ITEM)
/datum/crafting_recipe/fat_mask
name = "Drone Mask"
result = /obj/item/clothing/mask/gas/fattening
reqs = list(/obj/item/stack/sheet/mineral/calorite = 1, /obj/item/clothing/mask/gas = 1)
category = CAT_CLOTHING
@@ -0,0 +1,47 @@
/datum/design/arcd
name = "Advanced Rapid Construction Device (ARCD)"
desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly. This model works at a distance."
id = "arcd_design"
build_type = PROTOLATHE
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
build_path = /obj/item/construction/rcd/arcd
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/techweb_node/blue_construct
id = "blue_construct"
display_name = "Bluespace Construction"
description = "Augument rapid construction designs using bluespace tech for ranged operations"
prereq_ids = list("adv_engi", "adv_bluespace")
design_ids = list("arcd_design")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7000)
export_price = 7000
/obj/item/borg/upgrade/arcd
name = "cyborg ARCD"
desc = "A cybord RCG upgrade module to an ARCD model."
icon_state = "cyborg_upgrade3"
require_module = 1
module_type = /obj/item/robot_module/engineering
/obj/item/borg/upgrade/arcd/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
var/obj/item/construction/rcd/arcd/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
/obj/item/borg/upgrade/arcd/deactivate(mob/living/silicon/robot/R, user = usr)
. = ..()
if (.)
var/obj/item/construction/rcd/arcd/S = locate() in R.module
R.module.remove_module(S, TRUE)
/datum/design/borg_arcd
name = "Cyborg ARCD"
id = "borg_arcd"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/arcd
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -0,0 +1,48 @@
/obj/item/storage/bag/tray/holding
name = "serving tray of holding"
desc = "A tray for food, now featuring bluesapce technology. Don't ask."
/obj/item/storage/bag/tray/holding/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_combined_w_class = INFINITY
STR.max_items = 50
/datum/design/tray_holding
name = "Serving Tray of Holding"
desc = "A serving tray for food, now somehow using bluespace to hold more stuff."
id = "tray_holding"
build_type = PROTOLATHE
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
build_path =/obj/item/storage/bag/tray/holding
category = list("Bluespace Designs")
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/obj/item/borg/upgrade/tray_hold
name = "cyborg tray of holding"
desc = "A tray of holding replacement for service borg's tray."
icon_state = "cyborg_upgrade3"
require_module = 1
module_type = /obj/item/robot_module/butler
/obj/item/borg/upgrade/tray_hold/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
var/obj/item/storage/bag/tray/holding/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
/obj/item/borg/upgrade/tray_hold/deactivate(mob/living/silicon/robot/R, user = usr)
. = ..()
if (.)
var/obj/item/storage/bag/tray/holding/S = locate() in R.module
R.module.remove_module(S, TRUE)
/datum/design/borg_tray_hold
name = "Cyborg Tray of Holding"
id = "borg_tray_hold"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/tray_hold
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -74,8 +74,6 @@
/datum/crafting_recipe/barrel_tank
name = "Barrel tank"
result = /obj/item/reagent_containers/barrel_tank
time = 25
tools = list(TOOL_CROWBAR)
reqs = list(/obj/item/stack/sheet/mineral/wood = 20)
always_availible = TRUE
category = CAT_CLOTHING
Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -107,6 +107,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/starting_weight = 0 //how thicc you wanna be at start
var/wg_rate = 0.5
var/wl_rate = 0.5
var/voice = "human"
//HS13 jobs
var/sillyroles = TRUE //for clown and mime
@@ -446,6 +447,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<h2>Body</h2>"
dat += "<b>Gender:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : (gender == PLURAL ? "Non-binary" : "Object"))]</a><BR>"
dat += "<b>Species:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=species;task=input'>[pref_species.id]</a><BR>"
dat += "<b>Voice:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=voice_select;task=input'>[voice ? voice : "None"]</a><BR>"
dat += "<b>Custom Species Name:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=custom_species;task=input'>[custom_species ? custom_species : "None"]</a><BR>"
dat += "<a style='display:block;width:100px' href='?_src_=prefs;preference=all;task=random'>Random Body</A><BR>"
dat += "<b>Always Random Body:</b><a href='?_src_=prefs;preference=all'>[be_random_body ? "Yes" : "No"]</A><BR>"
@@ -1996,6 +1998,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
custom_species = null
if("voice_select")
var/chosenvoice = input(user, "Select your character's voice.", "Voice Selection", voice) in list("human", "roach", "lizard")
voice = chosenvoice
if("mutant_color")
var/new_mutantcolor = input(user, "Choose your character's alien/mutant color:", "Character Preference","#"+features["mcolor"]) as color|null
if(new_mutantcolor)
@@ -2957,6 +2963,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.name = character.real_name
character.nameless = nameless
character.custom_species = custom_species
character.voice = voice
//h13 character custom body size, make sure to set to 100% if the player hasn't choosen one yet.
character.custom_body_size = body_size
@@ -372,6 +372,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["skin_tone"] >> skin_tone
S["hair_style_name"] >> hair_style
S["facial_style_name"] >> facial_hair_style
S["voice"] >> voice
// GS13: Hair gradients from Skyrat
S["grad_style"] >> grad_style
S["grad_color"] >> grad_color
@@ -638,6 +639,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["skin_tone"] , skin_tone)
WRITE_FILE(S["hair_style_name"] , hair_style)
WRITE_FILE(S["facial_style_name"] , facial_hair_style)
WRITE_FILE(S["voice"] , voice)
// GS13: Hair gradients from Skyrat
WRITE_FILE(S["grad_style"] , grad_style)
WRITE_FILE(S["grad_color"] , grad_color)
@@ -79,3 +79,5 @@
var/account_id
can_be_held = "micro"
appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE|LONG_GLIDE
var/voice = "human"
+3
View File
@@ -497,6 +497,9 @@
. = ..()
message = null
emote_type = EMOTE_VISIBLE
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
playsound(usr.loc, "GainStation13/sound/voice/voices/[H.voice].ogg", 90, 10)
/datum/emote/living/custom/replace_pronoun(mob/user, message)
return message
+19
View File
@@ -219,6 +219,25 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(pressure < ONE_ATMOSPHERE*0.4) //Thin air, let's italicise the message
spans |= SPAN_ITALICS
if(ishuman(src))
var/mob/living/carbon/human/H = src
var/vmod = ""
switch(say_mod(message, message_mode))
if("asks")
vmod = "_ask"
if("exclaims")
vmod = "_exclaim"
if("yells")
vmod = "_exclaim"
switch(say_mod(message, message_mode))
if("whispers")
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 45, 5, -3)
if("yells")
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 130, 10, message_range+2)
else
playsound(src.loc, "GainStation13/sound/voice/voices/[H.voice][vmod].ogg", 90, 10, message_range)
//playsound(user.loc, pick('GainStation13/sound/voice/voices/speak_1.ogg', 'GainStation13/sound/voice/voices/speak_1_ask.ogg', 'GainStation13/sound/voice/voices/speak_1_exclaim.ogg'), 90, 10)
send_speech(message, message_range, src, bubble_type, spans, language, message_mode)
if(succumbed)
+4
View File
@@ -72,6 +72,10 @@ proc/get_top_level_mob(var/mob/S)
if(M.stat == DEAD && M.client && (M.client?.prefs?.chat_toggles & CHAT_GHOSTSIGHT) && !(M in viewers(T, null)))
M.show_message(message)
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
playsound(usr.loc, "GainStation13/sound/voice/voices/[H.voice].ogg", 90, 10)
if(emote_type == EMOTE_AUDIBLE)
user.audible_message(message=message,hearing_distance=1)
else
+3 -3
View File
@@ -285,7 +285,7 @@
display_name = "Applied Bluespace Research"
description = "Using bluespace to make things faster and better."
prereq_ids = list("bluespace_basic", "engineering")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "tray_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 5000
@@ -377,7 +377,7 @@
display_name = "Advanced Robotics Research"
description = "It can even do the dishes!"
prereq_ids = list("robotics")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_arcd")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
export_price = 5000
@@ -403,7 +403,7 @@
display_name = "Cyborg Upgrades: Utility"
description = "Utility upgrades for cyborgs."
prereq_ids = list("engineering", "robotics")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped", "borg_tray_hold")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
export_price = 5000
Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 46 KiB

+3
View File
@@ -3074,6 +3074,7 @@
#include "code\modules\zombie\organs.dm"
#include "GainStation13\code\clothing\accessory.dm"
#include "GainStation13\code\clothing\calorite_collar.dm"
#include "GainStation13\code\clothing\fat_mask.dm"
#include "GainStation13\code\clothing\haydee_suit.dm"
#include "GainStation13\code\clothing\head.dm"
#include "GainStation13\code\clothing\suits.dm"
@@ -3085,6 +3086,8 @@
#include "GainStation13\code\game\sound.dm"
#include "GainStation13\code\game\area\ruins.dm"
#include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm"
#include "GainStation13\code\game\objects\items\RCD.dm"
#include "GainStation13\code\game\objects\items\storage\bags.dm"
#include "GainStation13\code\game\turfs\closed.dm"
#include "GainStation13\code\game\turfs\open.dm"
#include "GainStation13\code\machinery\adipoelectric_generator.dm"