Skip to content
This repository has been archived by the owner on Sep 12, 2021. It is now read-only.

Really Robust Tape #490

Merged
merged 17 commits into from
Oct 29, 2020
Merged

Really Robust Tape #490

merged 17 commits into from
Oct 29, 2020

Conversation

AsciiSquid
Copy link
Contributor

@AsciiSquid AsciiSquid commented Sep 30, 2020

About The Pull Request

Adds new tape objects. Complete with the following features:

  • Can be used as a cheap bandage to stop bleeding, or do minor brute repairs to artificial limbs
  • Using tape on someone with disarm intent will wrap them in tapecuffs, which are quick to deploy and remove (only 20 seconds to break out!)
    !EDIT! - Cuff times adjusted. Application is equal to default and break out time reduced to 15 seconds.
  • If the mouth is selected with disarm intent, quickly slap a tape muzzle onto someone's face.
  • Coat small, throwable items in tape to give them a harmless embed effect
  • Coat a pair of fingerless gloves to make improvised gripper gloves
    But that's not all, there is also tape variants!

Industrial Tapes

This includes the duct tape and electrical tape
These tapes can do all of the above and also can be used to repair any item with an obj_integrity.
taped
Note that any sharp item or a pair of wirecutters will remove the tape, and any repairs the tape may have been doing.

Electrical tape will also apply insulation to any item it's wrapped in. You can even apply it to gloves for a pair of makeshift insuls! (Warning, this is stupid and has a 50% of not working)

NOTE: This PR does not add a way to make this tape obtainable currently.
Tape has been added to the engineering lockers.

Why It's Good For The Game

This codebase is basically running on duct tape and sorcery, might as well let the players have some.

Changelog

馃啈
add: Added really robust tape
soundadd: adds tape sounds
imageadd: adds tape pictures
/:cl:

@orange-vivid-planarian orange-vivid-planarian bot added Feature This Pull Request adds new functionality to the game Sound Sprites labels Sep 30, 2020
@Maldaris
Copy link
Contributor

You could add this to the You Tool vending machine

@tiramisuapimancer
Copy link
Contributor

algo maintloot or engienering lockers

@triplezeta
Copy link
Contributor

ascii, for the life of me, please don't use hard black for your electrical tape's outlines

@triplezeta
Copy link
Contributor

also good PR, 10/10

@ADepressedPyroshark
Copy link
Contributor

Electrical tape will also apply insulation to any item it's wrapped in. You can even apply it to gloves for a pair of makeshift insuls! (Warning, this is stupid and has a 50% of not working)

what if I add this to budget insuls?

@Sparrowbird611
Copy link
Contributor

I like this PR. One thing though, you should probably remove the other method of making gripper gloves if this new one is to be the intended method. The recipe can be found in the crafting folder.

Whitesands-Bot added a commit that referenced this pull request Oct 1, 2020
@Superyodeler Superyodeler self-requested a review October 3, 2020 00:28
Whitesands-Bot added a commit that referenced this pull request Oct 3, 2020
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

Taped on insulated gloves don't appear on players and are impossible to take off. Also, they work 100% of the time, they only take damage 50% of the time.

The tape overlay on taped up machines only appears for me after reloading the game.

Also, the machines repaired with professional-grade duct tape as their tape_used, and not the other kinds of tape, seem to "forget" what tape was used for them after a few minutes, and start reporting runtimes with null values for their tape_used components. I don't know why they do this.

waspstation/code/modules/clothing/gloves/tapegloves.dm Outdated Show resolved Hide resolved
waspstation/code/game/objects/items/stacks/tape.dm Outdated Show resolved Hide resolved
@Superyodeler
Copy link
Contributor

Also see #504.

Co-authored-by: Superyodeler <51685082+Superyodeler@users.noreply.github.com>
@AsciiSquid
Copy link
Contributor Author

Fixed some of the issues mentioned in comments and #504. Also added duct tape to engineering lockers and packaging tape to the quartermaster locker.

@Superyodeler Superyodeler self-requested a review October 10, 2020 21:58
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

Finally figured out what was causing those runtimes, InheritComponent was being passed an null taped component and was causing runtimes when it tried to pull a tape_used out of it.

waspstation/code/datums/components/taped.dm Outdated Show resolved Hide resolved
@Superyodeler Superyodeler self-requested a review October 14, 2020 02:15
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

Pretty sure I've figured out why the tape keeps vanishing from the taped up machines for me but not for you. If the tape roll used on the machines gets used all the way up, it gets deleted, and after some random amount of time, the taped component's tape_used value becomes null.

In addition, there is a runtime when using tape on a wall because it tries to fix the wall but the wall doesn't have an integrity.

It is also possible to attempt to use tape to repair your mood by clicking on the hud icon.

waspstation/code/datums/components/taped.dm Outdated Show resolved Hide resolved
@Superyodeler Superyodeler self-requested a review October 20, 2020 03:38
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

The tape object being deleted doesn't cause problems anymore, but attempting to repair a wall still causes a runtime. In addition, I discovered that you can use duct tape on an object from any range, not just right next to it.

@AsciiSquid
Copy link
Contributor Author

Finally found the issue with the walls, apparently I fudged the type sanitization and forgot to check proximity flags. After banging my head on the desk for a few hours I added the corrections. Gameplay-wise an intent requirement was added to prevent overlap of the embed tape application and repairing tape application.

To apply the embed to items use disarm intent, to repair any obj use help intent and hopefully no more bugs ever again.

@Superyodeler Superyodeler self-requested a review October 20, 2020 21:18
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

One more issue: autolathes currently cannot be repaired with tape with this change, they just spit out the message, "The professional-grade duct tape does not contain sufficient materials to be accepted by the autolathe."
The protolathes also send this message, but they get repaired anyways.

@AsciiSquid
Copy link
Contributor Author

that seems to be more a bug with the lathes than the tape, not really a graceful way to bypass the material component calls

Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

Found an item_flag that prevents the autolathe from trying to eat the tape, allowing it to actually get applied.

waspstation/code/game/objects/items/stacks/tape.dm Outdated Show resolved Hide resolved
@Superyodeler
Copy link
Contributor

It looks like the reason this works is it gets the Autolathe's Material_Container's OnAttackBy proc to return before it can cancel the afterattack.

A

Co-authored-by: Superyodeler <51685082+Superyodeler@users.noreply.github.com>
@Superyodeler Superyodeler self-requested a review October 21, 2020 00:57
Copy link
Contributor

@Superyodeler Superyodeler left a comment

Choose a reason for hiding this comment

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

I think it works now.

Whitesands-Bot added a commit that referenced this pull request Oct 22, 2020
@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@Superyodeler
Copy link
Contributor

This has passed the vote and been approved, just needs a merge now.

@Maldaris Maldaris merged commit 1e320bf into Whitesands13:master Oct 29, 2020
@AsciiSquid AsciiSquid deleted the ducttape branch January 7, 2021 20:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Feature This Pull Request adds new functionality to the game Sound Sprites
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Really Robust Electrical Tape make gloves so robust they delete itself from the universe
8 participants