mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 02:24:11 +01:00
Merge pull request #2274 from Markolie/movefix
Ambulance/movement fixes
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "train"
|
||||
dir = 4
|
||||
|
||||
move_delay = 1
|
||||
move_delay = 2
|
||||
|
||||
health = 100
|
||||
maxhealth = 100
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user