red raptors are now able to attack while ridden (#92455)

## About The Pull Request
red raptors will now be able to retaliate against mobs adjacent to it
while ridden.

## Why It's Good For The Game
red raptors dont have much use compared to its colleagues. this gives it
a bit of a unique purpose and makes it a viable option to have out on
the field

## Changelog
🆑
balance: red raptors are now able to attack while ridden
/🆑
This commit is contained in:
Ben10Omintrix
2025-08-26 10:33:46 +10:00
committed by GitHub
parent 9a62104871
commit db9e3cf9dd
6 changed files with 26 additions and 4 deletions
+11 -3
View File
@@ -11,6 +11,8 @@
var/list/override_unsharable_abilities = list()
/// abilities that are always blacklisted from sharing
var/list/blacklist_abilities = list()
/// flag that determine how our ai acts while ridden
var/ai_behavior_while_ridden = RIDING_PAUSE_AI_PLANNING | RIDING_PAUSE_AI_MOVEMENT
/datum/component/riding/creature/Initialize(mob/living/riding_mob, force = FALSE, ride_check_flags = NONE)
if(!isliving(parent))
@@ -35,7 +37,7 @@
if(isanimal(parent))
var/mob/living/simple_animal/simple_parent = parent
simple_parent.stop_automated_movement = FALSE
REMOVE_TRAIT(parent, TRAIT_AI_PAUSED, REF(src))
parent.remove_traits(list(TRAIT_AI_PAUSED, TRAIT_AI_MOVEMENT_HALTED), REF(src))
return ..()
/datum/component/riding/creature/RegisterWithParent()
@@ -83,7 +85,10 @@
rider.layer = initial(rider.layer)
if(can_be_driven)
//let the player take over if they should be controlling movement
ADD_TRAIT(ridden, TRAIT_AI_PAUSED, REF(src))
if(ai_behavior_while_ridden & RIDING_PAUSE_AI_PLANNING)
ADD_TRAIT(ridden, TRAIT_AI_PAUSED, REF(src))
if(ai_behavior_while_ridden & RIDING_PAUSE_AI_MOVEMENT)
ADD_TRAIT(ridden, TRAIT_AI_MOVEMENT_HALTED, REF(src))
return ..()
/datum/component/riding/creature/vehicle_mob_unbuckle(mob/living/formerly_ridden, mob/living/former_rider, force = FALSE)
@@ -92,7 +97,7 @@
former_rider.log_message("is no longer riding [formerly_ridden].", LOG_GAME, color="pink")
remove_abilities(former_rider)
if(!formerly_ridden.buckled_mobs.len)
REMOVE_TRAIT(formerly_ridden, TRAIT_AI_PAUSED, REF(src))
formerly_ridden.remove_traits(list(TRAIT_AI_PAUSED, TRAIT_AI_MOVEMENT_HALTED), REF(src))
// We gotta reset those layers at some point, don't we?
former_rider.layer = MOB_LAYER
formerly_ridden.layer = MOB_LAYER
@@ -674,3 +679,6 @@
/datum/component/riding/creature/raptor/fast
vehicle_move_delay = 1.5
/datum/component/riding/creature/raptor/combat
ai_behavior_while_ridden = RIDING_PAUSE_AI_MOVEMENT