Unmodularize secway and turfs

This commit is contained in:
Ghommie
2019-11-05 05:47:25 +01:00
parent 4e8c8ad335
commit 9cac543a2b
3 changed files with 50 additions and 78 deletions
+50
View File
@@ -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 ..()
@@ -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
@@ -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 ..()