Files
Bubberstation/code/modules/vehicles/bicycle.dm
Zonespace f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00

59 lines
1.7 KiB
Plaintext

/obj/vehicle/ridden/bicycle
name = "bicycle"
desc = "Keep away from electricity."
icon_state = "bicycle"
max_integrity = 150
integrity_failure = 0.5
var/fried = FALSE
/obj/vehicle/ridden/bicycle/Initialize(mapload)
. = ..()
AddElement(/datum/element/ridable, /datum/component/riding/vehicle/bicycle)
/obj/vehicle/ridden/bicycle/zap_act(power, zap_flags) // :::^^^)))
//This didn't work for 3 years because none ever tested it I hate life
name = "fried bicycle"
desc = "Well spent."
color = rgb(63, 23, 4)
can_buckle = FALSE
fried = TRUE
. = ..()
for(var/m in buckled_mobs)
unbuckle_mob(m,1)
/obj/vehicle/ridden/bicycle/welder_act(mob/living/user, obj/item/W)
if(user.combat_mode)
return
. = TRUE
if(fried)
balloon_alert(user, "it's fried!")
if(DOING_INTERACTION(user, src))
balloon_alert(user, "you're already repairing it!")
return
if(atom_integrity >= max_integrity)
balloon_alert(user, "it's not damaged!")
return
if(!W.tool_start_check(user, amount=1))
return
user.balloon_alert_to_viewers("started welding [src]", "started repairing [src]")
audible_message(span_hear("You hear welding."))
var/did_the_thing
while(atom_integrity < max_integrity)
if(W.use_tool(src, user, 2.5 SECONDS, volume=50, amount=1, extra_checks = CALLBACK(src, PROC_REF(can_still_fix))))
did_the_thing = TRUE
atom_integrity += min(10, (max_integrity - atom_integrity))
audible_message(span_hear("You hear welding."))
else
break
if(did_the_thing)
user.balloon_alert_to_viewers("[(atom_integrity >= max_integrity) ? "fully" : "partially"] repaired [src]")
else
user.balloon_alert_to_viewers("stopped welding [src]", "interrupted the repair!")
///can we still fix the bike lol
/obj/vehicle/ridden/bicycle/proc/can_still_fix()
return !fried