Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into spooktober-update
Browse files Browse the repository at this point in the history
  • Loading branch information
ariaworld committed Dec 2, 2023
2 parents fc993cf + 7b3af2a commit 7f82de9
Show file tree
Hide file tree
Showing 21 changed files with 202 additions and 20 deletions.
2 changes: 2 additions & 0 deletions code/__SPLURTCODE/DEFINES/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@

#undef PIXEL_SHIFT_MAXIMUM
#define PIXEL_SHIFT_MAXIMUM 32

#define BREATH_NITROGEN /datum/breathing_class/nitrogen
4 changes: 4 additions & 0 deletions html/changelogs/archive/2023-11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,7 @@
- bugfix: Fixes the negative size bug when using the werewolf quirk
- rscadd: Adds the Dark Passenger antag, which is obtainable through a brain trauma
through admin intervention
2023-11-27:
Satile1:
- rscadd: Nitrogen internals. They're red.
- tweak: Vox now breathe nitrogen instead of plasma
5 changes: 5 additions & 0 deletions html/changelogs/archive/2023-12.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
2023-12-02:
LeChatGuid2:
- rscadd: Alpha pet capsule, allowing to spawn the alpha versions of the funclaws
ariaworld:
- rscadd: Arm Warmers (Sprites by Keila)
58 changes: 46 additions & 12 deletions modular_splurt/code/game/objects/items/pet_capsule.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,73 @@
icon = 'modular_splurt/icons/obj/pet_capsule.dmi'
icon_state = "pet_capsule_closed"
w_class = WEIGHT_CLASS_TINY
var/open_state = "pet_capsule_opened"
var/closed_state = "pet_capsule_closed"
var/mob/living/simple_animal/selected_pet
var/mob/living/simple_animal/stored_pet
var/new_name = "pet"
var/pet_picked = FALSE
var/open = FALSE
var/mob/owner
var/alphaVariants = FALSE
var/list/pet_icons

/obj/item/pet_capsule/alpha_capsule
name = "alpha pet capsule"
desc = "A bluespace capsule used to store pets of the more... dangerous variety. This one seems to have a tighter lock than usual!"
icon = 'modular_splurt/icons/obj/pet_capsule.dmi'
icon_state = "alpha_pet_capsule_closed"
open_state = "alpha_pet_capsule_opened"
closed_state = "alpha_pet_capsule_closed"
alphaVariants = TRUE

/obj/item/pet_capsule/proc/InitializeSelection()
pet_icons = list(
"Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"),
"Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"),
"Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"),
"Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard"))

/obj/item/pet_capsule/alpha_capsule/InitializeSelection()
pet_icons = list(
"Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"),
"Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"),
"Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"),
"Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard"),
"Mommyclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "mommyclaw"),
"Alphaclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "alphaclaw"))

/obj/item/pet_capsule/Initialize(mapload)
. = ..()
InitializeSelection()

/obj/item/pet_capsule/proc/pet_capsule_triggered(atom/location_atom, is_in_hand = FALSE, mob/user = null)
//If pet has not been chosen yet
if (!pet_picked && is_in_hand && user != null)
pet_picked = TRUE;


new_name = input(user, "New name :", "Rename your pet(Once per shift!)")

//radial menu appears to select one of the avaliable pets & store it in a template
var/static/list/pet_icons
if(!pet_icons)
pet_icons = list(
"Femclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "femclaw"),
"Deathclaw" = image(icon = 'modular_splurt/icons/mob/femclaw/newclaws.dmi', icon_state = "newclaw"),
"Carp" = image(icon = 'icons/mob/animal.dmi', icon_state = "carp"),
"Spider" = image(icon = 'icons/mob/animal.dmi', icon_state = "guard")
)
var/selected_icon = show_radial_menu(loc, loc , pet_icons, radius = 42, require_near = TRUE)
switch(selected_icon)
if("Femclaw")
selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw
pet_picked = TRUE;
if("Deathclaw")
selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw
pet_picked = TRUE;
if("Carp")
selected_pet = /mob/living/simple_animal/hostile/carp/pet_carp
pet_picked = TRUE;
if("Spider")
selected_pet = /mob/living/simple_animal/hostile/poison/giant_spider/pet_spider
pet_picked = TRUE;
if("Mommyclaw")
selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/pet_mommyclaw
pet_picked = TRUE;
if("Alphaclaw")
selected_pet = /mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw/pet_alphaclaw
pet_picked = TRUE;
else
pet_picked = FALSE;
return FALSE
Expand All @@ -53,7 +87,7 @@
//Make pet appear if thrown on the floor
else if (!open && !is_in_hand && pet_picked)
open = TRUE
icon_state = "pet_capsule_opened"
icon_state = open_state
var/turf/targetloc = location_atom
stored_pet = new selected_pet(targetloc) //stores reference to the pet to be able to do the recall
stored_pet.name = new_name //Apply the customized name
Expand All @@ -76,7 +110,7 @@
//recall pet
else if (open && stored_pet != null)
open = FALSE
icon_state = "pet_capsule_closed"
icon_state = closed_state
loc.visible_message("<span class='warning'>\The [src] closes, [stored_pet.name] being recalled inside of it!</span>")
del(stored_pet)

Expand Down
17 changes: 17 additions & 0 deletions modular_splurt/code/game/objects/items/tanks/tank_types.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/obj/item/tank/internals/nitrogen
name = "nitrogen internals tank"
desc = "An enlarged internals tank. This one is full of nitrogen. If you don't breathe nitrogen, you shouldn't use this."
icon_state = "nitrogen_belt"
icon = 'modular_splurt/icons/obj/items_and_weapons.dmi'
lefthand_file = 'modular_splurt/icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'modular_splurt/icons/mob/inhands/items_righthand.dmi'
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
force = 4
volume = 6

/obj/item/tank/internals/nitrogen/populate_gas()
air_contents.set_moles(GAS_N2, (12*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) //Double the normal, since these are likely gonna be a nightmare to get refilled
return
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/datum/breathing_class/nitrogen
gases = list(
GAS_N2 = 1,
)
products = list(
GAS_CO2 = 1,
)
low_alert_category = "not_enough_N2"
low_alert_datum = /atom/movable/screen/alert/not_enough_nitro
high_alert_category = "too_much_N2"
high_alert_datum = /atom/movable/screen/alert/too_much_nitro
20 changes: 20 additions & 0 deletions modular_splurt/code/modules/client/loadout/wrists.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,23 @@
/datum/gear/wrists/syntech/band
name = "Normalizer Band"
path = /obj/item/clothing/wrists/syntech

/datum/gear/wrists/armwarmer
name = "Arm Warmers"
path = /obj/item/clothing/wrists/armwarmer

/datum/gear/wrists/armwarmer/long
name = "Long Arm Warmers"
path = /obj/item/clothing/wrists/armwarmer/long

/datum/gear/wrists/armwarmer_striped
name = "Striped Arm Warmers"
path = /obj/item/clothing/wrists/armwarmer_striped
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
loadout_initial_colors = list("#FFFFFF", "#FFFFFF")

/datum/gear/wrists/armwarmer_striped/long
name = "Long Striped Arm Warmers"
path = /obj/item/clothing/wrists/armwarmer_striped/long
loadout_flags = LOADOUT_CAN_NAME | LOADOUT_CAN_DESCRIPTION | LOADOUT_CAN_COLOR_POLYCHROMIC
loadout_initial_colors = list("#FFFFFF", "#FFFFFF")
3 changes: 2 additions & 1 deletion modular_splurt/code/modules/clothing/outfits/standard.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/datum/outfit/vox
name = "Vox"
r_hand = /obj/item/tank/internals/plasmaman/belt/full
r_hand = /obj/item/tank/internals/nitrogen
l_hand = /obj/item/tank/internals/doublenitrogen
mask = /obj/item/clothing/mask/breath
28 changes: 27 additions & 1 deletion modular_splurt/code/modules/clothing/suits/heavy.dm
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,22 @@
air_contents.set_moles(GAS_PLASMA, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return

/obj/item/tank/internals/doublenitrogen
name = "double nitrogen tank"
desc = "Two tanks of nitrogen stuck together. Double the nitrogen double the fun"
icon_state = "nitrogencbrn"
icon = 'modular_splurt/icons/obj/items_and_weapons.dmi'
lefthand_file = 'modular_splurt/icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'modular_splurt/icons/mob/inhands/items_righthand.dmi'
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
force = 10
dog_fashion = null
volume = 140

/obj/item/tank/internals/doublenitrogen/populate_gas()
air_contents.set_moles(GAS_N2, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C))
return

//research nods

/datum/design/cbrn/cbrncivi
Expand Down Expand Up @@ -239,12 +255,22 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_MEDICAL

/datum/design/cbrn/nitrotank
name = "Double Nitrogen Tank"
desc = "A Double Nitrogen tank."
id = "cbrn_nitrogen"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 200)
build_path = /obj/item/tank/internals/doublenitrogen
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_CARGO | DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_MEDICAL

/datum/techweb_node/cbrn
id = "cbrn"
display_name = "CBRN gear"
description = "Chemical, Biological, Radiological and Nuclear protective gear"
prereq_ids = list("engineering")
design_ids = list("cbrn_civi", "cbrn_sec", "cbrn_engi", "cbrn_serv", "cbrn_cargo", "cbrn_sci", "cbrn_med", "cbrn_mask", "cbrn_boots", "cbrn_gloves", "cbrn_glovesengi", "cbrn_hood", "cbrn_oxy", "cbrn_plasma")
design_ids = list("cbrn_civi", "cbrn_sec", "cbrn_engi", "cbrn_serv", "cbrn_cargo", "cbrn_sci", "cbrn_med", "cbrn_mask", "cbrn_boots", "cbrn_gloves", "cbrn_glovesengi", "cbrn_hood", "cbrn_oxy", "cbrn_plasma","cbrn_nitrogen")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)

/datum/techweb_node/mopp
Expand Down
2 changes: 2 additions & 0 deletions modular_splurt/code/modules/clothing/wrists/_wrists.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
//(SPLURT VERSION - To add special behaviours)
/obj/item/clothing/wrists
41 changes: 41 additions & 0 deletions modular_splurt/code/modules/clothing/wrists/miscellaneous.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
// Sprites by Keila
/obj/item/clothing/wrists/armwarmer
name = "Arm Warmers"
desc = "A pair of arm warmers."
icon = 'modular_splurt/icons/obj/clothing/wrists.dmi'
mob_overlay_icon = 'modular_splurt/icons/mob/clothing/wrists.dmi'
icon_state = "armwarmer"
item_state = "armwarmer"
body_parts_covered = ARMS

/obj/item/clothing/wrists/armwarmer/long
name = "Long Arm Warmers"
desc = "A pair of long arm warmers."
icon = 'modular_splurt/icons/obj/clothing/wrists.dmi'
mob_overlay_icon = 'modular_splurt/icons/mob/clothing/wrists.dmi'
icon_state = "armwarmer_long"
item_state = "armwarmer_long"
body_parts_covered = ARMS

/obj/item/clothing/wrists/armwarmer_striped
name = "Striped Arm Warmers"
desc = "A pair of striped arm warmers."
icon = 'modular_splurt/icons/obj/clothing/wrists.dmi'
mob_overlay_icon = 'modular_splurt/icons/mob/clothing/wrists.dmi'
icon_state = "armwarmer_striped"
item_state = "armwarmer_striped"
body_parts_covered = ARMS
var/list/poly_colors = list("#FFFFFF", "#FFFFFF")

/obj/item/clothing/wrists/armwarmer_striped/long
name = "Long Striped Arm Warmers"
desc = "A pair of long striped arm warmers."
icon = 'modular_splurt/icons/obj/clothing/wrists.dmi'
mob_overlay_icon = 'modular_splurt/icons/mob/clothing/wrists.dmi'
icon_state = "armwarmer_striped_long"
item_state = "armwarmer_striped_long"
body_parts_covered = ARMS

/obj/item/clothing/wrists/armwarmer_striped/ComponentInitialize()
. = ..()
AddElement(/datum/element/polychromic, poly_colors, 2)
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
var/list/speech_buffer = ""
var/mob/capsule_owner

/mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/pet_mommyclaw
icon_state = "mommyclaw"
desc = "A machine that turns her victim's pelvis into pelvwas."
name = "Mommy Funclaw"

/mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw
vision_range = 0
aggro_vision_range = 0
Expand All @@ -22,6 +27,12 @@
var/list/speech_buffer = ""
var/mob/capsule_owner

/mob/living/simple_animal/hostile/deathclaw/funclaw/gentle/newclaw/pet_deathclaw/pet_alphaclaw
name = "Alpha Funclaw"
icon_state = "alphaclaw"
base_state = "alphaclaw"
cock_state = "alphaclaw_cocked"


/mob/living/simple_animal/hostile/deathclaw/funclaw/femclaw/pet_femclaw/Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mode, atom/movable/source)
. = ..()
Expand Down
10 changes: 5 additions & 5 deletions modular_splurt/code/modules/surgery/organs/lungs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
desc = "Helps regulate the body temperature of synthetic beings. Helpful!"

/obj/item/organ/lungs/vox
name = "plasma filter"
desc = "A spongy rib-shaped mass for filtering plasma from the air."
icon_state = "lungs-plasma"
breathing_class = BREATH_PLASMA
name = "vox lungs"
desc = "A set of lungs adapted to filter nitrogen. They're filled with.. dust."
icon_state = "lungs-x"
breathing_class = BREATH_NITROGEN
maxHealth = INFINITY//I don't understand how plamamen work, so I'm not going to try t give them special lungs atm

/obj/item/organ/lungs/vox/populate_gas_info()
..()
gas_max -= GAS_PLASMA
gas_max += GAS_O2
6 changes: 5 additions & 1 deletion modular_splurt/code/modules/vending/clothesmate.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,11 @@
/obj/item/clothing/under/suit/helltaker/skirt = 3,
/obj/item/clothing/suit/invisijacket = 3,
/obj/item/clothing/head/invisihat = 3,
/obj/item/clothing/under/pentatop = 3
/obj/item/clothing/under/pentatop = 3,
/obj/item/clothing/wrists/armwarmer = 3,
/obj/item/clothing/wrists/armwarmer/long = 3,
/obj/item/clothing/wrists/armwarmer_striped = 3,
/obj/item/clothing/wrists/armwarmer_striped/long = 3
)
var/list/extra_contraband = list(
/obj/item/clothing/under/rank/civilian/lawyer/galaxy_red = 3,
Expand Down
Binary file added modular_splurt/icons/mob/clothing/wrists.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/mob/inhands/items_lefthand.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/mob/inhands/items_righthand.dmi
Binary file not shown.
Binary file added modular_splurt/icons/obj/clothing/wrists.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/obj/items_and_weapons.dmi
Binary file not shown.
Binary file modified modular_splurt/icons/obj/pet_capsule.dmi
Binary file not shown.
4 changes: 4 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -4532,6 +4532,7 @@
#include "modular_splurt\code\game\objects\items\storage\secure.dm"
#include "modular_splurt\code\game\objects\items\storage\tailbag.dm"
#include "modular_splurt\code\game\objects\items\storage\wallets.dm"
#include "modular_splurt\code\game\objects\items\tanks\tank_types.dm"
#include "modular_splurt\code\game\objects\items\weaponry\armyknife.dm"
#include "modular_splurt\code\game\objects\items\weaponry\melee.dm"
#include "modular_splurt\code\game\objects\structures\barricades.dm"
Expand Down Expand Up @@ -4622,6 +4623,7 @@
#include "modular_splurt\code\modules\arousal\organs\vagina.dm"
#include "modular_splurt\code\modules\arousal\organs\womb.dm"
#include "modular_splurt\code\modules\arousal\toys\dildos.dm"
#include "modular_splurt\code\modules\atmospherics\auxgm\breathing_classes.dm"
#include "modular_splurt\code\modules\atmospherics\auxgm\gas_types.dm"
#include "modular_splurt\code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
#include "modular_splurt\code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
Expand Down Expand Up @@ -4729,6 +4731,8 @@
#include "modular_splurt\code\modules\clothing\underwear\boxers.dm"
#include "modular_splurt\code\modules\clothing\underwear\shirts.dm"
#include "modular_splurt\code\modules\clothing\underwear\socks.dm"
#include "modular_splurt\code\modules\clothing\wrists\_wrists.dm"
#include "modular_splurt\code\modules\clothing\wrists\miscellaneous.dm"
#include "modular_splurt\code\modules\crafting\eyepatchhud.dm"
#include "modular_splurt\code\modules\custom_loadout\first_tier.dm"
#include "modular_splurt\code\modules\discord\accountlink.dm"
Expand Down

0 comments on commit 7f82de9

Please sign in to comment.