Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
e5b9302
Make standard lasers hitscan
Jackriip Nov 11, 2026
e64d18e
Merge branch 'master' into feature/hitscan-lasers
Jackriip Nov 11, 2026
cdebd4c
Use Shiptest laser sounds for laser.ogg and laser2.ogg
Jackriip Nov 11, 2026
379e0ac
Merge remote-tracking branch 'origin2/master' into feature/plasma-wea…
Jackriip Nov 11, 2026
d70ad95
Add plasma weapon seams
Jackriip Nov 11, 2026
4988b83
Add the Kestrel laser pistol and Hornet laser SMG stats and tests
Jackriip Nov 11, 2026
83d785c
Add plasma pirate loadouts, zone weights and red-zone boss Furnaces
Jackriip Nov 11, 2026
93163b5
Add plasma and frontier laser sprites and sounds
Jackriip Nov 11, 2026
eeb0950
Add plasma and frontier laser shop lines, loot entries, ratings and w…
Jackriip Nov 11, 2026
f17295b
Add the plasma bolt: stats, fuel ignition, fire on hit and ash dismem…
Jackriip Nov 11, 2026
65b2833
Add plasma rifle heat, boiling and venting
Jackriip Nov 11, 2026
4af8d8e
Add plasma guns, flask and sealed chamber
Jackriip Nov 11, 2026
26c0104
Add plasma weapon effects: splash, wall glow, soot, gutter-out, vent …
Jackriip Nov 11, 2026
a9546a9
Merge branch 'plasma/p1-bolt' into feature/plasma-weapons
Jackriip Nov 11, 2026
c81523c
Merge branch 'plasma/p2-guns' into feature/plasma-weapons
Jackriip Nov 11, 2026
e3ffe4d
Merge branch 'plasma/p3-heat' into feature/plasma-weapons
Jackriip Nov 11, 2026
af34f95
Merge branch 'plasma/p4-lasers' into feature/plasma-weapons
Jackriip Nov 11, 2026
e0c71f6
Merge branch 'plasma/p7-assets' into feature/plasma-weapons
Jackriip Nov 11, 2026
4338a53
Merge branch 'plasma/p8-effects' into feature/plasma-weapons
Jackriip Nov 11, 2026
6dbfc5b
Merge branch 'plasma/p5-supply' into feature/plasma-weapons
Jackriip Nov 11, 2026
947cb0f
Merge branch 'plasma/p6-npcs' into feature/plasma-weapons
Jackriip Nov 11, 2026
415a60b
Integrate the plasma weapon packages: early defines include, loot sub…
Jackriip Nov 11, 2026
0933f78
Keep plasma guns out of turrets and emitters, cover the loot subtypes…
Jackriip Nov 11, 2026
68a47e9
Show the last plasma splash frame and keep flesh-hit steam behind the…
Jackriip Nov 11, 2026
15e8109
Put the plasma gutter-out where the bolt ran out and show its wisp
Jackriip Nov 11, 2026
07941c5
Merge branch 'plasma/capture-fixes' into feature/plasma-weapons
Jackriip Nov 11, 2026
1a23e25
Soften the wiki's vent fire warning
Jackriip Nov 11, 2026
2f5119b
Make the plasma bolt's light greener and wider
Jackriip Nov 11, 2026
f728fd8
Block in the Furnace barrel pinch
Jackriip Nov 11, 2026
d263801
Plasma bolts burn deep instead of setting people alight
Jackriip Nov 11, 2026
6868ff1
Play a melt on the body when a plasma bolt burns a limb off
Jackriip Nov 11, 2026
7608ec2
Show the melted limb's ash as the forearm lands
Jackriip Nov 11, 2026
96e635c
Give plasma hits on people a molten burst
Jackriip Nov 11, 2026
b474c07
Merge branch 'feature/plasma-weapons' into plasma/melt-off
Jackriip Nov 11, 2026
3567912
Rebuild the plasma limb melt-off on the new melt sprites
Jackriip Nov 11, 2026
02549d4
Expect no ash pile from a plasma-melted arm
Jackriip Nov 11, 2026
f38115c
Fix plasma hit bursts: back hits, bloom, bolt timing, shield star
Jackriip Nov 11, 2026
b048301
Keep a melting limb's shoes, gloves and held item in view until it le…
Jackriip Nov 11, 2026
c24f779
Merge branch 'feature/plasma-weapons' into plasma/melt-off
Jackriip Nov 12, 2026
e3a5573
Hold a melting hand's item until the hand runs off, then drop it and …
Jackriip Nov 12, 2026
4f33821
Fix plasma hit bursts: light on the body, downed and back-hit bolt st…
Jackriip Nov 12, 2026
8a2adca
Merge branch 'feature/plasma-weapons' into plasma/p9-pinch
Jackriip Nov 12, 2026
bea8abf
Land melted-off items flat beside the feet under the body, split the …
Jackriip Nov 12, 2026
b2964f9
Plasma hits: block splash waits for the bolt, light fades, green-only…
Jackriip Nov 12, 2026
a34671c
Melted-off items lose their fall offset when moved and stay put when …
Jackriip Nov 12, 2026
3120350
Pad DM's variable ids past the broken id 65535
Jackriip Nov 12, 2026
293f402
Plasma burn wounds: defines, files and stubbed API
Jackriip Nov 12, 2026
37f30dd
Merge plasma/melt-off into feature/plasma-weapons
Jackriip Nov 12, 2026
9873118
Plasma bolts sear bleeding cuts and use the burn-through helpers for …
Jackriip Nov 12, 2026
20cedad
Plasma burn care: slag picking, the excise slag surgery and the slag …
Jackriip Nov 12, 2026
30465c2
Plasma burn wound looks: overlays, glow and new sprites
Jackriip Nov 12, 2026
2f2d28c
Plasma burn wounds: wound core
Jackriip Nov 12, 2026
aa2ae0b
Plasma burn wounds: unit tests and wiki section
Jackriip Nov 12, 2026
5f0782f
Plasma burn wound tests: carried heat, stasis and cryo cooling, remov…
Jackriip Nov 12, 2026
e0f6242
Finish the Furnace barrel pinch
Jackriip Nov 12, 2026
3f7729a
Hold the melt's splatter guard as a weakref so a runtime can't leave …
Jackriip Nov 12, 2026
e2f7907
Pad DM's variable ids past the broken id 65535
Jackriip Nov 12, 2026
7f7f4c5
Pad DM's variable ids past the broken id 65535
Jackriip Nov 12, 2026
4e24a03
Merge branch 'plasma/wounds' into feature/plasma-wounds
Jackriip Nov 12, 2026
1331a14
Merge branch 'plasma/wounds-w1' into feature/plasma-wounds
Jackriip Nov 12, 2026
b61d5c1
Merge branch 'plasma/wounds-w2' into feature/plasma-wounds
Jackriip Nov 12, 2026
3703ff0
Merge branch 'plasma/wounds-w3' into feature/plasma-wounds
Jackriip Nov 12, 2026
02ba54f
Merge branch 'plasma/wounds-w5' into feature/plasma-wounds
Jackriip Nov 12, 2026
3fe524e
Merge branch 'plasma/wounds-w4' into feature/plasma-wounds
Jackriip Nov 12, 2026
f33130d
Plasma burn wounds: integration fixes
Jackriip Nov 12, 2026
08fd7c6
Plasma burn wounds: abuse review fixes
Jackriip Nov 12, 2026
8fcfe0d
Plasma burn wounds: start the glow from white-hot in the client
Jackriip Nov 12, 2026
9f3402e
Leave one mark per plasma wall hit: drop the soot on the floor in fro…
Jackriip Nov 12, 2026
431e3da
Recolour the Furnace coil heat glow onto the plasma green ramp
Jackriip Nov 12, 2026
77c1927
Stop a melted arm's burnt sleeve from baring the chest in the arm's s…
Jackriip Nov 12, 2026
5b9a5bf
Merge branch 'feature/plasma-weapons' of https://github.com/voidcrew/…
Jackriip Nov 12, 2026
e6f41d9
Barrel pinch: bolt copy rides the real bolt, ball off the shadow pass
Jackriip Nov 12, 2026
d553370
Give the plasma slag bead its own sprite: one black glass bead with a…
Jackriip Nov 12, 2026
5254c9d
Make a plasma burn's glow cool visibly: white-hot to pale green to de…
Jackriip Nov 12, 2026
1e51ae5
Splash plasma bolts onto the held shield that blocks them, and drip t…
Jackriip Nov 12, 2026
03b3cd1
Merge plasma wounds into plasma weapons
Jackriip Nov 12, 2026
2cd407f
Merge the barrel pinch into plasma weapons
Jackriip Nov 12, 2026
159eddd
Plasma sounds: one sound per hit, no tg dismember or burn sizzle on p…
Jackriip Nov 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions __byond_var_id_padding.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
// BYOND bug workaround (VOIDCREW): DM numbers every variable name from one table, and a proc static,
// global or local that lands on id 65535 compiles wrong. A static or global fails with "<name>: invalid
// variable", and a local gets a false "variable defined but not used" warning and reads the wrong value.
// Object vars and proc arguments on that id are fine. Once a build has more than 65535 names, about half
// of all changes put some static or local on the broken id. Seen on 516.1659 and 516.1667.
//
// This file is included first, so its 70,000 unused var names take ids 0 to 69999, and id 65535 always
// falls on one of them. A type holds at most about 65k vars, so they are split over seven subtypes.
// Nothing ever makes a /datum/byond_var_id_padding. Remove this once BYOND fixes it.

#define VAR_ID_PAD_1(a, b, c, d, e) var/var_id_pad_##a##b##c##d##e
#define VAR_ID_PAD_10(a, b, c, d) VAR_ID_PAD_1(a, b, c, d, 0);VAR_ID_PAD_1(a, b, c, d, 1);VAR_ID_PAD_1(a, b, c, d, 2);VAR_ID_PAD_1(a, b, c, d, 3);VAR_ID_PAD_1(a, b, c, d, 4);VAR_ID_PAD_1(a, b, c, d, 5);VAR_ID_PAD_1(a, b, c, d, 6);VAR_ID_PAD_1(a, b, c, d, 7);VAR_ID_PAD_1(a, b, c, d, 8);VAR_ID_PAD_1(a, b, c, d, 9)
#define VAR_ID_PAD_100(a, b, c) VAR_ID_PAD_10(a, b, c, 0);VAR_ID_PAD_10(a, b, c, 1);VAR_ID_PAD_10(a, b, c, 2);VAR_ID_PAD_10(a, b, c, 3);VAR_ID_PAD_10(a, b, c, 4);VAR_ID_PAD_10(a, b, c, 5);VAR_ID_PAD_10(a, b, c, 6);VAR_ID_PAD_10(a, b, c, 7);VAR_ID_PAD_10(a, b, c, 8);VAR_ID_PAD_10(a, b, c, 9)
#define VAR_ID_PAD_1000(a, b) VAR_ID_PAD_100(a, b, 0);VAR_ID_PAD_100(a, b, 1);VAR_ID_PAD_100(a, b, 2);VAR_ID_PAD_100(a, b, 3);VAR_ID_PAD_100(a, b, 4);VAR_ID_PAD_100(a, b, 5);VAR_ID_PAD_100(a, b, 6);VAR_ID_PAD_100(a, b, 7);VAR_ID_PAD_100(a, b, 8);VAR_ID_PAD_100(a, b, 9)

/datum/byond_var_id_padding

/datum/byond_var_id_padding/part_0
VAR_ID_PAD_1000(0, 0)
VAR_ID_PAD_1000(0, 1)
VAR_ID_PAD_1000(0, 2)
VAR_ID_PAD_1000(0, 3)
VAR_ID_PAD_1000(0, 4)
VAR_ID_PAD_1000(0, 5)
VAR_ID_PAD_1000(0, 6)
VAR_ID_PAD_1000(0, 7)
VAR_ID_PAD_1000(0, 8)
VAR_ID_PAD_1000(0, 9)

/datum/byond_var_id_padding/part_1
VAR_ID_PAD_1000(1, 0)
VAR_ID_PAD_1000(1, 1)
VAR_ID_PAD_1000(1, 2)
VAR_ID_PAD_1000(1, 3)
VAR_ID_PAD_1000(1, 4)
VAR_ID_PAD_1000(1, 5)
VAR_ID_PAD_1000(1, 6)
VAR_ID_PAD_1000(1, 7)
VAR_ID_PAD_1000(1, 8)
VAR_ID_PAD_1000(1, 9)

/datum/byond_var_id_padding/part_2
VAR_ID_PAD_1000(2, 0)
VAR_ID_PAD_1000(2, 1)
VAR_ID_PAD_1000(2, 2)
VAR_ID_PAD_1000(2, 3)
VAR_ID_PAD_1000(2, 4)
VAR_ID_PAD_1000(2, 5)
VAR_ID_PAD_1000(2, 6)
VAR_ID_PAD_1000(2, 7)
VAR_ID_PAD_1000(2, 8)
VAR_ID_PAD_1000(2, 9)

/datum/byond_var_id_padding/part_3
VAR_ID_PAD_1000(3, 0)
VAR_ID_PAD_1000(3, 1)
VAR_ID_PAD_1000(3, 2)
VAR_ID_PAD_1000(3, 3)
VAR_ID_PAD_1000(3, 4)
VAR_ID_PAD_1000(3, 5)
VAR_ID_PAD_1000(3, 6)
VAR_ID_PAD_1000(3, 7)
VAR_ID_PAD_1000(3, 8)
VAR_ID_PAD_1000(3, 9)

/datum/byond_var_id_padding/part_4
VAR_ID_PAD_1000(4, 0)
VAR_ID_PAD_1000(4, 1)
VAR_ID_PAD_1000(4, 2)
VAR_ID_PAD_1000(4, 3)
VAR_ID_PAD_1000(4, 4)
VAR_ID_PAD_1000(4, 5)
VAR_ID_PAD_1000(4, 6)
VAR_ID_PAD_1000(4, 7)
VAR_ID_PAD_1000(4, 8)
VAR_ID_PAD_1000(4, 9)

/datum/byond_var_id_padding/part_5
VAR_ID_PAD_1000(5, 0)
VAR_ID_PAD_1000(5, 1)
VAR_ID_PAD_1000(5, 2)
VAR_ID_PAD_1000(5, 3)
VAR_ID_PAD_1000(5, 4)
VAR_ID_PAD_1000(5, 5)
VAR_ID_PAD_1000(5, 6)
VAR_ID_PAD_1000(5, 7)
VAR_ID_PAD_1000(5, 8)
VAR_ID_PAD_1000(5, 9)

/datum/byond_var_id_padding/part_6
VAR_ID_PAD_1000(6, 0)
VAR_ID_PAD_1000(6, 1)
VAR_ID_PAD_1000(6, 2)
VAR_ID_PAD_1000(6, 3)
VAR_ID_PAD_1000(6, 4)
VAR_ID_PAD_1000(6, 5)
VAR_ID_PAD_1000(6, 6)
VAR_ID_PAD_1000(6, 7)
VAR_ID_PAD_1000(6, 8)
VAR_ID_PAD_1000(6, 9)

#undef VAR_ID_PAD_1000
#undef VAR_ID_PAD_100
#undef VAR_ID_PAD_10
#undef VAR_ID_PAD_1
2 changes: 1 addition & 1 deletion code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -664,7 +664,7 @@
owner.visible_message(span_danger("[owner] blocks [attack_text] with [src]!"))
var/owner_turf = get_turf(owner)
new block_effect(owner_turf, COLOR_YELLOW)
playsound(src, block_sound, BLOCK_SOUND_VOLUME, vary = TRUE)
playsound(src, hitby?.blocked_sound_for(src) || block_sound, BLOCK_SOUND_VOLUME, vary = TRUE) // VOIDCREW EDIT CHANGE - plasma_weapons: a bolt can carry its own shield block sound
return TRUE

/**
Expand Down
3 changes: 2 additions & 1 deletion code/modules/surgery/bodyparts/dismemberment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
if(!silent)
limb_owner.visible_message(span_danger("<B>[limb_owner]'s [name] is violently dismembered!</B>"))
INVOKE_ASYNC(limb_owner, TYPE_PROC_REF(/mob, emote), "scream")
playsound(get_turf(limb_owner), 'sound/effects/dismember.ogg', 80, TRUE)
if(!plasma_melt_in_progress(limb_owner)) // VOIDCREW EDIT CHANGE - plasma_weapons: a plasma melt plays its own sound
playsound(get_turf(limb_owner), 'sound/effects/dismember.ogg', 80, TRUE)

Check failure on line 21 in code/modules/surgery/bodyparts/dismemberment.dm

View workflow job for this annotation

GitHub Actions / Modularization

[markers] Upstream code changed without VOIDCREW EDIT coverage. Use an inline/preceding comment for one line or matching START/END markers for a block.
limb_owner.add_mood_event("dismembered_[body_zone]", /datum/mood_event/dismembered, src)
limb_owner.add_mob_memory(/datum/memory/was_dismembered, lost_limb = src)

Expand Down
2 changes: 2 additions & 0 deletions sound/items/weapons/attributions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@
rust_sower_armbomb.ogg - EnterTheJake
rust_sower_explode.ogg - EnterTheJake
}

laser.ogg and laser2.ogg are e-fire.ogg and heavy_laser.ogg from Shiptest (https://github.com/shiptest-ss13/Shiptest), CC BY-SA 3.0.
Binary file modified sound/items/weapons/laser.ogg
Binary file not shown.
Binary file modified sound/items/weapons/laser2.ogg
Binary file not shown.
18 changes: 18 additions & 0 deletions strings/wounds/plasma_scar_desc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"plasmamoderate": [
"a scatter of small, glossy pockmarks",
"a spray of pale pinprick scars"
],

"plasmasevere": [
"a cluster of smooth, glassy pits",
"round scars with a faint green sheen",
"dimpled skin flecked with black glass"
],

"plasmacritical": [
"a sunken, glass-smooth crater of scar tissue",
"a puckered scar the width of a fist, shot through with green-black glass",
"a knot of shiny scar tissue where something burned clean through"
]
}
20 changes: 20 additions & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
// END_PREFERENCES

// BEGIN_INCLUDE
#include "__byond_var_id_padding.dm"
#include "__odlint.dm"
#include "_maps\_basemap.dm"
#include "code\__byond_version_compat.dm"
Expand All @@ -34,6 +35,7 @@
#include "code\__DEFINES\_tick.dm"
#include "voidcrew\_DEFINES\core_integration.dm" // VOIDCREW EDIT: shared hooks must precede upstream macro use.
#include "voidcrew\_DEFINES\modular_hooks.dm" // VOIDCREW EDIT: shared hooks must precede upstream macro use.
#include "voidcrew\_DEFINES\plasma_weapons.dm" // VOIDCREW EDIT: the plasma_weapons unit tests read these defines, and tests compile before voidcrew\_DEFINES.
#include "code\__DEFINES\access.dm"
#include "code\__DEFINES\achievements.dm"
#include "code\__DEFINES\acid.dm"
Expand Down Expand Up @@ -6925,6 +6927,7 @@
#include "voidcrew\edits\modules\power\supermatter_anomalies.dm"
#include "voidcrew\edits\modules\power\turbine\turbine.dm"
#include "voidcrew\edits\modules\projectiles\boxes_magazines\_box_magazine.dm"
#include "voidcrew\edits\modules\projectiles\projectile\beams.dm"
#include "voidcrew\edits\modules\research\designs.dm"
#include "voidcrew\edits\modules\research\designs\comp_board_designs.dm"
#include "voidcrew\edits\modules\research\designs\machine_designs.dm"
Expand Down Expand Up @@ -7468,6 +7471,23 @@
#include "voidcrew\modules\overmap\code\modules\overmap\zones\zone_teleport.dm"
#include "voidcrew\modules\overmap\code\modules\overmap\zones\zone_weather.dm"
#include "voidcrew\modules\paperwork\faxes.dm"
#include "voidcrew\modules\plasma_weapons\burn_wound_looks.dm"
#include "voidcrew\modules\plasma_weapons\frontier_lasers.dm"
#include "voidcrew\modules\plasma_weapons\plasma_ash.dm"
#include "voidcrew\modules\plasma_weapons\plasma_bolt.dm"
#include "voidcrew\modules\plasma_weapons\plasma_chamber.dm"
#include "voidcrew\modules\plasma_weapons\plasma_effects.dm"
#include "voidcrew\modules\plasma_weapons\plasma_flask.dm"
#include "voidcrew\modules\plasma_weapons\plasma_guns.dm"
#include "voidcrew\modules\plasma_weapons\plasma_heat.dm"
#include "voidcrew\modules\plasma_weapons\plasma_melt.dm"
#include "voidcrew\modules\plasma_weapons\plasma_pinch.dm"
#include "voidcrew\modules\plasma_weapons\plasma_pirates.dm"
#include "voidcrew\modules\plasma_weapons\plasma_shop.dm"
#include "voidcrew\modules\plasma_weapons\plasma_types.dm"
#include "voidcrew\modules\plasma_weapons\plasma_wound_care.dm"
#include "voidcrew\modules\plasma_weapons\plasma_wound_looks.dm"
#include "voidcrew\modules\plasma_weapons\plasma_wounds.dm"
#include "voidcrew\modules\player_outposts\outpost_admin.dm"
#include "voidcrew\modules\player_outposts\outpost_admin_bays.dm"
#include "voidcrew\modules\player_outposts\outpost_admin_checkpoints.dm"
Expand Down
80 changes: 80 additions & 0 deletions tools/gear_catalog/ratings/guns.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"category": "guns",
"groups": [
Expand Down Expand Up @@ -1183,6 +1183,26 @@
"reason": "Only affects plants.",
"tier": "none"
},
"/obj/item/gun/energy/frontier_laser/pistol": {
"confidence": "medium",
"group": "beam weapons",
"hash": "",
"name": "Kestrel laser pistol",
"rank": 16,
"reason": "A weaker laser gun: 20 a shot, 20 shots, fits a belt.",
"score": 28,
"tier": "green"
},
"/obj/item/gun/energy/frontier_laser/smg": {
"confidence": "medium",
"group": "beam weapons",
"hash": "",
"name": "Hornet laser SMG",
"rank": 9,
"reason": "The laser gun's beam on a held trigger: a laser carbine's damage per second in bigger hits.",
"score": 55,
"tier": "yellow"
},
"/obj/item/gun/energy/gravity_gun": {
"confidence": "low",
"group": "launchers and exotics",
Expand Down Expand Up @@ -1465,6 +1485,66 @@
},
"tier": "yellow"
},
"/obj/item/gun/energy/plasma_weapon/pistol": {
"confidence": "low",
"group": "sidearms",
"hash": "",
"name": "Cinder plasma pistol",
"rank": 10,
"reason": "A plasma sidearm: slow bolts that burn, fed by hand from sheets or ore.",
"score": 55,
"score_inputs": {
"cell_fed": {
"value": false,
"why": "Fed by hand with plasma sheets or ore; no recharger."
},
"points": {
"value": 15,
"why": "Bolts can't be reflected, break windows and doors faster, leave deep burns and can melt off a hurt limb."
}
},
"tier": "yellow"
},
"/obj/item/gun/energy/plasma_weapon/rifle": {
"confidence": "low",
"group": "rifles",
"hash": "",
"name": "Furnace plasma rifle",
"rank": 5,
"reason": "Close-range plasma rifle that overheats, fed by hand from sheets or ore.",
"score": 113,
"score_inputs": {
"cell_fed": {
"value": false,
"why": "Fed by hand with plasma sheets or ore; no recharger."
},
"points": {
"value": 75,
"why": "Beats ablative armour and mirrors, breaks windows and doors twice as fast, lights fuel, leaves deep burns and melts off limbs that can't be reattached. Its bolts can be dodged at range."
}
},
"tier": "red"
},
"/obj/item/gun/energy/plasma_weapon/rifle/old_furnace": {
"confidence": "low",
"group": "rifles",
"hash": "",
"name": "Old Furnace",
"rank": 3,
"reason": "A Furnace that runs cooler and shoots straighter.",
"score": 123,
"score_inputs": {
"cell_fed": {
"value": false,
"why": "Fed by hand with plasma sheets or ore; no recharger."
},
"points": {
"value": 85,
"why": "A Furnace that runs cooler and shoots straighter."
}
},
"tier": "red"
},
"/obj/item/gun/energy/plasmacutter": {
"confidence": "medium",
"group": "tools and support",
Expand Down
Loading
Loading