* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
80 lines
2.2 KiB
Plaintext
80 lines
2.2 KiB
Plaintext
/obj/vehicle/space/speedbike
|
|
name = "Speedbike"
|
|
icon = 'icons/obj/bike.dmi'
|
|
icon_state = "speedbike_blue"
|
|
layer = LYING_MOB_LAYER
|
|
var/overlay_state = "cover_blue"
|
|
var/image/overlay = null
|
|
|
|
/obj/vehicle/space/speedbike/buckle_mob(mob/living/M, force = 0, check_loc = 1)
|
|
. = ..()
|
|
riding_datum = new/datum/riding/space/speedbike
|
|
|
|
/obj/vehicle/space/speedbike/New()
|
|
. = ..()
|
|
overlay = image("icons/obj/bike.dmi", overlay_state)
|
|
overlay.layer = ABOVE_MOB_LAYER
|
|
add_overlay(overlay)
|
|
|
|
/obj/effect/overlay/temp/speedbike_trail
|
|
name = "speedbike trails"
|
|
icon_state = "ion_fade"
|
|
layer = BELOW_MOB_LAYER
|
|
duration = 10
|
|
randomdir = 0
|
|
|
|
/obj/effect/overlay/temp/speedbike_trail/New(loc,move_dir)
|
|
..()
|
|
setDir(move_dir)
|
|
|
|
/obj/vehicle/space/speedbike/Move(newloc,move_dir)
|
|
if(has_buckled_mobs())
|
|
new /obj/effect/overlay/temp/speedbike_trail(loc,move_dir)
|
|
. = ..()
|
|
|
|
/obj/vehicle/space/speedbike/red
|
|
icon_state = "speedbike_red"
|
|
overlay_state = "cover_red"
|
|
|
|
//BM SPEEDWAGON
|
|
|
|
/obj/vehicle/space/speedbike/speedwagon
|
|
name = "BM Speedwagon"
|
|
desc = "Push it to the limit, walk along the razor's edge."
|
|
icon = 'icons/obj/car.dmi'
|
|
icon_state = "speedwagon"
|
|
layer = LYING_MOB_LAYER
|
|
overlay_state = "speedwagon_cover"
|
|
var/crash_all = FALSE //CHAOS
|
|
pixel_y = -48 //to fix the offset when Initialized()
|
|
pixel_x = -48
|
|
|
|
/obj/vehicle/space/speedbike/speedwagon/Bump(atom/movable/A)
|
|
. = ..()
|
|
if(A.density && has_buckled_mobs())
|
|
var/atom/throw_target = get_edge_target_turf(A, src.dir)
|
|
if(crash_all)
|
|
A.throw_at(throw_target, 4, 3)
|
|
visible_message("<span class='danger'>[src] crashes into [A]!</span>")
|
|
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
|
if(ishuman(A))
|
|
var/mob/living/carbon/human/H = A
|
|
H.Weaken(5)
|
|
H.adjustStaminaLoss(30)
|
|
H.apply_damage(rand(20,35), BRUTE)
|
|
if(!crash_all)
|
|
H.throw_at(throw_target, 4, 3)
|
|
visible_message("<span class='danger'>[src] crashes into [H]!</span>")
|
|
playsound(src, 'sound/effects/bang.ogg', 50, 1)
|
|
|
|
/obj/vehicle/space/speedbike/speedwagon/buckle_mob(mob/living/M, force = 0, check_loc = 1)
|
|
. = ..()
|
|
riding_datum = new/datum/riding/space/speedwagon
|
|
|
|
/obj/vehicle/space/speedbike/speedwagon/Moved()
|
|
. = ..()
|
|
if(src.has_buckled_mobs())
|
|
for(var/atom/A in range(2, src))
|
|
if(!(A in src.buckled_mobs))
|
|
Bump(A)
|