Skip to content

Commit

Permalink
Aggregate changeset from ScavStation sync.
Browse files Browse the repository at this point in the history
  • Loading branch information
MistakeNot4892 committed Jan 25, 2025
1 parent e54abb3 commit 8c72561
Show file tree
Hide file tree
Showing 100 changed files with 1,873 additions and 1,245 deletions.
7 changes: 6 additions & 1 deletion code/_global_vars/lists/flavor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,13 @@ var/global/list/music_tracks = list(
"80s All Over Again" = /decl/music_track/eighties,
"Wild Encounters" = /decl/music_track/wildencounters,
"Torn" = /decl/music_track/torn,
"Nebula" = /decl/music_track/nebula
"Nebula" = /decl/music_track/nebula,
)
/*
"Space Asshole" = /decl/music_track/space_asshole,
"Tintin" = /decl/music_track/tintin,
"Unatco" = /decl/music_track/unatco
*/

/proc/setup_music_tracks(var/list/tracks)
. = list()
Expand Down
1 change: 0 additions & 1 deletion code/datums/extensions/storage/subtypes_backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
open_sound = 'sound/effects/storage/unzip.ogg'

/datum/storage/backpack/holding
max_w_class = ITEM_SIZE_NORMAL
max_storage_space = 56

/datum/storage/backpack/holding/can_be_inserted(obj/item/W, mob/user, stop_messages = 0, click_params)
Expand Down
12 changes: 6 additions & 6 deletions code/datums/mind/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -152,8 +152,8 @@

if(href_list["add_goal"])

var/mob/caller = locate(href_list["add_goal_caller"])
if(caller && caller == current) can_modify = TRUE
var/mob/calling_proc = locate(href_list["add_goal_caller"])
if(calling_proc && calling_proc == current) can_modify = TRUE

if(can_modify)
if(is_admin)
Expand All @@ -171,8 +171,8 @@
if(href_list["abandon_goal"])
var/datum/goal/goal = get_goal_from_href(href_list["abandon_goal"])

var/mob/caller = locate(href_list["abandon_goal_caller"])
if(caller && caller == current) can_modify = TRUE
var/mob/calling_proc = locate(href_list["abandon_goal_caller"])
if(calling_proc && calling_proc == current) can_modify = TRUE

if(goal && can_modify)
if(usr == current)
Expand All @@ -186,8 +186,8 @@
if(href_list["reroll_goal"])
var/datum/goal/goal = get_goal_from_href(href_list["reroll_goal"])

var/mob/caller = locate(href_list["reroll_goal_caller"])
if(caller && caller == current) can_modify = TRUE
var/mob/calling_proc = locate(href_list["reroll_goal_caller"])
if(calling_proc && calling_proc == current) can_modify = TRUE

if(goal && (goal in goals) && can_modify)
qdel(goal)
Expand Down
6 changes: 6 additions & 0 deletions code/datums/music_tracks/deus.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/decl/music_track/unatco
title = "Unatco"
artist = "Alexander Brandon"
song = 'sound/music/deus_ex_unatco_nervous_testpilot_remix.ogg'
license = /decl/license/grandfathered
url = "https://soundcloud.com/nervous_testpilot/deus-ex-unatco-remix"
6 changes: 6 additions & 0 deletions code/datums/music_tracks/space_asshole.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/decl/music_track/space_asshole
artist = "Chris Remo"
title = "Space Asshole"
song = 'sound/music/space_asshole.ogg'
license = /decl/license/grandfathered
url = "https://idlethumbs.bandcamp.com/album/the-music-of-idle-thumbs"
5 changes: 5 additions & 0 deletions code/datums/music_tracks/title3.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/decl/music_track/tintin
title = "Tintin on the Moon"
artist = "Cuboos"
song = 'sound/music/title3.ogg'
license = /decl/license/grandfathered
4 changes: 2 additions & 2 deletions code/datums/outfits/outfit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@
if(!ispath(uniform, /obj/item/clothing))
. += "outfit is flagged for sensors, but uniform cannot take accessories"
var/succeeded = FALSE
var/obj/item/sensor = new /obj/item/clothing/sensor/vitals
if(uniform)
var/obj/item/sensor = new /obj/item/clothing/sensor/vitals
var/obj/item/clothing/wear_uniform = new uniform // sadly we need to read a list
if(wear_uniform.can_attach_accessory(sensor))
succeeded = TRUE
qdel(wear_uniform)
qdel(sensor)
if(!succeeded)
. += "outfit is flagged for sensors, but uniform does not accept sensors"
qdel(sensor)

/decl/outfit/proc/pre_equip(mob/living/wearer)
if(outfit_flags & OUTFIT_RESET_EQUIPMENT)
Expand Down
3 changes: 3 additions & 0 deletions code/datums/supplypacks/dispcarts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ PACK(syrup_chocolate, /obj/item/chems/chem_disp_cartridge/syrup_chocolate, "Reag
PACK(syrup_caramel, /obj/item/chems/chem_disp_cartridge/syrup_caramel, "Reagent refill - Caramel Syrup", "caramel syrup reagent cartridge crate")
PACK(syrup_vanilla, /obj/item/chems/chem_disp_cartridge/syrup_vanilla, "Reagent refill - Vanilla Syrup", "vanilla syrup reagent cartridge crate")
PACK(syrup_pumpkin, /obj/item/chems/chem_disp_cartridge/syrup_pumpkin, "Reagent refill - Pumpkin Spice Syrup", "pumpkin spice syrup reagent cartridge crate")
PACK(syrup_lavender, /obj/item/chems/chem_disp_cartridge/syrup_lavender, "Reagent refill - Lavender Syrup", "lavender syrup reagent cartridge crate")
PACK(cinnamon, /obj/item/chems/chem_disp_cartridge/cinnamon, "Reagent refill - Cinnamon", "cinnamon reagent cartridge crate")


#undef SEC_PACK
#undef PACK
13 changes: 10 additions & 3 deletions code/datums/supplypacks/livecargo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,19 @@
containername = "monkey crate"

/decl/hierarchy/supply_pack/livecargo/spidercubes
name = "Inert - Spiders"
name = "Inert - Spider Cubes"
contains = list(/obj/item/box/animal_cubes/spiders)
containertype = /obj/structure/closet/crate/secure
containername = "spiderling crate"
contraband = 1
security_level = null
access = access_research

/decl/hierarchy/supply_pack/livecargo/carpcubes
name = "Inert - Space Carp Cubes"
contains = list(/obj/item/box/animal_cubes/carp)
containertype = /obj/structure/closet/crate/secure
containername = "space carp crate"
access = access_chemistry


//actual live animals
/decl/hierarchy/supply_pack/livecargo/corgi
Expand Down
1 change: 0 additions & 1 deletion code/game/gamemodes/wizard/servant_items/caretaker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
ARMOR_ENERGY = ARMOR_ENERGY_SMALL,
ARMOR_RAD = ARMOR_RAD_SHIELDED
)
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID
flags_inv = HIDEEARS | BLOCK_HEAD_HAIR

/obj/item/clothing/suit/caretakercloak
Expand Down
1 change: 0 additions & 1 deletion code/game/gamemodes/wizard/servant_items/champion.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
ARMOR_BOMB = ARMOR_BOMB_RESISTANT,
ARMOR_BIO = ARMOR_BIO_MINOR
)
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID

/obj/item/clothing/suit/champarmor
name = "champion's armor"
Expand Down
2 changes: 0 additions & 2 deletions code/game/gamemodes/wizard/servant_items/fiend.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
ARMOR_ENERGY = ARMOR_ENERGY_SMALL,
ARMOR_RAD = ARMOR_RAD_SHIELDED
)
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID
flags_inv = HIDEEARS | BLOCK_HEAD_HAIR

/obj/item/clothing/suit/fiendcowl
Expand All @@ -29,7 +28,6 @@
name = "black suit"
desc = "A snappy black suit with red trim. The undershirt's stained with something, though..."
icon = 'icons/clothing/suits/suit_fiend.dmi'
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID

/obj/item/clothing/shoes/dress/devilshoes
desc = "Off-colour leather dress shoes. Their footsteps are silent."
Expand Down
1 change: 0 additions & 1 deletion code/game/gamemodes/wizard/servant_items/overseer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
item_flags = ITEM_FLAG_AIRTIGHT
max_pressure_protection = FIRESUIT_MAX_PRESSURE
min_pressure_protection = 0
bodytype_equip_flags = BODY_EQUIP_FLAG_HUMANOID
flags_inv = HIDEEARS | BLOCK_HEAD_HAIR

/obj/item/clothing/suit/straight_jacket/overseercloak
Expand Down
3 changes: 0 additions & 3 deletions code/game/machinery/suit_cycler.dm
Original file line number Diff line number Diff line change
Expand Up @@ -492,11 +492,8 @@
if(helmet)
target_modification.RefitItem(helmet)
helmet.refit_for_bodytype(target_bodytype)
helmet.SetName("refitted [helmet.name]")
if(suit)
target_modification.RefitItem(suit)
suit.refit_for_bodytype(target_bodytype)
suit.SetName("refitted [suit.name]")
if(boots)
boots.refit_for_bodytype(target_bodytype)
boots.SetName("refitted [initial(boots.name)]")
2 changes: 1 addition & 1 deletion code/game/objects/items/devices/modkit.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@

user.visible_message("<span class='notice'>\The [user] opens \the [src] and modifies \the [O].</span>","<span class='notice'>You open \the [src] and modify \the [O].</span>")

I.refit_for_bodytype(target_bodytype)
I.refit_for_bodytype(target_bodytype, skip_rename = TRUE)

if (istype(I, /obj/item/clothing/head/helmet))
parts &= ~MODKIT_HELMET
Expand Down
3 changes: 2 additions & 1 deletion code/game/objects/items/devices/radio/intercom.dm
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,5 @@
..(locked_frequency)

/obj/item/radio/intercom/locked/entertainment
locked_frequency = 1461
broadcasting = TRUE
locked_frequency = 1461
9 changes: 8 additions & 1 deletion code/game/objects/items/weapons/storage/boxes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -366,11 +366,18 @@

/obj/item/box/animal_cubes/spiders
name = "spiderling cube box"
desc = "Drymate brand Instant spiders. WHY WOULD YOU ORDER THIS!?"
desc = "Drymate brand spider cubes. WHY WOULD YOU ORDER THIS!?"

/obj/item/box/animal_cubes/spiders/WillContain()
return list(/obj/item/food/animal_cube/wrapped/spider = 5)

/obj/item/box/animal_cubes/carp
name = "space carp cube box"
desc = "Drymate brand carp cubes. Allergen information: May contain pike"

/obj/item/box/animal_cubes/carp/WillContain()
return list(/obj/item/food/animal_cube/wrapped/carp = 5)

/obj/item/box/ids
name = "box of spare IDs"
desc = "Has so many empty IDs."
Expand Down
2 changes: 1 addition & 1 deletion code/game/turfs/turf_fluids.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
create_reagents(FLUID_MAX_DEPTH)
return ..()

/turf/add_to_reagents(reagent_type, amount, data, safety = FALSE, defer_update = FALSE, phase = null)
/turf/add_to_reagents(reagent_type, amount, data, safety = FALSE, defer_update = FALSE, phase)
if(!reagents)
create_reagents(FLUID_MAX_DEPTH)
return ..()
Expand Down
6 changes: 3 additions & 3 deletions code/modules/admin/view_variables/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -599,9 +599,9 @@
href_list["datumrefresh"] = href_list["mobToDamage"]

else if(href_list["call_proc"])
var/datum/callee = locate(href_list["call_proc"])
if(istype(callee) || istype(callee, /client)) // can call on clients too, not just datums
callproc_targetpicked(1, callee)
var/datum/called_proc = locate(href_list["call_proc"])
if(istype(called_proc) || istype(called_proc, /client)) // can call on clients too, not just datums
callproc_targetpicked(1, called_proc)
else if(href_list["addaura"])
if(!check_rights(R_DEBUG|R_ADMIN|R_FUN)) return
var/mob/living/victim = locate(href_list["addaura"])
Expand Down
2 changes: 1 addition & 1 deletion code/modules/atmospherics/datum_pipeline.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@

/datum/pipeline/proc/mingle_with_turf(turf/target, mingle_volume)

if(!isturf(target))
if(!isturf(target) || !istype(air))
return

var/datum/gas_mixture/air_sample = air.remove_volume(mingle_volume)
Expand Down
52 changes: 26 additions & 26 deletions code/modules/blob/blob.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@

layer = BLOB_SHIELD_LAYER

max_health = 30
max_health = 15

var/regen_rate = 5
var/brute_resist = 4.3
var/fire_resist = 0.8
var/laser_resist = 2 // Special resist for laser based weapons - Emitters or handheld energy weaponry. Damage is divided by this and THEN by fire_resist.
var/regen_rate = 2.5
var/brute_damage_divisor = 4.3
var/fire_damage_divisor = 1.1
var/laser_damage_divisor = 2 // Special resist for laser based weapons - Emitters or handheld energy weaponry. Damage is divided by this and THEN by fire_damage_divisor.
var/expandType = /obj/effect/blob
var/secondary_core_growth_chance = 5 //% chance to grow a secondary blob core instead of whatever was suposed to grown. Secondary cores are considerably weaker, but still nasty.
var/secondary_core_growth_chance = 2.5 //% chance to grow a secondary blob core instead of whatever was suposed to grown. Secondary cores are considerably weaker, but still nasty.
var/damage_min = 15
var/damage_max = 30
var/pruned = FALSE
var/product = /obj/item/blob_tendril
var/attack_freq = 5 //see proc/attempt_attack; lower is more often, min 1
var/attack_freq = 7.5 //see proc/attempt_attack; lower is more often, min 1

/obj/effect/blob/Initialize()
. = ..()
Expand All @@ -42,7 +42,7 @@

/obj/effect/blob/explosion_act(var/severity)
SHOULD_CALL_PARENT(FALSE)
take_damage(rand(140 - (severity * 40), 140 - (severity * 20)) / brute_resist)
take_damage(rand(140 - (severity * 40), 140 - (severity * 20)) / brute_damage_divisor)

/obj/effect/blob/on_update_icon()
if(current_health > get_max_health() / 2)
Expand Down Expand Up @@ -123,7 +123,7 @@

/obj/effect/blob/proc/do_pulse(var/forceLeft, var/list/dirs)
set waitfor = FALSE
sleep(4)
sleep(8)
var/pushDir = pick(dirs)
var/turf/T = get_step(src, pushDir)
var/obj/effect/blob/B = (locate() in T)
Expand Down Expand Up @@ -156,9 +156,9 @@

switch(Proj.atom_damage_type)
if(BRUTE)
take_damage(Proj.damage / brute_resist, Proj.atom_damage_type)
take_damage(Proj.damage / brute_damage_divisor, Proj.atom_damage_type)
if(BURN)
take_damage((Proj.damage / laser_resist) / fire_resist, Proj.atom_damage_type)
take_damage((Proj.damage / laser_damage_divisor) / fire_damage_divisor, Proj.atom_damage_type)
return 0

/obj/effect/blob/attackby(var/obj/item/W, var/mob/user)
Expand All @@ -182,11 +182,11 @@
var/damage = 0
switch(W.atom_damage_type)
if(BURN)
damage = (W.get_attack_force(user) / fire_resist)
damage = (W.get_attack_force(user) / fire_damage_divisor)
if(IS_WELDER(W))
playsound(loc, 'sound/items/Welder.ogg', 100, 1)
if(BRUTE)
damage = (W.get_attack_force(user) / brute_resist)
damage = (W.get_attack_force(user) / brute_damage_divisor)

take_damage(damage, W.atom_damage_type)
return TRUE
Expand All @@ -195,7 +195,7 @@
name = "master nucleus"
desc = "A massive, fragile nucleus guarded by a shield of thick tendrils."
icon_state = "blob_core"
max_health = 450
max_health = 225
damage_min = 30
damage_max = 40
expandType = /obj/effect/blob/shield
Expand All @@ -216,28 +216,28 @@ regen() will cover update_icon() for this proc
/obj/effect/blob/core/proc/process_core_health()
switch(get_health_percent())
if(75 to INFINITY)
brute_resist = 3.5
fire_resist = 2
brute_damage_divisor = 3.5
fire_damage_divisor = 2.5
attack_freq = 5
regen_rate = 2
times_to_pulse = 4
if(reported_low_damage)
report_shield_status("high")
if(50 to 74)
brute_resist = 2.5
fire_resist = 1.5
brute_damage_divisor = 2.5
fire_damage_divisor = 2
attack_freq = 4
regen_rate = 3
times_to_pulse = 3
if(34 to 49)
brute_resist = 1
fire_resist = 0.8
brute_damage_divisor = 1
fire_damage_divisor = 1.1
attack_freq = 3
regen_rate = 4
times_to_pulse = 2
if(-INFINITY to 33)
brute_resist = 0.5
fire_resist = 0.3
brute_damage_divisor = 0.5
fire_damage_divisor = 0.35
regen_rate = 5
times_to_pulse = 1
if(!reported_low_damage)
Expand Down Expand Up @@ -278,7 +278,7 @@ regen() will cover update_icon() for this proc
name = "auxiliary nucleus"
desc = "An interwoven mass of tendrils. A glowing nucleus pulses at its center."
icon_state = "blob_node"
max_health = 125
max_health = 65
regen_rate = 1
damage_min = 15
damage_max = 20
Expand All @@ -296,10 +296,10 @@ regen() will cover update_icon() for this proc
name = "shielding mass"
desc = "A pulsating mass of interwoven tendrils. These seem particularly robust, but not quite as active."
icon_state = "blob_idle"
max_health = 120
max_health = 60
damage_min = 13
damage_max = 25
attack_freq = 7
attack_freq = 8
regen_rate = 4
expandType = /obj/effect/blob/ravaging
light_color = BLOB_COLOR_SHIELD
Expand Down Expand Up @@ -328,7 +328,7 @@ regen() will cover update_icon() for this proc
/obj/effect/blob/ravaging
name = "ravaging mass"
desc = "A mass of interwoven tendrils. They thrash around haphazardly at anything in reach."
max_health = 20
max_health = 10
damage_min = 27
damage_max = 36
attack_freq = 3
Expand Down
Loading

0 comments on commit 8c72561

Please sign in to comment.