Nerfs fish infusion slipperiness and make them slightly more susceptible to fire and heat. (#88065)

This commit is contained in:
Ghom
2024-11-24 20:35:50 +01:00
committed by GitHub
parent 9a739f358f
commit bfb5fea278
5 changed files with 24 additions and 6 deletions
+2
View File
@@ -378,6 +378,8 @@
#define SLIPPERY_TURF (1<<5)
/// For mobs who are slippery, this requires the mob holding it to be lying down.
#define SLIPPERY_WHEN_LYING_DOWN (1<<6)
///Like sliding, but it's short, it doesn't knockdown, it doesn't stun, it just staggers a bit.
#define WEAK_SLIDE (1<<7)
#define MAX_CHICKENS 50
@@ -339,7 +339,7 @@
/datum/status_effect/fire_handler/wet_stacks/proc/become_slippery()
SIGNAL_HANDLER
slipperiness = owner.AddComponent(/datum/component/slippery, 5 SECONDS, lube_flags = SLIPPERY_WHEN_LYING_DOWN)
slipperiness = owner.AddComponent(/datum/component/slippery, 5 SECONDS, lube_flags = SLIPPERY_WHEN_LYING_DOWN|NO_SLIP_WHEN_WALKING|WEAK_SLIDE)
ADD_TRAIT(owner, TRAIT_NO_SLIP_WATER, TRAIT_STATUS_EFFECT(id))
/datum/status_effect/fire_handler/wet_stacks/proc/no_longer_slippery()
@@ -8,8 +8,8 @@
id = "organ_set_bonus_fish"
tick_interval = 1 SECONDS
organs_needed = 3
bonus_activate_text = span_notice("Fish DNA is deeply infused with you! While wet, you crawl faster, are slippery, and cannot slip, and it takes longer to dry out. \
You're also more resistant to high pressure, better at fishing, but less resilient when dry, especially against burns.")
bonus_activate_text = span_notice("Fish DNA is deeply infused with you! While wet, you crawl faster, are slippery, cannot slip, and it takes longer to dry out. \
You're also resistant to high pressure, better at fishing, but less resilient when dry, especially against burns.")
bonus_deactivate_text = span_notice("You no longer feel as fishy. The moisture around your body begins to dissipate faster...")
bonus_traits = list(
TRAIT_RESISTHIGHPRESSURE,
@@ -34,6 +34,9 @@
if(ishuman(owner))
var/mob/living/carbon/human/human = owner
//Fish is slightly weaker to being cooked. oh oh.
human.physiology.burn_mod *= 1.15
human.physiology.heat_mod *= 1.15
human.physiology.damage_resistance += 8 //base 8% damage resistance, much wow.
if(!HAS_TRAIT(owner, TRAIT_IS_WET))
apply_debuff()
@@ -61,6 +64,8 @@
owner.clear_mood_event("fish_organs_bonus")
if(ishuman(owner))
var/mob/living/carbon/human/human = owner
human.physiology.burn_mod /= 1.15
human.physiology.heat_mod /= 1.15
human.physiology.damage_resistance -= 8
if(HAS_TRAIT(owner, TRAIT_IS_WET) && istype(owner.get_organ_slot(ORGAN_SLOT_EXTERNAL_TAIL), /obj/item/organ/tail/fish))
remove_speed_buff()
+7 -3
View File
@@ -354,13 +354,15 @@
if(lube & SLIDE_ICE)
// Ice slides only go 1 tile, this is so you will slip across ice until you reach a non-slip tile
slide_distance = 1
else if(HAS_TRAIT(slipper, TRAIT_CURSED))
else if(HAS_TRAIT(slipper, TRAIT_CURSED) && !(lube & WEAK_SLIDE))
// When cursed, all slips send you flying
lube |= SLIDE
slide_distance = rand(5, 9)
else if(HAS_TRAIT(slipper, TRAIT_NO_SLIP_SLIDE))
// Stops sliding
slide_distance = 0
else if(lube & WEAK_SLIDE)
slide_distance = rand(1, 2)
var/obj/buckled_obj
if(slipper.buckled)
@@ -390,10 +392,12 @@
// They need to be kept upright to maintain the combo effect (So don't knockdown)
slipper.Immobilize(1 SECONDS)
slipper.incapacitate(1 SECONDS)
else if(lube & WEAK_SLIDE)
slipper.adjust_staggered_up_to(STAGGERED_SLOWDOWN_LENGTH, 10 SECONDS)
slipper.stop_pulling()
else
slipper.Knockdown(knockdown_amount)
slipper.Paralyze(paralyze_amount)
slipper.stop_pulling()
if(buckled_obj)
buckled_obj.unbuckle_mob(slipper)
@@ -403,7 +407,7 @@
if(slide_distance)
var/turf/target = get_ranged_target_turf(slipper, olddir, slide_distance)
if(lube & SLIDE)
if(lube & (SLIDE|WEAK_SLIDE))
slipper.AddComponent(/datum/component/force_move, target, TRUE)
else if(lube & SLIDE_ICE)
slipper.AddComponent(/datum/component/force_move, target, FALSE)//spinning would be bad for ice, fucks up the next dir
@@ -36,6 +36,13 @@
icon_state = "lava"
temperature = 100 // Raise the body temp by 100 points
/obj/projectile/temp/hot/on_hit(atom/target, blocked = FALSE, pierce_hit)
. = ..()
if(isliving(target))
var/mob/living/living_target = target
living_target.adjust_wet_stacks(-10)
/obj/projectile/temp/cryo
name = "cryo beam"
range = 9