From 52d413564873c068e728b943d6db5884fb2b5185 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sat, 3 Oct 2015 21:33:40 +0200 Subject: [PATCH 1/3] Ambulance/movement fixes --- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- code/game/atoms_movable.dm | 6 ++---- .../crates_lockers/closets/job_closets.dm | 7 +------ code/modules/mob/mob_movement.dm | 5 ++--- code/modules/vehicle/train/train.dm | 2 +- code/modules/vehicle/train/trains/ambulance.dm | 14 +++----------- 6 files changed, 10 insertions(+), 26 deletions(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 3a53d963a2c..71f59dd570f 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -5405,7 +5405,7 @@ "bZW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bZX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/maintenance/asmaint) "bZY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/medical/paramedic) -"bZZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/obj/item/weapon/key/ambulance_train{name = "spare ambulance key"},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) +"bZZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/structure/closet/paramedic,/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "caa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "cab" = (/obj/machinery/light,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 2; name = "Paramedic APC"; pixel_y = -24},/obj/machinery/camera{c_tag = "Paramedic Bay"; dir = 1; network = list("SS13")},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) "cac" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm{dir = 1; pixel_y = -22},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/paramedic) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 0e3e69fe274..0ed44c6aa10 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -81,10 +81,8 @@ return last_move = direct - src.move_speed = world.timeofday - src.l_move_time - src.l_move_time = world.timeofday - - + src.move_speed = world.time - src.l_move_time + src.l_move_time = world.time spawn(5) // Causes space drifting. /tg/station has no concept of speed, we just use 5 if(loc && direct && last_move == direct) diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 50ffc340dbf..f824fa3a5fa 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -131,17 +131,12 @@ new /obj/item/clothing/head/soft/blue(src) new /obj/item/clothing/gloves/color/latex(src) new /obj/item/clothing/gloves/color/latex(src) - new /obj/item/clothing/gloves/color/latex(src) - new /obj/item/clothing/gloves/color/latex(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/shoes/black(src) new /obj/item/clothing/head/soft/blue(src) new /obj/item/clothing/head/soft/blue(src) new /obj/item/clothing/suit/storage/paramedic(src) new /obj/item/clothing/suit/storage/paramedic(src) - new /obj/item/clothing/suit/storage/paramedic(src) - new /obj/item/clothing/suit/storage/paramedic(src) - new /obj/item/weapon/tank/emergency_oxygen/engi(src) - new /obj/item/weapon/tank/emergency_oxygen/engi(src) new /obj/item/weapon/tank/emergency_oxygen/engi(src) new /obj/item/weapon/tank/emergency_oxygen/engi(src) + new /obj/item/key/ambulance(src) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e4c97421fdb..f62186ba2f6 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -170,7 +170,7 @@ if(S.victim == mob) return - if(mob.stat==2) return + if(mob.stat==DEAD) return // handle possible spirit movement if(istype(mob,/mob/spirit)) @@ -234,6 +234,7 @@ return 0 move_delay = world.time//set move delay + mob.last_movement = world.time mob.last_move_intent = world.time + 10 switch(mob.m_intent) if("run") @@ -286,10 +287,8 @@ else if(mob.confused) step(mob, pick(cardinal)) - mob.last_movement = world.time else . = ..() - mob.last_movement=world.time for (var/obj/item/weapon/grab/G in mob) if (G.state == GRAB_NECK) diff --git a/code/modules/vehicle/train/train.dm b/code/modules/vehicle/train/train.dm index cf318c04a64..33021d80e06 100644 --- a/code/modules/vehicle/train/train.dm +++ b/code/modules/vehicle/train/train.dm @@ -2,7 +2,7 @@ name = "train" dir = 4 - move_delay = 1 + move_delay = 2 health = 100 maxhealth = 100 diff --git a/code/modules/vehicle/train/trains/ambulance.dm b/code/modules/vehicle/train/trains/ambulance.dm index 813a2a918aa..fea50fba521 100644 --- a/code/modules/vehicle/train/trains/ambulance.dm +++ b/code/modules/vehicle/train/trains/ambulance.dm @@ -13,14 +13,7 @@ var/car_limit = 3 //how many cars an engine can pull before performance degrades active_engines = 1 - var/obj/item/weapon/key/ambulance_train/key - -/obj/item/weapon/key/ambulance_train - name = "ambulance key" - desc = "A keyring with a small steel key, and tag with a red cross on it." - icon = 'icons/obj/vehicles.dmi' - icon_state = "keydoc" - w_class = 1 + var/obj/item/key/ambulance/key /obj/vehicle/train/ambulance/trolley name = "ambulance train trolley" @@ -56,7 +49,7 @@ ..() /obj/vehicle/train/ambulance/engine/attackby(obj/item/weapon/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/weapon/key/ambulance_train)) + if(istype(W, /obj/item/key/ambulance)) if(!key) user.drop_item() key = W @@ -174,7 +167,6 @@ else return ..() - /obj/vehicle/train/ambulance/engine/examine(mob/user) if(..(user, 1)) user << "The power light is [on ? "on" : "off"].\nThere are[key ? "" : " no"] keys in the ignition." @@ -287,5 +279,5 @@ else move_delay = max(0, (-car_limit * active_engines) + train_length - active_engines) //limits base overweight so you cant overspeed trains move_delay *= (1 / max(1, active_engines)) * 2 //overweight penalty (scaled by the number of engines) - move_delay += config.run_speed //base reference speed + move_delay += 1+config.run_speed //base reference speed move_delay *= 1.05 From 69c97863d504cf1d498f03035ada66f64829cb9f Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 4 Oct 2015 03:11:02 +0200 Subject: [PATCH 2/3] Adminhelp update --- code/modules/admin/verbs/adminhelp.dm | 37 ++++++++++++--------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 198e5c8a042..b7f2f2d91bb 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -91,41 +91,38 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," //send this msg to all admins var/admin_number_afk = 0 + var/list/mentorholders = list() var/list/modholders = list() var/list/adminholders = list() for(var/client/X in admins) - if(check_rights(R_MOD|R_MENTOR, 0, X.mob)) - if(X.is_afk()) - admin_number_afk++ - modholders += X if(check_rights(R_ADMIN, 0, X.mob)) if(X.is_afk()) admin_number_afk++ adminholders += X + continue + if(check_rights(R_MOD, 0, X.mob)) + modholders += X + continue + if(check_rights(R_MENTOR, 0, X.mob)) + mentorholders += X + continue switch(selected_type) if("Question") - if(modholders.len) - for(var/client/X in modholders) - if(X.prefs.sound & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg - if(adminholders.len) - for(var/client/X in adminholders) - if(X.prefs.sound & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg + for(var/client/X in mentorholders + modholders + adminholders) + if(X.prefs.sound & SOUND_ADMINHELP) + X << 'sound/effects/adminhelp.ogg' + X << msg if("Player Complaint") - if(adminholders.len) - for(var/client/X in adminholders) - if(X.prefs.sound & SOUND_ADMINHELP) - X << 'sound/effects/adminhelp.ogg' - X << msg + for(var/client/X in modholders + adminholders) + if(X.prefs.sound & SOUND_ADMINHELP) + X << 'sound/effects/adminhelp.ogg' + X << msg //show it to the person adminhelping too src << "[selected_type]: [original_msg]" - var/admin_number_present = admins.len - admin_number_afk + var/admin_number_present = adminholders.len - admin_number_afk log_admin("[selected_type]: [key_name(src)]: [original_msg] - heard by [admin_number_present] non-AFK admins.") if(admin_number_present <= 0) if(!admin_number_afk) From de225f37886b7f47259e4667b1b783244a5e8630 Mon Sep 17 00:00:00 2001 From: Markolie Date: Sun, 4 Oct 2015 03:48:34 +0200 Subject: [PATCH 3/3] 0 second restart fix --- code/world.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/world.dm b/code/world.dm index 14b23b525b5..9062500b0d8 100644 --- a/code/world.dm +++ b/code/world.dm @@ -219,8 +219,8 @@ var/world_topic_spam_protect_time = world.timeofday world << "Rebooting world immediately due to host request" return ..(1) var/delay - if(time) - delay = time + if(!isnull(time)) + delay = max(0,time) else delay = ticker.restart_timeout if(ticker.delay_end)