mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-28 06:27:26 +01:00
vehicles now respect lube and bullets
This commit is contained in:
@@ -44,9 +44,14 @@
|
||||
var/turf/tile = loc
|
||||
if(isturf(tile))
|
||||
tile.clean_blood()
|
||||
if(istype(tile, /turf/simulated/floor))
|
||||
var/turf/simulated/floor/F = tile
|
||||
F.dirt = 0
|
||||
for(var/A in tile)
|
||||
if(is_cleanable(A))
|
||||
qdel(A)
|
||||
if(istype(A, /obj/effect))
|
||||
if(is_cleanable(A))
|
||||
qdel(A)
|
||||
|
||||
|
||||
|
||||
/obj/vehicle/janicart/examine(mob/user)
|
||||
|
||||
@@ -2,27 +2,25 @@
|
||||
name = "Speedbike"
|
||||
icon = 'icons/obj/bike.dmi'
|
||||
icon_state = "speedbike_blue"
|
||||
layer = OBJ_LAYER
|
||||
layer = MOB_LAYER - 0.1
|
||||
keytype = null
|
||||
vehicle_move_delay = 0
|
||||
var/overlay_state = "cover_blue"
|
||||
var/image/overlay = null
|
||||
var/datum/effect/system/ion_trail_follow/space_trail/ion_trail
|
||||
|
||||
/obj/vehicle/space/speedbike/New()
|
||||
..()
|
||||
overlay = image("icons/obj/bike.dmi", overlay_state)
|
||||
overlay.layer = MOB_LAYER + 0.1
|
||||
overlays += overlay
|
||||
ion_trail = new /datum/effect/system/ion_trail_follow/space_trail()
|
||||
ion_trail.set_up(src)
|
||||
ion_trail.start()
|
||||
|
||||
/obj/effect/overlay/temp/speedbike_trail
|
||||
name = "speedbike trails"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
icon_state = "ion_fade"
|
||||
duration = 20
|
||||
duration = 10
|
||||
randomdir = 0
|
||||
layer = MOB_LAYER - 0.2
|
||||
|
||||
/obj/effect/overlay/temp/speedbike_trail/New(loc,move_dir)
|
||||
..()
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
var/next_vehicle_move = 0 //used for move delays
|
||||
var/vehicle_move_delay = 2 //tick delay between movements, lower = faster, higher = slower
|
||||
var/auto_door_open = TRUE
|
||||
var/needs_gravity = 0//To allow non-space vehicles to move in no gravity or not, mostly for adminbus
|
||||
|
||||
//Pixels
|
||||
var/generic_pixel_x = 0 //All dirs show this pixel_x for the driver
|
||||
@@ -83,6 +84,10 @@
|
||||
handle_vehicle_offsets()
|
||||
|
||||
|
||||
/obj/vehicle/bullet_act(obj/item/projectile/Proj)
|
||||
if(buckled_mob)
|
||||
buckled_mob.bullet_act(Proj)
|
||||
|
||||
//MOVEMENT
|
||||
/obj/vehicle/relaymove(mob/user, direction)
|
||||
if(user.incapacitated())
|
||||
@@ -99,6 +104,15 @@
|
||||
buckled_mob.buckled = null //Temporary, so Move() succeeds.
|
||||
buckled_mob.buckled = src //Restoring
|
||||
|
||||
if(istype(src.loc, /turf/simulated))
|
||||
var/turf/simulated/T = src.loc
|
||||
if(T.wet == TURF_WET_LUBE) //Lube! Fall off!
|
||||
playsound(src, 'sound/misc/slip.ogg', 50, 1, -3)
|
||||
buckled_mob.Stun(7)
|
||||
buckled_mob.Weaken(7)
|
||||
unbuckle_mob()
|
||||
step(src, dir)
|
||||
|
||||
handle_vehicle_layer()
|
||||
handle_vehicle_offsets()
|
||||
else
|
||||
@@ -133,6 +147,9 @@
|
||||
if(pulledby)
|
||||
return 1
|
||||
|
||||
if(needs_gravity)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
/obj/vehicle/space
|
||||
|
||||
Reference in New Issue
Block a user