Valley Update - Growing Eclipse (#7119)

This commit is contained in:
FluffMedic
2023-10-21 16:20:17 -04:00
committed by GitHub
parent c673607f89
commit 7bd8ecbe5b
32 changed files with 13021 additions and 3185 deletions
@@ -7,11 +7,12 @@
name = "Eclipse Initiate"
tt_desc = "E Homo sapiens"
desc = "You shouldn't be seeing this."
icon = 'modular_chomp/icons/mob/animal_ch.dmi'
icon_state = "syndicate"
icon_living = "syndicate"
icon = 'modular_chomp/icons/mob/eclipse.dmi'
icon_state = "sun"
icon_living = "sun"
icon_dead = "statisgem"
icon_gib = "syndicate_gib"
taser_kill = 0
faction = "eclipse"
movement_cooldown = 0
@@ -63,7 +64,22 @@
special_attack_cooldown = 45 SECONDS
special_attack_min_range = 2
special_attack_max_range = 7
var/has_heal_droid = FALSE
//Want a self heal for a spefic dude, and to increase diffculty of some POIs
/mob/living/simple_mob/humanoid/eclipse/handle_special()
if(has_heal_droid)
adjustBruteLoss(-1.0)
adjustFireLoss(-1.0)
adjustToxLoss(-1.0)
adjustOxyLoss(-1.0)
adjustCloneLoss(-1.0)
..()
/mob/living/simple_mob/humanoid/eclipse/update_icon()
..() // Cuts everything else, so do that first.
if(has_heal_droid)
add_overlay(image(icon = 'modular_chomp/icons/mob/eclipse.dmi', icon_state = "heal_droid"))
////////////////////////////////
// Grenade Attack
@@ -126,7 +142,7 @@
name = "Solar Eclipse Initiate"
desc = "You shouldn't be seeing this. But don't use lasers or energy weapons"
armor = list(melee = -10, bullet = -10, laser = 75, energy = 75, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns.
armor = list(melee = -20, bullet = -20, laser = 85, energy = 85, bomb = 50, bio = 100, rad = 100) //Solar members are nigh immune to burns.
armor_soak = list(melee = 0, bullet = 0, laser = 15, energy = 15, bomb = 0, bio = 0, rad = 0)
/mob/living/simple_mob/humanoid/eclipse/solar/teslanoodle
@@ -255,7 +271,7 @@
name = "Lunar Eclipse Initiate"
desc = "You shouldn't be seeing this, but don't use melee weapons or bullets."
armor = list(melee = 75, bullet = 75, laser = -10, energy = -10, bomb = 50, bio = 100, rad = 100) //Lunar members are nigh immune to burns.
armor = list(melee = 85, bullet = 85, laser = -20, energy = -20, bomb = 50, bio = 100, rad = 100) //Lunar members are nigh immune to burns.
armor_soak = list(melee = 15, bullet = 15, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0) //15 because every melee weapon has dumb amount of AP
/mob/living/simple_mob/humanoid/eclipse/lunar/silvernoodle //Bouncing bullet extreme
@@ -493,7 +509,7 @@
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler
name = "Lunar Eclipse Pummeler"
desc = "A strange creature moving at quick speed, bullets and melee sliding off it's hide."
projectiletype = /obj/item/projectile/bullet/shotgun/ion
projectiletype = /obj/item/projectile/bola
ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax
melee_damage_lower = 10
melee_damage_upper = 10
@@ -508,6 +524,7 @@
var/poison_chance = 10
var/shock_chance = 60
base_attack_cooldown = 6
hovering = TRUE
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler/apply_melee_effects(var/atom/A)
if(isliving(A))
@@ -532,4 +549,222 @@
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler/proc/inject_poison(mob/living/L, target_zone)
if(prob(poison_chance))
to_chat(L, "<span class='warning'>You feel a small shock rushing through your veins.</span>")
L.reagents.add_reagent(poison_type, poison_per_bite)
L.reagents.add_reagent(poison_type, poison_per_bite)
//Freezing winds update
/mob/living/simple_mob/humanoid/eclipse/lunar/aeroblaster //Air sniper
name = "Lunar Eclipse Aeroblaster"
desc = "A strange somewhat see through floating jellyfish."
health = 25
maxHealth = 25
ai_holder_type = /datum/ai_holder/simple_mob/merc/eclipse/ranged/sniper
projectiletype = /obj/item/projectile/bullet/rifle/a145/aero
icon_state = "aeroblaster"
icon_living = "aeroblaster"
ranged_attack_delay = 1.5 SECONDS
hovering = TRUE
/mob/living/simple_mob/humanoid/eclipse/lunar/aeroblaster/ranged_pre_animation(atom/A)
Beam(get_turf(A), icon_state = "sniper_beam", time = 1 SECONDS, maxdistance = 15)
. = ..()
/mob/living/simple_mob/humanoid/eclipse/lunar/aeroblaster/shoot_target(atom/A)
set waitfor = FALSE
if(!istype(A) || QDELETED(A))
return
setClickCooldown(get_attack_speed())
face_atom(A)
var/atom/orig_targ = A
if(ranged_attack_delay)
A = get_turf(orig_targ)
ranged_pre_animation(A)
handle_attack_delay(A, ranged_attack_delay) // This will sleep this proc for a bit, which is why waitfor is false.
if(needs_reload)
if(reload_count >= reload_max)
try_reload()
return FALSE
visible_message("<span class='danger'><b>\The [src]</b> fires at \the [orig_targ]!</span>")
shoot(A)
if(casingtype)
new casingtype(loc)
if(ranged_attack_delay)
ranged_post_animation(A)
return TRUE
/obj/item/projectile/bullet/rifle/a145/aero
damage = 10
stun = 0
weaken = 0
penetrating = 10
armor_penetration = 90
hud_state = "sniper_flak"
/mob/living/simple_mob/humanoid/eclipse/lunar/miner //Confusion?
name = "Lunar Eclipse Miner"
desc = "A slime creature in red and blue armor."
health = 50
maxHealth = 50
projectiletype = /obj/item/projectile/energy/excavate/weak
special_attack_cooldown = 50 SECONDS
special_attack_min_range = 4
special_attack_max_range = 7
icon_state = "miner"
icon_living = "miner"
/mob/living/simple_mob/humanoid/eclipse/lunar/miner/do_special_attack(atom/A)
new /mob/living/simple_mob/mechanical/mining_drone/scavenger/eclipse (src.loc)
..(null,"creates a mining drone.")
/mob/living/simple_mob/mechanical/mining_drone/scavenger/eclipse
health = 1
maxHealth = 1
faction = "eclipse"
/mob/living/simple_mob/humanoid/eclipse/solar/froststalker //teleporting stalker
name = "Lunar Eclipse Froststalker"
health = 50
maxHealth = 50
desc = "A somewhat see through being wearing a burn resistaint coat."
alpha = 180
melee_damage_lower = 20
melee_damage_upper = 20
attack_armor_pen = 30
special_attack_cooldown = 5 SECONDS
special_attack_min_range = 1
special_attack_max_range = 7
projectiletype = null
ai_holder_type = /datum/ai_holder/simple_mob/intentional/adv_dark_gygax
icon_state = "froststalker"
icon_living = "froststalker"
cold_resist = 1.0
melee_attack_delay = 2.0
/mob/living/simple_mob/humanoid/eclipse/solar/froststalker/do_special_attack(atom/A)
// Teleport attack.
if(!A)
to_chat(src, span("warning", "There's nothing to teleport to."))
return FALSE
var/list/nearby_things = range(1, A)
var/list/valid_turfs = list()
// All this work to just go to a non-dense tile.
for(var/turf/potential_turf in nearby_things)
var/valid_turf = TRUE
if(potential_turf.density)
continue
for(var/atom/movable/AM in potential_turf)
if(AM.density)
valid_turf = FALSE
if(valid_turf)
valid_turfs.Add(potential_turf)
if(!(valid_turfs.len))
to_chat(src, span("warning", "There wasn't an unoccupied spot to teleport to."))
return FALSE
var/turf/target_turf = pick(valid_turfs)
var/turf/T = get_turf(src)
var/datum/effect/effect/system/spark_spread/s1 = new /datum/effect/effect/system/smoke_spread/frost
s1.set_up(5, 1, T)
var/datum/effect/effect/system/spark_spread/s2 = new /datum/effect/effect/system/smoke_spread/frost
s2.set_up(5, 1, target_turf)
T.visible_message(span("notice", "\The [src] vanishes!"))
s1.start()
forceMove(target_turf)
playsound(target_turf, 'sound/effects/phasein.ogg', 50, 1)
to_chat(src, span("notice", "You teleport to \the [target_turf]."))
target_turf.visible_message(span("warning", "\The [src] appears!"))
s2.start()
/mob/living/simple_mob/humanoid/eclipse/solar/cryomancer //Freezing slowdown unit
name = "Lunar Eclipse Cryomancer"
desc = "A being wearing ice and burn resistaint armor."
health = 100
maxHealth = 100
projectiletype = /obj/item/projectile/bullet/frostshotgun
has_heal_droid = TRUE
reload_max = 5
icon_state = "cryo"
icon_living = "cryo"
grenade_type = /obj/item/weapon/grenade/chem_grenade/frost
cold_resist = 1.0
has_heal_droid = TRUE
ai_holder_type = /datum/ai_holder/simple_mob/merc/eclipse/ranged/cyro
ranged_attack_delay = 1.5 SECONDS
loot_list = list(/obj/item/weapon/gun/energy/freezegun = 100,
)
armor_soak = list(melee = 0, bullet = 0, laser = 20, energy = 20, bomb = 0, bio = 0, rad = 0)
/obj/item/weapon/grenade/chem_grenade/frost
name = "frost grenade"
desc = "Currently in the testing phase, pratical purposes are unknown."
icon_state = "foam"
path = 1
stage = 2
sealed = TRUE
/obj/item/weapon/grenade/chem_grenade/frost/Initialize()
. = ..()
var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B2 = new(src)
B1.reagents.add_reagent("cryoslurry", 150)
B1.reagents.add_reagent("potassium", 150)
B2.reagents.add_reagent("phosphorous", 150)
B2.reagents.add_reagent("sugar", 150)
detonator = new/obj/item/device/assembly_holder/timer_igniter(src)
beakers += B1
/obj/item/projectile/bullet/frostshotgun
use_submunitions = 1
only_submunitions = 1
range = 0
embed_chance = 0
submunition_spread_max = 1800
submunition_spread_min = 500
submunitions = list(/obj/item/projectile/energy/frostsphere = 4)
/obj/item/projectile/bullet/frostshotgun/on_range()
qdel(src)
/obj/item/projectile/energy/frostsphere
name = "frost sphere"
icon_state = "ice_2"
fire_sound = 'sound/weapons/pulse3.ogg'
damage = 20
modifier_type_to_apply = /datum/modifier/cryogelled
modifier_duration = 0.25 MINUTE
speed = 2.5
range = 8
/datum/ai_holder/simple_mob/merc/eclipse/ranged/cyro
can_flee = TRUE // If they're even allowed to flee.
flee_when_dying = TRUE // If they should flee when low on health.
dying_threshold = 0.3 // How low on health the holder needs to be before fleeing. Defaults to 30% or lower health.
flee_when_outmatched = TRUE // If they should flee upon reaching a specific tension threshold.
outmatched_threshold = 300
@@ -0,0 +1,220 @@
/datum/category_item/catalogue/fauna/eclipse
name = "The Eclipse"
desc = "Life on the Frontier is hard, and unregulated. Unlike life in \
more 'civlized' areas of the Galaxy, violence and piracy remain common \
this far out. The Eclipse cares naught for this, rather their attention \
shifting to the fallen kingdoms and empires of the past. \
Salavaging secerts and materials long forgotton and stiching them \
togther in new, strange creations."
value = CATALOGUER_REWARD_TRIVIAL
unlocked_by_any = list(/datum/category_item/catalogue/fauna/eclipse)
// Obtained by scanning all X.
/datum/category_item/catalogue/fauna/all_eclipse
name = "Collection - Eclipse"
desc = "You have scanned a large array of different types of eclipse memebers, \
and therefore you have been granted a large sum of points, through this \
entry."
value = CATALOGUER_REWARD_SUPERHARD
unlocked_by_all = list(
/datum/category_item/catalogue/fauna/eclipse/teslanoodle,
/datum/category_item/catalogue/fauna/eclipse/firemoff,
/datum/category_item/catalogue/fauna/eclipse/snipertesh,
/datum/category_item/catalogue/fauna/eclipse/radiation,
/datum/category_item/catalogue/fauna/eclipse/silvernoodle,
/datum/category_item/catalogue/fauna/eclipse/shotgunner,
/datum/category_item/catalogue/fauna/eclipse/bulletstorm,
/datum/category_item/catalogue/fauna/eclipse/ravanger,
/datum/category_item/catalogue/fauna/eclipse/hellhound,
/datum/category_item/catalogue/fauna/eclipse/wheel,
/datum/category_item/catalogue/fauna/eclipse/guardian,
/datum/category_item/catalogue/fauna/eclipse/pummler,
/datum/category_item/catalogue/fauna/eclipse/aeroblaster,
/datum/category_item/catalogue/fauna/eclipse/miner,
/datum/category_item/catalogue/fauna/eclipse/froststalker,
/datum/category_item/catalogue/fauna/eclipse/cryomancer
)
/mob/living/simple_mob/humanoid/eclipse/solar/teslanoodle
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/teslanoodle)
/datum/category_item/catalogue/fauna/eclipse/teslanoodle
name = "The Tesla Armor"
desc = "The tesla's units armor crackles with eletrical current. \
Manifestation of such energy seeming to be summoned at will or at \
random. This creation seems to be in a prototype phase."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/firemoff
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/firemoff)
/datum/category_item/catalogue/fauna/eclipse/firemoff
name = "Eclipse Shielding"
desc = "Eclipse armor and uniform is unlike most others, seeming wide \
and varied, but in reality is simplified to two diffrent types. \
One of the Eclipse's first studies was a mix of precursor ablative and \
bullet proof technolgy. They have gotten an understanding of it, they \
are able to fuse it with many diffrent uniforms, allowing for a more \
diverse apperance."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/snipertesh
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/snipertesh)
/datum/category_item/catalogue/fauna/eclipse/snipertesh
name = "Cult-like rituals"
desc = "The Eclipse started off as a strange mixutre of a friendly \
band, and lower tier orginization. as their technolgy has evolved, so did \
their behaviors. Some sects begining to worship and heavly praise the fallen \
precusor empires. Some going as far to try and revivive them, always to \
mixed results, rarely resulting in in-fighting."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/radiation
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/radiation)
/datum/category_item/catalogue/fauna/eclipse/radiation
name = "Nuclear Failures"
desc = "Failure is not an option for the Eclipse. More so, failure \
is just another opportunity to learn. Their radiation units coming\
from serveral failures of nuclear power soruces alongside failures amongst, \
nuclear weaponry. Eventually creating quality weapons, and refitting their \
power sources to radiation field generators."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/silvernoodle
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/silvernoodle)
/datum/category_item/catalogue/fauna/eclipse/silvernoodle
name = "Failed Selling"
desc = "While one would think the Eclipse would become rather wealthy and \
fame from their line of work, they are instead rather average due to most \
of their products having a high chance of failure. For every working weapon, \
armor, tool, there are at least 10 failures. Resleeving and high quality \
medication are one of the few reasons they have not wiped themselves out."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/shotgunner
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/shotgunner)
/datum/category_item/catalogue/fauna/eclipse/shotgunner
name = "Specialized Arms"
desc = "The Eclipse's focus on utilizing precursor tech leads them down \
strange weaponry. Even with firearms, they are always modified slightly \
just to fufill having some form of what they see as future tech. \
Although this leads to weapon failures, or creation accidents."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/bulletstorm
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/bulletstorm)
/datum/category_item/catalogue/fauna/eclipse/bulletstorm
name = "Open Joining"
desc = "The Eclipse has many varying memebers, of all diffrent shapes, \
sizes, and heritages. This is due to a varity of factors, which includes \
high mortality rates, mutations, and body modification expermintation."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/ravanger
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/ravanger)
/datum/category_item/catalogue/fauna/eclipse/ravanger
name = "Resleeving Failures"
desc = "The Eclipse has precourdered many bits of resleeving equipment \
but like most of that comes into their grasp it has become more dangerous \
and expirmental. Corruption and malformed bodies have become common place, \
minds becoming lost. But failure is non-exsistant, instead being repurosed \
such as shaping them into ravanger units."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/hellhound
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/hellhound)
/datum/category_item/catalogue/fauna/eclipse/hellhound
name = "Hellhound Units"
desc = "Equiped with specialized armor, the systems of the suit pairing \
with their nervous system in an attempt to allow for better hunting. \
Venom is found within their claws and fangs, the chemical compound being, \
akin to soporific, The hellhound units are both useful for single target \
hunting, and frontal assualt."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/wheel
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/wheel)
/datum/category_item/catalogue/fauna/eclipse/wheel
name = "Armadillo"
desc = "With several strange creatures among their ranks, the Eclipse \
has attempted strange and usual armors and tatics. With several being able \
to curl up into a ball shape, the wheel armor was created, trying to turn \
a rolling motion into an offensive force."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/guardian
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/guardian)
/datum/category_item/catalogue/fauna/eclipse/guardian
name = "Slime Pits"
desc = "Another potential of failed resleeves are the slime pits, \
the failed body being merged with one of their many slimes, creating something \
akin to a promethean but having a mind more akin to a drone. Some of the \
slime creations the similiar abilties to their slime counter parts, or \
renamants of the donator's DNA."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/pummler
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/pummler)
/datum/category_item/catalogue/fauna/eclipse/pummler
name = "Hunter Unit - Pummler"
desc = "Another drone like creation, meld with alien sea life, and traces \
renamants of solar grubs. Was orginally meant for assualting mecha pilots, \
and tearing them free from the mechas, but prooved to be too variable with \
results. Instead their desgin changing to that of hunting down single \
targets across any and all terrains."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/aeroblaster
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/pummler)
/datum/category_item/catalogue/fauna/eclipse/aeroblaster
name = "Eclipse Drones"
desc = "Sometimes, the failed resleeves only leave the fragments of a mind \
behind. But even that is useful, latching onto the renamants of loyalty and \
the brain's remaining procressing power to create special circuits for, \
their drones."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/lunar/miner
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/miner)
/datum/category_item/catalogue/fauna/eclipse/miner
name = "Bio-tech Unit"
desc = "One benefit of the slime units is they're able to easily interface \
with the drone units. Cooperation is keenly unquie between the slime and \
drone units. This is espically helpful within hazardous mining conditions \
both being able to flee or alter plans as soon as either noitces."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/froststalker
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/froststalker)
/datum/category_item/catalogue/fauna/eclipse/froststalker
name = "Mindless Ice"
desc = "Cryogel expermination has been one of the most active fronts, but \
with it, countless failures. Whilst not on purpose, many of their number\
have had their bodies freeze over, transforming into sentient creatures, \
of ice. Their minds sometimes lost alongside their orginal form."
value = CATALOGUER_REWARD_MEDIUM
/mob/living/simple_mob/humanoid/eclipse/solar/cryomancer
catalogue_data = list(/datum/category_item/catalogue/fauna/eclipse/cryomancer)
/datum/category_item/catalogue/fauna/eclipse/cryomancer
name = "Cryomancers"
desc = "One of the few success in the Pluto Intitative, but one that \
yields great results. Highly resistant to cold, and heat, more so then it's \
contemparies, all the while wielding expirmental frost weaponry to deadly \
effecieny. Rare and vaulable pieces in the Eclipse's army, they are rarely seen \
but when utilized, that area is of high priority. "
value = CATALOGUER_REWARD_MEDIUM
@@ -0,0 +1,25 @@
/obj/item/weapon/gun/energy/freezegun
name = "Pulse Froster Prototype"
desc = "A strange gun pulsing with energy, it's touch chilling you to the core."
icon = 'modular_chomp/icons/obj/guns/precursor/frostgun.dmi'
icon_state = "cryogun"
item_state = "cryogun"
wielded_item_state = "cryogun-wielded"
matter = list(MAT_DURASTEEL = 1000, MAT_MORPHIUM = 500)
origin_tech = list(TECH_COMBAT = 6, TECH_POWER = 5, TECH_PRECURSOR = 3)
charge_cost = 480 //How much energy is needed to fire.
accept_cell_type = /obj/item/weapon/cell/device
cell_type = /obj/item/weapon/cell/device/weapon
projectile_type = /obj/item/projectile/energy/frostsphere
charge_meter = 1
reload_time = 10
firemodes = list(
list(mode_name="normal", fire_delay=5, projectile_type=/obj/item/projectile/energy/frostsphere, charge_cost = 120),
list(mode_name="shotgun", fire_delay=15, projectile_type=/obj/item/projectile/bullet/frostshotgun, charge_cost = 480),
)
@@ -86,3 +86,12 @@
materials = list(MAT_STEEL = 4000, MAT_GLASS = 1000, MAT_DIAMOND = 2000, MAT_TITANIUM = 4000, MAT_LEAD = 4000, MAT_URANIUM = 5000)
build_path = /obj/item/weapon/gun/energy/lasercannon
sort_string = "MAAAD"
//Wierd weapon time
/datum/design/item/weapon/energy/cyrogun
desc = "An improperly researched and poorly built weapon, specialized in utlizing frost offensively.."
id = "cryogun"
req_tech = list(TECH_COMBAT = 7, TECH_MATERIAL = 8, TECH_POWER = 7, TECH_PRECURSOR = 4, TECH_ILLEGAL = 8)
materials = list(MAT_GLASS = 3000, MAT_MORPHIUM = 4000, MAT_DURASTEEL = 6000, MAT_LEAD = 6000, MAT_METALHYDROGEN = 3000)
build_path = /obj/item/weapon/gun/energy/freezegun
sort_string = "MAAAD"