GithubHelp home page GithubHelp logo

samfundev / ktanetwitchplays Goto Github PK

View Code? Open in Web Editor NEW
46.0 6.0 38.0 37.64 MB

A mod that allows Twitch chat to solve bombs in KTANE.

License: MIT License

C# 99.55% ShaderLab 0.45%
ktane twitch-plays

ktanetwitchplays's Introduction

Twitch Plays: Keep Talking and Nobody Explodes

Twitch Plays: Keep Talking and Nobody Explodes

This mod adds Twitch Chat direct control into Keep Talking and Nobody Explodes, very much inspired by the original Twitch Plays Pokémon channel.

Latest Build

If you want to install the mod, you can always get the latest build from here.

Building the Mod

If you want to build the mod yourself you can follow the instructions found here.

Wiki

There is a wiki for this project, which covers all of the steps of how to setup TP:KTaNE, goes through all of the commands available to Twitch Chat and any other information you might need to know.

To-do List

We track enhancements and bugs in the issues tab. If you have something you found a bug or have a new idea for a feature post it there.

Original Repository

This mod was originally made by ashbash1987 and was located here. Thanks to him for the original code which we continued from.

ktanetwitchplays's People

Contributors

andriocelos avatar bakersdozenbagels avatar blckhawker avatar caitsith2 avatar elias5891 avatar eternityshack avatar exish avatar fang1217 avatar kavinkul avatar kingbranbran avatar kscl avatar marksam32 avatar meithecatte avatar mrpeanut1028 avatar peterred4091 avatar qkrisi avatar red031000 avatar relative avatar rocket0634 avatar samfundev avatar strike-kaboom avatar timwi avatar vflyer avatar xeocas avatar zeknikz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ktanetwitchplays's Issues

make letters optional

create a setting that allows you to toggle between the letters style of tagging, or the numbers style of tagging.

Add a search command.

Players have wondered about the possibility of adding two commands:

1.) A command to list any module of a given module name, with number and status.
2.) A command to list any/a selection of unclaimed modules, with numbers and names.

update command list

While this issue has been mostly resolved, there is still a lack of documentation concerning the ranked-user commands; they haven't been updated to reflect the changes in commands for mod+ and super-user+ users.

Feature Request? Per Bomb Leaderboard

As opposed to the blank/solo leaderboard appearing on the left hand side of the conclusion screen, it would be nice to see a mini-leaderboard showing just the stats from the bomb that just finished, as a way of measuring how well everyone did head to head on that one particular instance.

-From twitch chat suggestion.

Make find command target be case insensitive

Please make the find command target be case insensitive. I know I saw Nightmare use find for "Follow" searching for FTL, but it needed to be "follow" for the find to work right. Boo.

Claims queue suggestion

This suggestion is twofold.

The first suggestion is that claim commands should be held in a queue. If a module becomes available that you tried to claim before, or one of your own claim slots becomes available, TP would automatically allocate that module to you. Accordingly, the unclaim command would remove a module from your queue if it’s in the queue but not yet claimed.

The second suggestion is that if a player has played a specific module within the last X amount of time (24 hours?), they cannot claim a module within the first 10 seconds of the bomb, but instead their claim goes into their queue. If nobody else claims the module within those 10 seconds, nothing changes; all it does is give other people a chance to play the module so that one person with a slightly faster internet connection doesn’t hog it.

Finally, the !take command should also add the module to the queue so that it is automatically claimed when the player unclaims it or it becomes available after the timeout.

Add a "resetuser" command

Add a command that moderators could use that would reset a user's score, solves, and strikes. Currently this requires 4 steps.

Zen mode bombs can blow up

Due to zen mode bombs not carrying over the strike limit from bomb to bomb, zen mode bombs can blow up.

When a module is claimed to the queue...

When a module is claimed to the queue, it says, "Rexkix, you may only have 3 claimed modules."
Instead say, "Rexkix, you may only have 3 claimed modules. Claim is queued."

Make the Find command accept more than one module name.

A lot of the time people issue multiple find commands and it crowds the chat. Maybe it would be better if a bunch could be combined on one line. I don't know if the responses should be on one line or on separate lines.

make letter codes case insensitive

some commands involving letter codes have the codes as case-insensitive, some require capitals, consider making all commands have the codes as case-insensitive.

!help does strange stuff when between bombs

!help mentions gives "help" for two random numbered modules and it's not helpful info.

Again, this appears to have been introduced when module IDs changed from numbers to letters.

Some modules have their help messages removed when the mod is installed

Specifically tested with Cheap Checkout - but the count for "helpText": null goes up to 50 when running ktane through steam. When running locally with no changes to ModuleInformation.json, that count goes down to 17 (Mostly missing needies and translated modules, as I need to encounter them for their help messages to appear) and immediately goes back up to 50 when running with steam again.

With the current latest build of Twitch Plays ( bf56513), I have been seeing rising cases of help messages going missing when they had worked prior. After doing some testing, it appears that with modules that have help messages defined in ComponentSolverFactory help messages are not showing up when its related module is installed in any capacity. Running Ktane without these modules installed will have the help messages displayed correctly - however, running ktane with the modules installed will actually override working messages with "null" along with manual codes. (However, the default manual codes still show up when typing !{0} help)

Alternatively, I do believe that Twitch Plays should automatically add help messages if it detects null or blank messages. But this issue will still need to be addressed first before getting to that. Let me know if a separate issue should be added in regards to adding help messages in blank situations.

Timemode appears to be broken

Timemode doesn't add time add when modules are solved. I think this happened when the module IDs changed from numbers to letters.

Request: Banned rank

Would like an access level that can be assigned to users that prohibit them from making any commands that will be executed by the bomb (optimally, with option for if it gives a message or not).

Allow API to be called if not focused

Certain "API methods" would be useful if they could be called without having to focus in the module.
Basically any API that sends something to the chat should be able to do this.

Request: Restriction on on claimany/claimmod

Would be nice if these commands (and related commands) excluded souvenir, turn the key, and turn the keys (modules that can't be actively worked on by players, and would just eat up a claim slot)

Zoom bug

When playing with camera zoom, zooming out the bomb causes the module in the top-left view slot to pop-out of the bomb, causing a weird view glitch

New command: findplayer

For Souvenir, I find people often need to do a !find module to find a a module ID, then do !id player to see who did it.

Why not combine the two into a "findplayer" command?

:)

Limit the amount of module types one can do in a "findclaim" command

Lately, I've seen people gobble up all their favorite modules using a "findclaimall ;;;etc..." command. They've got it queued up in the beginning before the bomb is even shown. Personally I think this is greedy and rude. It also starts up a war of people competing with each other to do the same thing. This can get out of hand.

I recommend that you limit the number of module types that can be findclaim'ed. Also, I'd put a cooldown on repeated findclaim commands. This way they'd have to share modules with others.

Minor bug: Reward distribution

The end-of-bomb reward for a successful disarming incorrectly reads the person who solves the last module as being added to the list after awards are given (thus, if that's their first module, they get no reward, but will on the next regardless)

Claim+view suggestion

The majority of the times someone claims a module, they also want to view it. Currently, this requires two separate commands (claim and view).

At the very least, it would be nice if one could write !# claim view in one command. However, even that is something the player can easily forgot and only notice after the Twitch stream delay.

Therefore, I think it would be preferable to default to viewing the module as part of the claim command so that the player doesn’t have to worry about it. (A separate !# claim noview command could be added, but it’s doubtful anybody would use it.)

Allow for !updatemessage [mod]

While it's common practice for people to edit their own ModuleInformation.json files at any time, and then use !reloaddata while they're streaming, it's come to my attention that there may be some people who stream via full screen or otherwise can't access their ModuleInformation file while they're streaming.

Is it possible to have a command that updates the help message or ManualID via a streamer-only or mod-only command?

And on that note, maybe an !updatetodefault [mod] or something? Since the moduleinformation doesn't update if there's new help text in the TwitchPlaysAssembly. (It's probably important to keep it like that so that people's individual changes don't get overridden by updates)

General Help on a web page

If somebody does a !help command, TP should respond with help for some of the most basic commands (e.g. !25 claim or !25 view), but it should also give a link to a web page that documents all the general purpose commands (e.g. !find, etc.)

As it stands, many commands like !find are only known by people in the know. Others have to learn about them by watching them be used. There should be a place where people can learn about all the commands that are supported.

If it helps, I volunteer to help maintain this page.

Consider automatically lower-casing commands

Some modules incorrectly accept only commands in lower case. At the risk of breaking future modules which could depend on case (which is a bad idea, IMO), lower case all commands (and arguments) for modules so they can't make that mistake.

Add a "Notes" field

Sometimes people want to remember things like FMN numbers. Would be nice to have a separate field for storing notes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.