/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/static/mutable_appearance/overlay /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 = overlay || mutable_appearance(icon, overlay_state, ABOVE_MOB_LAYER) add_overlay(overlay) /obj/vehicle/space/speedbike/Move(newloc,move_dir) if(has_buckled_mobs()) new /obj/effect/overlay/temp/dir_setting/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("[src] crashes into [A]!") 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("[src] crashes into [H]!") 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)