Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PORT] Add mantis blades (new traitor item) #27594

Draft
wants to merge 36 commits into
base: master
Choose a base branch
from

Conversation

MiraHell
Copy link

@MiraHell MiraHell commented Dec 9, 2024

What Does This PR Do

Adds a new traitor item acquirable through any uplink for 60 TC. For your TC, you receive a box. Inside the box are two autodocs, one for each arm. Once used, they will implant a set of two retractable blades into your body. The Syndicate version deals 20 damage and has 30 armor penetration, while the NT version deals 18 damage and has no armor penetration.
These blades can parry non-projectile attacks, with the Syndicate version having a 75% uptime and the NT version having a 60% uptime. With a cooldown of 1.5 seconds (every second attack), both blades will attack at once. They can also pry open doors when used together. A Nanotrasen version is included and can be printed on a protolathe with Syndicate Tech level 6.

Why It's Good For The Game

A new traitor item with cyberpunk vibes and new double attack mechanics, a more stealthy but weaker weapon than the dsword or chainsaw.

Images of changes

image
On the right is the NT version and the left is syndie
image

Testing

Spawned uplink, bought mantis blades kit, implanted myself, spawned dummy, killed it with blades, spawned airlock, pryed it with two blades. Printed the NT version on protolate, implanted the monkey with it.


Declaration

  • I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.
    image


Changelog

🆑
add: Added new traitor item: mantis blades, NT version included on syndicate tech 6
/:cl:

original author: EdgeLordExe
tgstation/tgstation#55936
author of yogstation port: enkidienne
yogstation13/Yogstation#11946

@Toastical
Copy link
Contributor

Toastical commented Dec 9, 2024

Is the double attack cooldown intended to be separate to each arm? Switching your attacking hand allows you to do 2 double attacks back to back consistently.

I cannot tell if the video works.

2024-12-09.16-32-23.mp4

@MiraHell
Copy link
Author

MiraHell commented Dec 9, 2024

Is the double attack cooldown intended to be separate to each arm? Switching your attacking hand allows you to do 2 double attacks back to back consistently.

It's not intended, thanks for noticing. I'll try to redo the double attack, linter doesn't like the attack call in pre_attack

I cannot tell if the video works.

Works

@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally Sprites This PR modifies the game sprites -Status: Awaiting approval This PR is waiting for approval internally and removed -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally labels Dec 9, 2024
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting review This PR is awaiting review from the review team and removed -Status: Awaiting approval This PR is waiting for approval internally labels Dec 9, 2024
@MiraHell
Copy link
Author

MiraHell commented Dec 9, 2024

I need help with the attack chain, I don't understand how it needs to be done

@DGamerL
Copy link
Member

DGamerL commented Dec 10, 2024

I'll try to help tomorrow!

@MiraHell
Copy link
Author

MiraHell commented Dec 10, 2024

Thanks Warriorstar for the help with nested types. I'm also planning to add the ability to pry open doors with two blades, and then the PR will be ready for review.

@MiraHell
Copy link
Author

Ready for review ✨

@DGamerL DGamerL added the Balance This PR will modify how effective something is or isnt label Dec 19, 2024
@DGamerL
Copy link
Member

DGamerL commented Jan 1, 2025

Sorry that it's taken so long, I'll take a proper look tomorrow, happy new years!

code/game/machinery/doors/airlock.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
@MiraHell MiraHell requested a review from Burzah January 2, 2025 12:25
Copy link
Contributor

@PopeDaveThe3th PopeDaveThe3th left a comment

Choose a reason for hiding this comment

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

Lore & description pass.

code/datums/uplink_items/uplink_general.dm Outdated Show resolved Hide resolved
code/datums/uplink_items/uplink_general.dm Outdated Show resolved Hide resolved
code/game/objects/items/weapons/storage/uplink_kits.dm Outdated Show resolved Hide resolved
code/modules/research/designs/weapon_designs.dm Outdated Show resolved Hide resolved
code/modules/research/designs/weapon_designs.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
code/modules/surgery/organs/augments_arms.dm Outdated Show resolved Hide resolved
MiraHell and others added 11 commits January 2, 2025 18:33
Copy link
Contributor

@Drsmail Drsmail left a comment

Choose a reason for hiding this comment

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

LGTM

@MiraHell MiraHell requested a review from lewcc January 9, 2025 02:18
Copy link
Contributor

@lewcc lewcc left a comment

Choose a reason for hiding this comment

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

One thing, though it's not tiny.

Comment on lines 1219 to 1226
else if(!ispowertool(I) && !istype(I, /obj/item/melee/mantis_blade))
to_chat(user, "<span class='warning'>The airlock's motors resist your efforts to force it!</span>")
return
if(istype(I, /obj/item/melee/mantis_blade))
var/obj/item/melee/mantis_blade/secondblade = user.get_inactive_hand()
if(!istype(secondblade, /obj/item/melee/mantis_blade))
to_chat(user, "<span class='warning'>You need a second [I] to pry open doors!</span>")
return
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, this feels a bit snowflakey. I think it'd be best to make a quick door-forcing a component with some signals, if you could, and have it applied to items that can force doors.
Feel free to reach out on discord if you have any questions.

Copy link
Author

Choose a reason for hiding this comment

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

Yes, I thought about it, entire airlock.dm is bit snowflakey, but it seemed to me that it was out of the scope of this PR. But I'll think about how this can be done

@MiraHell MiraHell marked this pull request as draft January 11, 2025 15:10
@MiraHell
Copy link
Author

Draft while I'm working on the component

@MiraHell MiraHell requested a review from lewcc January 11, 2025 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-Status: Awaiting review This PR is awaiting review from the review team Balance This PR will modify how effective something is or isnt Sprites This PR modifies the game sprites
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants