mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 12:56:10 +01:00
Adds running over people with mechs (#7791)
Walking over someone lying on the floor with mechs will now hurt them. Damage is based on the legs. Also, removed some baylore references to the mech parts, and made so that mechs can push mobs around.
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
var/obj/item/robot_parts/robot_component/actuator/motivator
|
||||
var/mech_turn_sound = 'sound/mecha/mechturn.ogg'
|
||||
var/mech_step_sound = 'sound/mecha/mechstep.ogg'
|
||||
var/trample_damage = 5
|
||||
|
||||
/obj/item/mech_component/propulsion/Destroy()
|
||||
QDEL_NULL(motivator)
|
||||
|
||||
@@ -462,4 +462,31 @@
|
||||
if(!new_name || new_name == name || (user != src && !(user in pilots)))
|
||||
return
|
||||
name = new_name
|
||||
to_chat(user, "<span class='notice'>You have redesignated this exosuit as \the [name].</span>")
|
||||
to_chat(user, "<span class='notice'>You have redesignated this exosuit as \the [name].</span>")
|
||||
|
||||
/mob/living/heavy_vehicle/proc/trample(var/mob/living/H)
|
||||
if(!LAZYLEN(pilots))
|
||||
return
|
||||
if(!isliving(H))
|
||||
return
|
||||
|
||||
if(legs)
|
||||
if(ishuman(H))
|
||||
var/mob/living/carbon/human/D = H
|
||||
if(D.lying)
|
||||
D.attack_log += "\[[time_stamp()]\]<font color='orange'> Was trampled by [src]</font>"
|
||||
attack_log += text("\[[time_stamp()]\] <font color='red'>trampled [D.name] ([D.ckey]) with \the [src].</font>")
|
||||
msg_admin_attack("[src] trampled [key_name(D)] at (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[D.x];Y=[D.y];Z=[D.z]'>JMP</a>)" )
|
||||
src.visible_message("<span class='danger'>\The [src] runs over \the [D]!</span>")
|
||||
D.apply_damage(legs.trample_damage, BRUTE)
|
||||
return TRUE
|
||||
|
||||
else
|
||||
var/mob/living/L = H
|
||||
src.visible_message("<span class='danger'>\The [src] runs over \the [L]!</span>")
|
||||
if(isanimal(L))
|
||||
if(issmall(L) && (L.stat == DEAD))
|
||||
L.gib()
|
||||
return TRUE
|
||||
L.apply_damage(legs.trample_damage, BRUTE)
|
||||
return TRUE
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
status_flags = PASSEMOTES
|
||||
a_intent = I_HURT
|
||||
mob_size = MOB_LARGE
|
||||
mob_push_flags = ALLMOBS
|
||||
var/decal
|
||||
|
||||
var/emp_damage = 0
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
move_delay = 3
|
||||
turn_delay = 3
|
||||
power_use = 5000
|
||||
trample_damage = 35
|
||||
|
||||
/obj/item/mech_component/sensors/combat
|
||||
name = "combat sensors"
|
||||
|
||||
@@ -36,11 +36,12 @@
|
||||
/obj/item/mech_component/propulsion/heavy
|
||||
name = "heavy legs"
|
||||
exosuit_desc_string = "heavy hydraulic legs"
|
||||
desc = "Oversized actuators struggle to move these armoured legs. "
|
||||
desc = "Oversized actuators struggle to move these armoured legs."
|
||||
icon_state = "heavy_legs"
|
||||
move_delay = 5
|
||||
max_damage = 90
|
||||
power_use = 5000
|
||||
trample_damage = 45
|
||||
|
||||
/obj/item/mech_component/sensors/heavy
|
||||
name = "heavy sensors"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
action_delay = 15
|
||||
max_damage = 40
|
||||
power_use = 3000
|
||||
desc = "As flexible as they are fragile, these Vey-Med manipulators can follow a pilot's movements in close to real time."
|
||||
desc = "As flexible as they are fragile, these Bishop Cybernetics manipulators can follow a pilot's movements in close to real time."
|
||||
punch_sound = 'sound/mecha/mech_punch_fast.ogg'
|
||||
|
||||
/obj/item/mech_component/propulsion/light
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
/obj/item/mech_component/propulsion/spider
|
||||
name = "quadlegs"
|
||||
exosuit_desc_string = "hydraulic quadlegs"
|
||||
desc = "Xion Industrial's arachnid series boasts more leg per leg than the leading competitor."
|
||||
desc = "Xion Manufacturing Group's arachnid series boasts more leg per leg than the leading competitor."
|
||||
icon_state = "spiderlegs"
|
||||
max_damage = 80
|
||||
move_delay = 4
|
||||
turn_delay = 1
|
||||
power_use = 2500
|
||||
trample_damage = 10
|
||||
|
||||
/obj/item/mech_component/propulsion/tracks
|
||||
name = "tracks"
|
||||
@@ -19,6 +20,7 @@
|
||||
power_use = 7500
|
||||
color = COLOR_WHITE
|
||||
mech_step_sound = 'sound/mecha/tanktread.ogg'
|
||||
trample_damage = 25
|
||||
|
||||
/obj/item/mech_component/chassis/pod
|
||||
name = "spherical exosuit chassis"
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
max_damage = 70
|
||||
power_use = 2000
|
||||
melee_damage = 40
|
||||
desc = "The Xion Industrial Digital Interaction Manifolds allow you poke untold dangers from the relative safety of your cockpit."
|
||||
desc = "The Xion Manufacturing Group Digital Interaction Manifolds allow you poke untold dangers from the relative safety of your cockpit."
|
||||
punch_sound = 'sound/mecha/mech_punch_slow.ogg'
|
||||
|
||||
/obj/item/mech_component/propulsion/ripley
|
||||
@@ -42,6 +42,7 @@
|
||||
move_delay = 4
|
||||
turn_delay = 4
|
||||
power_use = 2000
|
||||
trample_damage = 10
|
||||
|
||||
/obj/item/mech_component/sensors/ripley
|
||||
name = "exosuit sensors"
|
||||
|
||||
@@ -864,12 +864,17 @@ default behaviour is:
|
||||
/mob/living/proc/get_digestion_product()
|
||||
return null
|
||||
|
||||
|
||||
/proc/is_valid_for_devour(var/mob/living/test, var/eat_types)
|
||||
//eat_types must contain all types that the mob has. For example we need both humanoid and synthetic to eat an IPC.
|
||||
var/test_types = test.find_type()
|
||||
. = (eat_types & test_types) == test_types
|
||||
|
||||
|
||||
/mob/living/Crossed(var/atom/movable/AM)
|
||||
if(istype(AM, /mob/living/heavy_vehicle))
|
||||
var/mob/living/heavy_vehicle/MB = AM
|
||||
MB.trample(src)
|
||||
..()
|
||||
|
||||
#define PPM 9 //Protein per meat, used for calculating the quantity of protein in an animal
|
||||
/mob/living/proc/calculate_composition()
|
||||
if (!composition_reagent)//if no reagent has been set, then we'll set one
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
author: Alberyk
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Mechs will now trample, dealing brute damaged based on their leg types, mobs that they run over."
|
||||
- rscadd: "Mechs can now push most mobs."
|
||||
Reference in New Issue
Block a user