few raptor taming minigame difficulty tweaks (#89925)

## About The Pull Request
ive heard from a few players that the game is a bit too difficult,
especially when there's lag. this makes the minigame generally much
easier, and takes ping into account. ive also made the difficulty depend
on a few factors:

- the raptor's personality affects the difficulty, where raptors with
the cowardly trait will be slightly harder to tame
- Settlers will have a much easier time taming raptors

(ive also moved the minigame into its own file)

## Why It's Good For The Game
the game was a bit too unforgiving, this makes it easier for people to
win. And the dynamic difficulty gives the feature some personality.

## Changelog
🆑
add: tweaks the raptor taming minigame to be fairer 
add: the taming minigame's difficulty now relies on the raptor's
personality as well as the rider's quirks
/🆑
This commit is contained in:
Ben10Omintrix
2025-03-13 21:34:01 +01:00
committed by GitHub
parent 603169d4d0
commit fcf80d20e9
7 changed files with 288 additions and 214 deletions
@@ -31,6 +31,21 @@
/datum/ai_planning_subtree/find_and_hunt_target/play_with_owner/raptor,
)
/datum/ai_controller/basic_controller/raptor/TryPossessPawn(atom/new_pawn)
. = ..()
if(. & AI_CONTROLLER_INCOMPATIBLE)
return
RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_SET(BB_RAPTOR_COWARD), PROC_REF(on_cowardly_set))
RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_CLEARED(BB_RAPTOR_COWARD), PROC_REF(on_cowardly_clear))
/datum/ai_controller/basic_controller/raptor/proc/on_cowardly_set(datum/source)
SIGNAL_HANDLER
ADD_TRAIT(pawn, TRAIT_MOB_DIFFICULT_TO_MOUNT, REF(src))
/datum/ai_controller/basic_controller/raptor/proc/on_cowardly_clear(datum/source)
SIGNAL_HANDLER
REMOVE_TRAIT(pawn, TRAIT_MOB_DIFFICULT_TO_MOUNT, REF(src))
/datum/ai_controller/basic_controller/raptor/on_mob_eat()
. = ..()
clear_blackboard_key(BB_RAPTOR_TROUGH_TARGET)