mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-31 07:58:22 +01:00
Fix Mulebot Crossed() Code, allows simplemobs to be crushed if laying
Fixes Mulebots (and really any vehicles) ruthlessly murdering macros/micros without care, will actually run over mobs properly now. Pathing fixes will be in a second PR.
This commit is contained in:
@@ -166,28 +166,28 @@
|
||||
else
|
||||
verbs += /obj/vehicle/train/security/engine/verb/stop_engine
|
||||
|
||||
/obj/vehicle/train/security/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/security/RunOver(var/mob/living/M)
|
||||
var/list/parts = list(BP_HEAD, BP_TORSO, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM)
|
||||
|
||||
H.apply_effects(5, 5)
|
||||
M.apply_effects(5, 5)
|
||||
for(var/i = 0, i < rand(1,3), i++)
|
||||
H.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
M.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
|
||||
/obj/vehicle/train/security/trolley/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/security/trolley/RunOver(var/mob/living/M)
|
||||
..()
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
/obj/vehicle/train/security/engine/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/security/engine/RunOver(var/mob/living/M)
|
||||
..()
|
||||
|
||||
if(is_train_head() && istype(load, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/D = load
|
||||
to_chat(D, "<span class='danger'>You ran over \the [H]!</span>"
|
||||
visible_message("<span class='danger'>\The [src] ran over \the [H]!</span>")
|
||||
add_attack_logs(D,H,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
to_chat(D, "<span class='danger'>You ran over \the [M]!</span>"
|
||||
visible_message("<span class='danger'>\The [src] ran over \the [M]!</span>")
|
||||
add_attack_logs(D,M,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
else
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
@@ -152,28 +152,28 @@
|
||||
else
|
||||
verbs += /obj/vehicle/train/engine/verb/stop_engine
|
||||
|
||||
/obj/vehicle/train/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/RunOver(var/mob/living/M)
|
||||
var/list/parts = list(BP_HEAD, BP_TORSO, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM)
|
||||
|
||||
H.apply_effects(5, 5)
|
||||
M.apply_effects(5, 5)
|
||||
for(var/i = 0, i < rand(1,3), i++)
|
||||
H.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
M.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
|
||||
/obj/vehicle/train/trolley/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/trolley/RunOver(var/mob/living/M)
|
||||
..()
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
/obj/vehicle/train/engine/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/engine/RunOver(var/mob/living/M)
|
||||
..()
|
||||
|
||||
if(is_train_head() && istype(load, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/D = load
|
||||
to_chat(D, "<font color='red'><B>You ran over [H]!</B></font>")
|
||||
visible_message("<B><font color='red'>\The [src] ran over [H]!</B></font>")
|
||||
add_attack_logs(D,H,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
to_chat(D, "<font color='red'><B>You ran over [M]!</B></font>")
|
||||
visible_message("<B><font color='red'>\The [src] ran over [M]!</B></font>")
|
||||
add_attack_logs(D,M,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
else
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
@@ -142,15 +142,15 @@
|
||||
add_attack_logs(D,M,"Ran over with [src.name]")
|
||||
|
||||
|
||||
/obj/vehicle/train/engine/quadbike/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/engine/quadbike/RunOver(var/mob/living/M)
|
||||
..()
|
||||
var/list/throw_dirs = list(1, 2, 4, 8, 5, 6, 9, 10)
|
||||
if(!emagged)
|
||||
throw_dirs -= dir
|
||||
if(tow)
|
||||
throw_dirs -= get_dir(H, tow) //Don't throw it at the trailer either.
|
||||
var/turf/T = get_step(H, pick(throw_dirs))
|
||||
H.throw_at(T, 1, 1, src)
|
||||
throw_dirs -= get_dir(M, tow) //Don't throw it at the trailer either.
|
||||
var/turf/T = get_step(M, pick(throw_dirs))
|
||||
M.throw_at(T, 1, 1, src)
|
||||
|
||||
/*
|
||||
* Trailer bits and bobs.
|
||||
|
||||
@@ -164,28 +164,28 @@
|
||||
else
|
||||
verbs += /obj/vehicle/train/rover/engine/verb/stop_engine
|
||||
|
||||
/obj/vehicle/train/rover/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/rover/RunOver(var/mob/living/M)
|
||||
var/list/parts = list(BP_HEAD, BP_TORSO, BP_L_LEG, BP_R_LEG, BP_L_ARM, BP_R_ARM)
|
||||
|
||||
H.apply_effects(5, 5)
|
||||
M.apply_effects(5, 5)
|
||||
for(var/i = 0, i < rand(1,3), i++)
|
||||
H.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
M.apply_damage(rand(1,5), BRUTE, pick(parts))
|
||||
|
||||
/obj/vehicle/train/rover/trolley/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/rover/trolley/RunOver(var/mob/living/M)
|
||||
..()
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
/obj/vehicle/train/rover/engine/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/train/rover/engine/RunOver(var/mob/living/M)
|
||||
..()
|
||||
|
||||
if(is_train_head() && istype(load, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/D = load
|
||||
to_chat(D, "<span class='danger'>You ran over \the [H]!</span>")
|
||||
visible_message("<span class='danger'>\The [src] ran over \the [H]!</span>")
|
||||
add_attack_logs(D,H,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
to_chat(D, "<span class='danger'>You ran over \the [M]!</span>")
|
||||
visible_message("<span class='danger'>\The [src] ran over \the [M]!</span>")
|
||||
add_attack_logs(D,M,"Ran over with [src.name]")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])</font>")
|
||||
else
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [H.name] ([H.ckey])</font>")
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>ran over [M.name] ([M.ckey])</font>")
|
||||
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
@@ -292,7 +292,7 @@
|
||||
cell = null
|
||||
powercheck()
|
||||
|
||||
/obj/vehicle/proc/RunOver(var/mob/living/carbon/human/H)
|
||||
/obj/vehicle/proc/RunOver(var/mob/living/M)
|
||||
return //write specifics for different vehicles
|
||||
|
||||
//-------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user