mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-21 12:08:55 +01:00
Buffs blue and purple raptors a bit, and fixes chasm immunity bugs (#95414)
## About The Pull Request Increases blue raptors' HP to 300, and makes purple raptors automatically initiate flight if you are about to fall into a chasm while wearing one on your back. Also fixes 2 exploits involving chasms which would render you immune to that particular chasm. ## Why It's Good For The Game I've had some feedback on raptors, and more specifically how blue and purples are rather underwhelming, former only being a single feature from old raptors and latter not providing much of a benefit to non-settlers. This should address both of those, making blues a bit tankier and purples being able to save you from an instant death. ## Changelog 🆑 balance: Blue raptors had their HP increased from 220 to 300 balance: Purple raptors now automatically start flying if the owner is about to fall into a chasm. fix: Fixed 2 exploits which would render you immune to falling down a specific chasm. /🆑
This commit is contained in:
@@ -197,8 +197,8 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
COMSIG_RAPTOR_WINGS_OPENED, \
|
||||
COMSIG_RAPTOR_WINGS_CLOSED, \
|
||||
null, \
|
||||
CALLBACK(src, PROC_REF(can_fly)), \
|
||||
CALLBACK(src, PROC_REF(can_fly)), \
|
||||
CALLBACK(src, PROC_REF(check_flight)), \
|
||||
CALLBACK(src, PROC_REF(check_flight)), \
|
||||
)
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/Destroy()
|
||||
@@ -212,9 +212,11 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
if ((slot & ITEM_SLOT_BACK) && ishuman(user) && flight_action)
|
||||
flight_action.Grant(held_mob)
|
||||
flight_action.GiveAction(user)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROPPED, PROC_REF(chasm_react))
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/dropped(mob/user, silent)
|
||||
. = ..()
|
||||
UnregisterSignal(user, COMSIG_MOVABLE_CHASM_DROPPED)
|
||||
if (wings_open)
|
||||
toggle_wings(user)
|
||||
// Removed in Destroy()
|
||||
@@ -232,7 +234,7 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
source.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/raptor)
|
||||
source.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/raptor/slow)
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/proc/can_fly()
|
||||
/obj/item/mob_holder/purple_raptor/proc/can_fly(silent = FALSE)
|
||||
var/mob/living/carbon/human/user = loc
|
||||
if (!istype(user) || user.stat || user.body_position == LYING_DOWN || isnull(user.client))
|
||||
return FALSE
|
||||
@@ -245,9 +247,13 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
if (environment?.return_pressure() >= HAZARD_LOW_PRESSURE + 10)
|
||||
return TRUE
|
||||
|
||||
to_chat(user, span_warning("The atmosphere is too thin for you to fly!"))
|
||||
if (!silent)
|
||||
to_chat(user, span_warning("The atmosphere is too thin for you to fly!"))
|
||||
return FALSE
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/proc/check_flight()
|
||||
return can_fly(silent = TRUE)
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/proc/toggle_wings(mob/living/carbon/human/user)
|
||||
// In case something goes wrong
|
||||
if (!istype(user))
|
||||
@@ -299,8 +305,18 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
UnregisterSignal(user, list(COMSIG_HUMAN_HEIGHT_UPDATED, SIGNAL_ADDTRAIT(TRAIT_FAT), SIGNAL_REMOVETRAIT(TRAIT_FAT)))
|
||||
SEND_SIGNAL(src, COMSIG_RAPTOR_WINGS_CLOSED, user)
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/proc/chasm_react(mob/living/user, turf/chasm)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if (wings_open || !can_fly())
|
||||
return
|
||||
|
||||
toggle_wings(user)
|
||||
if (wings_open)
|
||||
return COMPONENT_NO_CHASM_DROP
|
||||
|
||||
/obj/item/mob_holder/purple_raptor/process(seconds_per_tick)
|
||||
if (!can_fly())
|
||||
if (!can_fly(silent = TRUE))
|
||||
toggle_wings(loc)
|
||||
return PROCESS_KILL
|
||||
|
||||
@@ -406,6 +422,7 @@ GLOBAL_LIST_INIT(raptor_colors, init_raptor_colors())
|
||||
/datum/raptor_color/blue
|
||||
color = "blue"
|
||||
description = "Covered in tough, lava-resistant feathers with thick insulated fur underneath, this breed is capable of marching through lava and fire alike."
|
||||
health = 300
|
||||
guaranteed_crossbreeds = list(
|
||||
/datum/raptor_color/red = /datum/raptor_color/purple,
|
||||
/datum/raptor_color/white = /datum/raptor_color/green,
|
||||
|
||||
Reference in New Issue
Block a user