Fixes slipping on water while riding janicart.

The handle_slip() now also handles cases where the mob is buckled. If you are buckled and slip on lube (or something that ignores

galoshes) you get unbuckled and stunned and the buckle object moves one step (no slides unlike when unbuckled).
You can thus slip on lube while buckled to a chair or a roller bed.
Fixes getting hit by abstract held items when slipping.
Fixes janicart rider getting hit twice by bullets.
Removing the STEP constant var in slipping code, it's no more used.
Fixes carbon/slip() not returning the correct value.
Changed var/obj/structure/stool/bed/buckled to var/obj/buckled since buckled can now technically be any obj.

Removes hacky unbuckling/buckling in bed/Move()
This commit is contained in:
phil235
2015-08-13 23:49:02 +02:00
parent 9c44303661
commit 1cee0d3014
7 changed files with 47 additions and 52 deletions
-13
View File
@@ -238,14 +238,6 @@
step(src, direction)
update_mob()
handle_rotation()
if(istype(src.loc, /turf/simulated))
var/turf/simulated/T = src.loc
if(T.wet == 2) //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)
move_delay = 1
spawn(2)
move_delay = 0
@@ -300,11 +292,6 @@
buckled_mob.pixel_x = -12
buckled_mob.pixel_y = 7
/obj/structure/stool/bed/chair/janicart/bullet_act(obj/item/projectile/Proj)
if(buckled_mob)
buckled_mob.bullet_act(Proj)
/obj/item/key
name = "key"
desc = "A small grey key."
@@ -24,14 +24,12 @@
/obj/structure/stool/bed/Move(atom/newloc, direct) //Some bed children move
. = ..()
if(buckled_mob)
buckled_mob.buckled = null
if(!buckled_mob.Move(loc, direct))
loc = buckled_mob.loc //we gotta go back
last_move = buckled_mob.last_move
inertia_dir = last_move
buckled_mob.inertia_dir = last_move
. = 0
buckled_mob.buckled = src
/obj/structure/stool/bed/Process_Spacemove(movement_dir = 0)
if(buckled_mob)