Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various features/tweaks from ScavStation. #4807

Merged
merged 11 commits into from
Jan 31, 2025
1 change: 0 additions & 1 deletion code/datums/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
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
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 @@ -359,11 +359,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 traces of 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
1 change: 1 addition & 0 deletions code/modules/clothing/head/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@
name = "green bandana"
desc = "It's a green bandana with some fine nanotech lining."
icon = 'icons/clothing/head/bandana/green.dmi'

/obj/item/clothing/head/bandana/orange //themij: Taryn Kifer
name = "orange bandana"
desc = "An orange piece of cloth, worn on the head."
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/head/soft_caps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@

/obj/item/clothing/head/soft/sec
name = "security cap"
desc = "It's a field cap in tasteful red color."
desc = "It's a field cap."
color = COLOR_NT_RED

/obj/item/clothing/head/soft/black
Expand Down
4 changes: 4 additions & 0 deletions code/modules/clothing/neck/ties.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
name = "long yellow tie"
color = "#c4c83d"

/obj/item/clothing/neck/tie/long/blue
name = "long blue tie"
color = "#3d62c8"

/obj/item/clothing/neck/tie/navy
name = "navy tie"
color = "#182e44"
Expand Down
7 changes: 7 additions & 0 deletions code/modules/clothing/pants/detective.dm
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,10 @@
/obj/item/clothing/neck/tie/long/red,
/obj/item/clothing/suit/jacket/vest/black
)

/obj/item/clothing/pants/slacks/outfit/detective_grey
starting_accessories = list(
/obj/item/clothing/shirt/button,
/obj/item/clothing/neck/tie/long/blue,
/obj/item/clothing/suit/jacket/vest/gray
)
7 changes: 7 additions & 0 deletions code/modules/clothing/tail/_tail.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// Tail accessories. Currently only used by Scavstation for tailbells and tailgloves.
/obj/item/clothing/tail
abstract_type = /obj/item/clothing/tail
w_class = ITEM_SIZE_SMALL
accessory_slot = ACCESSORY_SLOT_MEDAL
fallback_slot = slot_w_uniform_str
slot_flags = SLOT_UPPER_BODY
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,9 @@
/datum/fabricator_recipe/industrial/exosuit_gear/drill
path = /obj/item/mech_equipment/drill

/datum/fabricator_recipe/industrial/exosuit_gear/ionjets
path = /obj/item/mech_equipment/ionjets

/datum/fabricator_recipe/industrial/exosuit_gear/mounted
path = /obj/item/mech_equipment/mounted_system/taser

Expand Down
21 changes: 17 additions & 4 deletions code/modules/fluids/fluid_mapped.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,25 @@

/obj/abstract/landmark/mapped_fluid/Initialize()
..()
var/turf/my_turf = get_turf(src)
if(my_turf)
my_turf.add_to_reagents(fluid_type, fluid_initial)
return INITIALIZE_HINT_QDEL
return INITIALIZE_HINT_LATELOAD

/obj/abstract/landmark/mapped_fluid/LateInitialize()
..()
if(fluid_initial > 0)
var/turf/my_turf = get_turf(src)
if(my_turf)
my_turf.add_to_reagents(fluid_type, fluid_initial)
qdel(src)

/obj/abstract/landmark/mapped_fluid/fuel
name = "spilled fuel"
fluid_type = /decl/material/liquid/fuel
fluid_initial = 10

/obj/abstract/landmark/mapped_fluid/fill
name = "mapped fluid fill"

/obj/abstract/landmark/mapped_fluid/fill/LateInitialize()
var/turf/my_turf = get_turf(loc)
fluid_initial = -(my_turf.get_physical_height())
..()
58 changes: 58 additions & 0 deletions code/modules/mob/living/simple_animal/hostile/shark.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/mob/living/simple_animal/hostile/carp/shark // generally stronger version of a carp that doesn't die from a mean look. Fance new sprites included, credits to F-Tang Steve
name = "cosmoshark"
desc = "Enormous creature that resembles a shark with magenta glowing lines along its body and set of long deep-purple teeth."
icon = 'maps/away/errant_pisces/icons/cosmoshark.dmi'
butchery_data = /decl/butchery_data/animal/fish/space_carp/shark
max_health = 100
natural_weapon = /obj/item/natural_weapon/bite/strong
faction = "shark"
ai = /datum/mob_controller/aggressive/carp/shark

/datum/mob_controller/aggressive/carp/shark
break_stuff_probability = 35
turns_per_wander = 10

/mob/living/simple_animal/hostile/carp/shark/carp_randomify()
return

/mob/living/simple_animal/hostile/carp/shark/death(gibbed)
. = ..()
if(. && !gibbed)
var/datum/gas_mixture/environment = loc.return_air()
if (environment)
var/datum/gas_mixture/sharkmaw_chlorine = new
sharkmaw_chlorine.adjust_gas(/decl/material/gas/chlorine, 10)
environment.merge(sharkmaw_chlorine)
visible_message(SPAN_WARNING("\The [src]'s body releases some gas from the gills with a quiet fizz!"))

/mob/living/simple_animal/hostile/carp/shark/apply_attack_effects(mob/living/target)
. =..()
var/mob/living/L = target
if(istype(L))
if(prob(25))//if one is unlucky enough, they get tackled few tiles away
L.visible_message("<span class='danger'>\The [src] tackles [L]!</span>")
var/tackle_length = rand(3,5)
for (var/i = 1 to tackle_length)
var/turf/T = get_step(L.loc, dir)//on a first step of tackling standing mob would block movement so let's check if there's something behind it. Works for consequent moves too
if (T.density || LinkBlocked(L.loc, T) || TurfBlockedNonWindow(T) || DirBlocked(T, global.flip_dir[dir]))
break
sleep(2)
forceMove(T)//maybe there's better manner then just forceMove() them
L.forceMove(T)
visible_message("<span class='danger'>\The [src] releases [L].</span>")

/decl/butchery_data/animal/fish/space_carp/shark
meat_type = /obj/item/food/butchery/meat/fish/shark
must_use_hook = TRUE

/obj/item/food/butchery/meat/fish/shark
desc = "A fillet of cosmoshark meat."
meat_name = "cosmoshark"
color = "#cecece"
center_of_mass = @'{"x":17,"y":13}'
bitesize = 8

/obj/item/food/butchery/meat/fish/shark/populate_reagents()
. = ..()
add_to_reagents(/decl/material/liquid/psychoactives, 1)
add_to_reagents(/decl/material/gas/chlorine, 1)
4 changes: 4 additions & 0 deletions code/modules/paperwork/photography.dm
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,10 @@
. = ..()
update_icon()

/obj/item/camera/loaded/Initialize()
. = ..()
film = new /obj/item/camera_film(src)

/obj/item/camera/on_update_icon()
. = ..()
var/datum/extension/base_icon_state/bis = get_extension(src, /datum/extension/base_icon_state)
Expand Down
8 changes: 8 additions & 0 deletions code/modules/reagents/chems/chems_compounds.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@
value = 0.1
uid = "chem_blackpepper"

/decl/material/solid/cinnamon
name = "cinnamon"
lore_text = "A powder used to flavor food and drinks. Unpleasant to eat a full spoonful of."
taste_description = "cinnamon"
color = "#a34b0d"
value = 0.2
uid = "chem_cinnamon"

/decl/material/liquid/enzyme
name = "universal enzyme"
uid = "chem_enzyme"
Expand Down
34 changes: 32 additions & 2 deletions code/modules/reagents/chems/chems_drinks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,11 @@
glass_special = list(DRINK_FIZZ)
allergen_flags = ALLERGEN_CAFFEINE | ALLERGEN_STIMULANT

/decl/material/liquid/drink/cola/build_presentation_name_from_reagents(var/obj/item/prop, var/supplied)
if(prop.reagents.has_reagent(/decl/material/liquid/drink/milk))
. = "pilk"
. = ..(prop, .)

/decl/material/liquid/drink/citrussoda
name = "citrus soda"
lore_text = "Fizzy and tangy."
Expand Down Expand Up @@ -718,9 +723,9 @@

/decl/material/liquid/drink/tea/black/build_presentation_name_from_reagents(var/obj/item/prop, var/supplied)
if(prop.reagents.has_reagent(/decl/material/liquid/drink/juice/orange))
if(prop.reagents.has_reagent(/decl/material/liquid/drink/milk))
if(prop.reagents.has_reagent(/decl/material/liquid/drink/milk) && prop.reagents.has_reagent(/decl/material/liquid/drink/syrup/vanilla)) //real london fogs need vanilla syrup
. = "London Fog"
else if(prop.reagents.has_reagent(/decl/material/liquid/drink/milk/soymilk))
else if(prop.reagents.has_reagent(/decl/material/liquid/drink/milk/soymilk) && prop.reagents.has_reagent(/decl/material/liquid/drink/syrup/vanilla))
. = "soy London Fog"
else
. = "Baron Grey"
Expand Down Expand Up @@ -846,6 +851,19 @@
glass_name = "pumpkin spice syrup"
glass_desc = "Thick spiced pumpkin syrup used to flavor drinks."

/decl/material/liquid/drink/syrup/lavender
name = "lavender syrup"
lore_text = "Thick lavender syrup used to flavor drinks."
taste_description = "lavender"
color = "#c38be7"
coffee_priority = 1
exoplanet_rarity_plant = MAT_RARITY_NOWHERE
exoplanet_rarity_gas = MAT_RARITY_NOWHERE
uid = "chem_drink_lavendersyrup"

glass_name = "lavender syrup"
glass_desc = "Thick lavender syrup used to flavor drinks."

/decl/material/liquid/drink/gingerbeer
name = "ginger beer"
lore_text = "A hearty, non-alcoholic beverage brewed from ginger."
Expand Down Expand Up @@ -903,3 +921,15 @@
glass_name = "Compote"
glass_desc = "Traditional dessert drink made from fruits or berries. Grandma would be proud."
allergen_flags = ALLERGEN_FRUIT

/decl/material/liquid/drink/horchata
name = "horchata"
lore_text = "A traditional Mexican drink made from rice, milk, vanilla, and cinnamon."
taste_description = "refreshing vanilla and cinnamon"
color = "#d6c9be"
exoplanet_rarity_plant = MAT_RARITY_NOWHERE
exoplanet_rarity_gas = MAT_RARITY_NOWHERE
uid = "chem_drink_horchata"

glass_name = "Horchata"
glass_desc = "A traditional Mexican drink made from rice, milk, vanilla, and cinnamon."
2 changes: 2 additions & 0 deletions code/modules/reagents/dispenser/cartridge_presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ DEFINE_CARTRIDGE_FOR_CHEM(syrup_chocolate, /decl/material/liquid/drink/syrup/cho
DEFINE_CARTRIDGE_FOR_CHEM(syrup_caramel, /decl/material/liquid/drink/syrup/caramel)
DEFINE_CARTRIDGE_FOR_CHEM(syrup_vanilla, /decl/material/liquid/drink/syrup/vanilla)
DEFINE_CARTRIDGE_FOR_CHEM(syrup_pumpkin, /decl/material/liquid/drink/syrup/pumpkin)
DEFINE_CARTRIDGE_FOR_CHEM(syrup_lavender, /decl/material/liquid/drink/syrup/lavender)
DEFINE_CARTRIDGE_FOR_CHEM(cinnamon, /decl/material/solid/cinnamon)

// Bar, coffee
DEFINE_CARTRIDGE_FOR_CHEM(coffee, /decl/material/liquid/drink/coffee)
Expand Down
4 changes: 3 additions & 1 deletion code/modules/reagents/dispenser/dispenser_presets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,9 @@
/obj/item/chems/chem_disp_cartridge/syrup_chocolate,
/obj/item/chems/chem_disp_cartridge/syrup_caramel,
/obj/item/chems/chem_disp_cartridge/syrup_vanilla,
/obj/item/chems/chem_disp_cartridge/syrup_pumpkin
/obj/item/chems/chem_disp_cartridge/syrup_pumpkin,
/obj/item/chems/chem_disp_cartridge/syrup_lavender,
/obj/item/chems/chem_disp_cartridge/cinnamon
)

buildable = FALSE
7 changes: 7 additions & 0 deletions code/modules/reagents/reactions/reaction_recipe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -119,3 +119,10 @@
result_amount = 6
mix_message = "The broth of the noodles takes on a hellish red gleam."
hidden_from_codex = TRUE

/decl/chemical_reaction/recipe/horchata
name = "Horchata"
result = /decl/material/liquid/drink/horchata
required_reagents = list(/decl/material/liquid/nutriment/rice = 2, /decl/material/liquid/drink/milk = 2, /decl/material/liquid/drink/syrup/vanilla = 1, /decl/material/solid/cinnamon = 1)
result_amount = 6
mix_message = "The ingredients combine to create a refreshing white beverage."
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,9 @@
condiment_desc = "A small bottle of the essential oil of some kind of mint plant."
condiment_icon = 'icons/obj/food/condiments/coldsauce.dmi'
condiment_key = "small"

/decl/condiment_appearance/cinnamon
condiment_type = /decl/material/solid/cinnamon
condiment_name = "cinnamon"
condiment_desc = "A small bottle of ground cinnamon."
condiment_icon = 'icons/obj/food/condiments/generic.dmi'
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ MAPPED_CONDIMENT_TYPE(frostoil, /decl/condiment_appearance/coldsauce)
MAPPED_CONDIMENT_TYPE(capsaicin, /decl/condiment_appearance/capsaicin)
MAPPED_CONDIMENT_TYPE(yeast, /decl/condiment_appearance/yeast)
MAPPED_CONDIMENT_TYPE(flour, /decl/condiment_appearance/flour)
MAPPED_CONDIMENT_TYPE(cinnamon, /decl/condiment_appearance/cinnamon)

#undef MAPPED_CONDIMENT_TYPE
20 changes: 19 additions & 1 deletion code/modules/reagents/reagent_containers/food/meat/cubes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
add_to_reagents(/decl/material/solid/organic/meat, 10)

/obj/item/food/animal_cube/get_single_monetary_worth()
. = (spawn_type ? round(atom_info_repository.get_combined_worth_for(spawn_type) * 1.25) : 5)
. = (spawn_type ? round(atom_info_repository.get_combined_worth_for((islist(spawn_type) ? spawn_type[1] : spawn_type)) * 1.25) : 5)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uh, what the heck is this for. it looks like they maybe wanted to do a pickweight thing but it always just takes the first item? and it never decrements either so it's not a counter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per Discord, it's taking the first spawn type for things like carp cubes that have multiple possible products.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't see the other ones ever being used though? i only saw [1] and never pickweight

if(wrapper_type)
. += atom_info_repository.get_combined_worth_for(wrapper_type)

Expand All @@ -51,6 +51,8 @@
return
growing = TRUE
visible_message(SPAN_NOTICE("\The [src] expands!"))
if(islist(spawn_type))
spawn_type = pickweight(spawn_type)
var/mob/critter = new spawn_type
critter.dropInto(force_loc || loc)
qdel(src)
Expand Down Expand Up @@ -96,3 +98,19 @@
/obj/item/food/animal_cube/wrapped/monkey
name = "monkey cube"
spawn_type = /mob/living/human/monkey

/obj/item/food/animal_cube/carp
name = "carp cube"
spawn_type = list(
/mob/living/simple_animal/hostile/carp = 10,
/mob/living/simple_animal/hostile/carp/pike = 3,
/mob/living/simple_animal/hostile/carp/shark = 1
)

/obj/item/food/animal_cube/wrapped/carp
name = "carp cube"
spawn_type = list(
/mob/living/simple_animal/hostile/carp = 10,
/mob/living/simple_animal/hostile/carp/pike = 3,
/mob/living/simple_animal/hostile/carp/shark = 1
)
Binary file modified icons/obj/barsigns.dmi
Binary file not shown.
Loading
Loading