Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit

This commit is contained in:
Waterpig
2024-09-08 00:59:39 +02:00
1728 changed files with 273718 additions and 2237 deletions
@@ -1,3 +1,4 @@
<<<<<<< HEAD
/**
* So far, only used by the fishing minigame. Feel free to rename it to something like veryfastprocess
* if you need one that fires 10 times a second
@@ -5,3 +6,38 @@
PROCESSING_SUBSYSTEM_DEF(fishing)
name = "Fishing"
wait = 0.1 SECONDS
=======
/// subsystem for the fishing minigame processing.
PROCESSING_SUBSYSTEM_DEF(fishing)
name = "Fishing"
flags = SS_BACKGROUND|SS_POST_FIRE_TIMING
wait = 0.05 SECONDS // If you raise it to 0.1 SECONDS, you better also modify [datum/fish_movement/move_fish()]
///Cached fish properties so we don't have to initalize fish every time
var/list/fish_properties
///A cache of fish that can be caught by each type of fishing lure
var/list/lure_catchables
/datum/controller/subsystem/processing/fishing/Initialize()
///init the properties
fish_properties = list()
for(var/fish_type in subtypesof(/obj/item/fish))
var/obj/item/fish/fish = new fish_type(null, FALSE)
fish_properties[fish_type] = list()
fish_properties[fish_type][FISH_PROPERTIES_FAV_BAIT] = fish.favorite_bait.Copy()
fish_properties[fish_type][FISH_PROPERTIES_BAD_BAIT] = fish.disliked_bait.Copy()
fish_properties[fish_type][FISH_PROPERTIES_TRAITS] = fish.fish_traits.Copy()
qdel(fish)
///init the list of things lures can catch
lure_catchables = list()
var/list/fish_types = subtypesof(/obj/item/fish)
for(var/lure_type in typesof(/obj/item/fishing_lure))
var/obj/item/fishing_lure/lure = new lure_type
lure_catchables[lure_type] = list()
for(var/obj/item/fish/fish_type as anything in fish_types)
if(lure.is_catchable_fish(fish_type, fish_properties[fish_type]))
lure_catchables[lure_type] += fish_type
qdel(lure)
return SS_INIT_SUCCESS
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
@@ -17,7 +17,11 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/transhumanist, /datum/quirk/body_purist),
list(/datum/quirk/prosthetic_organ, /datum/quirk/tin_man, /datum/quirk/body_purist),
list(/datum/quirk/quadruple_amputee, /datum/quirk/paraplegic, /datum/quirk/hemiplegic),
<<<<<<< HEAD
//list(/datum/quirk/quadruple_amputee, /datum/quirk/frail), // SKYRAT EDIT REMOVAL- Since we have synth wounds now, frail has a large downside for prosthetics and such
=======
list(/datum/quirk/quadruple_amputee, /datum/quirk/frail),
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
list(/datum/quirk/social_anxiety, /datum/quirk/mute),
list(/datum/quirk/mute, /datum/quirk/softspoken),
list(/datum/quirk/poor_aim, /datum/quirk/bighands),
@@ -26,6 +30,7 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/photophobia, /datum/quirk/nyctophobia),
list(/datum/quirk/item_quirk/settler, /datum/quirk/freerunning),
list(/datum/quirk/numb, /datum/quirk/selfaware),
<<<<<<< HEAD
//SKYRAT EDIT ADDITION BEGIN
list(/datum/quirk/equipping/nerve_staple, /datum/quirk/nonviolent),
list(/datum/quirk/equipping/nerve_staple, /datum/quirk/item_quirk/nearsighted),
@@ -39,6 +44,8 @@ GLOBAL_LIST_INIT_TYPED(quirk_blacklist, /list/datum/quirk, list(
list(/datum/quirk/oversized, /datum/quirk/item_quirk/settler),
list(/datum/quirk/echolocation, /datum/quirk/item_quirk/blindness, /datum/quirk/item_quirk/nearsighted, /datum/quirk/item_quirk/deafness),
//SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
))
GLOBAL_LIST_INIT(quirk_string_blacklist, generate_quirk_string_blacklist())
@@ -89,6 +96,7 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
if(initial(quirk_type.abstract_parent_type) == type)
continue
<<<<<<< HEAD
// SKYRAT EDIT ADDITION START
if(initial(quirk_type.erp_quirk) && CONFIG_GET(flag/disable_erp_preferences))
continue
@@ -97,6 +105,8 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
continue
// SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
quirks[initial(quirk_type.name)] = quirk_type
quirk_points[initial(quirk_type.name)] = initial(quirk_type.value)
@@ -193,7 +203,11 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
/// be valid.
/// If no changes need to be made, will return the same list.
/// Expects all quirk names to be unique, but makes no other expectations.
<<<<<<< HEAD
/datum/controller/subsystem/processing/quirks/proc/filter_invalid_quirks(list/quirks, list/augments) // SKYRAT EDIT - AUGMENTS+
=======
/datum/controller/subsystem/processing/quirks/proc/filter_invalid_quirks(list/quirks)
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
var/list/new_quirks = list()
var/list/positive_quirks = list()
var/points_enabled = !CONFIG_GET(flag/disable_quirk_points)
@@ -202,11 +216,14 @@ PROCESSING_SUBSYSTEM_DEF(quirks)
var/list/all_quirks = get_quirks()
<<<<<<< HEAD
// SKYRAT EDIT BEGIN - AUGMENTS+
for(var/key in augments)
var/datum/augment_item/aug = GLOB.augment_items[augments[key]]
balance += aug.cost
// SKYRAT EDIT END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
for (var/quirk_name in quirks)
var/datum/quirk/quirk = all_quirks[quirk_name]
if (isnull(quirk))
@@ -17,6 +17,7 @@ PROCESSING_SUBSYSTEM_DEF(reagents)
GLOB.fake_reagent_blacklist = list(/datum/reagent/medicine/c2, /datum/reagent/medicine, /datum/reagent/reaction_agent)
//Build GLOB lists - see holder.dm
build_chemical_reactions_lists()
<<<<<<< HEAD
// SKYRAT EDIT ADDITION START
if(CONFIG_GET(flag/disable_erp_preferences))
@@ -30,6 +31,8 @@ PROCESSING_SUBSYSTEM_DEF(reagents)
if(reaction_list)
reaction_list -= reaction_datum
// SKYRAT EDIT ADDITION END
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
return SS_INIT_SUCCESS
/datum/controller/subsystem/processing/reagents/fire(resumed = FALSE)
@@ -24,7 +24,11 @@ PROCESSING_SUBSYSTEM_DEF(station)
// Autowiki also wants consistent outputs, for example making sure the vending machine page always reports the normal products
#if !defined(UNIT_TESTS) && !defined(AUTOWIKI)
SetupTraits()
<<<<<<< HEAD
//display_lobby_traits() SKYRAT EDIT REMOVAL
=======
display_lobby_traits()
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
#endif
announcer = new announcer() //Initialize the station's announcer datum
@@ -173,7 +177,10 @@ PROCESSING_SUBSYSTEM_DEF(station)
var/datum/station_trait/trait_to_remove = i
selectable_traits_by_types[initial(trait_to_remove.trait_type)] -= trait_to_remove
<<<<<<< HEAD
/* SKYRAT EDIT REMOVAL
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3
/// Update station trait lobby buttons for clients who joined before we initialised this subsystem
/datum/controller/subsystem/processing/station/proc/display_lobby_traits()
for (var/mob/dead/new_player/player as anything in GLOB.new_player_list)
@@ -182,4 +189,7 @@ PROCESSING_SUBSYSTEM_DEF(station)
continue
observer_hud.add_station_trait_buttons()
observer_hud.show_hud(observer_hud.hud_version)
<<<<<<< HEAD
*/
=======
>>>>>>> 4b4ae0958fe6b5d511ee6e24a5087599f61d70a3