mirror of
https://github.com/KabKebab/GS13.git
synced 2026-08-23 04:56:23 +01:00
Merge pull request #206 from Alphas00/master
Tray of Holding, ARCD, Fat Mask, Voices and Voice Preferences
This commit is contained in:
@@ -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.
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user