Only small and tiny simplemobs can go on skateboards, shoot people off them [BALANCE PRE APPROVED] (#26091)

* Only small and tiny simplemobs can go on skateboards, shoot people off them

* Update code/datums/components/riding/riding_vehicle.dm

Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Co-authored-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2024-07-02 00:14:09 +00:00
committed by GitHub
co-authored by Ryan
parent bf59a0c4f0
commit aaad036c7c
4 changed files with 29 additions and 8 deletions
+8 -3
View File
@@ -39,11 +39,12 @@
return ..()
/// Someone is buckling to this movable, which is literally the only thing we care about (other than speed potions)
/datum/element/ridable/proc/check_mounting(atom/movable/target_movable, mob/living/potential_rider, force = FALSE, ride_check_flags = NONE)
/datum/element/ridable/proc/check_mounting(atom/movable/target_movable, mob/living/potential_rider, force = FALSE)
SIGNAL_HANDLER //COMSIG_MOVABLE_PREBUCKLE
INVOKE_ASYNC(src, PROC_REF(check_mounting_async_edition), target_movable, potential_rider, force, ride_check_flags)
var/datum/component/riding/R = riding_component_type
return check_mounting_part_two(target_movable, potential_rider, force, R.ride_check_flags)
/datum/element/ridable/proc/check_mounting_async_edition(atom/movable/target_movable, mob/living/potential_rider, force = FALSE, ride_check_flags = NONE)
/datum/element/ridable/proc/check_mounting_part_two(atom/movable/target_movable, mob/living/potential_rider, force = FALSE, ride_check_flags = NONE)
var/arms_needed = 0
if(ride_check_flags & RIDER_NEEDS_ARMS)
arms_needed = 2
@@ -60,6 +61,10 @@
potential_rider.visible_message("<span class='warning'>[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!</span>",
"<span class='warning'>You can't get your footing on [target_movable]!</span>")
return COMPONENT_BLOCK_BUCKLE
if((ride_check_flags & RIDER_CARBON_OR_SILICON_NO_LARGE_MOBS) && !(iscarbon(potential_rider) || issilicon(potential_rider) || potential_rider.mob_size <= MOB_SIZE_SMALL))
potential_rider.visible_message("<span class='warning'>[potential_rider] is too big to get [potential_rider.p_their()] footing on [target_movable]!</span>",
"<span class='warning'>You are too big to get your footing on [target_movable]!</span>")
return COMPONENT_BLOCK_BUCKLE
var/mob/living/target_living = target_movable