mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
@@ -295,14 +295,19 @@
|
|||||||
|
|
||||||
// Simple helper to face what you clicked on, in case it should be needed in more than one place
|
// Simple helper to face what you clicked on, in case it should be needed in more than one place
|
||||||
/mob/proc/face_atom(var/atom/A)
|
/mob/proc/face_atom(var/atom/A)
|
||||||
if( stat || buckled || !A || !x || !y || !A.x || !A.y ) return
|
if( stat || (buckled && !buckled.movable) || !A || !x || !y || !A.x || !A.y ) return
|
||||||
var/dx = A.x - x
|
var/dx = A.x - x
|
||||||
var/dy = A.y - y
|
var/dy = A.y - y
|
||||||
if(!dx && !dy) return
|
if(!dx && !dy) return
|
||||||
|
|
||||||
|
var/direction
|
||||||
if(abs(dx) < abs(dy))
|
if(abs(dx) < abs(dy))
|
||||||
if(dy > 0) usr.dir = NORTH
|
if(dy > 0) direction = NORTH
|
||||||
else usr.dir = SOUTH
|
else direction = SOUTH
|
||||||
else
|
else
|
||||||
if(dx > 0) usr.dir = EAST
|
if(dx > 0) direction = EAST
|
||||||
else usr.dir = WEST
|
else direction = WEST
|
||||||
|
usr.dir = direction
|
||||||
|
if(buckled && buckled.movable)
|
||||||
|
buckled.dir = direction
|
||||||
|
buckled.handle_rotation()
|
||||||
@@ -108,12 +108,19 @@
|
|||||||
|
|
||||||
playSpecials(curturf,effectin,soundin)
|
playSpecials(curturf,effectin,soundin)
|
||||||
|
|
||||||
|
var/obj/structure/stool/bed/chair/C = null
|
||||||
|
if(isliving(teleatom))
|
||||||
|
var/mob/living/L = teleatom
|
||||||
|
if(L.buckled)
|
||||||
|
C = L.buckled
|
||||||
if(force_teleport)
|
if(force_teleport)
|
||||||
teleatom.forceMove(destturf)
|
teleatom.forceMove(destturf)
|
||||||
playSpecials(destturf,effectout,soundout)
|
playSpecials(destturf,effectout,soundout)
|
||||||
else
|
else
|
||||||
if(teleatom.Move(destturf))
|
if(teleatom.Move(destturf))
|
||||||
playSpecials(destturf,effectout,soundout)
|
playSpecials(destturf,effectout,soundout)
|
||||||
|
if(C)
|
||||||
|
C.forceMove(destturf)
|
||||||
|
|
||||||
destarea.Entered(teleatom)
|
destarea.Entered(teleatom)
|
||||||
|
|
||||||
|
|||||||
@@ -198,6 +198,8 @@
|
|||||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||||
s.set_up(5, 1, src)
|
s.set_up(5, 1, src)
|
||||||
s.start()
|
s.start()
|
||||||
|
accurate = 1
|
||||||
|
spawn(3000) accurate = 0 //Accurate teleporting for 5 minutes
|
||||||
for(var/mob/B in hearers(src, null))
|
for(var/mob/B in hearers(src, null))
|
||||||
B.show_message("\blue Test fire completed.")
|
B.show_message("\blue Test fire completed.")
|
||||||
return
|
return
|
||||||
@@ -339,6 +341,7 @@
|
|||||||
|
|
||||||
if (com)
|
if (com)
|
||||||
com.icon_state = "tele0"
|
com.icon_state = "tele0"
|
||||||
|
com.accurate = 0
|
||||||
for(var/mob/O in hearers(src, null))
|
for(var/mob/O in hearers(src, null))
|
||||||
O.show_message("\blue Teleporter disengaged!", 2)
|
O.show_message("\blue Teleporter disengaged!", 2)
|
||||||
src.add_fingerprint(usr)
|
src.add_fingerprint(usr)
|
||||||
|
|||||||
@@ -51,7 +51,12 @@ var/global/list/image/splatter_cache=list()
|
|||||||
if(amount < 1)
|
if(amount < 1)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(perp.shoes)//Adding blood to shoes
|
var/datum/organ/external/l_foot = perp.get_organ("l_foot")
|
||||||
|
var/datum/organ/external/r_foot = perp.get_organ("r_foot")
|
||||||
|
var/hasfeet = 1
|
||||||
|
if((!l_foot || l_foot.status & ORGAN_DESTROYED) && (!r_foot || r_foot.status & ORGAN_DESTROYED))
|
||||||
|
hasfeet = 0
|
||||||
|
if(perp.shoes && !perp.buckled)//Adding blood to shoes
|
||||||
perp.shoes.blood_color = basecolor
|
perp.shoes.blood_color = basecolor
|
||||||
perp.shoes:track_blood = max(amount,perp.shoes:track_blood)
|
perp.shoes:track_blood = max(amount,perp.shoes:track_blood)
|
||||||
if(!perp.shoes.blood_overlay)
|
if(!perp.shoes.blood_overlay)
|
||||||
@@ -62,12 +67,15 @@ var/global/list/image/splatter_cache=list()
|
|||||||
perp.shoes.overlays += perp.shoes.blood_overlay
|
perp.shoes.overlays += perp.shoes.blood_overlay
|
||||||
perp.shoes.blood_DNA |= blood_DNA.Copy()
|
perp.shoes.blood_DNA |= blood_DNA.Copy()
|
||||||
|
|
||||||
else//Or feet
|
else if (hasfeet)//Or feet
|
||||||
perp.feet_blood_color = basecolor
|
perp.feet_blood_color = basecolor
|
||||||
perp.track_blood = max(amount,perp.track_blood)
|
perp.track_blood = max(amount,perp.track_blood)
|
||||||
if(!perp.feet_blood_DNA)
|
if(!perp.feet_blood_DNA)
|
||||||
perp.feet_blood_DNA = list()
|
perp.feet_blood_DNA = list()
|
||||||
perp.feet_blood_DNA |= blood_DNA.Copy()
|
perp.feet_blood_DNA |= blood_DNA.Copy()
|
||||||
|
else if (perp.buckled && istype(perp.buckled, /obj/structure/stool/bed/chair/wheelchair))
|
||||||
|
var/obj/structure/stool/bed/chair/wheelchair/W = perp.buckled
|
||||||
|
W.bloodiness = 4
|
||||||
|
|
||||||
perp.update_inv_shoes(1)
|
perp.update_inv_shoes(1)
|
||||||
amount--
|
amount--
|
||||||
|
|||||||
@@ -555,7 +555,7 @@ steam.start() -- spawns the effect
|
|||||||
|
|
||||||
if (istype(AM, /mob/living/carbon))
|
if (istype(AM, /mob/living/carbon))
|
||||||
var/mob/M = AM
|
var/mob/M = AM
|
||||||
if (istype(M, /mob/living/carbon/human) && (istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP))
|
if (istype(M, /mob/living/carbon/human) && (istype(M:shoes, /obj/item/clothing/shoes) && M:shoes.flags&NOSLIP) || M.buckled)
|
||||||
return
|
return
|
||||||
|
|
||||||
M.stop_pulling()
|
M.stop_pulling()
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
/obj/item/weapon/bananapeel/HasEntered(AM as mob|obj)
|
/obj/item/weapon/bananapeel/HasEntered(AM as mob|obj)
|
||||||
if (istype(AM, /mob/living/carbon))
|
if (istype(AM, /mob/living/carbon))
|
||||||
var/mob/M = AM
|
var/mob/M = AM
|
||||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled)
|
||||||
return
|
return
|
||||||
|
|
||||||
M.stop_pulling()
|
M.stop_pulling()
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
/obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist
|
/obj/item/weapon/soap/HasEntered(AM as mob|obj) //EXACTLY the same as bananapeel for now, so it makes sense to put it in the same dm -- Urist
|
||||||
if (istype(AM, /mob/living/carbon))
|
if (istype(AM, /mob/living/carbon))
|
||||||
var/mob/M = AM
|
var/mob/M = AM
|
||||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled)
|
||||||
return
|
return
|
||||||
|
|
||||||
M.stop_pulling()
|
M.stop_pulling()
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
desc = "This is used to lie in, sleep in or strap on."
|
desc = "This is used to lie in, sleep in or strap on."
|
||||||
icon_state = "bed"
|
icon_state = "bed"
|
||||||
var/mob/living/buckled_mob
|
var/mob/living/buckled_mob
|
||||||
|
var/movable = 0 // For mobility checks
|
||||||
|
|
||||||
/obj/structure/stool/bed/psych
|
/obj/structure/stool/bed/psych
|
||||||
name = "psychiatrists couch"
|
name = "psychiatrists couch"
|
||||||
@@ -35,6 +36,9 @@
|
|||||||
manual_unbuckle(user)
|
manual_unbuckle(user)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
/obj/structure/stool/bed/proc/handle_rotation()
|
||||||
|
return
|
||||||
|
|
||||||
/obj/structure/stool/bed/MouseDrop(atom/over_object)
|
/obj/structure/stool/bed/MouseDrop(atom/over_object)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
rotate()
|
rotate()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/proc/handle_rotation() //making this into a seperate proc so office chairs can call it on Move()
|
/obj/structure/stool/bed/chair/handle_rotation() //making this into a seperate proc so office chairs can call it on Move()
|
||||||
if(src.dir == NORTH)
|
if(src.dir == NORTH)
|
||||||
src.layer = FLY_LAYER
|
src.layer = FLY_LAYER
|
||||||
else
|
else
|
||||||
@@ -107,6 +107,7 @@
|
|||||||
|
|
||||||
/obj/structure/stool/bed/chair/office
|
/obj/structure/stool/bed/chair/office
|
||||||
anchored = 0
|
anchored = 0
|
||||||
|
movable = 1
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/comfy/black
|
/obj/structure/stool/bed/chair/comfy/black
|
||||||
icon_state = "comfychair_black"
|
icon_state = "comfychair_black"
|
||||||
@@ -148,7 +149,7 @@
|
|||||||
victim.apply_effect(6, WEAKEN, 0)
|
victim.apply_effect(6, WEAKEN, 0)
|
||||||
victim.apply_effect(6, STUTTER, 0)
|
victim.apply_effect(6, STUTTER, 0)
|
||||||
victim.take_organ_damage(10)
|
victim.take_organ_damage(10)
|
||||||
occupant.visible_message("<span class='danger'>[occupant] clashed into \the [A]!</span>")
|
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/office/light
|
/obj/structure/stool/bed/chair/office/light
|
||||||
icon_state = "officechair_white"
|
icon_state = "officechair_white"
|
||||||
|
|||||||
@@ -3,9 +3,11 @@
|
|||||||
desc = "You sit in this. Either by will or force."
|
desc = "You sit in this. Either by will or force."
|
||||||
icon_state = "wheelchair"
|
icon_state = "wheelchair"
|
||||||
anchored = 0
|
anchored = 0
|
||||||
|
movable = 1
|
||||||
|
|
||||||
var/driving = 0
|
var/driving = 0
|
||||||
var/mob/living/pulling = null
|
var/mob/living/pulling = null
|
||||||
|
var/bloodiness
|
||||||
|
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/wheelchair/handle_rotation()
|
/obj/structure/stool/bed/chair/wheelchair/handle_rotation()
|
||||||
@@ -22,7 +24,7 @@
|
|||||||
user.pulledby = null
|
user.pulledby = null
|
||||||
user << "\red You lost your grip!"
|
user << "\red You lost your grip!"
|
||||||
return
|
return
|
||||||
if(user.pulling)
|
if(user.pulling && (user == pulling))
|
||||||
pulling = null
|
pulling = null
|
||||||
user.pulledby = null
|
user.pulledby = null
|
||||||
return
|
return
|
||||||
@@ -31,6 +33,7 @@
|
|||||||
if(pulling && (get_dist(src, pulling) > 1))
|
if(pulling && (get_dist(src, pulling) > 1))
|
||||||
pulling = null
|
pulling = null
|
||||||
user.pulledby = null
|
user.pulledby = null
|
||||||
|
if(user==pulling)
|
||||||
return
|
return
|
||||||
if(pulling && (get_dir(src.loc, pulling.loc) == direction))
|
if(pulling && (get_dir(src.loc, pulling.loc) == direction))
|
||||||
user << "\red You cannot go there."
|
user << "\red You cannot go there."
|
||||||
@@ -67,12 +70,15 @@
|
|||||||
pulling = null
|
pulling = null
|
||||||
user.pulledby = null
|
user.pulledby = null
|
||||||
pulling.dir = get_dir(pulling, src) // When everything is right, face the wheelchair
|
pulling.dir = get_dir(pulling, src) // When everything is right, face the wheelchair
|
||||||
|
if(bloodiness)
|
||||||
|
create_track()
|
||||||
driving = 0
|
driving = 0
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/wheelchair/Move()
|
/obj/structure/stool/bed/chair/wheelchair/Move()
|
||||||
..()
|
..()
|
||||||
if(!driving && buckled_mob)
|
if(buckled_mob)
|
||||||
var/mob/living/occupant = buckled_mob
|
var/mob/living/occupant = buckled_mob
|
||||||
|
if(!driving)
|
||||||
occupant.buckled = null
|
occupant.buckled = null
|
||||||
occupant.Move(src.loc)
|
occupant.Move(src.loc)
|
||||||
occupant.buckled = src
|
occupant.buckled = src
|
||||||
@@ -83,10 +89,17 @@
|
|||||||
Bump(O)
|
Bump(O)
|
||||||
else
|
else
|
||||||
unbuckle()
|
unbuckle()
|
||||||
|
if (pulling && (get_dist(src, pulling) > 1))
|
||||||
|
pulling.pulledby = null
|
||||||
|
pulling << "\red You lost your grip!"
|
||||||
|
pulling = null
|
||||||
|
else
|
||||||
|
if (occupant && (src.loc != occupant.loc))
|
||||||
|
src.loc = occupant.loc // Failsafe to make sure the wheelchair stays beneath the occupant after driving
|
||||||
handle_rotation()
|
handle_rotation()
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/wheelchair/attack_hand(mob/user as mob)
|
/obj/structure/stool/bed/chair/wheelchair/attack_hand(mob/user as mob)
|
||||||
if (pulling && (pulling == usr))
|
if (pulling)
|
||||||
MouseDrop(usr)
|
MouseDrop(usr)
|
||||||
else
|
else
|
||||||
manual_unbuckle(user)
|
manual_unbuckle(user)
|
||||||
@@ -137,11 +150,25 @@
|
|||||||
if(pulling)
|
if(pulling)
|
||||||
occupant.visible_message("<span class='danger'>[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!</span>")
|
occupant.visible_message("<span class='danger'>[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!</span>")
|
||||||
|
|
||||||
pulling.attack_log += "\[[time_stamp()]\]<font color='red'> Clashed [occupant.name]'s ([occupant.ckey]) [name] into \a [A]</font>"
|
pulling.attack_log += "\[[time_stamp()]\]<font color='red'> Crashed [occupant.name]'s ([occupant.ckey]) [name] into \a [A]</font>"
|
||||||
occupant.attack_log += "\[[time_stamp()]\]<font color='orange'> Thrusted into \a [A] by [pulling.name] ([pulling.ckey]) with \the [name]</font>"
|
occupant.attack_log += "\[[time_stamp()]\]<font color='orange'> Thrusted into \a [A] by [pulling.name] ([pulling.ckey]) with \the [name]</font>"
|
||||||
msg_admin_attack("[pulling.name] ([pulling.ckey]) has thrusted [occupant.name]'s ([occupant.ckey]) [name] into \a [A] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[pulling.x];Y=[pulling.y];Z=[pulling.z]'>JMP</a>)")
|
msg_admin_attack("[pulling.name] ([pulling.ckey]) has thrusted [occupant.name]'s ([occupant.ckey]) [name] into \a [A] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[pulling.x];Y=[pulling.y];Z=[pulling.z]'>JMP</a>)")
|
||||||
else
|
else
|
||||||
occupant.visible_message("<span class='danger'>[occupant] clashed into \the [A]!</span>")
|
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||||
|
|
||||||
|
/obj/structure/stool/bed/chair/wheelchair/proc/create_track()
|
||||||
|
var/obj/effect/decal/cleanable/blood/tracks/B = new(loc)
|
||||||
|
var/newdir = get_dir(get_step(loc, dir), loc)
|
||||||
|
if(newdir == dir)
|
||||||
|
B.dir = newdir
|
||||||
|
else
|
||||||
|
newdir = newdir | dir
|
||||||
|
if(newdir == 3)
|
||||||
|
newdir = 1
|
||||||
|
else if(newdir == 12)
|
||||||
|
newdir = 4
|
||||||
|
B.dir = newdir
|
||||||
|
bloodiness--
|
||||||
|
|
||||||
/obj/structure/stool/bed/chair/wheelchair/buckle_mob(mob/M as mob, mob/user as mob)
|
/obj/structure/stool/bed/chair/wheelchair/buckle_mob(mob/M as mob, mob/user as mob)
|
||||||
if(M == pulling)
|
if(M == pulling)
|
||||||
|
|||||||
@@ -73,6 +73,12 @@
|
|||||||
|
|
||||||
bloodDNA = null
|
bloodDNA = null
|
||||||
|
|
||||||
|
var/noslip = 0
|
||||||
|
for (var/obj/structure/stool/bed/chair/C in loc)
|
||||||
|
if (C.buckled_mob == M)
|
||||||
|
noslip = 1
|
||||||
|
if (noslip)
|
||||||
|
return // no slipping while sitting in a chair, plz
|
||||||
switch (src.wet)
|
switch (src.wet)
|
||||||
if(1)
|
if(1)
|
||||||
if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes
|
if(istype(M, /mob/living/carbon/human)) // Added check since monkeys don't have shoes
|
||||||
@@ -99,7 +105,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
if(2) //lube //can cause infinite loops - needs work
|
if(2) //lube //can cause infinite loops - needs work
|
||||||
if(!istype(M, /mob/living/carbon/slime))
|
if(!istype(M, /mob/living/carbon/slime) && !M.buckled)
|
||||||
M.stop_pulling()
|
M.stop_pulling()
|
||||||
step(M, M.dir)
|
step(M, M.dir)
|
||||||
spawn(1) step(M, M.dir)
|
spawn(1) step(M, M.dir)
|
||||||
|
|||||||
@@ -112,7 +112,7 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
//BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
|
//BubbleWrap: people in handcuffs are always switched around as if they were on 'help' intent to prevent a person being pulled from being seperated from their puller
|
||||||
if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && canmove) // mutual brohugs all around!
|
if((tmob.a_intent == "help" || tmob.restrained()) && (a_intent == "help" || src.restrained()) && tmob.canmove && !tmob.buckled && canmove) // mutual brohugs all around!
|
||||||
var/turf/oldloc = loc
|
var/turf/oldloc = loc
|
||||||
loc = tmob.loc
|
loc = tmob.loc
|
||||||
tmob.loc = oldloc
|
tmob.loc = oldloc
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
else if(E.status & ORGAN_BROKEN)
|
else if(E.status & ORGAN_BROKEN)
|
||||||
tally += 1.5
|
tally += 1.5
|
||||||
|
|
||||||
if(pulledby && istype(pulledby, /obj/structure/stool/bed/chair/wheelchair))
|
if(buckled && istype(buckled, /obj/structure/stool/bed/chair/wheelchair))
|
||||||
for(var/organ_name in list("l_hand","r_hand","l_arm","r_arm"))
|
for(var/organ_name in list("l_hand","r_hand","l_arm","r_arm"))
|
||||||
var/datum/organ/external/E = get_organ(organ_name)
|
var/datum/organ/external/E = get_organ(organ_name)
|
||||||
if(!E || (E.status & ORGAN_DESTROYED))
|
if(!E || (E.status & ORGAN_DESTROYED))
|
||||||
|
|||||||
@@ -755,7 +755,7 @@ note dizziness decrements automatically in the mob's Life() proc.
|
|||||||
|
|
||||||
//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it.
|
//Updates canmove, lying and icons. Could perhaps do with a rename but I can't think of anything to describe it.
|
||||||
/mob/proc/update_canmove()
|
/mob/proc/update_canmove()
|
||||||
if(buckled)
|
if(buckled && (!buckled.movable))
|
||||||
anchored = 1
|
anchored = 1
|
||||||
canmove = 0
|
canmove = 0
|
||||||
if( istype(buckled,/obj/structure/stool/bed/chair) )
|
if( istype(buckled,/obj/structure/stool/bed/chair) )
|
||||||
@@ -778,9 +778,9 @@ note dizziness decrements automatically in the mob's Life() proc.
|
|||||||
anchored = 1
|
anchored = 1
|
||||||
canmove = 0
|
canmove = 0
|
||||||
lying = 0
|
lying = 0
|
||||||
else
|
else if (!buckled)
|
||||||
lying = !can_stand
|
lying = !can_stand
|
||||||
canmove = has_limbs
|
//canmove = has_limbs
|
||||||
|
|
||||||
if(lying)
|
if(lying)
|
||||||
density = 0
|
density = 0
|
||||||
|
|||||||
@@ -199,8 +199,7 @@
|
|||||||
|
|
||||||
|
|
||||||
if(!mob.canmove)
|
if(!mob.canmove)
|
||||||
if (mob.buckled && (istype(mob.buckled, /obj/structure/stool/bed/chair/wheelchair) || istype(mob.buckled, /obj/vehicle))) // Exception for wheelchairs
|
return
|
||||||
else return
|
|
||||||
|
|
||||||
//if(istype(mob.loc, /turf/space) || (mob.flags & NOGRAV))
|
//if(istype(mob.loc, /turf/space) || (mob.flags & NOGRAV))
|
||||||
// if(!mob.Process_Spacemove(0)) return 0
|
// if(!mob.Process_Spacemove(0)) return 0
|
||||||
@@ -260,7 +259,7 @@
|
|||||||
var/mob/living/carbon/human/driver = mob.buckled
|
var/mob/living/carbon/human/driver = mob.buckled
|
||||||
var/datum/organ/external/l_hand = driver.get_organ("l_hand")
|
var/datum/organ/external/l_hand = driver.get_organ("l_hand")
|
||||||
var/datum/organ/external/r_hand = driver.get_organ("r_hand")
|
var/datum/organ/external/r_hand = driver.get_organ("r_hand")
|
||||||
if((!l_hand || l_hand.status & ORGAN_DESTROYED) && (!r_hand || r_hand.status & ORGAN_DESTROYED))
|
if((!l_hand || (l_hand.status & ORGAN_DESTROYED)) && (!r_hand || (r_hand.status & ORGAN_DESTROYED)))
|
||||||
return // No hands to drive your chair? Tough luck!
|
return // No hands to drive your chair? Tough luck!
|
||||||
move_delay += 2
|
move_delay += 2
|
||||||
return mob.buckled.relaymove(mob,direct)
|
return mob.buckled.relaymove(mob,direct)
|
||||||
|
|||||||
@@ -731,7 +731,7 @@
|
|||||||
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj)
|
/obj/item/weapon/reagent_containers/food/snacks/grown/bluetomato/HasEntered(AM as mob|obj)
|
||||||
if (istype(AM, /mob/living/carbon))
|
if (istype(AM, /mob/living/carbon))
|
||||||
var/mob/M = AM
|
var/mob/M = AM
|
||||||
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP))
|
if (istype(M, /mob/living/carbon/human) && (isobj(M:shoes) && M:shoes.flags&NOSLIP) || M.buckled)
|
||||||
return
|
return
|
||||||
|
|
||||||
M.stop_pulling()
|
M.stop_pulling()
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
var/emagged = 0
|
var/emagged = 0
|
||||||
var/powered = 0 //set if vehicle is powered and should use fuel when moving
|
var/powered = 0 //set if vehicle is powered and should use fuel when moving
|
||||||
var/move_delay = 1 //set this to limit the speed of the vehicle
|
var/move_delay = 1 //set this to limit the speed of the vehicle
|
||||||
|
var/movable = 1
|
||||||
|
|
||||||
var/obj/item/weapon/cell/cell
|
var/obj/item/weapon/cell/cell
|
||||||
var/power_use = 5 //set this to adjust the amount of power the vehicle uses per move
|
var/power_use = 5 //set this to adjust the amount of power the vehicle uses per move
|
||||||
|
|||||||
Reference in New Issue
Block a user