Skip to content

Orange Transparent Chainsaw!#39507

Closed
Cairo283 wants to merge 3 commits into
vgstation-coders:Bleeding-Edgefrom
Cairo283:Bleeding-Edge
Closed

Orange Transparent Chainsaw!#39507
Cairo283 wants to merge 3 commits into
vgstation-coders:Bleeding-Edgefrom
Cairo283:Bleeding-Edge

Conversation

@Cairo283

Copy link
Copy Markdown

Finally we can properly cut through ice and look stylish while doing it!

1512191153671

What this does

Adds the Orange Transparent chainsaw as an actual mining tool on top of the one we already have, with this one being intended for cutting shit rather than surgery (but you can do surgery with it, too). Buildable via R&D after deconstructing a plasma beaker to reach plasma tech 5. Also adds the ice miner's helmet and winter coat to snowman's land vending machines via coin.

Why it's good

An orange transparent chainsaw that you can actually cut through ice with! And withsnazzy clothes to go with it, you too can larp as a plastic figure from the late 90s.

How it was tested

Tested on a locally hosted server.

Changelog

🆑

  • rscadd: Added the mining version of the orange transparent chainsaw along with the helmet and jacket to go with it.
  • tweak: Orange transparent chainsaw can be built in R&D with plasma tech five. Clothing can be bought with a coin in a snowman's land vending machine.
image dreamseeker_4DW0NiHHKq

Finally we can properly cut through ice and look stylish while doing it!
@Eneocho Eneocho added the Content Adds something. Neat! label Jul 15, 2026
@wotisjanitor

Copy link
Copy Markdown
Contributor

Very cool!

@Servalfang

Copy link
Copy Markdown
Contributor

the inhand and the icon do not look like the same item

item_state = "iceminer_hat"
armor = list(melee = 45, bullet = 15, laser = 25, energy = 15, bomb = 15, bio = 5, rad = 0)
body_parts_covered = FULL_HEAD|MASKHEADHAIR
species_restricted = list("Human") No newline at end of file

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is the coat allowed for grays and insectoids but the helmet from the same set is hard locked to humans?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the helmet doesn't fit them but jackets do, like all winter coats.

Comment on lines +300 to +316
name = "Orange Transparent Chainsaw" // Can also do saw surgery!
icon_state = "transparentorangechainsaw"
item_state = "transparentorangechainsaw"
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/icemining.dmi', "right_hand" = 'icons/mob/in-hand/right/icemining.dmi')
toolspeed = 0.08
sharpness = 1.8
force = 15.0
sharpness_flags = SHARP_BLADE | SERRATED_BLADE | CHOPWOOD | HOT_EDGE
origin_tech = Tc_MATERIALS + "=4;" + Tc_POWERSTORAGE + "=4;" + Tc_ENGINEERING + "=6;" + Tc_PLASMATECH + "=5;" + Tc_BIOTECH + "=5;" + Tc_COMBAT + "=4"
desc = "Yours is the saw that will cut the ice! And people, I guess."
starting_materials = list(MAT_IRON = 6000, MAT_GLASS = 1000, MAT_PLASMA = 6000)
drill_verb = "cutting"
attack_verb = list("attacks", "slashes", "saws", "cuts")
hitsound = 'sound/weapons/circsawhit.ogg'
heat_production = 27000
source_temperature = TEMPERATURE_PLASMA
diggables = DIG_ROCKS | DIG_WALLS

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
name = "Orange Transparent Chainsaw" // Can also do saw surgery!
icon_state = "transparentorangechainsaw"
item_state = "transparentorangechainsaw"
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/icemining.dmi', "right_hand" = 'icons/mob/in-hand/right/icemining.dmi')
toolspeed = 0.08
sharpness = 1.8
force = 15.0
sharpness_flags = SHARP_BLADE | SERRATED_BLADE | CHOPWOOD | HOT_EDGE
origin_tech = Tc_MATERIALS + "=4;" + Tc_POWERSTORAGE + "=4;" + Tc_ENGINEERING + "=6;" + Tc_PLASMATECH + "=5;" + Tc_BIOTECH + "=5;" + Tc_COMBAT + "=4"
desc = "Yours is the saw that will cut the ice! And people, I guess."
starting_materials = list(MAT_IRON = 6000, MAT_GLASS = 1000, MAT_PLASMA = 6000)
drill_verb = "cutting"
attack_verb = list("attacks", "slashes", "saws", "cuts")
hitsound = 'sound/weapons/circsawhit.ogg'
heat_production = 27000
source_temperature = TEMPERATURE_PLASMA
diggables = DIG_ROCKS | DIG_WALLS
name = "Orange Transparent Chainsaw" // Can also do saw surgery!
desc = "Yours is the saw that will cut the ice! And people, I guess."
icon_state = "transparentorangechainsaw"
item_state = "transparentorangechainsaw"
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/icemining.dmi', "right_hand" = 'icons/mob/in-hand/right/icemining.dmi')
sharpness_flags = SHARP_BLADE | SERRATED_BLADE | CHOPWOOD | HOT_EDGE
toolspeed = 0.08
sharpness = 1.8
force = 15.0
origin_tech = Tc_MATERIALS + "=4;" + Tc_POWERSTORAGE + "=4;" + Tc_ENGINEERING + "=6;" + Tc_PLASMATECH + "=5;" + Tc_BIOTECH + "=5;" + Tc_COMBAT + "=4"
starting_materials = list(MAT_IRON = 6000, MAT_GLASS = 1000, MAT_PLASMA = 6000)
drill_verb = "cutting"
attack_verb = list("attacks", "slashes", "saws", "cuts")
hitsound = 'sound/weapons/circsawhit.ogg'
heat_production = 27000
source_temperature = TEMPERATURE_PLASMA
diggables = DIG_ROCKS | DIG_WALLS

Slight rearranging so it fits the standard way we have these (name desc icons, etc).

@Kromkar2KromHarder

Copy link
Copy Markdown
Contributor

the inhand and the icon do not look like the same item

@jwhitak jwhitak left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some additional changes/ideas you might want to consider, but aren't necessary for the PR to be merged:

  • Add this item to valid surgery/saw items (easiest way is to ctrl+f for /obj/item/tool/circular_saw). Files include: organ_external.dm, mosin.dm, shotgun.dm, butt.dm, encased.dm, generic.dm, slimes.dm, surgery.dm, tail.dm. Perhaps tags like CHOPWOOD could be repurposed into general saw use or a is_saw() could be added, but that's beyond the scope of the PR. If you don't do this, I might go back and do it later.
  • Consider making the saw more dangerous, but at a cost. Such as increased attack delay (see the Executioner sword in swords.dm, you can add a delayNextAttack(30) or similar as an /afterattack) but the force is 20 or 25. (Force 16 is a major threshold because you can instantly gib limbs starting at that damage level, don't go TOOOO high).

Good work with the PR so far!

Comment thread code/modules/mining/mine_items.dm Outdated
icon_state = "transparentorangechainsaw"
item_state = "transparentorangechainsaw"
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/icemining.dmi', "right_hand" = 'icons/mob/in-hand/right/icemining.dmi')
toolspeed = 0.08

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is equally as fast as a diamond drill (due to any toolspeed less than 0.1 being rounded to 0) but at no diamond cost. Note that most maps start with enough plasma to make this without mining. Consider increasing the cost of the chainsaw or lowering the toolspeed to 0.1.

Comment thread code/modules/mining/mine_items.dm Outdated
item_state = "transparentorangechainsaw"
inhand_states = list("left_hand" = 'icons/mob/in-hand/left/icemining.dmi', "right_hand" = 'icons/mob/in-hand/right/icemining.dmi')
toolspeed = 0.08
sharpness = 1.8

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unreasonably high for something permanently on. It's sharper than a high frequency machete, energy sword, scalpel, etc. I'd tune it down somewhat. 1.0-1.5? Scalpels are 1.5.

Comment thread code/modules/mining/mine_items.dm Outdated
sharpness = 1.8
force = 15.0
sharpness_flags = SHARP_BLADE | SERRATED_BLADE | CHOPWOOD | HOT_EDGE
origin_tech = Tc_MATERIALS + "=4;" + Tc_POWERSTORAGE + "=4;" + Tc_ENGINEERING + "=6;" + Tc_PLASMATECH + "=5;" + Tc_BIOTECH + "=5;" + Tc_COMBAT + "=4"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Origin tech much higher than design tech. I'd adjust one or the other to match.

@Eneocho Eneocho Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's normal, that's how we get the research path. The origin tech is higher than the research cost so you can scale up the research.
You print the poopshart item (cost: mats 3, power 5), and scan it for mats 5, power 6 and data storage 3, for example.
I do agree that it's a bit overtuned, it pretty much gives you half of the research tree for free once you scan it thrice.

name = "Orange Transparent Chainsaw"
desc = "Yours is the saw that will cut the ice! And people, I guess."
id = "plasmachainsaw"
req_tech = list(Tc_MATERIALS = 4, Tc_PLASMATECH = 5, Tc_ENGINEERING = 5)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above origin vs design tech.

id = "plasmachainsaw"
req_tech = list(Tc_MATERIALS = 4, Tc_PLASMATECH = 5, Tc_ENGINEERING = 5)
build_type = PROTOLATHE
materials = list(MAT_IRON = 6000, MAT_GLASS = 1000, MAT_PLASMA = 6000)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See above increased cost or slowing of toolspeed.

@Cairo283

Copy link
Copy Markdown
Author

Okay git fucked it, I'm done. I can't deal with this jumble of bullshit. Sorry, no chainsaw.

@Cairo283 Cairo283 closed this Jul 22, 2026
@Eneocho

Eneocho commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

I told you man, don't bother with git, browsercode instead.
Unless you plan to autismo max and code a LOT, git is just pain for the humble code neophyte.

if(istype(src, /obj/item/weapon/gun/projectile/mosin/obrez))
return
if(istype(A, /obj/item/tool/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
if(istype(A, /obj/item/tool/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) || istype(A, /obj/item/weapon/pickaxe/drill/orangetransparentchainsaw

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if(istype(A, /obj/item/tool/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) || istype(A, /obj/item/weapon/pickaxe/drill/orangetransparentchainsaw
if(istype(A, /obj/item/tool/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) || istype(A, /obj/item/weapon/pickaxe/drill/orangetransparentchainsaw))

Seems to be the only real issue here

@Eneocho

Eneocho commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

@Cairo283 your only issue it seems was the missing 2 parentheses in the aforementioned comment/review. Just merge that suggested change (can be done in-browser) and it should compile again.

@Eneocho

Eneocho commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

Also, while I agree that this chainsaw would make mining extremely fast without diamond, it could be tweaked such that if it mines ICE tiles, it's as fast as a diamond drill (i.e: only useful in snaxi), else it's about as good as a diamond pickaxe (fast but not instant).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Content Adds something. Neat!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants