mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 01:54:52 +01:00
Merge remote-tracking branch 'tgstation/master' into upstream-2025-11-29
# Conflicts: # _maps/RandomRuins/SpaceRuins/derelict_sulaco.dmm # _maps/RandomRuins/SpaceRuins/garbagetruck2.dmm # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # _maps/map_files/tramstation/tramstation.dmm # code/_onclick/hud/new_player.dm # code/datums/components/squashable.dm # code/datums/diseases/advance/symptoms/heal.dm # code/datums/diseases/chronic_illness.dm # code/datums/status_effects/buffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/stamcrit.dm # code/game/machinery/computer/crew.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/wall_mounted.dm # code/game/turfs/closed/indestructible.dm # code/modules/admin/view_variables/filterrific.dm # code/modules/antagonists/heretic/influences.dm # code/modules/cargo/orderconsole.dm # code/modules/client/preferences.dm # code/modules/events/space_vines/vine_mutations.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/carbon/human/death.dm # code/modules/mob/living/carbon/human/species_types/jellypeople.dm # code/modules/mob/living/damage_procs.dm # code/modules/mob/living/living.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mob_spawn/mob_spawn.dm # code/modules/projectiles/ammunition/energy/laser.dm # code/modules/projectiles/guns/ballistic/launchers.dm # code/modules/projectiles/guns/energy/laser.dm # code/modules/reagents/chemistry/machinery/chem_dispenser.dm # code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/medicine_reagents.dm # code/modules/surgery/healing.dm # code/modules/unit_tests/designs.dm # icons/mob/inhands/items_lefthand.dmi # icons/mob/inhands/items_righthand.dmi # tgui/packages/tgui/interfaces/ChemDispenser.tsx
This commit is contained in:
@@ -44,7 +44,7 @@
|
||||
if(SPT_PROB(reside_chance, seconds_per_tick))
|
||||
controller.queue_behavior(/datum/ai_behavior/find_and_set/valid_home, BB_CAT_HOME, /obj/structure/cat_house)
|
||||
|
||||
/datum/ai_behavior/find_and_set/valid_home/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/valid_home/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
for(var/obj/structure/cat_house/home in oview(search_range, controller.pawn))
|
||||
if(home.resident_cat)
|
||||
continue
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
controller.queue_behavior(/datum/ai_behavior/find_and_set/cat_tresspasser, BB_TRESSPASSER_TARGET, /mob/living/basic/pet/cat)
|
||||
|
||||
/datum/ai_behavior/find_and_set/cat_tresspasser/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/cat_tresspasser/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/list/ignore_types = controller.blackboard[BB_BABIES_CHILD_TYPES]
|
||||
for(var/mob/living/basic/pet/cat/potential_enemy in oview(search_range, controller.pawn))
|
||||
if(potential_enemy.gender != MALE)
|
||||
@@ -244,7 +244,7 @@
|
||||
|
||||
/datum/ai_behavior/find_and_set/valid_kitten
|
||||
|
||||
/datum/ai_behavior/find_and_set/valid_kitten/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/valid_kitten/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/mob/living/kitten = locate(locate_path) in oview(search_range, controller.pawn)
|
||||
//kitten already has food near it, go feed another hungry kitten
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
controller.queue_behavior(/datum/ai_behavior/find_and_set/human_beg, BB_HUMAN_BEG_TARGET, /mob/living/carbon/human)
|
||||
|
||||
/datum/ai_behavior/find_and_set/human_beg/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/human_beg/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/list/locate_items = controller.blackboard[BB_HUNTABLE_PREY]
|
||||
for(var/mob/living/carbon/human/human_target in oview(search_range, controller.pawn))
|
||||
if(human_target.stat != CONSCIOUS || isnull(human_target.mind))
|
||||
|
||||
@@ -517,7 +517,7 @@
|
||||
visible_message(span_warning("[src] arises again, revived by the dark magicks!"), \
|
||||
span_cult_large("RISE"))
|
||||
revive(ADMIN_HEAL_ALL) //also means that a dead Nars-Ian can consume a pet and revive
|
||||
adjustBruteLoss(-maxHealth)
|
||||
adjust_brute_loss(-maxHealth)
|
||||
|
||||
//LISA! SQUEEEEEEEEE~
|
||||
/mob/living/basic/pet/dog/corgi/lisa
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
return
|
||||
|
||||
if(health < maxHealth)
|
||||
adjustBruteLoss(-4 * seconds_per_tick) //Fast life regen
|
||||
adjust_brute_loss(-4 * seconds_per_tick) //Fast life regen
|
||||
|
||||
for(var/mob/living/carbon/humanoid_entities in view(3, src)) //Mood aura which stay as long you do not wear Sanallite as hat or carry(I will try to make it work with hat someday(obviously weaker than normal one))
|
||||
humanoid_entities.add_mood_event("kobun", /datum/mood_event/kobun)
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/datum/ai_behavior/find_and_set/find_playmate
|
||||
|
||||
/datum/ai_behavior/find_and_set/find_playmate/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/find_playmate/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
for(var/mob/living/basic/orbie/playmate in oview(search_range, controller.pawn))
|
||||
if(playmate == controller.pawn || playmate.stat == DEAD || isnull(playmate.ai_controller))
|
||||
continue
|
||||
|
||||
@@ -350,7 +350,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
|
||||
return TRUE // we still ate it
|
||||
|
||||
if(health < maxHealth)
|
||||
adjustBruteLoss(-10)
|
||||
adjust_brute_loss(-10)
|
||||
speech_probability_rate *= 1.27
|
||||
speech_shuffle_rate += 10
|
||||
update_speech_blackboards()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/datum/ai_behavior/find_and_set/hoard_location
|
||||
|
||||
/datum/ai_behavior/find_and_set/hoard_location/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/hoard_location/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
for(var/turf/open/candidate in oview(search_range, controller.pawn))
|
||||
if(is_space_or_openspace(candidate))
|
||||
continue
|
||||
@@ -41,7 +41,7 @@
|
||||
action_cooldown = 5 SECONDS
|
||||
behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION
|
||||
|
||||
/datum/ai_behavior/find_and_set/hoard_item/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/hoard_item/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
if(!controller.blackboard_key_exists(BB_HOARD_LOCATION))
|
||||
return null
|
||||
var/turf/nest_turf = controller.blackboard[BB_HOARD_LOCATION]
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/mob/living/basic/pet/penguin
|
||||
abstract_type = /mob/living/basic/pet/penguin
|
||||
|
||||
icon = 'icons/mob/simple/penguins.dmi'
|
||||
gender = FEMALE
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
/datum/ai_planning_subtree/fish/drilled_ice
|
||||
find_fishable_behavior = /datum/ai_behavior/find_and_set/in_list/drilled_ice
|
||||
|
||||
/datum/ai_behavior/find_and_set/in_list/drilled_ice/search_tactic(datum/ai_controller/controller, locate_paths, search_range)
|
||||
/datum/ai_behavior/find_and_set/in_list/drilled_ice/search_tactic(datum/ai_controller/controller, locate_paths, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
for(var/atom/possible_ice as anything in RANGE_TURFS(search_range, controller.pawn))
|
||||
if(!istype(possible_ice, /turf/open/misc/ice))
|
||||
continue
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/mob/living/basic/pet
|
||||
abstract_type = /mob/living/basic/pet
|
||||
icon = 'icons/mob/simple/pets.dmi'
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
mob_biotypes = MOB_ORGANIC|MOB_BEAST
|
||||
blood_volume = BLOOD_VOLUME_NORMAL
|
||||
default_blood_volume = BLOOD_VOLUME_NORMAL
|
||||
basic_mob_flags = SENDS_DEATH_MOODLETS
|
||||
/// if the mob is protected from being renamed by collars.
|
||||
var/unique_pet = FALSE
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
action_cooldown = 5 SECONDS
|
||||
behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION
|
||||
|
||||
/datum/ai_behavior/find_and_set/friendly_cultist/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/friendly_cultist/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/mob/living/living_pawn = controller.pawn
|
||||
for(var/mob/living/carbon/possible_cultist in oview(search_range, controller.pawn))
|
||||
if(IS_CULTIST(possible_cultist) && !(living_pawn.faction.Find(REF(possible_cultist))))
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
/datum/ai_behavior/find_and_set/occupied_rune
|
||||
|
||||
/datum/ai_behavior/find_and_set/occupied_rune/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/occupied_rune/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/datum/team/cult/cult_team = controller.blackboard[BB_CULT_TEAM]
|
||||
if(isnull(cult_team))
|
||||
return null
|
||||
@@ -140,7 +140,7 @@
|
||||
|
||||
/datum/ai_behavior/find_and_set/dead_cultist
|
||||
|
||||
/datum/ai_behavior/find_and_set/dead_cultist/search_tactic(datum/ai_controller/controller, locate_path, search_range)
|
||||
/datum/ai_behavior/find_and_set/dead_cultist/search_tactic(datum/ai_controller/controller, locate_path, search_range = SEARCH_TACTIC_DEFAULT_RANGE)
|
||||
var/datum/team/cult/cult_team = controller.blackboard[BB_CULT_TEAM]
|
||||
if(isnull(cult_team))
|
||||
return null
|
||||
|
||||
Reference in New Issue
Block a user