From 13cbf1267e9e405b2d36770fb7659491fbd74192 Mon Sep 17 00:00:00 2001 From: Matt Atlas Date: Mon, 26 Feb 2024 09:47:49 +0100 Subject: [PATCH] Added a new mob and a weapon for Purpose. (#18500) * extreme measures * hunter killer * Adds a new mob and a weapon for Purpose. * cl * Update code/modules/clothing/spacesuits/rig/suits/terminator.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Signed-off-by: Matt Atlas * Update code/modules/projectiles/guns/energy/scythe.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Signed-off-by: Matt Atlas * Update code/modules/projectiles/guns/energy/scythe.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Signed-off-by: Matt Atlas * Update code/modules/projectiles/guns/energy/scythe.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Signed-off-by: Matt Atlas * Update code/modules/projectiles/guns/energy/scythe.dm Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> Signed-off-by: Matt Atlas --------- Signed-off-by: Matt Atlas Co-authored-by: Matt Atlas Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com> --- aurorastation.dme | 1 + code/__DEFINES/species.dm | 2 +- code/game/objects/items/weapons/tools.dm | 2 +- .../spacesuits/rig/suits/terminator.dm | 17 ++-- code/modules/item_worth/worths_list.dm | 2 +- code/modules/mob/language/outsider.dm | 19 +---- .../mob/living/carbon/human/human_powers.dm | 8 +- .../mob/living/carbon/human/human_species.dm | 14 ++-- .../species/station/ipc/ipc_subspecies.dm | 16 ++-- code/modules/organs/robolimbs.dm | 4 +- code/modules/power/cable.dm | 2 +- .../modules/projectiles/guns/energy/scythe.dm | 78 ++++++++++++++++++ .../modules/projectiles/projectile/bullets.dm | 2 + code/unit_tests/create_and_destroy.dm | 4 +- html/changelogs/mattatlas-iamwhatiam.yml | 42 ++++++++++ icons/clothing/rig/hunter_killer.dmi | Bin 0 -> 8130 bytes icons/clothing/rig/terminator.dmi | Bin 12312 -> 0 bytes icons/mob/human_races/ipc/r_hunter_killer.dmi | Bin 0 -> 2514 bytes icons/mob/human_races/ipc/r_terminator.dmi | Bin 1650 -> 0 bytes icons/obj/guns/scythe.dmi | Bin 0 -> 3343 bytes 20 files changed, 160 insertions(+), 53 deletions(-) create mode 100644 code/modules/projectiles/guns/energy/scythe.dm create mode 100644 html/changelogs/mattatlas-iamwhatiam.yml create mode 100644 icons/clothing/rig/hunter_killer.dmi delete mode 100644 icons/clothing/rig/terminator.dmi create mode 100644 icons/mob/human_races/ipc/r_hunter_killer.dmi delete mode 100644 icons/mob/human_races/ipc/r_terminator.dmi create mode 100644 icons/obj/guns/scythe.dmi diff --git a/aurorastation.dme b/aurorastation.dme index 739888688f3..c81a2644f59 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -3033,6 +3033,7 @@ #include "code\modules\projectiles\guns\energy\nuclear.dm" #include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\rifle.dm" +#include "code\modules\projectiles\guns\energy\scythe.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" #include "code\modules\projectiles\guns\energy\temperature.dm" diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index 84739608bd6..f50d8d79de3 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -33,7 +33,7 @@ #define SPECIES_IPC_XION_REMOTE "Remote Xion Industrial Frame" #define SPECIES_IPC_UNBRANDED "Unbranded Frame" #define SPECIES_IPC_UNBRANDED_REMOTE "Remote Unbranded Frame" -#define SPECIES_IPC_TERMINATOR "Military Frame" +#define SPECIES_IPC_PURPOSE_HK "Hunter-Killer" #define SPECIES_SLIMEPERSON "Slime" diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 73a705cb34a..ef7de9c01f0 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -400,7 +400,7 @@ if(!(S.status & ORGAN_ASSISTED) || user.a_intent != I_HELP) return ..() - if(H.isSynthetic() && H == user && !(H.get_species() == SPECIES_IPC_TERMINATOR)) + if(H.isSynthetic() && H == user && !(H.get_species() == SPECIES_IPC_PURPOSE_HK)) to_chat(user, SPAN_WARNING("You can't repair damage to your own body - it's against OH&S.")) return diff --git a/code/modules/clothing/spacesuits/rig/suits/terminator.dm b/code/modules/clothing/spacesuits/rig/suits/terminator.dm index 7e8aa615246..dda475694d6 100644 --- a/code/modules/clothing/spacesuits/rig/suits/terminator.dm +++ b/code/modules/clothing/spacesuits/rig/suits/terminator.dm @@ -1,8 +1,9 @@ -/obj/item/rig/terminator - name = "\improper Military Frame exoskeleton" - desc = "A robust synth exoskeleton outfitted with state of the art infiltration tools. Creepy." - icon = 'icons/clothing/rig/terminator.dmi' - icon_state = "terminator_rig" +/obj/item/rig/hunter_killer + name = "\improper Purpose combat layer" + desc = "An unknown, sleek mechanical construction that doesn't conform to any technology, culture, or even creature you know. \ + It seems largely impervious to any wear and tear." + icon = 'icons/clothing/rig/hunter_killer.dmi' + icon_state = "hunterkiller_rig" suit_type = "synthetic exoskeleton" armor = list( melee = ARMOR_MELEE_VERY_HIGH, @@ -30,7 +31,7 @@ /obj/item/handcuffs ) - helm_type = /obj/item/clothing/head/helmet/space/rig/terminator + helm_type = /obj/item/clothing/head/helmet/space/rig/hunter_killer initial_modules = list( /obj/item/rig_module/maneuvering_jets, @@ -49,12 +50,12 @@ species_restricted = list(BODYTYPE_IPC_INDUSTRIAL) allowed_module_types = MODULE_GENERAL | MODULE_LIGHT_COMBAT | MODULE_HEAVY_COMBAT | MODULE_SPECIAL | MODULE_MEDICAL | MODULE_UTILITY | MODULE_VAURCA -/obj/item/clothing/head/helmet/space/rig/terminator +/obj/item/clothing/head/helmet/space/rig/hunter_killer species_restricted = list(BODYTYPE_IPC_INDUSTRIAL) light_overlay = "helmet_light_terminator" light_color = LIGHT_COLOR_RED -/obj/item/rig/terminator/equipped +/obj/item/rig/hunter_killer/equipped initial_modules = list( /obj/item/rig_module/maneuvering_jets, /obj/item/rig_module/grenade_launcher/frag, diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index 2eba28f86ed..be5cc54e1c2 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -396,7 +396,7 @@ var/list/worths = list( /obj/item/rig/internalaffairs = 9000, /obj/item/rig/merc = 25000, /obj/item/rig/military = 30000, - /obj/item/rig/terminator = 30000, + /obj/item/rig/hunter_killer = 30000, /obj/item/rig = 15000, /obj/item/forensics = 65, /obj/item/evidencebag = 5, diff --git a/code/modules/mob/language/outsider.dm b/code/modules/mob/language/outsider.dm index 81bbd6586db..94ba9994198 100644 --- a/code/modules/mob/language/outsider.dm +++ b/code/modules/mob/language/outsider.dm @@ -82,22 +82,6 @@ key = "y" flags = RESTRICTED | HIVEMIND -/datum/language/terminator - name = LANGUAGE_TERMINATOR - desc = "A heavily encrypted communication network that piggybacks off of the state telecomms relays to covertly link Hephaestus black ops droids to their control AIs." - speech_verb = list("buzzes") - ask_verb = list("buzzes") - exclaim_verb = list("buzzes") - sing_verb = list("buzzes") - colour = "bad" - key = "hd" - flags = RESTRICTED | HIVEMIND - syllables = list("beep","beep","beep","beep","beep","boop","boop","boop","bop","bop","dee","dee","doo","doo","hiss","hss","buzz","buzz","bzz","ksssh","keey","wurr","wahh","tzzz") - space_chance = 10 - -/datum/language/terminator/get_random_name() - return "HK [pick(list("Hera","Zeus","Artemis","Athena","Ares","Hades","Poseidon","Demeter","Apollo","Aphrodite","Hermes","Hestia","Dionysus","Persephone","Kronos","Odysseus","Ajax","Agamemnon","Chiron","Charon"))]-[rand(100, 999)]" - /datum/language/revenant name = LANGUAGE_REVENANT desc = "The language of the forsaken bluespace inhabitants." @@ -207,3 +191,6 @@ flags = RESTRICTED | NO_STUTTER | HIVEMIND syllables = list("beep","beep","beep","beep","beep","boop","boop","boop","bop","bop","dee","dee","doo","doo","hiss","hss","buzz","buzz","bzz","ksssh","keey","wurr","wahh","tzzz") space_chance = 10 + +/datum/language/purpose/get_random_name() + return "[pick(list("HERA","ZEUS","ARTEMIS","ATHENA","ARES","HADES","POSEIDON","DEMETER","APOLLO","APHORDITE","HERMES","HESTIA","DIONYSUS","PERSEPHONE","KRONOS","ODYSSEUS","AJAX","AGAMENON","CHIRON","CHARON"))][rand(100, 999)]" diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index edeba280bb9..b2715e7be57 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -408,7 +408,7 @@ last_special = world.time + 100 /mob/living/carbon/human/proc/detonate_flechettes() - set category = "Military Frame" + set category = "Abilities" set name = "Detonate Flechettes" set desc = "Detonate all explosive flechettes in a range of seven meters." @@ -417,7 +417,7 @@ return for(var/mob/living/M in range(7, src)) - to_chat(M, 'sound/effects/EMPulse.ogg') + playsound(M, 'sound/effects/EMPulse.ogg') for(var/obj/item/material/shard/shrapnel/flechette/F in M.contents) playsound(F, 'sound/items/countdown.ogg', 125, 1) spawn(20) @@ -434,7 +434,7 @@ /mob/living/carbon/human/proc/state_laws() - set category = "Military Frame" + set category = "Abilities" set name = "State Laws" set desc = "State your laws aloud." @@ -520,7 +520,7 @@ last_special = world.time + 200 /mob/living/carbon/human/proc/self_destruct() - set category = "Military Frame" + set category = "Abilities" set name = "Engage Self-Destruct" set desc = "When all else has failed, bite the bullet." diff --git a/code/modules/mob/living/carbon/human/human_species.dm b/code/modules/mob/living/carbon/human/human_species.dm index d0724252151..269d501c785 100644 --- a/code/modules/mob/living/carbon/human/human_species.dm +++ b/code/modules/mob/living/carbon/human/human_species.dm @@ -262,8 +262,8 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin) remote_network = REMOTE_BUNKER_ROBOT SSvirtualreality.add_robot(src, remote_network) -/mob/living/carbon/human/terminator/Initialize(mapload) - . = ..(mapload, SPECIES_IPC_TERMINATOR) +/mob/living/carbon/human/hunter_killer/Initialize(mapload) + . = ..(mapload, SPECIES_IPC_PURPOSE_HK) add_language(LANGUAGE_SOL_COMMON, 1) add_language(LANGUAGE_ELYRAN_STANDARD, 1) add_language(LANGUAGE_UNATHI, 1) @@ -272,17 +272,13 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin) add_language(LANGUAGE_TRADEBAND, 1) add_language(LANGUAGE_GUTTER, 1) add_language(LANGUAGE_EAL, 1) - src.equip_to_slot_or_del(new /obj/item/rig/terminator(src),slot_back) - src.equip_to_slot_or_del(new /obj/item/gun/projectile/automatic/terminator(src),slot_l_hand) + accent = ACCENT_TTS + src.equip_to_slot_or_del(new /obj/item/gun/energy/scythe(src),slot_l_hand) src.equip_to_slot_or_del(new /obj/item/clothing/under/gearharness, slot_w_uniform) - src.equip_to_slot_or_del(new /obj/item/device/radio/headset/syndicate(src), slot_l_ear) src.equip_to_slot_or_del(new /obj/item/grenade/frag(src), slot_l_store) src.equip_to_slot_or_del(new /obj/item/melee/energy/sword(src), slot_r_store) var/obj/item/storage/belt/security/tactical/commando_belt = new(src) - commando_belt.contents += new /obj/item/ammo_magazine/flechette - commando_belt.contents += new /obj/item/ammo_magazine/flechette/explosive - commando_belt.contents += new /obj/item/ammo_magazine/flechette/explosive commando_belt.contents += new /obj/item/melee/baton/loaded commando_belt.contents += new /obj/item/shield/energy commando_belt.contents += new /obj/item/handcuffs @@ -291,7 +287,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin) src.equip_to_slot_or_del(commando_belt, slot_belt) src.gender = NEUTER -/mob/living/carbon/human/terminator +/mob/living/carbon/human/hunter_killer mob_size = 30 /mob/living/carbon/human/golem/Initialize(mapload) diff --git a/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm index 39ecb1739de..38ad627869e 100644 --- a/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/ipc/ipc_subspecies.dm @@ -190,8 +190,8 @@ /datum/species/machine/industrial/handle_death(var/mob/living/carbon/human/H) return -/datum/species/machine/terminator - name = SPECIES_IPC_TERMINATOR +/datum/species/machine/hunter_killer + name = SPECIES_IPC_PURPOSE_HK short_name = "hks" name_plural = "HKs" bald = 1 @@ -200,8 +200,8 @@ blurb = "\[REDACTED\]" - icobase = 'icons/mob/human_races/ipc/r_terminator.dmi' - deform = 'icons/mob/human_races/ipc/r_terminator.dmi' + icobase = 'icons/mob/human_races/ipc/r_hunter_killer.dmi' + deform = 'icons/mob/human_races/ipc/r_hunter_killer.dmi' light_range = 0 light_power = 0 @@ -209,8 +209,8 @@ unarmed_types = list(/datum/unarmed_attack/terminator) rarity_value = 20 - language = LANGUAGE_TERMINATOR - name_language = LANGUAGE_TERMINATOR + language = LANGUAGE_PURPOSE + name_language = LANGUAGE_PURPOSE eyes = "eyes_terminator" has_floating_eyes = 1 @@ -288,10 +288,10 @@ sprint_temperature_factor = 0.6 move_charge_factor = 0.3 -/datum/species/machine/terminator/get_light_color() +/datum/species/machine/hunter_killer/get_light_color() return -/datum/species/machine/terminator/handle_death(var/mob/living/carbon/human/H) +/datum/species/machine/hunter_killer/handle_death(var/mob/living/carbon/human/H) ..() playsound(H.loc, 'sound/items/countdown.ogg', 125, 1) spawn(15) diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index 10dfaed3d20..db126f5fc46 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -102,8 +102,8 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) /datum/robolimb/terminator company = PROSTHETIC_HK - desc = "A ludicrously expensive and EMP shielded component, these types of limbs are best suited for highly specialized cyborgs." - icon = 'icons/mob/human_races/ipc/r_terminator.dmi' + desc = "A ludicrously complex prosthetic created for Purpose Hunter-Killers." + icon = 'icons/mob/human_races/ipc/r_hunter_killer.dmi' unavailable_at_chargen = TRUE allows_internal = FALSE diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 77dd4ef6dff..50900d23dfd 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -572,7 +572,7 @@ By design, d1 is the smallest direction and d2 is the highest if(!(S.status & ORGAN_ASSISTED) || user.a_intent != I_HELP) return ..() - if(M.isSynthetic() && M == user && !(M.get_species() == SPECIES_IPC_TERMINATOR)) + if(M.isSynthetic() && M == user && !(M.get_species() == SPECIES_IPC_PURPOSE_HK)) to_chat(user, SPAN_WARNING("You can't repair damage to your own body - it's against OH&S.")) return diff --git a/code/modules/projectiles/guns/energy/scythe.dm b/code/modules/projectiles/guns/energy/scythe.dm new file mode 100644 index 00000000000..5ead3df2728 --- /dev/null +++ b/code/modules/projectiles/guns/energy/scythe.dm @@ -0,0 +1,78 @@ +/obj/item/gun/energy/scythe + name = "\improper Purpose munitions scythe" + desc = "A seemingly innocuous metal construction the size of a human arm. Through forces unknown, it produces alloy flechettes \ + capable of piercing even the strongest armor known to the Spur." + icon = 'icons/obj/guns/scythe.dmi' + icon_state = "hunterkiller_scythe" + item_state = "hunterkiller_scythe" + w_class = ITEMSIZE_HUGE + force = 25 + armor_penetration = 30 + slot_flags = SLOT_BACK + fire_sound = 'sound/weapons/railgun.ogg' + safetyoff_sound = 'sound/weapons/railgun_insert.ogg' + hitsound = 'sound/weapons/heavysmash.ogg' + can_suppress = FALSE + has_safety = FALSE + has_item_ratio = FALSE + + max_shots = 20 + self_recharge = TRUE + reliability = 100 + projectile_type = /obj/item/projectile/bullet/flechette + + firemodes = list( + list(mode_name="semiauto", burst=1, projectile_type=/obj/item/projectile/bullet/flechette), + list(mode_name="3-round bursts", burst=3, burst_delay=ROF_SUPERHEAVY, burst_accuracy=list(2,1,1), dispersion=list(0, 10, 15), projectile_type=/obj/item/projectile/bullet/flechette), + list(mode_name="explosive", burst=1, projectile_type=/obj/item/projectile/bullet/flechette/explosive) + ) + + + fire_delay = ROF_UNWIELDY + accuracy = 2 + scoped_accuracy = 3 + +/obj/item/gun/energy/scythe/get_cell() + return DEVICE_NO_CELL + +/obj/item/gun/energy/scythe/fire_checks(atom/target, mob/living/user, clickparams, pointblank, reflex) + if(!ishuman(user)) + return + + var/mob/living/carbon/human/terminator = user + + if(!isipc(terminator)) + to_chat(terminator, SPAN_WARNING("You have no idea how to even use this. Where's the trigger...?")) + return FALSE + + if(!istype(terminator.species, /datum/species/machine/hunter_killer)) + to_chat(terminator, SPAN_WARNING("You can't interface with this weapon's systems at all. It feels entirely alien.")) + return FALSE + + . = ..() + +/obj/item/gun/energy/scythe/verb/scope() + set category = "Object" + set name = "Use Scope" + set src in usr + + if(!ishuman(usr)) + return + + var/mob/living/carbon/human/terminator = usr + if(!terminator.use_check_and_message()) + return + + if(!isipc(terminator)) + to_chat(terminator, SPAN_WARNING("You have no idea where to even look...")) + return + + if(!istype(terminator.species, /datum/species/machine/hunter_killer)) + to_chat(terminator, SPAN_WARNING("These systems are far too alien for even you to figure out.")) + return + + if(wielded) + playsound(terminator, 'sound/items/goggles_charge.ogg') + toggle_scope(2, terminator) + else + to_chat(terminator, SPAN_WARNING("You can't look through the scope without stabilizing the rifle!")) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 085e64c6279..b455b0e5dd3 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -432,6 +432,7 @@ icon = 'icons/obj/terminator.dmi' icon_state = "flechette_bullet" damage = 40 + armor_penetration = 15 damage_type = DAMAGE_BRUTE check_armor = "bullet" embed = 1 @@ -444,6 +445,7 @@ shrapnel_type = /obj/item/material/shard/shrapnel/flechette penetrating = 0 damage = 10 + armor_penetration = 60 /obj/item/projectile/bullet/gauss name = "slug" diff --git a/code/unit_tests/create_and_destroy.dm b/code/unit_tests/create_and_destroy.dm index 29202d107e8..20a1fcc22e7 100644 --- a/code/unit_tests/create_and_destroy.dm +++ b/code/unit_tests/create_and_destroy.dm @@ -85,10 +85,10 @@ GLOBAL_VAR_INIT(running_create_and_destroy, FALSE) /obj/structure/mech_wreckage/powerloader, // Sleeps in init - /mob/living/carbon/human/terminator, + /mob/living/carbon/human/hunter_killer, // Mysterious failure in init, with gcdelete -1 - /mob/living/carbon/human/terminator, + /mob/living/carbon/human/hunter_killer, /obj/spellbutton, diff --git a/html/changelogs/mattatlas-iamwhatiam.yml b/html/changelogs/mattatlas-iamwhatiam.yml new file mode 100644 index 00000000000..45be2fb43fd --- /dev/null +++ b/html/changelogs/mattatlas-iamwhatiam.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: MattAtlas (Code), Noble Row (Sprites) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a new mob and a weapon for Purpose." + - rscadd: "Gave flechette ammunition AP." diff --git a/icons/clothing/rig/hunter_killer.dmi b/icons/clothing/rig/hunter_killer.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7109696ffd92f2d01e18d2cba94d53801b2addb6 GIT binary patch literal 8130 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 z

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 HY4HC6SqXze diff --git a/icons/mob/human_races/ipc/r_hunter_killer.dmi b/icons/mob/human_races/ipc/r_hunter_killer.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1f5eba57d46126f0d949f0b14c92451d7b2f07d6 GIT binary patch literal 2514 zcmZWqc{tSD8z1T-nekZ4%^H(S651?d8MbYRgBuyS6kU1ZPJy$Z~Sff9udfba5vj{P4aJK^F-@xG)eX zCOfH@CD~*kCH@V+A@65;fOL-0asv`xfs$IVN%fO)CR zBvIIFkwl+?^5h?Rg!(PUbsR3J6k&uP)wIo<-LXek>Y9YS-xD_)R0?|Nz^+NW2GW|+ z*egH&vaEg7EupPBTju;!6F}3oX1leou8DT9bHA6D8R0=7iC84U$|WXy{-H=#mZ8)Q zXnR0+{s%zV@DS1SG(`7PqK7(Tkx_ImTC{bys1me`D+*eRL*=19WcZrkAxAItfH6S> z9&0VvEksT5J4{ z{;uOh1cs{VS4b6i(cAAKRmD|=!+skg#Qb5%ow0`Buz*kf`S$doCuR!sW>4Eouco&7 zD%f#};PXlPn-vPa^AHbRNXN-YCs$EkN6Fr_x>Huu}Iv~o{wJ9#tU0$OkW zVe=rg2?H(iiI&YsVcVzPv~6+<0*VucPOQkw_KjQL*HK_|c=lb% z)0c9iWhd3l(-a|HUdiC&L+@gj95pI;(^CL9#s>; zX|=UXX5L`N_Q(rgvSOxN8`D~>i26~L#) zN9z($q*-+NH1BkC$;3(YoG5;W!jq>Pr_>Xnos} zvLZb7`KM|9THbfn_@`)sN5U1qnkjhA@@1eG7ux-4tP7sD6)uK!^2b`>bgeI5L+~vT z;2y?@v$2>D!aep77!K$*7i#%y2m=gErtA5(tAd>S8G@Y4fD;97E|mCH1O$359X2Xl zDxfb4*DiNXjb;x6@0eb`|Dp=>H#Tzu7x{uL{BX|Hv>+>g{-4eMKcn|;48Te&N+bJ9 z)baYG?H;1IpIC6G@z-a1t)MQ|qwDHo!A8hP`{9p{>`akz%Ll`vZR~-5x(%YQ48~MO9UTmc#vdowbTpGR&Q|yw0e-gsv*yGhon7Sl)bg^M#7U4CVTh=Jyh1w%EQh zVn-i*_-ZjQ7(4&$zjp?q@%}S8^Oh*GuAaFe!krviM(*!3a21A%$Ln4DnPip%=7rIK zJ%5j6L{|Rr!WcP3A@o_pzTc#f+6t;oRTKQn*W{5Bxgcih#~Mj<60DxX$kQ93mL^jk zta_rKZy;un#HS_P@vlK~?_*Y0bmW}=49mgp>94>BVb8ioeryTf#ujUN^Bt=bDX6;Z z>7h+mMg-&C;eC?^XxB&rXH}^lf5}X?(^wnkLX4_XEIoI*&5AWTwRZfO*Y7FB4PIj6fav`fxcYmU4 z!prOvLtNJ*<53YORR{E26V-X04ob&f4fwIbxH8oti&Zcu&;ExRfd_k*yX4jx0_Bv6 z1{ZiiT90DtALC8+hw1sL&S!i5l#|^S>`2EOxKl^fP8HRx?!SKRQ|XIWQDrvia#kh} z+AS*TB97Ed?%BkU?#-kJ=P{NYTFKb#1NyTQh%P+eMC5c>DeuIt8vJQSjM`zw~la9W$sJ_#T}AV*N}OCuXO-SILY}z z_r1vFKoW>Vul!ooUcQkQUHVtIuk}$=zKfqr-ghX|0{tff%@<=f%q=2vDP5!;VE5$y zIryssi134b`SYu&Mg9FTby@Tx$*UscxWYGbSOXM5{9gNMC>#4wlyf8Ip6k10yaoeQ1?WCi@Q<@wFCa@b#8*FVjC!^kIebj z3xe?Nf1#HPN(evTLnJMs7-1P_`5#zW#xczp0;OM105N|L=xi{_d@(hu%=-ErcW-iq rZ)A&K-!cjlGQjFqenkGaUtqrAS}bjrUZRM7Kl3219TBwS-tqqflt0$d literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/ipc/r_terminator.dmi b/icons/mob/human_races/ipc/r_terminator.dmi deleted file mode 100644 index a235751a4261f6319e39c4bb28a7777f29661556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1650 zcmV-&295cNP))@a6YGl2%;%VVp#F8~M{<^stJHIPdnHy}V8?H>V?K&iL7-(!`{a$z|h=(hX=@_MiHcit6OITztSjzwQzMSN`(~4skMHFK*LZ5GZQEa zkO)pnSfGVL{?4G@(mmpxkojkIt>~xj`|ux5ao9}im-2=H00lZpL_t(|ob8=Id)qb; z#`#CWkSU^Kb~UL+St}`KR=JL(wX$4gB@GLi)4G}abjWvTC$IUIk<-+=10jPDK-g~X z_jvF@cf?B=qRm$T9R$P^C3${-+)IvO7-hY7>*LuOio*mKgrb_k_#zeP2(Igc7w;}m zLfT7F%#s)HVEo5vR<>CmTz$Mo3DuhsibHYr5ytQ5_zYdw2gPFk6O2|yF4yNMp?-#!=P-Ub#2vb>57>H*VSJ{hYQj z^>bRs)X!-hQ$MG5O#PhJG4*p=$JEbxY=jfRM=&0xy%9?2Pf8fG$q0_Hw%(LT6vZWs zlVP490bC%@Fct+AsI51pn-B7rFy0>U2no7M1~49Hb0|n#Zwkv_*(s5t8doVg0lZ&xrBW3cU>(N3RFf2+bjFy(t~R#TANA3K$3B zT%Ocd&r!an-k8%Yo5J{PwL&p_J;Ec@KPye@jS&;{BM7!dmqB zb9D8l{agDvuIpQ;%J63;+c}8hAmdgptTFwHqdB#mlO;-67Jf%46cvg;rRkrjA_%G*%A&_%N$sh?K1rCat#L^MQbO7f~MZo zY>Cykxoqc8gvD#i`UWdI_8jH_qJeTXReyKwVmZES#LE2Km7s8VtZE+YRz9*ULocZ= z#KACAwH`vWQVRm>_|BJlL4$Ku>p`g3A~7&;ScCb&Jg*=k2!bF8f*=TjAc+4BtjWfu znA`1OGa>FP`@;AB$L9NCj!=9um7CtKVAQ#ocoTC= zH2g(w`W1~(cjI{u9Zlt?x5#JhT=<mTw?CBl@H> z9P`#65k7`D>*4RZ?s`A8y*z1*Mu?Z1^t^uO<(L^XeBz6#CVeu~W!SPtBebdcLlXH~ zmto5c%^~dw^;#bxWcV;%YSP<(ir5?)K1_T5Vx!B@9ROeIYX1Yq8q|T{<({-%N`hR< zJaaAxbP%OlL1B7??3v}Va{S>>0XpcWJ$Fa{TZ6NXNDv8f%rmW^f1r%dtqZ!j*&|S) z0jX&AlM{I6O3yLBz<>9-NoIF(EA1>v?!+fBo&Q+WUTma zuTR+IuRSLJH&Ew-I`K}BYX6!7NPmrJ|BIxGp7Z9Ys4*BAd wj1UPTK~GLlb3e$Fpyqy%Cqd2qptc2l0e@wS*&I*6;s5{u07*qoM6N<$g3J9KYybcN diff --git a/icons/obj/guns/scythe.dmi b/icons/obj/guns/scythe.dmi new file mode 100644 index 0000000000000000000000000000000000000000..a4f477187ae260805fd7ae86d01a472b80c9b094 GIT binary patch literal 3343 zcmZt}c{r4NcLrI~m}**Ngk%j-SCq?)_2QyQmh1*;60$^$b!6W{va89KWGPBnqik8S zGxjB8EK`__Fw@L@FMZ#0?;qcJp7%Y!_w4Wa{mwbhFZSA1UC2R!gCGzHqOYfY9l&$I z)6C5YyibRD5CBveU~1u`?R?M4+r`tz#p5mrT?Je}`$hbgl3#T}>p?nJJdk+7nek~Ai} z$1-|*KKvj@tln(2`kG^zIAM2zU(xrfZthk)R_|u+lia#T(b`>>DD%W*Df70sUe~%I z^k`&*y_=Y3Py(@APXgnDz@+uvamQ4LJa;s8kF6@%I)bAf71m~eKHrs3_NowQ=Y*09TZoR|&zPe^P5sP#N9YJt(-!NAk0B}e z>2~@1rk8b0(2;*2MXfXkp63G*>!{umt`<(g`uhZnQ-krm$qUOJ@ll!4^!obaaP~=4aCZFD=#zi^Q4+$;Fe!e$jC}zzYAHH(a*NqrVp0+^ z)3(J`we9RGGy(VYy?1tMeDckO=iKGIXsv8J8~aeu*!ZMD5UQcB_Q>5!-__RMDL*5p zLYHko*6*^vJw10Ml8nRCL6DOjNG(SR3Q+M?x9Lc zd5ojf_K9%MD)UI*r4O6~HK2E5TSOWyT3x}iRN@0$l^WD`9gKQ!1?u@=C8@qup8K+S^4uE@ zTuVn1_@Q9XlYJw5Vg+2!0Gfjmx98@s$UMB~#M9^sOmj&rj~g9PG4k^AS2`q>eKJ27 zY}hqXA5RW#-G&qHm;ub^5)#)L55Hh9kL_l}WBSbUOT{G!gn@v|Ojl1pXcKSbFuCn@ zrG;&Z@ft*y_Y>eB+SIfR^z&j!x|-!?;yZZ0ZD)}DOnX{ZNq;SW!WOL52GrEmrqKT0 z(WCykpvqP7ldql{WOkKJtPwZz30A)c!5LYye%+ z`oPx_;Sg}Xf+a=qkL)~}w0K?CLXreamp@TqGV0&(NzUIc)5k!yc{)gi1iOg$yoPYF zM?B-P%>Q5$cOYH?pS&9pPOGW{hY|f{37adKsLQ!zGPJd0!EzF33@-SUBa?~x9Q0`h zQSRQXNU^9`8Upu73bt=;C6W6kINhqP(h7C&6Yh=wR$LDVbqd>!5EK1!Meby8;J`9) za%z}m4IDSa4XpiJg z#QZZgv=95O*bZ;$6S91pJXt9I_go2go6E-C&Xb1rby|Klf6SbfHXLJfTvgM3AXX$>gVQ?wubC}E9FFTeCM18^)JtM*sg0Rg#uwIY zSdNW%s#h_0r~jIg5cD^BUe)I0Qlg<%j(e&SCo>eAVJN2Wi4D z5qJIIHB8cNEKdAfc_B^!w3yH_cr83i0IcSFOy3n1EU(cmm?Ul)o{lA4*G*9@Lnfcu zH#&Ifc9x%Bw+n)M#l{nExW|lAqP{G_8t|OIALJD)!!eBd4eyC666|lnGv}G=;gpQ1EmW6Y!WS+d z@nR#{9QW4WhJOscW)={&?mMWa8~#qArHcitS4DAH)AXE`5J$}ahj!>D&tk%GczQcv zIyy=y6D1{i50SV3nGuE4Bf+{lAERCrdF}ml|R*W zPU~21G=wQfuGUGz*hS-u&xjmFBk~Fz8mZIAjSLp7R;3=K+X0p_Kve{?dxLu(@x>%4 z;ICb^@!*PL6mZD-W{OP1fj|zemXO7zPBsfd)Gh#QM?{{Fx8Y5}b&ag_?#3g=Y(O-p zhKIrwkvDUIREkZ*_H=USKRJg7YxW4I4|fJ>UeUidyLITlAseWR{g$bK{HEw!6uBrZ zB;yVAr!Kd{a~l*V+*~*wP)@$JHVMDBAFbv@_^cSfQiUkkaa)o$isrUNw+lFr7~lkAMXVo3~TS-I}G& zuDA8{^y8fn4wOL>%uY41;%Fn(imFOh);dSt8AU`ms2ApzHTDFt)Wkd<3MR_8-C~&| z4>$u<#odVY*>CSyve661U2UsiKk>dXw2zX%3%l_GE=?=aoY** z#5_NfIY7aEZpEb5lgYNB?-^**pOn}+ddL`ku#Xh@v4-OQXl<6CQ@iU_wdCw}%c9k# zLt)pxico`*xlc>u-SvhT)`8H^IK3+cB-quyk(N%YYBD=d&gRiXc}ke!(vAc&xv~m; z>aesV3NgPKo!GUwi`~mqbb7i1Yy246%PyY+&O+(@*^z`umJSGV?c3iLNxVXxCdU|( z`=lB)^hv4pWQ13-gjh3(`Az5P)4fE7eF zrnhdbnDeqGkkRHz=kM5WG;AzQ+uD?xc{yUS#O$x7D)Y3zRVS=m;=UjQEI`RF*V`d z!_ctHh=0|PF=Ft&V}=l3&-B#hc#K$e6C_U@|D|nG<1l1!1~<6trtLhuk8xAMBC&ore zcs|l#iv5wE<~O6P!p->|heK&P1kT|{(3A6TL~1M6Wqv&I3!*W4PnR`KRc4!{8}Y_oe|b_I(i9)E(`wg_{F_jhJDnK!jk5zSh~71v1z94uC7b7NNC6 z+}7oF<*qsf6ihhC8nm&a{~3Dovv^6BK)!VnD`e^FEQ4vZP@GS!GUf7KlDHl0d!P>$ z8p~31i*eTkIc1EfACuhDn5yNuiU^KsVr{VZQw;gp!a5=2IePb4WRD#~Jtz4guwbxj zFvbH4RCmi(BE)d?Wu>vHgwI3hH;+%ts%Px82QLe(;EYnCTnV~}NvQ?cac3gCg0wIn ze^QW=sD7ki#6oW0Ut*nOVNy?$B-H-58^*;f_8+<5J0J0BYXCPKkiO1U?FvowgZ}{c C^KF9w literal 0 HcmV?d00001