mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 22:43:46 +00:00
* Ridden vehicles pass bullets, checks for new incapacitation traits for whether or not you fall off (#54376) Ridden vehicles now pass any objects that normally pass tables. This includes bullets, thrown objects, and probably dwarves? Ridden vehicles check for the various incapacitation traits instead of just usable hands for whether you fall off. Doesn't fix corpses buckled to these objects but that'll require more work to fix because it's all tied into relay_move. This doesn't affect any ridden object that doesn't checks for hand availability. Like skateboards and wheelchairs (although how exactly your wheelchair is moving without hands or mechanical parts is beyond me). * Ridden vehicles pass bullets, checks for new incapacitation traits for whether or not you fall off Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
|
|
//Boat
|
|
|
|
/obj/vehicle/ridden/lavaboat
|
|
name = "lava boat"
|
|
desc = "A boat used for traversing lava."
|
|
icon_state = "goliath_boat"
|
|
icon = 'icons/obj/lavaland/dragonboat.dmi'
|
|
var/allowed_turf = /turf/open/lava
|
|
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
|
can_buckle = TRUE
|
|
rider_check_flags = REQUIRES_LEGS | REQUIRES_ARMS | UNBUCKLE_DISABLED_RIDER
|
|
|
|
/obj/vehicle/ridden/lavaboat/Initialize()
|
|
. = ..()
|
|
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
|
|
D.keytype = /obj/item/oar
|
|
D.allowed_turf_typecache = typecacheof(allowed_turf)
|
|
|
|
/obj/item/oar
|
|
name = "oar"
|
|
icon = 'icons/obj/vehicles.dmi'
|
|
icon_state = "oar"
|
|
inhand_icon_state = "oar"
|
|
lefthand_file = 'icons/mob/inhands/misc/lavaland_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/misc/lavaland_righthand.dmi'
|
|
desc = "Not to be confused with the kind Research hassles you for."
|
|
force = 12
|
|
w_class = WEIGHT_CLASS_NORMAL
|
|
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
|
|
|
/datum/crafting_recipe/oar
|
|
name = "Goliath Bone Oar"
|
|
result = /obj/item/oar
|
|
reqs = list(/obj/item/stack/sheet/bone = 2)
|
|
time = 15
|
|
category = CAT_PRIMAL
|
|
|
|
/datum/crafting_recipe/boat
|
|
name = "Goliath Hide Boat"
|
|
result = /obj/vehicle/ridden/lavaboat
|
|
reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3)
|
|
time = 50
|
|
category = CAT_PRIMAL
|
|
|
|
//Dragon Boat
|
|
|
|
|
|
/obj/item/ship_in_a_bottle
|
|
name = "ship in a bottle"
|
|
desc = "A tiny ship inside a bottle."
|
|
icon = 'icons/obj/lavaland/artefacts.dmi'
|
|
icon_state = "ship_bottle"
|
|
|
|
/obj/item/ship_in_a_bottle/attack_self(mob/user)
|
|
to_chat(user, "<span class='notice'>You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.</span>")
|
|
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE)
|
|
new /obj/vehicle/ridden/lavaboat/dragon(get_turf(src))
|
|
qdel(src)
|
|
|
|
/obj/vehicle/ridden/lavaboat/dragon
|
|
name = "mysterious boat"
|
|
desc = "This boat moves where you will it, without the need for an oar."
|
|
icon_state = "dragon_boat"
|
|
|
|
/obj/vehicle/ridden/lavaboat/dragon/Initialize()
|
|
. = ..()
|
|
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
|
|
D.vehicle_move_delay = 1
|
|
D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(1, 2), TEXT_SOUTH = list(1, 2), TEXT_EAST = list(1, 2), TEXT_WEST = list( 1, 2)))
|
|
D.keytype = null
|