vehicles now respect lube and bullets

This commit is contained in:
Aurorablade
2016-04-10 01:03:23 -04:00
parent 5e046ced40
commit 8be42cd15b
3 changed files with 28 additions and 8 deletions
+7 -2
View File
@@ -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)
+4 -6
View File
@@ -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)
..()
+17
View File
@@ -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