mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Most fleshy mobs are vulnerable to stamina and stuns (#90675)
## About The Pull Request This PR enables most mobs to take stamina damage, become slowed as a result of taking stamina damage. It also gives most mobs CANSTUN which not only allows them to enter stamcrit from taking stamina damage but also makes them vulnerable to mechanics like stun batons. Mobs which already took stamina damage (Spiders and Space Dragons) still work the same way. Mechanical or artificial mobs, mining mobs, simple xenomorphs, ghosts, and most kinds of mob closely associated with antagonists still don't take stamina damage. ## Why It's Good For The Game A new player armed with a disabler will probably try and use it on aggressive animals and be disappointed, but I don't think there is any _reason_ for them to be disappointed when it's already something they are doing merely to delay being attacked rather than to kill the target. It's not intuitive for these mechanics not to function against simple mobs when they do against humans, _especially_ the kinds of mobs which look like humans, and there isn't any technical reason why it _couldn't_ work against most mobs which it looks like they should work against. While this reduces the threat level of some mobs against Security players I think the greater interaction with the sandbox is beneficial. I'm hopeful it doesn't have that much effect on many of the most common places you encounter dangerous mobs like Space Ruins or Gateways as they are also places where you can't reliably recharge your energy-based stamina weapons as most that don't require energy do require getting into melee and endangering yourself. ## Changelog 🆑 balance: Most biological mobs are now slowed by taking stamina damage, and can be stunned. Mechanical mobs, mining mobs, and several other special kinds (chiefly those invoked by antagonists) are unaffected. If this seems to effect any mob it probably shouldn't, please report it as a bug. /🆑
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
response_disarm_continuous = "gently pushes aside"
|
||||
response_disarm_simple = "gently push aside"
|
||||
|
||||
max_stamina = 120
|
||||
maxHealth = 60
|
||||
health = 60
|
||||
speed = 0
|
||||
@@ -88,7 +89,7 @@
|
||||
maxHealth = 250
|
||||
health = 250
|
||||
faction = list(FACTION_NEUTRAL)
|
||||
status_flags = CANPUSH
|
||||
status_flags = CANPUSH | CANSTUN
|
||||
|
||||
/mob/living/basic/bear/snow/ancient
|
||||
name = "ancient polar bear"
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST | MOB_AQUATIC
|
||||
health = 25
|
||||
maxHealth = 25
|
||||
max_stamina = 120
|
||||
pressure_resistance = 200
|
||||
combat_mode = TRUE
|
||||
obj_damage = 50
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
habitable_atmos = list("min_oxy" = 5, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0)
|
||||
unsuitable_atmos_damage = 7.5
|
||||
faction = list(FACTION_HOSTILE)
|
||||
status_flags = CANPUSH
|
||||
status_flags = CANPUSH | CANSTUN
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
|
||||
ai_controller = /datum/ai_controller/basic_controller/cat_butcherer
|
||||
|
||||
@@ -41,6 +41,10 @@
|
||||
lighting_cutoff_blue = 5
|
||||
butcher_results = list(/obj/item/food/meat/slab/spider = 2, /obj/item/food/spiderleg = 8)
|
||||
ai_controller = /datum/ai_controller/basic_controller/giant_spider
|
||||
max_stamina = 200
|
||||
stamina_crit_threshold = BASIC_MOB_NO_STAMCRIT
|
||||
stamina_recovery = 5
|
||||
max_stamina_slowdown = 12
|
||||
|
||||
/mob/living/basic/flesh_spider/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
gender = NEUTER
|
||||
health = 50
|
||||
maxHealth = 50
|
||||
max_stamina = 120
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 5
|
||||
attack_verb_continuous = "chomps"
|
||||
|
||||
@@ -47,6 +47,8 @@
|
||||
lighting_cutoff_green = 10
|
||||
lighting_cutoff_blue = 20
|
||||
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
/// Typepath of the antag datum to add to the demon when applicable
|
||||
var/datum/antagonist/antag_type = null
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
attack_verb_simple = "punch"
|
||||
attack_sound = 'sound/items/weapons/punch1.ogg'
|
||||
melee_attack_cooldown = 1.2 SECONDS
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 1, OXY = 1)
|
||||
speak_emote = list("announces")
|
||||
|
||||
unsuitable_atmos_damage = 0
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
response_help_simple = "pass through"
|
||||
combat_mode = TRUE
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
status_flags = CANPUSH
|
||||
maxHealth = 40
|
||||
health = 40
|
||||
melee_damage_lower = 15
|
||||
@@ -26,6 +27,7 @@
|
||||
light_range = 2.5 // same glowing as visible player ghosts
|
||||
light_power = 0.6
|
||||
ai_controller = /datum/ai_controller/basic_controller/ghost
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
///What hairstyle will this ghost have
|
||||
var/ghost_hairstyle
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
habitable_atmos = null
|
||||
minimum_survivable_temperature = TCMB
|
||||
ai_controller = /datum/ai_controller/basic_controller/hivebot
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
///does this type do range attacks?
|
||||
var/ranged_attacker = FALSE
|
||||
/// How often can we shoot?
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
verb_exclaim = "zaps"
|
||||
verb_yell = "bangs"
|
||||
initial_language_holder = /datum/language_holder/lightbringer
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 0, OXY = 0)
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, STAMINA = 1, OXY = 0)
|
||||
light_range = 4
|
||||
faction = list(FACTION_NEUTRAL)
|
||||
unsuitable_atmos_damage = 0
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
icon = 'icons/mob/simple/meteor_heart.dmi'
|
||||
icon_state = "heart"
|
||||
icon_living = "heart"
|
||||
status_flags = NONE
|
||||
mob_biotypes = MOB_ORGANIC
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
mob_size = MOB_SIZE_HUGE
|
||||
@@ -27,6 +28,7 @@
|
||||
maximum_survivable_temperature = 1500
|
||||
combat_mode = TRUE
|
||||
move_resist = INFINITY // This mob IS the floor
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
/// Looping heartbeat sound
|
||||
var/datum/looping_sound/heartbeat/soundloop
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
lighting_cutoff_blue = 40
|
||||
|
||||
ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
/mob/living/basic/blankbody/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
lighting_cutoff_blue = 15
|
||||
|
||||
ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
var/health_scaling = TRUE
|
||||
|
||||
/mob/living/basic/creature/Initialize(mapload)
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
lighting_cutoff_blue = 50
|
||||
|
||||
ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
var/static/list/migo_sounds
|
||||
/// Odds migo will dodge
|
||||
var/dodge_prob = 10
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
response_disarm_simple = "push"
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
|
||||
status_flags = CANPUSH
|
||||
maxHealth = 1000
|
||||
health = 1000
|
||||
melee_damage_lower = 10
|
||||
@@ -20,6 +21,7 @@
|
||||
obj_damage = 50
|
||||
attack_sound = 'sound/effects/hallucinations/growl1.ogg'
|
||||
ai_controller = /datum/ai_controller/basic_controller/paper_wizard
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
///spell to summon minions
|
||||
var/datum/action/cooldown/spell/conjure/wizard_summon_minions/summon
|
||||
///spell to summon clones
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
maxHealth = 70
|
||||
health = 70
|
||||
max_stamina = 120
|
||||
|
||||
butcher_results = list(/obj/item/food/meat/slab/mouse = 2, /obj/item/clothing/head/costume/crown = 1)
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
icon_living = "amerifat"
|
||||
|
||||
max_grab = GRAB_AGGRESSIVE
|
||||
status_flags = CANPUSH
|
||||
basic_mob_flags = DEL_ON_DEATH
|
||||
mob_biotypes = MOB_ROBOTIC|MOB_HUMANOID
|
||||
sentience_type = SENTIENCE_ARTIFICIAL
|
||||
@@ -20,6 +21,7 @@
|
||||
maximum_survivable_temperature = T0C + 1000
|
||||
|
||||
ai_controller = /datum/ai_controller/robot_customer
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
/// The clothes that we draw on this tourist.
|
||||
var/clothes_set = "amerifat_clothes"
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
health_doll_icon = "spacedragon"
|
||||
faction = list(FACTION_CARP)
|
||||
mob_biotypes = MOB_SPECIAL
|
||||
status_flags = CANPUSH
|
||||
flags_1 = PREVENT_CONTENTS_EXPLOSION_1
|
||||
gender = NEUTER
|
||||
maxHealth = 400
|
||||
@@ -51,6 +52,10 @@
|
||||
lighting_cutoff_red = 12
|
||||
lighting_cutoff_green = 15
|
||||
lighting_cutoff_blue = 34
|
||||
max_stamina = 200
|
||||
stamina_crit_threshold = BASIC_MOB_NO_STAMCRIT
|
||||
stamina_recovery = 5
|
||||
max_stamina_slowdown = 12
|
||||
|
||||
/// The colour of the space dragon
|
||||
var/chosen_colour
|
||||
|
||||
@@ -30,6 +30,11 @@
|
||||
lighting_cutoff_red = 22
|
||||
lighting_cutoff_green = 5
|
||||
lighting_cutoff_blue = 5
|
||||
max_stamina = 200
|
||||
stamina_crit_threshold = BASIC_MOB_NO_STAMCRIT
|
||||
stamina_recovery = 5
|
||||
max_stamina_slowdown = 12
|
||||
|
||||
/// Speed modifier to apply if controlled by a human player
|
||||
var/player_speed_modifier = -4
|
||||
/// What reagent the mob injects targets with
|
||||
|
||||
@@ -9,8 +9,10 @@
|
||||
maxHealth = 300
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 30
|
||||
status_flags = CANPUSH
|
||||
sentience_type = SENTIENCE_ARTIFICIAL
|
||||
ai_controller = /datum/ai_controller/basic_controller/stares_at_people
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
/// the path to a fake item we will hold in our right hand
|
||||
var/obj/item/held_item
|
||||
/// the path to a fake hat we will wear
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
attack_vis_effect = ATTACK_EFFECT_CLAW
|
||||
melee_attack_cooldown = 1 SECONDS
|
||||
|
||||
status_flags = CANPUSH
|
||||
faction = list(FACTION_STATUE)
|
||||
speak_emote = list("screams")
|
||||
death_message = "falls apart into a fine dust."
|
||||
@@ -50,6 +51,7 @@
|
||||
move_resist = MOVE_FORCE_EXTREMELY_STRONG
|
||||
pull_force = MOVE_FORCE_EXTREMELY_STRONG
|
||||
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
ai_controller = /datum/ai_controller/basic_controller/statue
|
||||
|
||||
/mob/living/basic/statue/Initialize(mapload)
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon_dead = "smspider_dead"
|
||||
|
||||
gender = NEUTER
|
||||
status_flags = CANPUSH
|
||||
mob_biotypes = MOB_BUG|MOB_ROBOTIC
|
||||
speak_emote = list("vibrates")
|
||||
|
||||
@@ -24,6 +25,7 @@
|
||||
maximum_survivable_temperature = T0C + 1250
|
||||
habitable_atmos = null
|
||||
death_message = "falls to the ground, its shard dulling to a miserable grey!"
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
faction = list(FACTION_HOSTILE)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
health_doll_icon = "Fugu0"
|
||||
pixel_x = -16
|
||||
base_pixel_x = -16
|
||||
status_flags = NONE
|
||||
status_flags = CANSTUN
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
mob_biotypes = MOB_ORGANIC | MOB_BEAST
|
||||
mob_size = MOB_SIZE_SMALL
|
||||
|
||||
Reference in New Issue
Block a user