diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm index 33f0d794c8..114a6373f4 100644 --- a/code/modules/vehicles/secway.dm +++ b/code/modules/vehicles/secway.dm @@ -4,9 +4,59 @@ desc = "A brave security cyborg gave its life to help you look like a complete tool." icon_state = "secway" key_type = /obj/item/key/security + var/chargemax = 150 + var/chargerate = 0.35 + var/charge = 150 + var/chargespeed = 1 + var/normalspeed = 2 + var/last_tick = 0 + var/list/progressbars_by_rider = list() /obj/vehicle/ridden/secway/Initialize() . = ..() var/datum/component/riding/D = LoadComponent(/datum/component/riding) D.vehicle_move_delay = 1 D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 4), TEXT_EAST = list(0, 4), TEXT_WEST = list( 0, 4))) + START_PROCESSING(SSfastprocess, src) + +/obj/vehicle/ridden/secway/process() + var/diff = world.time - last_tick + var/regen = chargerate * diff + charge = CLAMP(charge + regen, 0, chargemax) + last_tick = world.time + +/obj/vehicle/ridden/secway/relaymove(mob/user, direction) + var/new_speed = normalspeed + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(H.sprinting && charge) + charge-- + new_speed = chargespeed + var/datum/component/riding/D = GetComponent(/datum/component/riding) + D.vehicle_move_delay = new_speed + for(var/i in progressbars_by_rider) + var/datum/progressbar/B = progressbars_by_rider[i] + B.update(charge) + return ..() + +/obj/vehicle/ridden/secway/buckle_mob(mob/living/M, force, check_loc) + . = ..(M, force, check_loc) + if(.) + if(progressbars_by_rider[M]) + qdel(progressbars_by_rider[M]) + var/datum/progressbar/D = new(M, chargemax, src) + D.update(charge) + progressbars_by_rider[M] = D + +/obj/vehicle/ridden/secway/unbuckle_mob(mob/living/M, force) + . = ..(M, force) + if(.) + qdel(progressbars_by_rider[M]) + progressbars_by_rider -= M + +/obj/vehicle/ridden/secway/Destroy() + for(var/i in progressbars_by_rider) + qdel(progressbars_by_rider[i]) + progressbars_by_rider.Cut() + STOP_PROCESSING(SSfastprocess, src) + return ..() diff --git a/modular_citadel/code/game/turfs/cit_turfs.dm b/modular_citadel/code/game/turfs/cit_turfs.dm deleted file mode 100644 index 76a8e75f9c..0000000000 --- a/modular_citadel/code/game/turfs/cit_turfs.dm +++ /dev/null @@ -1,24 +0,0 @@ -//Yes, hi. This is the file that handles Citadel's turf modifications. - -/* -/turf/open/floor/Entered(atom/obj, atom/oldloc) - . = ..() - CitDirtify(obj, oldloc)*/ - -//Baystation-styled tile dirtification. -/turf/open/floor/proc/CitDirtify(atom/obj, atom/oldloc) - if(prob(50)) - if(has_gravity(src) && !isobserver(obj)) - var/dirtamount - var/obj/effect/decal/cleanable/dirt/dirt = locate(/obj/effect/decal/cleanable/dirt, src) - if(!dirt) - dirt = new/obj/effect/decal/cleanable/dirt(src) - dirt.alpha = 0 - dirtamount = 0 - dirtamount = dirt.alpha + 1 - if(oldloc && istype(oldloc, /turf/open/floor)) - var/obj/effect/decal/cleanable/dirt/spreadindirt = locate(/obj/effect/decal/cleanable/dirt, oldloc) - if(spreadindirt && spreadindirt.alpha) - dirtamount += round(spreadindirt.alpha * 0.05) - dirt.alpha = min(dirtamount,255) - return TRUE diff --git a/modular_citadel/code/modules/vehicles/secway.dm b/modular_citadel/code/modules/vehicles/secway.dm deleted file mode 100644 index 9320da6dc8..0000000000 --- a/modular_citadel/code/modules/vehicles/secway.dm +++ /dev/null @@ -1,54 +0,0 @@ -/obj/vehicle/ridden/secway - var/chargemax = 150 - var/chargerate = 0.35 - var/charge = 150 - var/chargespeed = 1 - var/normalspeed = 2 - var/last_tick = 0 - var/list/progressbars_by_rider = list() - -/obj/vehicle/ridden/secway/Initialize() - . = ..() - START_PROCESSING(SSfastprocess, src) - -/obj/vehicle/ridden/secway/process() - var/diff = world.time - last_tick - var/regen = chargerate * diff - charge = CLAMP(charge + regen, 0, chargemax) - last_tick = world.time - -/obj/vehicle/ridden/secway/relaymove(mob/user, direction) - var/new_speed = normalspeed - if(ishuman(user)) - var/mob/living/carbon/human/H = user - if(H.sprinting && charge) - charge-- - new_speed = chargespeed - var/datum/component/riding/D = GetComponent(/datum/component/riding) - D.vehicle_move_delay = new_speed - for(var/i in progressbars_by_rider) - var/datum/progressbar/B = progressbars_by_rider[i] - B.update(charge) - return ..() - -/obj/vehicle/ridden/secway/buckle_mob(mob/living/M, force, check_loc) - . = ..(M, force, check_loc) - if(.) - if(progressbars_by_rider[M]) - qdel(progressbars_by_rider[M]) - var/datum/progressbar/D = new(M, chargemax, src) - D.update(charge) - progressbars_by_rider[M] = D - -/obj/vehicle/ridden/secway/unbuckle_mob(mob/living/M, force) - . = ..(M, force) - if(.) - qdel(progressbars_by_rider[M]) - progressbars_by_rider -= M - -/obj/vehicle/ridden/secway/Destroy() - for(var/i in progressbars_by_rider) - qdel(progressbars_by_rider[i]) - progressbars_by_rider.Cut() - STOP_PROCESSING(SSfastprocess, src) - return ..() \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 0ab92d863d..959cef6c74 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3022,7 +3022,6 @@ #include "modular_citadel\code\game\objects\structures\crates_lockers\closets\fitness.dm" #include "modular_citadel\code\game\objects\structures\crates_lockers\closets\wardrobe.dm" #include "modular_citadel\code\game\objects\structures\crates_lockers\closets\secure\citadel_lockers.dm" -#include "modular_citadel\code\game\turfs\cit_turfs.dm" #include "modular_citadel\code\modules\admin\admin.dm" #include "modular_citadel\code\modules\admin\chat_commands.dm" #include "modular_citadel\code\modules\admin\holder2.dm" @@ -3136,6 +3135,5 @@ #include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm" #include "modular_citadel\code\modules\recycling\disposal\bin.dm" #include "modular_citadel\code\modules\research\designs\autoylathe_designs.dm" -#include "modular_citadel\code\modules\vehicles\secway.dm" #include "modular_citadel\interface\skin.dmf" // END_INCLUDE