Bicycle is now a bicycle! (and gives it a bicycle bell too) (#22619)

* ring ring, looks whats coming

* typo

* becoming a REAL vehicle

* more tweaks!

* newer sprite version

* Useless

* bicycle sprite
This commit is contained in:
Henri215
2023-11-12 19:43:35 +00:00
committed by GitHub
parent 183571ac33
commit 95450a371a
6 changed files with 62 additions and 65 deletions
@@ -111,66 +111,3 @@
max_integrity = 1500
resistance_flags = FIRE_PROOF | ACID_PROOF
buildstacktype = /obj/item/stack/sheet/mineral/plastitanium
/obj/structure/chair/wheelchair/bike
name = "bicycle"
desc = "Two wheels of FURY!"
//placeholder until i get a bike sprite
icon = 'icons/vehicles/motorcycle.dmi'
icon_state = "motorcycle_4dir"
/obj/structure/chair/wheelchair/bike/relaymove(mob/user, direction)
if(propelled)
return 0
if(!Process_Spacemove(direction) || !has_gravity(src.loc) || !isturf(loc)) //bikes in space.
return 0
if(world.time < move_delay)
return
var/calculated_move_delay
calculated_move_delay = 0 //bikes are infact sport bikes
if(has_buckled_mobs())
var/mob/living/buckled_mob = buckled_mobs[1]
if(buckled_mob.incapacitated())
unbuckle_mob(buckled_mob) //if the rider is incapacitated, unbuckle them (they can't balance so they fall off)
return 0
var/mob/living/thedriver = user
var/mob_delay = thedriver.movement_delay()
if(mob_delay > 0)
calculated_move_delay += mob_delay
if(ishuman(buckled_mob))
var/mob/living/carbon/human/driver = user
var/obj/item/organ/external/l_hand = driver.get_organ("l_hand")
var/obj/item/organ/external/r_hand = driver.get_organ("r_hand")
if(!l_hand && !r_hand)
calculated_move_delay += 0.5 //I can ride my bike with no handlebars... (but it's slower)
for(var/organ_name in list("l_leg","r_leg","l_foot","r_foot"))
var/obj/item/organ/external/E = driver.get_organ(organ_name)
if(!E)
return 0 //Bikes need both feet/legs to work. missing even one makes it so you can't ride the bike
else if(E.status & ORGAN_SPLINTED)
calculated_move_delay += 0.5
else if(E.status & ORGAN_BROKEN)
calculated_move_delay += 1.5
move_delay = world.time
move_delay += calculated_move_delay
if(!buckled_mob.Move(get_step(buckled_mob, direction), direction))
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
else
. = 1
/obj/structure/chair/wheelchair/bike/wrench_act(mob/user, obj/item/I)
return