Skip to content

Commit

Permalink
Merge pull request #4807 from MistakeNot4892/scavs
Browse files Browse the repository at this point in the history
Various features/tweaks from ScavStation.
  • Loading branch information
out-of-phaze authored Jan 31, 2025
2 parents 824e2b6 + 2ea6370 commit 1775c63
Show file tree
Hide file tree
Showing 25 changed files with 207 additions and 73 deletions.
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)
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

0 comments on commit 1775c63

Please sign in to comment.