From 912d444d07d47dc82709b189f401883310e76019 Mon Sep 17 00:00:00 2001
From: Octus <62493359+OctusGit@users.noreply.github.com>
Date: Sun, 23 Jul 2023 14:14:27 -0500
Subject: [PATCH] Removes Vox... Armalis, yes the other vox we forgot about
(#21519)
* youtube 2008 die sound effect
* I take pride in my work
* noisecannonsbegone
* armalis clothing shit
---
_maps/map_files/shuttles/admin_skipjack.dmm | 3 --
code/__DEFINES/mob_defines.dm | 1 -
code/datums/outfits/outfit_admin.dm | 30 -----------
code/game/gamemodes/nuclear/nuclear.dm | 2 +-
code/game/machinery/Sleeper.dm | 2 +-
code/game/machinery/computer/Operating.dm | 2 +-
.../objects/items/devices/radio/headset.dm | 4 +-
.../objects/items/weapons/storage/backpack.dm | 3 +-
.../objects/items/weapons/tanks/tank_types.dm | 2 -
code/modules/clothing/clothing.dm | 4 +-
code/modules/clothing/masks/breath.dm | 3 +-
.../clothing/spacesuits/alien_suits.dm | 32 ++++--------
.../mob/living/carbon/human/human_mob.dm | 3 --
.../living/carbon/human/species/_species.dm | 6 +--
.../mob/living/carbon/human/species/vox.dm | 49 +-----------------
.../mob/living/simple_animal/bot/mulebot.dm | 2 +-
code/modules/projectiles/guns/alien_guns.dm | 35 -------------
icons/mob/clothing/species/armalis/back.dmi | Bin 2359 -> 0 bytes
icons/mob/clothing/species/armalis/belt.dmi | Bin 837 -> 0 bytes
icons/mob/clothing/species/armalis/ears.dmi | Bin 1869 -> 0 bytes
icons/mob/clothing/species/armalis/feet.dmi | Bin 668 -> 0 bytes
icons/mob/clothing/species/armalis/gloves.dmi | Bin 660 -> 0 bytes
icons/mob/clothing/species/armalis/head.dmi | Bin 686 -> 0 bytes
icons/mob/clothing/species/armalis/held.dmi | Bin 2361 -> 0 bytes
icons/mob/clothing/species/armalis/mask.dmi | Bin 614 -> 0 bytes
icons/mob/clothing/species/armalis/suit.dmi | Bin 2712 -> 0 bytes
paradise.dme | 1 -
27 files changed, 22 insertions(+), 162 deletions(-)
delete mode 100644 code/modules/projectiles/guns/alien_guns.dm
delete mode 100644 icons/mob/clothing/species/armalis/back.dmi
delete mode 100644 icons/mob/clothing/species/armalis/belt.dmi
delete mode 100644 icons/mob/clothing/species/armalis/ears.dmi
delete mode 100644 icons/mob/clothing/species/armalis/feet.dmi
delete mode 100644 icons/mob/clothing/species/armalis/gloves.dmi
delete mode 100644 icons/mob/clothing/species/armalis/head.dmi
delete mode 100644 icons/mob/clothing/species/armalis/held.dmi
delete mode 100644 icons/mob/clothing/species/armalis/mask.dmi
delete mode 100644 icons/mob/clothing/species/armalis/suit.dmi
diff --git a/_maps/map_files/shuttles/admin_skipjack.dmm b/_maps/map_files/shuttles/admin_skipjack.dmm
index a38503d9c42..f79eb0d7173 100644
--- a/_maps/map_files/shuttles/admin_skipjack.dmm
+++ b/_maps/map_files/shuttles/admin_skipjack.dmm
@@ -4,9 +4,6 @@
/area/space)
"ab" = (
/obj/structure/rack,
-/obj/item/gun/energy/noisecannon,
-/obj/item/gun/energy/noisecannon,
-/obj/item/gun/energy/noisecannon,
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
/area/shuttle/administration)
"ac" = (
diff --git a/code/__DEFINES/mob_defines.dm b/code/__DEFINES/mob_defines.dm
index f3daed9998b..1ca22c92883 100644
--- a/code/__DEFINES/mob_defines.dm
+++ b/code/__DEFINES/mob_defines.dm
@@ -229,7 +229,6 @@
#define isvulpkanin(A) (is_species(A, /datum/species/vulpkanin))
#define isskrell(A) (is_species(A, /datum/species/skrell))
#define isvox(A) (is_species(A, /datum/species/vox))
-#define isvoxarmalis(A) (is_species(A, /datum/species/vox/armalis))
#define iskidan(A) (is_species(A, /datum/species/kidan))
#define isslimeperson(A) (is_species(A, /datum/species/slime))
#define isgrey(A) (is_species(A, /datum/species/grey))
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 9c1fe065ffb..70c3f6a1fe8 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -353,36 +353,6 @@
suit = /obj/item/clothing/suit/pirate_black
head = /obj/item/clothing/head/pirate
-/datum/outfit/admin/vox
- name = "Vox Raider"
- uniform = /obj/item/clothing/under/vox/vox_robes
- suit = /obj/item/clothing/suit/space/vox/carapace
- back = /obj/item/storage/backpack
- gloves = /obj/item/clothing/gloves/color/yellow/vox
- shoes = /obj/item/clothing/shoes/magboots/vox
- head = /obj/item/clothing/head/helmet/space/vox/carapace
- mask = /obj/item/clothing/mask/gas/syndicate
- l_ear = /obj/item/radio/headset/syndicate
- glasses = /obj/item/clothing/glasses/thermal/monocle
- id = /obj/item/card/id/syndicate/vox
- l_pocket = /obj/item/melee/classic_baton/telescopic
- r_pocket = /obj/item/tank/internals/emergency_oxygen/double/vox
- backpack_contents = list(
- /obj/item/flashlight = 1,
- /obj/item/restraints/handcuffs/cable/zipties = 1,
- /obj/item/flash = 1,
- /obj/item/gun/energy/noisecannon = 1
- )
-
-/datum/outfit/admin/vox/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
- . = ..()
- if(visualsOnly)
- return
-
- var/obj/item/card/id/I = H.wear_id
- if(istype(I))
- apply_to_card(I, H, get_all_accesses(), "Vox Armalis", "syndie")
-
/datum/outfit/admin/tunnel_clown
name = "Tunnel Clown"
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 72806e85e96..36da26f38fd 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -282,7 +282,7 @@
var/race = synd_mob.dna.species.name
switch(race)
- if("Vox", "Vox Armalis")
+ if("Vox")
synd_mob.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/syndicate(synd_mob), slot_wear_mask)
synd_mob.equip_to_slot_or_del(new /obj/item/tank/internals/emergency_oxygen/double/vox(synd_mob), slot_l_hand)
synd_mob.internal = synd_mob.l_hand
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 0fc6c748a4e..0fde645c7d9 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -182,7 +182,7 @@
occupantData["paralysis"] = occupant.AmountParalyzed()
occupantData["hasBlood"] = 0
occupantData["bodyTemperature"] = occupant.bodytemperature
- occupantData["maxTemp"] = 1000 // If you get a burning vox armalis into the sleeper, congratulations
+ occupantData["maxTemp"] = 1000
// Because we can put simple_animals in here, we need to do something tricky to get things working nice
occupantData["temperatureSuitability"] = 0 // 0 is the baseline
if(ishuman(occupant) && occupant.dna.species)
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index fe6d97c6d6c..dc0d1d1aff6 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -86,7 +86,7 @@
occupantData["paralysis"] = occupant.AmountParalyzed()
occupantData["hasBlood"] = 0
occupantData["bodyTemperature"] = occupant.bodytemperature
- occupantData["maxTemp"] = 1000 // If you get a burning vox armalis into the sleeper, congratulations
+ occupantData["maxTemp"] = 1000
// Because we can put simple_animals in here, we need to do something tricky to get things working nice
occupantData["temperatureSuitability"] = 0 // 0 is the baseline
if(ishuman(occupant) && occupant.dna.species)
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 60e3e2dda89..ade802b3495 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -5,9 +5,7 @@
icon_state = "headset"
item_state = "headset"
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/ears.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/ears.dmi'
- ) //We read you loud and skree-er.
+ "Vox" = 'icons/mob/clothing/species/vox/ears.dmi') //We read you loud and skree-er.
materials = list(MAT_METAL = 200)
canhear_range = 0 // can't hear headsets from very far away
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 84cc2e3c396..e328bc1bae0 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -19,9 +19,8 @@
max_integrity = 300
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/back.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/back.dmi',
"Grey" = 'icons/mob/clothing/species/grey/back.dmi'
- ) //For Armalis anything but this and the nitrogen tank will use the default backpack icon.
+ )
/obj/item/storage/backpack/attackby(obj/item/W as obj, mob/user as mob, params)
if(in_range(user, src))
diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm
index 825bc70699e..e08ec8a31b2 100644
--- a/code/game/objects/items/weapons/tanks/tank_types.dm
+++ b/code/game/objects/items/weapons/tanks/tank_types.dm
@@ -170,7 +170,6 @@
name = "nitrogen tank"
desc = "A tank of nitrogen."
icon_state = "oxygen_fr"
- sprite_sheets = list("Vox Armalis" = 'icons/mob/clothing/species/armalis/back.dmi') //Do it for Big Bird.
distribute_pressure = TANK_DEFAULT_RELEASE_PRESSURE
/obj/item/tank/internals/nitrogen/populate_gas()
@@ -188,7 +187,6 @@
name = "vox specialized nitrogen tank"
desc = "A high-tech nitrogen tank designed specifically for Vox."
icon_state = "emergency_vox"
- sprite_sheets = list("Vox Armalis" = 'icons/mob/clothing/species/armalis/belt.dmi') //Do it for Big Bird.
volume = 35
/obj/item/tank/internals/emergency_oxygen/double/vox/populate_gas()
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index d5a7808b98b..d135a898f0b 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -143,9 +143,7 @@
slot_flags = SLOT_EARS
resistance_flags = NONE
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/ears.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/ears.dmi'
- ) //We read you loud and skree-er.
+ "Vox" = 'icons/mob/clothing/species/vox/ears.dmi') //We read you loud and skree-er.
/obj/item/clothing/ears/attack_hand(mob/user)
if(!user)
diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm
index 44bf65214db..27d9aca5f1f 100644
--- a/code/modules/clothing/masks/breath.dm
+++ b/code/modules/clothing/masks/breath.dm
@@ -13,7 +13,6 @@
resistance_flags = NONE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/mask.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/mask.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/mask.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/mask.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/mask.dmi',
@@ -45,7 +44,7 @@
icon_state = "voxmask"
item_state = "voxmask"
permeability_coefficient = 0.01
- species_restricted = list("Vox", "Vox Armalis") //These should fit the "Mega Vox" just fine.
+ species_restricted = list("Vox")
actions_types = list()
/obj/item/clothing/mask/breath/vox/attack_self(mob/user)
diff --git a/code/modules/clothing/spacesuits/alien_suits.dm b/code/modules/clothing/spacesuits/alien_suits.dm
index fc7513a1747..c761b793dd9 100644
--- a/code/modules/clothing/spacesuits/alien_suits.dm
+++ b/code/modules/clothing/spacesuits/alien_suits.dm
@@ -80,22 +80,18 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = SPACE_SUIT_MAX_TEMP_PROTECT
icon = 'icons/obj/clothing/species/vox/suits.dmi'
- species_restricted = list("Vox", "Vox Armalis")
+ species_restricted = list("Vox")
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/suit.dmi',
- )
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
/obj/item/clothing/head/helmet/space/vox
armor = list(MELEE = 35, BULLET = 35, LASER = 20, ENERGY = 10, BOMB = 20, RAD = 20, FIRE = 200, ACID = 285)
flags = STOPSPRESSUREDMAGE
flags_cover = HEADCOVERSEYES
icon = 'icons/obj/clothing/species/vox/hats.dmi'
- species_restricted = list("Vox","Vox Armalis")
+ species_restricted = list("Vox")
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/head.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/head.dmi',
- )
+ "Vox" = 'icons/mob/clothing/species/vox/head.dmi')
/obj/item/clothing/head/helmet/space/vox/pressure
name = "alien helmet"
@@ -162,17 +158,15 @@
item_state = "vox-casual-1"
body_parts_covered = LEGS
-/obj/item/clothing/under/vox/vox_robes //This will be invisible on Armalis for lack of a proper sprite. They wear a carapace suit anyway, and this is more just to let them use IDs and such.
+/obj/item/clothing/under/vox/vox_robes
name = "alien robes"
desc = "Weird and flowing!"
icon_state = "vox-casual-2"
item_color = "vox-casual-2"
item_state = "vox-casual-2"
- species_restricted = list("Vox","Vox Armalis")
+ species_restricted = list("Vox")
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/suit.dmi'
- )
+ "Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi')
/obj/item/clothing/gloves/color/yellow/vox
name = "insulated gauntlets"
@@ -183,11 +177,9 @@
permeability_coefficient = 0.05
item_color = "gloves-vox"
icon = 'icons/obj/clothing/species/vox/gloves.dmi'
- species_restricted = list("Vox","Vox Armalis")
+ species_restricted = list("Vox")
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/gloves.dmi',
- )
+ "Vox" = 'icons/mob/clothing/species/vox/gloves.dmi')
/obj/item/clothing/shoes/magboots/vox
name = "vox magclaws"
@@ -195,11 +187,9 @@
item_state = "boots-vox"
icon_state = "boots-vox"
icon = 'icons/obj/clothing/species/vox/shoes.dmi'
- species_restricted = list("Vox","Vox Armalis")
+ species_restricted = list("Vox")
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/feet.dmi',
- "Vox Armalis" = 'icons/mob/clothing/species/armalis/feet.dmi'
- )
+ "Vox" = 'icons/mob/clothing/species/vox/feet.dmi')
/obj/item/clothing/shoes/magboots/vox/attack_self(mob/user)
if(magpulse)
diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm
index 1c802daae13..edb3423c7b3 100644
--- a/code/modules/mob/living/carbon/human/human_mob.dm
+++ b/code/modules/mob/living/carbon/human/human_mob.dm
@@ -88,9 +88,6 @@
/mob/living/carbon/human/vox/Initialize(mapload)
. = ..(mapload, /datum/species/vox)
-/mob/living/carbon/human/voxarmalis/Initialize(mapload)
- . = ..(mapload, /datum/species/vox/armalis)
-
/mob/living/carbon/human/skeleton/Initialize(mapload)
. = ..(mapload, /datum/species/skeleton)
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index 07c39c0f12a..0d99d04f7c7 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -547,7 +547,7 @@
playsound(target.loc, attack.attack_sound, 25, 1, -1)
target.visible_message("[user] [pick(attack.attack_verb)]ed [target]!")
- target.apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp) //moving this back here means Armalis are going to knock you down 70% of the time, but they're pure adminbus anyway.
+ target.apply_damage(damage, BRUTE, affecting, armor_block, sharp = attack.sharp)
if((target.stat != DEAD) && damage >= user.dna.species.punchstunthreshold)
target.visible_message("[user] has knocked down [target]!", \
"[user] has knocked down [target]!")
@@ -712,10 +712,6 @@
sharp = TRUE
animation_type = ATTACK_EFFECT_BITE
-/datum/unarmed_attack/claws/armalis
- attack_verb = list("slash", "claw")
- damage = 6
-
/datum/species/proc/can_equip(obj/item/I, slot, disable_warning = FALSE, mob/living/carbon/human/H)
if(slot in no_equip)
if(!I.species_exception || !is_type_in_list(src, I.species_exception))
diff --git a/code/modules/mob/living/carbon/human/species/vox.dm b/code/modules/mob/living/carbon/human/species/vox.dm
index dbced74a37a..9bed8dd2bb1 100644
--- a/code/modules/mob/living/carbon/human/species/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/vox.dm
@@ -102,7 +102,7 @@
H.update_icons()
/datum/species/vox/updatespeciescolor(mob/living/carbon/human/H, owner_sensitive = 1) //Handling species-specific skin-tones for the Vox race.
- if(H.dna.species.bodyflags & HAS_ICON_SKIN_TONE) //Making sure we don't break Armalis.
+ if(H.dna.species.bodyflags & HAS_ICON_SKIN_TONE)
var/new_icobase = 'icons/mob/human_races/vox/r_vox.dmi' //Default Green Vox.
switch(H.s_tone)
if(6) //Azure Vox.
@@ -126,54 +126,9 @@
H.change_icobase(new_icobase, owner_sensitive) //Update the icobase of all our organs, but make sure we don't mess with frankenstein limbs in doing so.
/datum/species/vox/handle_reagents(mob/living/carbon/human/H, datum/reagent/R)
- if(R.id == "oxygen") //Armalis are above such petty things.
+ if(R.id == "oxygen")
H.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER) //Same as plasma.
H.reagents.remove_reagent(R.id, REAGENTS_METABOLISM)
return FALSE //Handling reagent removal on our own.
return ..()
-
-/datum/species/vox/armalis
- name = "Vox Armalis"
- name_plural = "Vox Armalis"
- icobase = 'icons/mob/human_races/r_armalis.dmi'
- unarmed_type = /datum/unarmed_attack/claws/armalis
- blacklisted = TRUE
-
- brute_mod = 0.2
- burn_mod = 0.2
-
- eyes = "blank_eyes"
-
- species_traits = list(NO_CLONESCAN, NO_BLOOD)
- inherent_traits = list(TRAIT_RESISTHEAT, TRAIT_RESISTCOLD, TRAIT_RESISTHIGHPRESSURE, TRAIT_RESISTLOWPRESSURE, TRAIT_NOFIRE, TRAIT_NOPAIN, TRAIT_NOGERMS, TRAIT_NODECAY)
- clothing_flags = 0 //IDK if you've ever seen underwear on an Armalis, but it ain't pretty.
- bodyflags = HAS_TAIL
- dies_at_threshold = TRUE
-
- blood_color = "#2299FC"
- flesh_color = "#808D11"
-
- reagent_tag = PROCESS_ORG
-
- tail = "armalis_tail"
- icon_template = 'icons/mob/human_races/r_armalis.dmi'
-
- has_organ = list(
- "heart" = /obj/item/organ/internal/heart,
- "lungs" = /obj/item/organ/internal/lungs/vox,
- "liver" = /obj/item/organ/internal/liver,
- "kidneys" = /obj/item/organ/internal/kidneys,
- "cortical stack" = /obj/item/organ/internal/brain/vox,
- "eyes" = /obj/item/organ/internal/eyes, //Default darksight of 2.
- ) //for determining the success of the heist game-mode's 'leave nobody behind' objective, while this is just an organ.
-
- suicide_messages = list(
- "is attempting to bite their tongue off!",
- "is jamming their claws into their eye sockets!",
- "is twisting their own neck!",
- "is holding their breath!",
- "is huffing oxygen!")
-
-/datum/species/vox/armalis/handle_reagents() //Skip the Vox oxygen reagent toxicity. Armalis are above such things.
- return TRUE
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index f64d18c092f..a28ade5983d 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -722,7 +722,7 @@
if(NO_BLOOD in H.dna.species.species_traits)//Does the run over mob have blood?
- return//If it doesn't it shouldn't bleed (Though a check should be made eventually for things with liquid in them, like slime people, vox armalis, etc.)
+ return//If it doesn't it shouldn't bleed (Though a check should be made eventually for things with liquid in them, like slime people.)
var/turf/T = get_turf(src)//Where are we?
H.add_mob_blood(H)//Cover the victim in their own blood.
diff --git a/code/modules/projectiles/guns/alien_guns.dm b/code/modules/projectiles/guns/alien_guns.dm
deleted file mode 100644
index 9c757931a71..00000000000
--- a/code/modules/projectiles/guns/alien_guns.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-//This gun only functions for armalis. The on-sprite is too huge to render properly on other sprites.
-/obj/item/gun/energy/noisecannon
- name = "alien heavy cannon"
- desc = "It's some kind of enormous alien weapon, as long as a man is tall."
- icon_state = "noisecannon"
- item_state = "noisecannon"
- recoil = 1
- force = 10
- ammo_type = list(/obj/item/ammo_casing/energy/sonic)
- cell_type = /obj/item/stock_parts/cell/super
- restricted_species = list(/datum/species/vox/armalis)
- sprite_sheets_inhand = list("Vox Armalis" = 'icons/mob/clothing/species/armalis/held.dmi') //Big guns big birds.
-
-/obj/item/gun/energy/noisecannon/update_icon_state()
- return
-
-/obj/item/gun/energy/noisecannon/update_overlays()
- return list()
-
-//Casing
-/obj/item/ammo_casing/energy/sonic
- projectile_type = /obj/item/projectile/energy/sonic
- fire_sound = 'sound/effects/basscannon.ogg'
- delay = 40
-
-//Projectile.
-/obj/item/projectile/energy/sonic
- name = "distortion"
- icon_state = "particle"
- damage = 60
- damage_type = BRUTE
- flag = BULLET
- pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
-
- weaken = 10 SECONDS
diff --git a/icons/mob/clothing/species/armalis/back.dmi b/icons/mob/clothing/species/armalis/back.dmi
deleted file mode 100644
index 31f4f21f812187ddd9c267ada0e100e9f1128ab5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2359
zcmb_ec{J307ay8ovQDVbC_IC*7hz`Njd3=`RzY#|IoDxPfFYNTlrEn{gOL-u{m
zka|+t#>l=*cA8<{U(Y%3`|tb5`~LC0_uPBWz4vqP{ho90eLEXdejafi5D3I?Zf0T+
za4hg{L%9H|&HmL4u#^}F=WrA6F!U|I&~U$yV8Dz|>8lb*QWb#=y=N!{qckPmCcP}I
zxOX8}rVLL=7f=lMV@+kJ3vKUP##ZZE-So>ZXrm+%Y>&Qj5+!pJkvZ!^KEe-Qd
zmxwP}7mlU*Z7o}#U*2{kIvRLC|5zpl1=DtzS^YDWb#**cWVjo*U4qmPY`>nwNB=ivB_>Id
z5oOVQtti-CPn5Se#0VNnts2QTmd+aTsw%iDc=&hPw9dawqzNn4KU$EfFir&p1y#O7
zfJb`O>!dIELx>!6wVYlDmX&Od;kiQfkny^i-M(s3G4!#0$ep2+H%
z4(4mpsTiEYl`lb4jB4ZeV|w2_YU|yOaO)l(7P5aOk_EiqkHHmwx4vCnXeHv*+>e^$uVEI
zdPnHAN(`yHNH*7k1H{+fLNv`liC*f(XwI*!TvU#N-RzeNgH)7>j3VcHW^MsW(!zBL
zB=dN~muZ`JWH*bY0{~KXt4juO?CnMOw_={_wyRcFS37R6=J$6H2vUPScLAydgFecY
z1aiB&x~lRKUj_`@Nr6ByF)=Mj(}V>5q*lpaOlB+6)Ydj5AV@EsRlB?vsug&yOI1~s
z7VRu5Dmo;J&O;VD7H4=_Vy$GaoCQ0$%4j7{GP-FrRBu&lYwP2Y#z=F7(BtwYZ?d1;
zh;HLX#yNHM7rB<}!wc%+ZWU)dsQi&`EO6SNZ@
zaN%wxmUH9-OG1SYlUXkP0aEjUzY{68{On=Ji!G
z!-xkTHPGVyzhTu7P2+ol&YHTimQ#5P{~`f_2#~}jjtcltX22%BsS55
z>+hDa-Lk@oiHq)m&v6l6((!DE1F*HlP^&iPJqg0dU>7Zd4_s!uOa}z_C7fZg&J!vq
zOpt`cTVX4G?pDo3<#r(6qqyEQ>xP4_C%X*xyW61@vEm==jxxSI7KB?oc@)br@pJ{|
zAV(w@Oiz(6DKf^~OD(&yRvSH7a;ju~e7s^aFRz9)QT(9WdatOIj!{$5SS!Bo&YHFT
zhSM9tlHku=mN(=zY&sYLKn1J)%}QO~HC*g!*;Cuf;kob&IBSG>fqh?~4l$1hh
zD3n4HDX5#8;Gna&!>g&^i6akutshDmd3?ulv{I(Ugw^D8z6YJ<`6+E7RPkKkghVZx
z(?E7#2|U@d`QfbsPE}LS-yJ>Rd!WY)0_uJAK})Dr6CYgHL#0wEWHQP8h>Po}RZ~6F
z@x6xkGBWvx#Ahdgada{?T@CVlc?)saPL6prFvEvRTO)797j${%(4Nn2K_`o{lztfL8b7fVy6#>0xLM*HqAGhb!=(PpZ_Kpj3zL+
zPBujdHw@GXmF1H?l!DeZ?xu!}cNk6b-_WmhThpO{%Z|-8_8n@V_Z@_V$7$f&Mkbwo
ze*GQ*iA5A*G%%me@XPIT@pvTQ$_IU3&vH<*Tm1VaH1mz!$+eV+3FqCwp+CVx@*HnV
zH?IcGb;{?MeA44x8HJp__yZC&5HS*feqW&*nSHZ=5RV
z3!h4Nce>eSe$zOuhe{kT>6ne&e2=#8g8Iiajehtf>#X`{D2@)-K=d}FL`LR;4^InP
zb_k@Zi_1;$>nPEhTBF#r-gvba|DJ;=RV#pWvR>?ZMoq9>%Hf%9VOTB=H0(O&oMi
n@}E5o7c#*7XKDXeVejyKJ?ir{&k`Zv5(1fDv@t0+LM8nRTHjwG
diff --git a/icons/mob/clothing/species/armalis/belt.dmi b/icons/mob/clothing/species/armalis/belt.dmi
deleted file mode 100644
index 2aba8e97d8acf27e772ced039a03dc35af0c2a0e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 837
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
diff --git a/icons/mob/clothing/species/armalis/feet.dmi b/icons/mob/clothing/species/armalis/feet.dmi
deleted file mode 100644
index 8ae2aada3958f1b6e631427e5fedaa6f485aa4fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 668
zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)QUz5Z5hX6E#mPmP1tppJc?=8{
zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv~jM!q1
zs&=ZbbXXP?R9EM@F)y;NRY*MDD=pB_V^+8ES`9;U(IaM0g2D>E7BfooGVHdH-nVRb
z#w!K}#^;_cjv*Dd-ria`>5zdy!$X7Sj-E9xVV^wIC#t^}^qaS4kNZQx2~$s;IAO7F
zcD9l39EF|B3=Yc&OU=mpv{71Mx20VFtEtDs_Wl6+gD_|~S@FAKe@%T|?zCSq?^cNZ
z&ts@uVYBDv)>GB%Ywl~`-S%?T*067PR!hyEe{A~oTa{N!W4nqiWc2R6__8xg)xcTe
z-QM!Vecztt3zVJx!@IM5oyNcY=NQ(WWk?KP8~O8FX>#7Rg>%+cvmN=>rMf^(QsKK%
z{OW({AHP>W^;>>(&yMWtEs=jV-V<*4se5qJkDKie
zzC8R`y64)NhW(G?*DuauyHk8l=#8rp`Ms=~p@H*-1BJlNRc4H|2adaX;7Pe@8CtsoWNMzwV>ri#L%o)21`oD@i+9
z@?}rhGTrpVtS?gaEl+efA|F&eO-@T$rEeHycI=n@^=ZH7$Uk-yJ{l?@rVsLjr>mdK
II;Vst03u@>rT_o{
diff --git a/icons/mob/clothing/species/armalis/gloves.dmi b/icons/mob/clothing/species/armalis/gloves.dmi
deleted file mode 100644
index ebadeda12b173d7b7b9a26f4f7155f17115fd9a5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 660
zcmeAS@N?(olHy`uVBq!ia0vp^4nQ2h!3HE(?k{!)QiW9^5hX6E#mPmP1tppJc?=8{
zbArPPib}tK2`>2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv~jM!q1
zs&=ZbbXXQtFQd*S
zy+W9Qf$^TFi(^Q|t+%%p7BLwLG(1dw=92Q{YWAU--E%ce1!~`k#2lFNdvG#_65)c{KcNxlfURJHB`qsWL=5DLL!1d;e`1HLR?Z;l$J>2zR!|m8JPu0#p
zIL{)o&Cz6`Sk%HNF~6*%kdm3Dax+=5`F+_qh&m9liMt2f^@*0ZuGYCT=Yuzd8eBAf@JQ#pkLF2+qMqIz7REuwmyNv~jM!q1
zs&=ZbbXXP?S=X9ZloXicm{hb%NIcyuEzr<|RXjZ^Fey)~BlpD8H4k1rXEKvzkhYaM
z-gs#CBL)V>Z=NoWAr-gY-ZJz%Y#_q+KzyZ8nq%6^O%r?jEE(Aola!TnWEM*IB)+~<
z95QD?@(ruB!$}9{HqDO?&kN1S3{W|~f4a#^<3ID?P7f}*_1z%c6`=guz2(IYp-qB`tG%#1qA=`Y_O5Obo{rps#;CtG|xa0-@Pk3
z&V1EKYY4c-GXGZQ`G>PV`_JkL7r1zZfp7N|=Sks`E2|tAw%JQMcsn|I2_={T7xe{7exuMU6TyzUUU;`ViK+di8|6~@mE
zRObMSd~Va4cPlTsRsLN3_dLlNtd}{R)V&kT|LhC=p5EqsVHdw?Lf~X0Wlgumz6t-%
zXq2_D%*-@1N;G}BYE$ix>ZMuL`4<>=E5FmS$zS*6Lfzx+q`U6b&hjO^9|T?I(67dYm)C^wq_Ckw|w8;ABtP_C&>Q^i2ox_$d_RG3(IPm
XC4R9-^CpXZ1POS$`njxgN@xNARnHNu
diff --git a/icons/mob/clothing/species/armalis/held.dmi b/icons/mob/clothing/species/armalis/held.dmi
deleted file mode 100644
index 734d47ddc6b8181a89ed9fe10bbf23c359374992..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2361
zcmV-93C8w`P)V=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+
z(=$pyG6r15C5a`eK&Db&er9oMa$;UyeqMZz5*KGmW>GOn2^VKtQDSZ?h;4{nbrCMr
z$_lQ2E?~z104B;SfCE6{d8bdr3q=RCwC$T|HPt1G^Dwt5*UL@HvvH~sLM8nE3G0RK@2Wc#x9H`2%G}OM^Z%T)|FS)W!~Jr
z)!f|vo^EG%R__^n7~kFQec!ylnfZ2>j*gCitv+)Y0w#b7U}FN905&Fo31DLam;g2=
zpjPYm`(u3deShiN5%6eddpy|PTdMQ=UatqP>q;U_kYI#>?Y+Hma6SUB(}lh5?WNQo
zFaE!762dSLe|zAquG$}h5KMe^gHZe?H~MjTKYkJhLh*hylVsqvMdt-wzL$!CyN|{Vaj*
zc3n6h4MBW^B+<0RB-ls*-8_w28BPTFnAn~ye+z@)BpG}WrreGf$6)+7CP7m`B;Aj-
zAxIAy2tJbV%f;`xIY4>QD}+W~*~X>tjw
zy-yOM5Mqm!_14O(pdH^I2gk<}R0(dDMd0Hrmae<~er;9IyaNyKxlvURg6~CrKnUmg
zzh;sxxJnQQ-&BE-5I1|&w$OF>NfZ+FEuYeE3DH5EjFaFgx|BP`Z>?i-n!VML9fc@itngsL&3QI&n
zZzg0@#=UCV-6z
zU;@~f049Kq319-)Y9PS0{+0>Qz^Aog+csM*(v0tl(814J8!n7n>I|I$``S+j0lqx2}_>D6miuz&-JDeN)+lg@Ap(KZe0Zr1vVY
z!3y8=WcfQda9>WoBhm?{C9kF%f=`+U0$=Lgw7pJOA|PJjkJKRq{%8B|;b7|){CV($
z+zT@(SbE~_i7>pF*%xYK9#HRjveVnECI{e1C3OhCVi-a2(F5*mJclwGJKR6yy0;{e
zZ8FsZbeYzb2vB1_f{$_UU~5Twz+mG>;n+`xI%1dd2iUC>)^*ZX_JF*EOUaT1*=50}
zDj`WHY-0{6s*^6|0ciL@Ai`lrC#`KbcFKOCN`hooX)qQ6lCBfBy$Z_HNtYr3<35f|s&?q%OA7-?
zj1pUQ!l?sF)k!B{<&*)Rn0$Bq7;djUt7K#n__nGfXFd8-C!I7E@00}}ldNp6Dhdly
zPjEJpvL4%~uBYaMQp_nbljmu38C8Me?>t@VkL*;+XLRb
zj|OkvI*60%HX>%3248xCNbGS_*CG!Hyda+dDlw-@CxhU}9prE*!4EAL>4n~9bDH+}
zO(zR{e8j+;wF{$lIO&9O)6AC*S&l83EYP+3|3C84?%JQ
z4oOHE%#I3vET60id|3sF>;CceuVY-Ed{9DL+*mJ&JRt3{3l1_w;1g?g?_R@^KY$bP
z#UGn3)&>jk(=c_g`_wp)
z1h6py*P4K~>Uo>`yJi;UO`oT03jC((lxI9Zee8N$NGPgPuAP9H^K_$w2b!=*a}}#&
zd(GS)ppt+$Oh?n&oEw@7ergpIuMOjBek8wCK#XT(58N&ksd%KoNjorh+5SI>-|DiiMg$Z
zI~SS@()$Bl8*CymxAiGorFFt|zRTqNcSWFWC^4h%)|TYIPy*CZs1kuXZEDy|07DN3
zxpp3qMg+dbrvuG#o^Baab;{S8fFvTYU-+W)TV<1Y^qu%%zc%HAg)GP*Ah&VqBJ`k&
znN$`0wmnU8VJl*KrBw7h-Mq4sbjoc6f1w1Vk&t(uZW{QyPPvWXFPwlZ64K7oO#(kj
zr+jTY;YE^=be^sbewt3137C_Fyz_Lkz^_B6+!_K@60*+IRo~kbopNgkpeiQoJYBWa
zY=Ta?bp+&{r>lcsw@$fr1gIn=ou@0)bc1xttt3DtLCp>LXnVA#>6BYZ0Fj{2BW1mZ
f31DLa+HU^?dcN|}k;E|m00000NkvXXu0mjfc5g}`
diff --git a/icons/mob/clothing/species/armalis/mask.dmi b/icons/mob/clothing/species/armalis/mask.dmi
deleted file mode 100644
index e97eb74f8e08e7260ccce3578f7372de7773e67c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 614
zcmV-s0-61ZP)005u_0{{R3dEt5<0000aP)t-sz`(#l
zKtQazx=BYzkI2Z`#fDIi>00001bW%=J06^y0W&i*H
zh!XtFJ-M)lZs@w%RV#igC6Uj9qH&_C7osM!odgSI#?j!8O#$S$*~V
za>r;W#BN6}=k?CA`Uzdwm(^=tzw$v>)&l?l007M3H**P3IhSlMzn?4SlDPITrC~9b
zEQI9cnoJ>=NV}cZuc&KhZdlFS4*&oF0RDq(b4j1fV=ftn$+=`{4#_9ES`SYum-IS2
zo}fP5e!TM5#;<28fYknpbKg>TVZ7kuJU!%sf8R2m4!0sYP#f9zEyR>8#eE3?0002|
z9m}bOJyoymy<#K=@i_@%
diff --git a/icons/mob/clothing/species/armalis/suit.dmi b/icons/mob/clothing/species/armalis/suit.dmi
deleted file mode 100644
index ceed59b7819ff0e14343f5ad45209393d44ce8a7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2712
zcmV;J3TO3+P)G$DjoH)cdDTRkR4EgeubB4|Y`W<)A?LsC;`G$%0{J0}<_H5ySl
zMmi=KYgt%NH%I*lqb4vIH$@{gLn1*@DOf{GX*o=*BYHGKA+RTYUUNNBWHvE9A5uI>
zj$ch-PEj^QA|@{wa7RVCg<@SkCqYjvL{%$mSyzg1B!N{)J~I$@U>-gx88jjlQ9>Ry
zBNjkUC?YErEjS!EL?S9Q8b($xASe_V9}gfY6fHR&0000_U^G5VDmYkJFi=n^NI)Ps
zFeoS}sb{og00001bW%=J06^y0W&i*HiF#C6bVOxyV{&P5bZKvH004NLQ&w6X
za$<35Vvep+e6bQ2XG&&KF-Q#;XIfEWZYqdvh)|wbl$)57Nmw1k*rLRO#N5ij@^y
z{anC~1^}hZHYVJo3I+fG2-!(QK~!jg?O1Jl+Qt%#VcRI_s>n&N}O?
zv(7r}?5X))fZuP&VT$a<(4&PtzZd==I2`mNT!Nz`&{y-Ley<<7m*@wP9|cZaDV|>i
zD#E2&5UxNm4JU;#8blF(U2BBp$@Q0%_x}xBzA7U0n42*_8L5>N|U&R;k
zt8*8w`m8`-UV-ZSX)zn}};!r@x*)4|O
zX0a9t=sz-SLSJQn2)Ob`Sbs8`&rC$wxcm4cY|jvY!GHuBjC`Acj?+H}w;yi@f2JY>
z!dU?kSHV~%^8^CN->E~~5Y7q^ZVqvd0X>=d>bQSmp#0fHTQQ&_x^WE#cMoeC
z*QylF&hCP6|NcM$m1L2c&u)$rxS7pWlqISi1Bw|v+&|pmcmMtg0p9eT0{i!e6MV@4
zK0|@X&%U(hZ#*tnh=RNIYH9h$jhb-kDHP$_j)7z|&74Q|lY#I*-6U2Ppk45mX>9IH
zoG$sDgsUisl#Kgy2xX@zko$}dC5HmYFJ!xIBO&YP<>Jp2eCnnJ^d^}z0|qVF;}0T*Z_{NepT>lzDJzhs0*(@k;|1b9lWW1^7??ZO<%HQ8;k+>!%#VqsQ|I;IYM#iQxcoa*P1?!)^SAGa%U=H_sqI2T8)2
z(4r9fJ!C-7cQFugjrcQo>h-rfCvTJ^D!&5Zs@jdh{1`T
zOzr$Lg~N2&hRyaP5W=l+>nYshFKMDEbAUWY7DcWvXtvv)7i~i?+(uq+Yfo|tZy3PD
zqi{C|&gqli)OFU`zrgamC`{sfm9lr{N38fZB&s3ih5K5jfcU!yn?wv8>O3x^Cjasd6Hp^aYnDP#;PFQC
zBS#6%a7+M}pca$V15oqQXrZunr1FisAY?!CB64SjJQAoJ`^VDfw1s8PTVXS-cG1h(
zB+QUQm_i8OLk1NF)pDTLB{6`1agP}1|CJ~q#b91l$0C3y;W3U(Wd=_Fgzp^5FxSW9
zJ3xEj9Te3AD@psxS;)NI${hlHt&}It6(|*@DK6JUCkVKYnYKB?5NoFzKz|(ks)PS+
z0>yI~6ml7%^eT~IW$7eP;vlX(2TtKt9Xkjbqw~-aswWi48S)qxf(ZU|m^*}XD--}*piie2vA#PCPlTng-9Qa}h+Qh-)b
zI2G7$fv7;q5kmZrDbNg|MG9#^lT@x9;8u(hxDZ-aoM9*c1*Zpj5bxh1JdAIU22iNG
z?ysmH&-dN=0R%;lm%x^%vXUe?W!0`_ladh0`4R$EDQ?0^22CNdcyV=lApx4pRWRK5
zaS$ImBKKACGXD*OqIx-n+Vbz!O)KgO9Oq1R)1JQYHcxWo4*QdHebasaHv1n~$_C%S
SMp#M!0000