From 6028fc83c3cfe5d4a882565df2e0d47533b7f683 Mon Sep 17 00:00:00 2001 From: tigercat2000 Date: Tue, 30 Oct 2018 22:57:42 -0700 Subject: [PATCH] Not quite done yet --- code/_onclick/hud/action_button.dm | 2 +- code/_onclick/hud/alert.dm | 38 ++- code/datums/action.dm | 4 +- code/datums/spell.dm | 2 +- code/game/mecha/combat/durand.dm | 57 +---- code/game/mecha/combat/gygax.dm | 69 +----- code/game/mecha/combat/marauder.dm | 117 +-------- code/game/mecha/combat/phazon.dm | 37 +-- code/game/mecha/combat/reticence.dm | 3 +- code/game/mecha/mecha.dm | 232 +++++++++--------- code/game/mecha/mecha_actions.dm | 205 ++++++++++++++++ code/game/mecha/mecha_topic.dm | 137 +++++------ code/game/mecha/medical/odysseus.dm | 1 + code/game/mecha/working/ripley.dm | 1 + code/modules/admin/verbs/freeze.dm | 2 - .../simple_animal/hostile/megafauna/dragon.dm | 2 +- .../hostile/terror_spiders/actions.dm | 2 +- icons/mob/{ => actions}/actions.dmi | Bin icons/mob/actions/actions_mecha.dmi | Bin 0 -> 7153 bytes icons/mob/screen_alert.dmi | Bin 40571 -> 41752 bytes paradise.dme | 1 + 21 files changed, 475 insertions(+), 437 deletions(-) create mode 100644 code/game/mecha/mecha_actions.dm rename icons/mob/{ => actions}/actions.dmi (100%) create mode 100644 icons/mob/actions/actions_mecha.dmi diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index 16cb8baa044..32a9d7cf46d 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -17,7 +17,7 @@ //Hide/Show Action Buttons ... Button /obj/screen/movable/action_button/hide_toggle name = "Hide Buttons" - icon = 'icons/mob/actions.dmi' + icon = 'icons/mob/actions/actions.dmi' icon_state = "bg_default" var/hidden = 0 diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index a187dfe3648..99991fa7b72 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -358,12 +358,48 @@ so as to remain in compliance with the most up-to-date laws." AI.eyeobj.setLoc(T) //MECHS - /obj/screen/alert/low_mech_integrity name = "Mech Damaged" desc = "Mech integrity is low." icon_state = "low_mech_integrity" +/obj/screen/alert/mech_port_available + name = "Connect to Port" + desc = "Click here to connect to an air port and refill your oxygen!" + icon_state = "mech_port" + var/obj/machinery/atmospherics/unary/portables_connector/target = null + +/obj/screen/alert/mech_port_available/Destroy() + target = null + return ..() + +/obj/screen/alert/mech_port_available/Click() + if(!usr || !usr.client) + return + if(!istype(usr.loc, /obj/mecha) || !target) + return + var/obj/mecha/M = usr.loc + if(M.connect(target)) + to_chat(usr, "[M] connects to the port.") + else + to_chat(usr, "[M] failed to connect to the port.") + +/obj/screen/alert/mech_port_disconnect + name = "Disconnect from Port" + desc = "Click here to disconnect from your air port." + icon_state = "mech_port_x" + +/obj/screen/alert/mech_port_disconnect/Click() + if(!usr || !usr.client) + return + if(!istype(usr.loc, /obj/mecha)) + return + var/obj/mecha/M = usr.loc + if(M.disconnect()) + to_chat(usr, "[M] disconnects from the port.") + else + to_chat(usr, "[M] is not connected to a port at the moment.") + //GUARDIANS /obj/screen/alert/cancharge name = "Charge Ready" diff --git a/code/datums/action.dm b/code/datums/action.dm index e0634527104..a9c895f3482 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -11,10 +11,10 @@ var/check_flags = 0 var/processing = 0 var/obj/screen/movable/action_button/button = null - var/button_icon = 'icons/mob/actions.dmi' + var/button_icon = 'icons/mob/actions/actions.dmi' var/background_icon_state = "bg_default" - var/icon_icon = 'icons/mob/actions.dmi' + var/icon_icon = 'icons/mob/actions/actions.dmi' var/button_icon_state = "default" var/mob/owner diff --git a/code/datums/spell.dm b/code/datums/spell.dm index 653cc0020bc..dee057c5568 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -97,7 +97,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin var/centcom_cancast = 1 //Whether or not the spell should be allowed on z2 var/datum/action/spell_action/action = null - var/action_icon = 'icons/mob/actions.dmi' + var/action_icon = 'icons/mob/actions/actions.dmi' var/action_icon_state = "spell_default" var/action_background_icon_state = "bg_spell" diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index 6f3a8b51354..a1264b753e6 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -12,10 +12,15 @@ max_temperature = 30000 infra_luminosity = 8 force = 40 - var/defence = 0 - var/defence_deflect = 35 wreckage = /obj/effect/decal/mecha_wreckage/durand +/obj/mecha/combat/durand/GrantActions(mob/living/user, human_occupant = 0) + ..() + defense_action.Grant(user, src) + +/obj/mecha/combat/durand/RemoveActions(mob/living/user, human_occupant = 0) + ..() + defense_action.Remove(user) /obj/mecha/combat/durand/loaded/New() ..() @@ -24,54 +29,6 @@ ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack ME.attach(src) - -/obj/mecha/combat/durand/relaymove(mob/user,direction) - if(defence) - if(world.time - last_message > 20) - occupant_message("Unable to move while in defence mode") - last_message = world.time - return 0 - . = ..() - - -/obj/mecha/combat/durand/verb/defence_mode() - set category = "Exosuit Interface" - set name = "Toggle defence mode" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - defence = !defence - if(defence) - deflect_chance = defence_deflect - occupant_message("You enable [src] defence mode.") - else - deflect_chance = initial(deflect_chance) - occupant_message("You disable [src] defence mode.") - log_message("Toggled defence mode.") - - -/obj/mecha/combat/durand/get_stats_part() - var/output = ..() - output += "Defence mode: [defence?"on":"off"]" - return output - -/obj/mecha/combat/durand/get_commands() - var/output = {"
-
Special
- -
- "} - output += ..() - return output - -/obj/mecha/combat/durand/Topic(href, href_list) - ..() - if(href_list["toggle_defence_mode"]) - defence_mode() - /obj/mecha/combat/durand/old desc = "A retired, third-generation combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." name = "Durand" diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 05e02901ce2..c930df4b97b 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -11,13 +11,21 @@ armor = list(melee = 25, bullet = 20, laser = 30, energy = 15, bomb = 0, bio = 0, rad = 0) max_temperature = 25000 infra_luminosity = 6 - var/overload = 0 - var/overload_coeff = 2 + leg_overload_coeff = 2 wreckage = /obj/effect/decal/mecha_wreckage/gygax internal_damage_threshold = 35 max_equip = 3 maxsize = 2 step_energy_drain = 3 + normal_step_energy_drain = 3 + +/obj/mecha/combat/gygax/GrantActions(mob/living/user, human_occupant = 0) + ..() + overload_action.Grant(user, src) + +/obj/mecha/combat/gygax/RemoveActions(mob/living/user, human_occupant = 0) + ..() + overload_action.Remove(user) /obj/mecha/combat/gygax/loaded/New() ..() @@ -35,7 +43,7 @@ deflect_chance = 15 damage_absorption = list("brute"=0.6,"fire"=0.8,"bullet"=0.6,"laser"=0.5,"energy"=0.65,"bomb"=0.8) max_temperature = 35000 - overload_coeff = 1 + leg_overload_coeff = 100 operation_req_access = list(access_syndicate) wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark max_equip = 4 @@ -55,57 +63,4 @@ /obj/mecha/combat/gygax/dark/add_cell() cell = new /obj/item/stock_parts/cell/bluespace(src) cell.charge = 30000 - cell.maxcharge = 30000 - - -/obj/mecha/combat/gygax/verb/overload() - set category = "Exosuit Interface" - set name = "Toggle leg actuators overload" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - if(overload) - overload = 0 - step_in = initial(step_in) - step_energy_drain = initial(step_energy_drain) - occupant_message("You disable leg actuators overload.") - else - overload = 1 - step_in = min(1, round(step_in/2)) - step_energy_drain = step_energy_drain*overload_coeff - occupant_message("You enable leg actuators overload.") - log_message("Toggled leg actuators overload.") - -/obj/mecha/combat/gygax/domove(direction) - if(!..()) - return - if(overload) - health-- - if(health < initial(health) - initial(health) / 3) - overload = 0 - step_in = initial(step_in) - step_energy_drain = initial(step_energy_drain) - occupant_message("Leg actuators damage threshold exceded. Disabling overload.") - - -/obj/mecha/combat/gygax/get_stats_part() - var/output = ..() - output += "Leg actuators overload: [overload?"on":"off"]" - return output - -/obj/mecha/combat/gygax/get_commands() - var/output = {"
-
Special
- -
- "} - output += ..() - return output - -/obj/mecha/combat/gygax/Topic(href, href_list) - ..() - if(href_list["toggle_leg_overload"]) - overload() \ No newline at end of file + cell.maxcharge = 30000 \ No newline at end of file diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index b05f97acbcd..8e16b6128dd 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -11,12 +11,6 @@ max_temperature = 60000 burn_state = LAVA_PROOF infra_luminosity = 3 - var/zoom = 0 - var/thrusters = 0 - var/smoke = 5 - var/smoke_ready = 1 - var/smoke_cooldown = 100 - var/datum/effect_system/smoke_spread/smoke_system = new operation_req_access = list(access_cent_specops) wreckage = /obj/effect/decal/mecha_wreckage/marauder add_req_access = 0 @@ -24,6 +18,17 @@ force = 45 max_equip = 5 +/obj/mecha/combat/marauder/GrantActions(mob/living/user, human_occupant = 0) + . = ..() + thrusters_action.Grant(user, src) + smoke_action.Grant(user, src) + zoom_action.Grant(user, src) + +/obj/mecha/combat/marauder/RemoveActions(mob/living/user, human_occupant = 0) + . = ..() + thrusters_action.Remove(user) + smoke_action.Remove(user) + zoom_action.Remove(user) /obj/mecha/combat/marauder/loaded/New() ..() @@ -37,8 +42,6 @@ ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) ME.attach(src) - smoke_system.set_up(3, 0, src) - smoke_system.attach(src) /obj/mecha/combat/marauder/seraph desc = "Heavy-duty, command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." @@ -98,100 +101,4 @@ ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay(src) ME.attach(src) ME = new /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster(src) - ME.attach(src) - smoke_system.set_up(3, 0, src) - smoke_system.attach(src) - - -/obj/mecha/combat/marauder/relaymove(mob/user,direction) - if(zoom) - if(world.time - last_message > 20) - occupant_message("Unable to move while in zoom mode.") - last_message = world.time - return 0 - return ..() - -/obj/mecha/combat/marauder/Process_Spacemove(var/movement_dir = 0) - if(..()) - return 1 - if(thrusters && movement_dir && use_power(step_energy_drain)) - return 1 - return 0 - -/obj/mecha/combat/marauder/verb/toggle_thrusters() - set category = "Exosuit Interface" - set name = "Toggle thrusters" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - if(occupant) - if(get_charge() > 0) - thrusters = !thrusters - log_message("Toggled thrusters.") - occupant_message("Thrusters [thrusters?"en":"dis"]abled.") - - -/obj/mecha/combat/marauder/verb/smoke() - set category = "Exosuit Interface" - set name = "Smoke" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - if(smoke_ready && smoke>0) - smoke_system.start() - smoke-- - smoke_ready = 0 - spawn(smoke_cooldown) - smoke_ready = 1 - -/obj/mecha/combat/marauder/verb/zoom() - set category = "Exosuit Interface" - set name = "Zoom" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - if(occupant.client) - zoom = !zoom - log_message("Toggled zoom mode.") - occupant_message("Zoom mode [zoom?"en":"dis"]abled.") - if(zoom) - occupant.client.AddViewMod("mecha", 12) - to_chat(occupant, sound('sound/mecha/imag_enh.ogg',volume=50)) - else - occupant.client.RemoveViewMod("mecha") - - - -/obj/mecha/combat/marauder/get_stats_part() - var/output = ..() - output += {"Smoke: [smoke] -
- Thrusters: [thrusters?"on":"off"] - "} - return output - - -/obj/mecha/combat/marauder/get_commands() - var/output = {"
-
Special
- -
- "} - output += ..() - return output - -/obj/mecha/combat/marauder/Topic(href, href_list) - ..() - if(href_list["toggle_thrusters"]) - toggle_thrusters() - if(href_list["smoke"]) - smoke() - if(href_list["toggle_zoom"]) - zoom() \ No newline at end of file + ME.attach(src) \ No newline at end of file diff --git a/code/game/mecha/combat/phazon.dm b/code/game/mecha/combat/phazon.dm index 5dbffb62f29..af48fb1b6dc 100644 --- a/code/game/mecha/combat/phazon.dm +++ b/code/game/mecha/combat/phazon.dm @@ -6,6 +6,7 @@ step_in = 2 dir_in = 2 //Facing south. step_energy_drain = 3 + normal_step_energy_drain = 3 health = 200 deflect_chance = 30 damage_absorption = list("brute"=0.7,"fire"=0.7,"bullet"=0.7,"laser"=0.7,"energy"=0.7,"bomb"=0.7) @@ -17,10 +18,16 @@ //operation_req_access = list() internal_damage_threshold = 25 force = 15 - var/phasing = 0 - var/phasing_energy_drain = 200 + phase_state = "phazon-phase" max_equip = 3 +/obj/mecha/combat/phazon/GrantActions(mob/living/user, human_occupant = 0) + ..() + phasing_action.Grant(user, src) + +/obj/mecha/combat/phazon/RemoveActions(mob/living/user, human_occupant = 0) + ..() + phasing_action.Remove(user) /obj/mecha/combat/phazon/New() ..() @@ -29,25 +36,6 @@ ME = new /obj/item/mecha_parts/mecha_equipment/gravcatapult ME.attach(src) -/obj/mecha/combat/phazon/mechstep(direction) - . = ..() - if(!. && phasing && get_charge() >= phasing_energy_drain) - if(can_move) - can_move = 0 - flick("phazon-phase", src) - forceMove(get_step(src, direction)) - use_power(phasing_energy_drain) - playsound(src,stepsound,40,1) - sleep(step_in * 3) - can_move = 1 - return 1 - -/obj/mecha/combat/phazon/click_action(atom/target,mob/user) - if(phasing) - occupant_message("Unable to interact with objects while phasing") - return - return ..() - /obj/mecha/combat/phazon/verb/switch_damtype() set category = "Exosuit Interface" set name = "Reconfigure arm microtool arrays" @@ -72,7 +60,6 @@ var/output = {" @@ -83,8 +70,4 @@ /obj/mecha/combat/phazon/Topic(href, href_list) ..() if(href_list["switch_damtype"]) - switch_damtype() - if(href_list["phasing"]) - phasing = !phasing - send_byjax(occupant,"exosuit.browser","phasing_command","[phasing?"Dis":"En"]able phasing") - occupant_message("En":"#f00\">Dis"]abled phasing.") \ No newline at end of file + switch_damtype() \ No newline at end of file diff --git a/code/game/mecha/combat/reticence.dm b/code/game/mecha/combat/reticence.dm index 9e51be0357d..ba4566a1e91 100644 --- a/code/game/mecha/combat/reticence.dm +++ b/code/game/mecha/combat/reticence.dm @@ -15,7 +15,8 @@ add_req_access = 0 internal_damage_threshold = 60 max_equip = 3 - step_energy_drain = 3 + step_energy_drain = 3 + normal_step_energy_drain = 3 stepsound = null turnsound = null diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 64874762050..1cdecf3f2a1 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -7,6 +7,9 @@ #define MELEE 1 #define RANGED 2 +#define MECHAMOVE_RAND 1 +#define MECHAMOVE_TURN 2 +#define MECHAMOVE_STEP 4 /obj/mecha name = "Mecha" @@ -25,7 +28,9 @@ var/mob/living/carbon/occupant = null var/step_in = 10 //make a step in step_in/10 sec. var/dir_in = 2//What direction will the mech face when entered/powered on? Defaults to South. + var/normal_step_energy_drain = 10 var/step_energy_drain = 10 + var/overload_step_energy_drain_min = 100 var/health = 300 //health is health var/deflect_chance = 10 //chance to deflect the incoming projectiles, hits, or lesser the effect of ex_act. //the values in this list show how much damage will pass through, not how much will be absorbed. @@ -69,13 +74,26 @@ var/turf/crashing = null var/occupant_sight_flags = 0 - var/stepsound = 'sound/mecha/mechstep.ogg' var/turnsound = 'sound/mecha/mechturn.ogg' var/melee_cooldown = 10 var/melee_can_hit = 1 + // Action vars + var/defence_mode = FALSE + var/defence_mode_deflect_chance = 35 + var/leg_overload_mode = FALSE + var/leg_overload_coeff = 100 + var/thrusters_active = FALSE + var/smoke = 5 + var/smoke_ready = 1 + var/smoke_cooldown = 100 + var/zoom_mode = FALSE + var/phasing = FALSE + var/phasing_energy_drain = 200 + var/phase_state = "" //icon_state when phasing + hud_possible = list (DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD) /obj/mecha/New() @@ -84,17 +102,14 @@ icon_state += "-open" add_radio() add_cabin() - - if(!add_airtank()) //we check this here in case mecha does not have an internal tank available by default - WIP - removeVerb(/obj/mecha/verb/connect_to_port) - removeVerb(/obj/mecha/verb/toggle_internal_tank) - + add_airtank() spark_system.set_up(2, 0, src) spark_system.attach(src) + smoke_system.set_up(3, src) + smoke_system.attach(src) add_cell() processing_objects.Add(src) - removeVerb(/obj/mecha/verb/disconnect_from_port) GLOB.poi_list |= src log_message("[src] created.") GLOB.mechas_list += src //global mech list @@ -176,6 +191,9 @@ return if(user.incapacitated()) return + if(phasing) + occupant_message("Unable to interact with objects while phasing.") + return if(state) occupant_message("Maintenance protocols in effect.") return @@ -251,6 +269,8 @@ . = ..() if(.) return 1 + if(thrusters_active && movement_dir && use_power(step_energy_drain)) + return 1 var/atom/movable/backup = get_spacemove_backup() if(backup) @@ -284,23 +304,55 @@ return 0 if(!has_charge(step_energy_drain)) return 0 + if(defence_mode) + if(world.time - last_message > 20) + occupant_message("Unable to move while in defence mode.") + last_message = world.time + return 0 + if(zoom_mode) + if(world.time - last_message > 20) + occupant_message("Unable to move while in zoom mode.") + last_message = world.time + return 0 var/move_result = 0 + var/move_type = 0 if(internal_damage & MECHA_INT_CONTROL_LOST) move_result = mechsteprand() + move_type = MECHAMOVE_RAND else if(dir != direction) move_result = mechturn(direction) + move_type = MECHAMOVE_TURN else move_result = mechstep(direction) + move_type = MECHAMOVE_STEP - can_move = 0 + can_move = FALSE spawn(step_in) - can_move = 1 + can_move = TRUE - if(move_result) - use_power(step_energy_drain) - return 1 - return 0 + if(move_result && move_type) + aftermove(move_type) + return TRUE + return FALSE + +/obj/mecha/proc/aftermove(move_type) + use_power(step_energy_drain) + if(move_type & (MECHAMOVE_RAND | MECHAMOVE_STEP) && occupant) + var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector) in loc + if(possible_port) + var/obj/screen/alert/mech_port_available/A = occupant.throw_alert("mechaport", /obj/screen/alert/mech_port_available, override = TRUE) + if(A) + A.target = possible_port + else + occupant.clear_alert("mechaport") + if(leg_overload_mode) + take_damage(1) + if(health < initial(health) - initial(health) / 3) + leg_overload_mode = FALSE + step_in = initial(step_in) + step_energy_drain = initial(step_energy_drain) + occupant_message("Leg actuators damage threshold exceded. Disabling overload.") /obj/mecha/proc/mechturn(direction) @@ -310,16 +362,25 @@ return 1 /obj/mecha/proc/mechstep(direction) - var/result = step(src,direction) - if(result && stepsound) - playsound(src,stepsound,40,1) - return result + . = step(src, direction) + if(!.) + if(phasing && get_charge() >= phasing_energy_drain) + if(can_move) + can_move = 0 + . = TRUE + flick("phazon-phase", src) + forceMove(get_step(src, direction)) + use_power(phasing_energy_drain) + playsound(src, stepsound, 40, 1) + spawn(step_in * 3) + can_move = 1 + else if(stepsound) + playsound(src, stepsound, 40, 1) /obj/mecha/proc/mechsteprand() - var/result = step_rand(src) - if(result && stepsound) - playsound(src,stepsound,40,1) - return result + . = step_rand(src) + if(. && stepsound) + playsound(src, stepsound, 40, 1) @@ -627,6 +688,7 @@ qdel(cabin_air) cabin_air = null QDEL_NULL(spark_system) + QDEL_NULL(smoke_system) GLOB.mechas_list -= src //global mech list return ..() @@ -777,8 +839,8 @@ else if(iswelder(W) && user.a_intent != INTENT_HARM) var/obj/item/weldingtool/WT = W if(healthYou repair the damaged gas tank.") else @@ -958,6 +1020,10 @@ to_chat(AI, "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now permanently loaded onto the onboard computer. Do not attempt to leave the station sector!" \ : "You have been uploaded to a mech's onboard computer."]") to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.") + if(interaction == AI_TRANS_FROM_CARD) + GrantActions(AI, FALSE) + else + GrantActions(AI, !AI.can_dominate_mechs) ///////////////////////////////////// //////// Atmospheric stuff //////// @@ -994,7 +1060,7 @@ /obj/mecha/proc/connect(obj/machinery/atmospherics/unary/portables_connector/new_port) //Make sure not already connected to something else - if(connected_port || !new_port || new_port.connected_device) + if(connected_port || !istype(new_port) || new_port.connected_device) return 0 //Make sure are close enough for a valid connection @@ -1006,6 +1072,10 @@ connected_port.connected_device = src connected_port.parent.reconcile_air() + if(occupant) + occupant.clear_alert("mechaport") + occupant.throw_alert("mechaport_d", /obj/screen/alert/mech_port_disconnect) + log_message("Connected to gas port.") return 1 @@ -1016,6 +1086,8 @@ connected_port.connected_device = null connected_port = null log_message("Disconnected from gas port.") + if(occupant) + occupant.clear_alert("mechaport_d") return 1 /obj/mecha/portableConnectorReturnAir() @@ -1025,71 +1097,19 @@ ///////////////////////// //////// Verbs //////// ///////////////////////// - - -/obj/mecha/verb/connect_to_port() - set name = "Connect to port" - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(!occupant) return - if(usr!=occupant) - return - var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector/) in loc - if(possible_port) - if(connect(possible_port)) - occupant_message("[name] connects to the port.") - verbs += /obj/mecha/verb/disconnect_from_port - verbs -= /obj/mecha/verb/connect_to_port - return - else - occupant_message("[name] failed to connect to the port.") - return - else - occupant_message("Nothing happens") - - -/obj/mecha/verb/disconnect_from_port() - set name = "Disconnect from port" - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(!occupant) return - if(usr!=occupant) - return - if(disconnect()) - occupant_message("[name] disconnects from the port.") - verbs -= /obj/mecha/verb/disconnect_from_port - verbs += /obj/mecha/verb/connect_to_port - else - occupant_message("[name] is not connected to the port at the moment.") - -/obj/mecha/verb/toggle_lights() - set name = "Toggle Lights" - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(usr!=occupant) return +/obj/mecha/proc/toggle_lights() lights = !lights - if(lights) set_light(light_range + lights_power) - else set_light(light_range - lights_power) - occupant_message("Toggled lights [lights?"on":"off"].") - log_message("Toggled lights [lights?"on":"off"].") - return + if(lights) + set_light(light_range + lights_power) + else + set_light(light_range - lights_power) + occupant_message("Toggled lights [lights ? "on" : "off"].") + log_message("Toggled lights [lights ? "on" : "off"].") - -/obj/mecha/verb/toggle_internal_tank() - set name = "Toggle internal airtank usage." - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(usr!=occupant) - return +/obj/mecha/proc/toggle_internal_tank() use_internal_tank = !use_internal_tank - occupant_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].") - log_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].") - return - + occupant_message("Now taking air from [use_internal_tank ? "internal airtank" : "environment"].") + log_message("Now taking air from [use_internal_tank ? "internal airtank" : "environment"].") /obj/mecha/MouseDrop_T(mob/M, mob/user) if(user.incapacitated()) @@ -1147,7 +1167,7 @@ H.forceMove(src) H.reset_perspective(src) add_fingerprint(H) - //GrantActions(H, human_occupant=1) + GrantActions(H, human_occupant = 1) forceMove(loc) log_append_to_last("[H] moved in as pilot.") icon_state = reset_icon() @@ -1204,7 +1224,6 @@ to_chat(brainmob, "Your imprint to [R.imprinted_master] has been temporarily disabled. You should help the crew and not commit harm.") mmi_as_oc.loc = src mmi_as_oc.mecha = src - verbs -= /obj/mecha/verb/eject Entered(mmi_as_oc) Move(loc) icon_state = reset_icon() @@ -1212,6 +1231,7 @@ log_message("[mmi_as_oc] moved in as pilot.") if(!hasInternalDamage()) to_chat(occupant, sound('sound/mecha/nominal.ogg',volume=50)) + GrantActions(brainmob) return 1 else return 0 @@ -1228,27 +1248,6 @@ /obj/mecha/proc/pilot_mmi_hud(var/mob/living/carbon/brain/pilot) return -/obj/mecha/verb/view_stats() - set name = "View Stats" - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(usr!=occupant) - return - occupant << browse(get_stats_html(), "window=exosuit") - return - -/obj/mecha/verb/eject() - set name = "Eject" - set category = "Exosuit Interface" - set src = usr.loc - set popup_menu = 0 - if(usr != occupant) - return - go_out() - add_fingerprint(usr) - - /obj/mecha/Exited(atom/movable/M, atom/newloc) if(occupant && occupant == M) // The occupant exited the mech without calling go_out() go_out(1, newloc) @@ -1259,17 +1258,19 @@ var/atom/movable/mob_container occupant.clear_alert("charge") occupant.clear_alert("mech damage") + occupant.clear_alert("mechaport") + occupant.clear_alert("mechaport_d") if(ishuman(occupant)) mob_container = occupant - //RemoveActions(occupant, human_occupant=1) + RemoveActions(occupant, human_occupant = 1) else if(isbrain(occupant)) var/mob/living/carbon/brain/brain = occupant - //RemoveActions(brain) + RemoveActions(brain) mob_container = brain.container else if(isAI(occupant)) var/mob/living/silicon/ai/AI = occupant if(forced)//This should only happen if there are multiple AIs in a round, and at least one is Malf. - //RemoveActions(occupant) + RemoveActions(occupant) occupant.gib() //If one Malf decides to steal a mech from another AI (even other Malfs!), they are destroyed, as they have nowhere to go when replaced. occupant = null return @@ -1281,7 +1282,7 @@ to_chat(AI, "Returning to core...") AI.controlled_mech = null AI.remote_control = null - //RemoveActions(occupant, 1) + RemoveActions(occupant, 1) mob_container = AI newloc = get_turf(AI.linked_core) qdel(AI.linked_core) @@ -1310,6 +1311,7 @@ if(L && L.client) L.client.RemoveViewMod("mecha") + zoom_mode = FALSE ///////////////////////// ////// Access stuff ///// @@ -1319,14 +1321,14 @@ if(!ishuman(H)) return 0 for(var/ID in list(H.get_active_hand(), H.wear_id, H.belt)) - if(check_access(ID,operation_req_access)) + if(check_access(ID, operation_req_access)) return 1 return 0 /obj/mecha/proc/internals_access_allowed(mob/living/carbon/human/H) for(var/atom/ID in list(H.get_active_hand(), H.wear_id, H.belt)) - if(check_access(ID,internals_req_access)) + if(check_access(ID, internals_req_access)) return 1 return 0 diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm new file mode 100644 index 00000000000..2db88a3b57b --- /dev/null +++ b/code/game/mecha/mecha_actions.dm @@ -0,0 +1,205 @@ +/obj/mecha + //Action datums + var/datum/action/innate/mecha/mech_eject/eject_action = new + var/datum/action/innate/mecha/mech_toggle_internals/internals_action = new + var/datum/action/innate/mecha/mech_toggle_lights/lights_action = new + var/datum/action/innate/mecha/mech_view_stats/stats_action = new + var/datum/action/innate/mecha/mech_defence_mode/defense_action = new + var/datum/action/innate/mecha/mech_overload_mode/overload_action = new + var/datum/action/innate/mecha/mech_toggle_thrusters/thrusters_action = new + var/datum/effect_system/smoke_spread/smoke_system = new //not an action, but trigged by one + var/datum/action/innate/mecha/mech_smoke/smoke_action = new + var/datum/action/innate/mecha/mech_zoom/zoom_action = new + var/datum/action/innate/mecha/mech_toggle_phasing/phasing_action = new + // var/datum/action/innate/mecha/mech_switch_damtype/switch_damtype_action = new + +/obj/mecha/proc/GrantActions(mob/living/user, human_occupant = 0) + if(human_occupant) + eject_action.Grant(user, src) + internals_action.Grant(user, src) + lights_action.Grant(user, src) + stats_action.Grant(user, src) + +/obj/mecha/proc/RemoveActions(mob/living/user, human_occupant = 0) + if(human_occupant) + eject_action.Remove(user) + internals_action.Remove(user) + lights_action.Remove(user) + stats_action.Remove(user) + +/datum/action/innate/mecha + check_flags = AB_CHECK_RESTRAINED | AB_CHECK_STUNNED | AB_CHECK_CONSCIOUS + icon_icon = 'icons/mob/actions/actions_mecha.dmi' + var/obj/mecha/chassis + +/datum/action/innate/mecha/Grant(mob/living/L, obj/mecha/M) + if(M) + chassis = M + . = ..() + +/datum/action/innate/mecha/Destroy() + chassis = null + return ..() + +/datum/action/innate/mecha/mech_eject + name = "Eject From Mech" + button_icon_state = "mech_eject" + +/datum/action/innate/mecha/mech_eject/Activate() + if(!owner) + return + if(!chassis || chassis.occupant != owner) + return + chassis.go_out() + +/datum/action/innate/mecha/mech_toggle_internals + name = "Toggle Internal Airtank Usage" + button_icon_state = "mech_internals_off" + +/datum/action/innate/mecha/mech_toggle_internals/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + chassis.use_internal_tank = !chassis.use_internal_tank + button_icon_state = "mech_internals_[chassis.use_internal_tank ? "on" : "off"]" + chassis.occupant_message("Now taking air from [chassis.use_internal_tank ? "internal airtank" : "environment"].") + chassis.log_message("Now taking air from [chassis.use_internal_tank ? "internal airtank" : "environment"].") + UpdateButtonIcon() + +/datum/action/innate/mecha/mech_toggle_lights + name = "Toggle Lights" + button_icon_state = "mech_lights_off" + +/datum/action/innate/mecha/mech_toggle_lights/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + chassis.lights = !chassis.lights + if(chassis.lights) + chassis.set_light(chassis.lights_power) + button_icon_state = "mech_lights_on" + else + chassis.set_light(-chassis.lights_power) + button_icon_state = "mech_lights_off" + chassis.occupant_message("Toggled lights [chassis.lights ? "on" : "off"].") + chassis.log_message("Toggled lights [chassis.lights ? "on" : "off"].") + UpdateButtonIcon() + +/datum/action/innate/mecha/mech_view_stats + name = "View Stats" + button_icon_state = "mech_view_stats" + +/datum/action/innate/mecha/mech_view_stats/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + chassis.occupant << browse(chassis.get_stats_html(), "window=exosuit") + +/datum/action/innate/mecha/mech_defence_mode + name = "Toggle Defence Mode" + button_icon_state = "mech_defense_mode_off" + +/datum/action/innate/mecha/mech_defence_mode/Activate(forced_state = null) + if(!owner || !chassis || chassis.occupant != owner) + return + if(!isnull(forced_state)) + chassis.defence_mode = forced_state + else + chassis.defence_mode = !chassis.defence_mode + button_icon_state = "mech_defense_mode_[chassis.defence_mode ? "on" : "off"]" + if(chassis.defence_mode) + chassis.deflect_chance = chassis.defence_mode_deflect_chance + chassis.occupant_message("You enable [chassis] defence mode.") + else + chassis.deflect_chance = initial(chassis.deflect_chance) + chassis.occupant_message("You disable [chassis] defence mode.") + chassis.log_message("Toggled defence mode.") + UpdateButtonIcon() + + +/datum/action/innate/mecha/mech_overload_mode + name = "Toggle leg actuators overload" + button_icon_state = "mech_overload_off" + +/datum/action/innate/mecha/mech_overload_mode/Activate(forced_state = null) + if(!owner || !chassis || chassis.occupant != owner) + return + if(chassis.health < initial(chassis.health) - initial(chassis.health) / 3) + chassis.occupant_message("The leg actuators are too damaged to overload!") + return // Can't activate them if the mech is too damaged + if(!isnull(forced_state)) + chassis.leg_overload_mode = forced_state + else + chassis.leg_overload_mode = !chassis.leg_overload_mode + button_icon_state = "mech_overload_[chassis.leg_overload_mode ? "on" : "off"]" + chassis.log_message("Toggled leg actuators overload.") + if(chassis.leg_overload_mode) + chassis.leg_overload_mode = 1 + // chassis.bumpsmash = 1 + chassis.step_in = min(1, round(chassis.step_in / 2)) + chassis.step_energy_drain = max(chassis.overload_step_energy_drain_min, chassis.step_energy_drain * chassis.leg_overload_coeff) + chassis.occupant_message("You enable leg actuators overload.") + else + chassis.leg_overload_mode = 0 + // chassis.bumpsmash = 0 + chassis.step_in = initial(chassis.step_in) + chassis.step_energy_drain = chassis.normal_step_energy_drain + chassis.occupant_message("You disable leg actuators overload.") + UpdateButtonIcon() + +/datum/action/innate/mecha/mech_toggle_thrusters + name = "Toggle Thrusters" + button_icon_state = "mech_thrusters_off" + +/datum/action/innate/mecha/mech_toggle_thrusters/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + if(chassis.get_charge() > 0) + chassis.thrusters_active = !chassis.thrusters_active + button_icon_state = "mech_thrusters_[chassis.thrusters_active ? "on" : "off"]" + chassis.log_message("Toggled thrusters.") + chassis.occupant_message("Thrusters [chassis.thrusters_active ? "en" : "dis"]abled.") + +/datum/action/innate/mecha/mech_smoke + name = "Smoke" + button_icon_state = "mech_smoke" + +/datum/action/innate/mecha/mech_smoke/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + if(chassis.smoke_ready && chassis.smoke > 0) + chassis.smoke_system.start() + chassis.smoke-- + chassis.smoke_ready = 0 + spawn(chassis.smoke_cooldown) + chassis.smoke_ready = 1 + else + chassis.occupant_message("You are either out of smoke, or the smoke isn't ready yet.") + +/datum/action/innate/mecha/mech_zoom + name = "Zoom" + button_icon_state = "mech_zoom_off" + +/datum/action/innate/mecha/mech_zoom/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + if(owner.client) + chassis.zoom_mode = !chassis.zoom_mode + button_icon_state = "mech_zoom_[chassis.zoom_mode ? "on" : "off"]" + chassis.log_message("Toggled zoom mode.") + chassis.occupant_message("Zoom mode [chassis.zoom_mode ? "en" : "dis"]abled.") + if(chassis.zoom_mode) + owner.client.AddViewMod("mecha", 12) + SEND_SOUND(owner, sound('sound/mecha/imag_enh.ogg',volume=50)) + else + owner.client.RemoveViewMod("mecha") + UpdateButtonIcon() + +/datum/action/innate/mecha/mech_toggle_phasing + name = "Toggle Phasing" + button_icon_state = "mech_phasing_off" + +/datum/action/innate/mecha/mech_toggle_phasing/Activate() + if(!owner || !chassis || chassis.occupant != owner) + return + chassis.phasing = !chassis.phasing + button_icon_state = "mech_phasing_[chassis.phasing ? "on" : "off"]" + chassis.occupant_message("En":"#f00\">Dis"]abled phasing.") + UpdateButtonIcon() \ No newline at end of file diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 2ce732f83ed..41d4c3aa540 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -73,81 +73,80 @@ var/cell_charge = get_charge() var/tank_pressure = internal_tank ? round(internal_tank.return_pressure(),0.01) : "None" var/tank_temperature = internal_tank ? internal_tank.return_temperature() : "Unknown" + var/tank_temperature_c = internal_tank ? internal_tank.return_temperature() - T0C : "Unknown" var/cabin_pressure = round(return_pressure(),0.01) - var/output = {"[report_internal_damage()] - [integrity<30?"DAMAGE LEVEL CRITICAL
":null] - Integrity: [integrity]%
- Powercell charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
- Air source: [use_internal_tank?"Internal Airtank":"Environment"]
- Airtank pressure: [tank_pressure]kPa
- Airtank temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
- Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
- Cabin temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
- Lights: [lights?"on":"off"]
- [dna?"DNA-locked:
[dna] \[Reset\]
":null] - "} - return output + . = "[report_internal_damage()]" + . += "[integrity<30?"DAMAGE LEVEL CRITICAL
":null]" + . += "Integrity: [integrity]%
" + . += "Powercell charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
" + . += "Air source: [use_internal_tank?"Internal Airtank":"Environment"]
" + . += "Airtank pressure: [tank_pressure]kPa
" + . += "Airtank temperature: [tank_temperature]°K|[tank_temperature_c]°C
" + . += "Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
" + . += "Cabin temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
" + . += "Lights: [lights?"on":"off"]
" + . += "[dna ? "DNA-locked:
[dna] \[Reset\]
" : ""]" + . += "[defense_action.owner ? "Defence Mode: [defence_mode ? "Enabled" : "Disabled"]
" : ""]" + . += "[overload_action.owner ? "Leg Actuators Overload: [leg_overload_mode ? "Enabled" : "Disabled"]
" : ""]" + . += "[thrusters_action.owner ? "Thrusters: [thrusters_active ? "Enabled" : "Disabled"]
" : ""]" + . += "[smoke_action.owner ? "Smoke: [smoke]
" : ""]" + . += "[zoom_action.owner ? "Zoom: [zoom_mode ? "Enabled" : "Disabled"]
" : ""]" + . += "[phasing_action.owner ? "Phase Modulator: [phasing ? "Enabled" : "Disabled"]
" : ""]" /obj/mecha/proc/get_commands() - var/output = {"
-
Electronics
- -
-
-
Airtank
- -
- -
[get_equipment_menu()]
-
- [(/obj/mecha/verb/eject in verbs)?"Eject
":null] - "} - return output + . = "
" + . += "
Electronics
" + . += "" + . += "
" + . += "
" + . += "
Airtank
" + . += "" + . += "
" + . += "
" + . += "
Permissions & Logging
" + . += "" + . += "
" + . += "
[get_equipment_menu()]
" + . += "
" + . += "Eject
" /obj/mecha/proc/get_equipment_menu() //outputs mecha html equipment menu - var/output + . = "" if(equipment.len) - output += {"
-
Equipment
-
" /obj/mecha/proc/get_equipment_list() //outputs mecha equipment list in html if(!equipment.len) return - var/output = "Equipment:
" + . = "Equipment:
" for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment) - output += "
[MT.get_equip_info()]
" - output += "
" - return output + . += "
[MT.get_equip_info()]
" + . += "
" /obj/mecha/proc/get_log_html() @@ -248,11 +247,11 @@ selected = equip occupant_message("You switch to [equip]") visible_message("[src] raises [equip]") - send_byjax(occupant,"exosuit.browser","eq_list",get_equipment_list()) + send_byjax(occupant, "exosuit.browser", "eq_list", get_equipment_list()) return if(href_list["eject"]) if(usr != occupant) return - eject() + go_out() return if(href_list["toggle_lights"]) if(usr != occupant) return @@ -280,14 +279,6 @@ radio.set_frequency(new_frequency) send_byjax(occupant,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]") return - if(href_list["port_disconnect"]) - if(usr != occupant) return - disconnect_from_port() - return - if(href_list["port_connect"]) - if(usr != occupant) return - connect_to_port() - return if(href_list["view_log"]) if(usr != occupant) return occupant << browse(get_log_html(), "window=exosuit_log") diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index d0fcb0f99be..da746290e8a 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -10,6 +10,7 @@ internal_damage_threshold = 35 deflect_chance = 15 step_energy_drain = 6 + normal_step_energy_drain = 6 var/builtin_hud_user = 0 /obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H) diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index 407c9cd63dc..ab38ee3a0d0 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -83,6 +83,7 @@ damage_absorption = list("brute"=0.6,"fire"=0.4,"bullet"=0.6,"laser"=0.6,"energy"=1,"bomb"=0.3) wreckage = /obj/effect/decal/mecha_wreckage/ripley/deathripley step_energy_drain = 0 + normal_step_energy_drain = 0 /obj/mecha/working/ripley/deathripley/New() ..() diff --git a/code/modules/admin/verbs/freeze.dm b/code/modules/admin/verbs/freeze.dm index 8dc852e9221..76a7a693838 100644 --- a/code/modules/admin/verbs/freeze.dm +++ b/code/modules/admin/verbs/freeze.dm @@ -104,7 +104,6 @@ var/global/list/frozen_mob_list = list() M.can_move = 0 M.overlays += adminomaly if(M.occupant) - M.removeVerb(/obj/mecha/verb/eject) to_chat(M.occupant, "You have been frozen by [key]") message_admins("[key_name_admin(usr)] froze [key_name(M.occupant)] in a [M.name]") log_admin("[key_name(usr)] froze [key_name(M.occupant)] in a [M.name]") @@ -115,7 +114,6 @@ var/global/list/frozen_mob_list = list() M.can_move = 1 M.overlays -= adminomaly if(M.occupant) - M.addVerb(/obj/mecha/verb/eject) to_chat(M.occupant, "You have been unfrozen by [key]") message_admins("[key_name_admin(usr)] unfroze [key_name(M.occupant)] in a [M.name]") log_admin("[key_name(usr)] unfroze [key_name(M.occupant)] in a [M.name]") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 82e4af1862f..efeec62ae96 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -101,7 +101,7 @@ Difficulty: Medium animate(src, pixel_z = 0, time = 12) /obj/effect/temp_visual/target - icon = 'icons/mob/actions.dmi' + icon = 'icons/mob/actions/actions.dmi' icon_state = "sniper_zoom" layer = MOB_LAYER - 0.1 luminosity = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm index f2bed558b8c..b0756cddd7f 100644 --- a/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm +++ b/code/modules/mob/living/simple_animal/hostile/terror_spiders/actions.dm @@ -65,7 +65,7 @@ /datum/action/innate/terrorspider/queen/queensense name = "Hive Sense" - icon_icon = 'icons/mob/actions.dmi' + icon_icon = 'icons/mob/actions/actions.dmi' button_icon_state = "mindswap" /datum/action/innate/terrorspider/queen/queensense/Activate() diff --git a/icons/mob/actions.dmi b/icons/mob/actions/actions.dmi similarity index 100% rename from icons/mob/actions.dmi rename to icons/mob/actions/actions.dmi diff --git a/icons/mob/actions/actions_mecha.dmi b/icons/mob/actions/actions_mecha.dmi new file mode 100644 index 0000000000000000000000000000000000000000..81c706b22c8aa57503b31d2c438ee0081c7d20b8 GIT binary patch literal 7153 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 literal 0 HcmV?d00001 diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index 56c1730fd3a3ecdedd394259cb85549421674389..b2e0a83bd35ee73b6007fe5ec331dfa58913e242 100644 GIT binary patch literal 41752 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 IM6N<$g17Qj1poj5 literal 40571 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%0AWPuGJccjC|JG4aue45+7~Hs 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
jA`~+SA?=M$??6gZHp(jG*Jr2nOULTWKj8>b} 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

N9oWrA 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