Merge pull request #2274 from Markolie/movefix

Ambulance/movement fixes
This commit is contained in:
Fox McCloud
2015-10-04 02:10:56 -04:00
8 changed files with 29 additions and 48 deletions
+17 -20
View File
@@ -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 << "<font color='blue'><b>[selected_type]</b>: [original_msg]</font>"
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)
+2 -3
View File
@@ -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)
+1 -1
View File
@@ -2,7 +2,7 @@
name = "train"
dir = 4
move_delay = 1
move_delay = 2
health = 100
maxhealth = 100
+3 -11
View File
@@ -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