[READY]VEHICLE REFACTOR - Riding datums --> Components, Vehicles --> /obj/vehicle, staging for mech overhaul later on

This commit is contained in:
kevinz000
2017-12-03 13:33:01 -08:00
committed by CitadelStationBot
parent 6217206bae
commit 66c66f0bd7
54 changed files with 1052 additions and 786 deletions
@@ -469,16 +469,19 @@
//Boat
/obj/vehicle/lavaboat
/obj/vehicle/ridden/lavaboat
name = "lava boat"
desc = "A boat used for traversing lava."
icon_state = "goliath_boat"
icon = 'icons/obj/lavaland/dragonboat.dmi'
resistance_flags = LAVA_PROOF | FIRE_PROOF
can_buckle = TRUE
/obj/vehicle/lavaboat/buckle_mob(mob/living/M, force = 0, check_loc = 1)
/obj/vehicle/ridden/lavaboat/Initialize()
. = ..()
riding_datum = new/datum/riding/boat
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
D.keytype = /obj/item/oar
D.allowed_turf_typecache = typecacheof(/turf/open/lava)
/obj/item/oar
name = "oar"
@@ -501,7 +504,7 @@
/datum/crafting_recipe/boat
name = "goliath hide boat"
result = /obj/vehicle/lavaboat
result = /obj/vehicle/ridden/lavaboat
reqs = list(/obj/item/stack/sheet/animalhide/goliath_hide = 3)
time = 50
category = CAT_PRIMAL
@@ -518,17 +521,20 @@
/obj/item/ship_in_a_bottle/attack_self(mob/user)
to_chat(user, "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.")
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1)
new /obj/vehicle/lavaboat/dragon(get_turf(src))
new /obj/vehicle/ridden/lavaboat/dragon(get_turf(src))
qdel(src)
/obj/vehicle/lavaboat/dragon
/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/lavaboat/dragon/buckle_mob(mob/living/M, force = 0, check_loc = 1)
..()
riding_datum = new/datum/riding/boat/dragon
/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
//Potion of Flight
/obj/item/reagent_containers/glass/bottle/potion