Skip to content

Commit

Permalink
Angle grinder AGAIN! Also, makes plasma cutters used for salvage inst…
Browse files Browse the repository at this point in the history
…ead of mining (and base gearpacks) (shiptest-ss13#3146)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
re-implements shiptest-ss13#1716 as a base and adds cutter functionality to plasma
cutters
also implements and uses gear packs from shiptest-ss13#2103 that never got in.
makes plasma cutters unable to mine, shorter range, and do burn instead
of brute.
angle grinders are integrated into grinder packs, like water backtanks.
Also draws power from a cell.
jackhammers can no longer break down walls and girders.
- girders
- walls
- reinforced walls
- airlocks
- airlock frames
- grilles
- machine frames
- computer frames
- catwalks
- chairs
- beds
- tables
- lockers & crates
- salvage machines (the wasteplanet ones)
- railings
- lattice
- wooden barricades

cutters can also cut open safes and locked lockers & crates

attempted to revert map changes but using git checkout doesn't
completely revert the gecko. Will try again later.

adds a mech salvage saw and a prototype energy saw. Doesn't make either
available yet.

sprites by me

![image](https://github.com/shiptest-ss13/Shiptest/assets/90987989/65bd6b99-d63d-4c75-9227-a9987fddf9d2)

https://github.com/shiptest-ss13/Shiptest/assets/90987989/12262338-055f-4c7c-86d1-d31279ab953c

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
Jackhammers as a main salvage tool is dumb, and angle grinders and
cutters make more sense and have better functionality. Cutting apart old
ruins and ships should be a reasonable source of material and shouldn't
take years.
<!-- Please add a short description of why you think these changes would
benefit the game. If you can't justify it in words, it might not be
worth adding. -->

:cl:
add: angle grinders for salvage
add: reworks plasma cutters for salvage
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Signed-off-by: HelmCrab <[email protected]>
Co-authored-by: ritorizo <ritorizo@localhost>
Co-authored-by: FalloutFalcon <[email protected]>
Co-authored-by: FalloutFalcon <[email protected]>
  • Loading branch information
4 people authored and MrCat15352 committed Dec 24, 2024
1 parent 41bb633 commit 8b0d1d2
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 26 deletions.
21 changes: 1 addition & 20 deletions code/game/objects/structures/girders.dm
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,7 @@
playsound(src, 'sound/machines/clockcult/integration_cog_install.ogg', 50, TRUE)
add_fingerprint(user)

if(istype(W, /obj/item/gun/energy/plasmacutter))
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
if(W.use_tool(src, user, 10, volume=100))
to_chat(user, "<span class='notice'>You slice apart the girder.</span>")
var/obj/item/stack/sheet/metal/M = new (loc, 2)
M.add_fingerprint(user)
qdel(src)

return

else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
to_chat(user, "<span class='notice'>You smash through the girder!</span>")
new /obj/item/stack/sheet/metal(get_turf(src))
W.play_tool_sound(src)
qdel(src)

return


else if(istype(W, /obj/item/stack))
if(istype(W, /obj/item/stack))
if(iswallturf(loc))
to_chat(user, "<span class='warning'>There is already a wall present!</span>")
return
Expand Down
15 changes: 15 additions & 0 deletions code/game/turfs/closed/_closed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,21 @@

return FALSE

/turf/closed/deconstruct_act(mob/living/user, obj/item/I)
var/act_duration = breakdown_duration
if(!I.tool_start_check(user, amount=0))
return FALSE
to_chat(user, "<span class='notice'>You begin slicing through the outer plating...</span>")
while(I.use_tool(src, user, act_duration, volume=100))
if(iswallturf(src))
to_chat(user, "<span class='notice'>You slice through some of the outer plating...</span>")
if(!alter_integrity(-(I.wall_decon_damage),user,FALSE,TRUE))
return TRUE
else
break

return FALSE

/turf/closed/mech_melee_attack(obj/mecha/M)
M.do_attack_animation(src)
switch(M.damtype)
Expand Down
7 changes: 2 additions & 5 deletions code/modules/projectiles/guns/energy/special.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@

heat = 3800
usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg')
tool_behaviour = TOOL_WELDER
tool_behaviour = TOOL_DECONSTRUCT
wall_decon_damage = 200
toolspeed = 0.7 //plasmacutters can be used as welders, and are faster than standard welders
toolspeed = 0.9 //plasmacutters can be used like angle grinders, and are a bit faster
internal_cell = TRUE //so you don't cheese through the need for plasma - WS EDIT
var/charge_cut = 100 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of cutting
var/adv = FALSE
Expand Down Expand Up @@ -211,9 +211,6 @@
wall_decon_damage = 300
ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv)

wall_decon_damage = 200
toolspeed = 0.4

/obj/item/gun/energy/wormhole_projector
name = "bluespace wormhole projector"
desc = "A projector that emits high density quantum-coupled bluespace beams." //WS Edit - Any anomaly core for phazons
Expand Down
2 changes: 1 addition & 1 deletion code/modules/projectiles/projectile/special/plasma.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
damage_type = BURN
damage = 15
range = 4
dismemberment = 20
dismemberment = 10
/// chance that the plasmablast ruins the ore
var/slag_chance = 33
impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser
Expand Down
2 changes: 2 additions & 0 deletions code/modules/surgery/organic_steps.dm
Original file line number Diff line number Diff line change
Expand Up @@ -152,9 +152,11 @@
implements = list(
TOOL_SAW = 100,
/obj/item/melee/axe/fire = 50,
/obj/item/gear_handle/anglegrinder = 50,
/obj/item/melee/arm_blade = 40,
/obj/item/hatchet = 40,
/obj/item/melee/knife/butcher = 33,
/obj/item/gun/energy/plasmacutter = 30,
/obj/item = 10) //10% success (sort of) with any sharp item with a force>=10
time = 5.4 SECONDS
preop_sound = list(
Expand Down

0 comments on commit 8b0d1d2

Please sign in to comment.