Coder Social home page Coder Social logo

slackwolf's People

Contributors

achris07 avatar awright022 avatar bazz-066 avatar bboe avatar cameronpickham avatar chrisgillis avatar grumpymurloc avatar hueyl77 avatar ilari-makimattila avatar jmaglangit avatar josephredfern avatar leoskyrocker avatar owena11 avatar robertod avatar shrink avatar steefmin avatar stevenspasbo avatar thatoneguydotnet avatar zkleinfeld avatar zurbergram 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

slackwolf's Issues

Stuck on "connecting..."

I've got a pretty standard setup. MAMP pro/PHP 5.5.24 on OSX El Capitan.

Created blank bot and setup .env file with correct name/token.

Any ideas on how to debug this?

Crashing with no helpful logs

Running via Docker. The container will crash multiple times per day (during games), with no logs other than the "connecting" + "connected" message telling you that it has rebooted.

Game without Seer

Game won't start without the Role of Seer.

How to replicate:
1 . !option role_seer off
2. !option game_mode chaos

Implement role: Cupid

Unsure if you want to implement roles from similar werewolves type games (such as Werewolves of Miller's Hollow - the village), but Cupid is a fun role to have in the game.

If in doubt, this are the rules of Cupid/Lovers:

Cupid wakes up during the setup night phase and chooses two people to become Lovers. Cupid returns to sleep Lovers wake up, learn who the other is, and are told each others roles.

For the Lovers to win, they need to be the only two left alive; otherwise they win with the village if the village wins. Lovers are unable to vote for each other, and they're not allowed to declare that they're Lovers (well, you can let them, but then they're easy pickings for the wolves).

If a Lover dies, the other Lover dies of heartbreak.

Implement role: Lycan

The Lycan is on the Villager team. They appear to the Seer as if they are a werewolf. This villager role makes the game harder for the villagers.

Implement role: Hunter

The hunter is on the Villager team. When the hunter dies, he may choose another play to die with him.

Slack rich message formatting

Hey there,

First of all: thanks a lot for creating this bot! This has been a lot of fun for my team.

I wanted to make a small feature suggestion: using Slack's rich message formatting. Using it could make the messages from the bot a bit easier to read. Here is a short demo using Slack's message formatting builder of how you could use this for the "Town Ballot" announcement (just an example, of course). I think it looks pretty good:

Example

I'm totally unfamiliar with PHP so I'd have no idea where to start implementing this, so thought I'd see how you felt about it.

Improve Testability/Development Tooling

Right now the Slackwolf codebase is pretty light on the ease of development front. Near as I can tell, you basically have to have at least 2 other users to test just about any part of the application. Is there another way? I think a "getting started contributed" guide would be immensely helpful.

D1 is skipped when no seer

If there is no seer, the game starts immediately on Night 1 (essentially giving wolves a free kill)

Steps to replicate: create a new game with no seer.

Time Limit as an option

Add an option to impose a time limit on Nights and Voting for specific games (in minutes).

e.g.

# set 60 minutes time limits
!option time_limit_night 60
!option time_limit_day 60

# to turn off
!option time_limit_night 0
!option time_limit_day 0

!remindMe after !join crashes app

/usr/bin/php /Users/matthewroth/dev/projects/slackwolf/slackwolf/bot.php
Connecting...
Connected.
Slackwolf\Game\Command\NewCommand U49KL4LLF C8AAN37T3
Slackwolf\Game\Command\RemindCommand U49KL4LLF C8AAN37T3

Notice: Trying to get property of non-object in /Users/matthewroth/dev/projects/slackwolf/slackwolf/src/Game/Command/RemindCommand.php on line 42

Fatal error: Call to a member function getName() on null in /Users/matthewroth/dev/projects/slackwolf/slackwolf/src/Game/Command/RemindCommand.php on line 42

Process finished with exit code 255

Implement !vote noone

Add the ability to vote for noone such that the villagers don't have to lynch someone during the day if they dont want to.

New Role

What about role called something like Village Dunce, where there actions don't affect anything but they are told they are another role?

Or Actor role that is told is werewolf but whose kill votes don't count

Werewolves are so uncreative

They're always killing people the exact same way. Some randomized death text would be a fun, easy feature for new contributors.

Game won't start

Hi, this may just be something that I have overlooked, But I have my bot installed and typed !new, lobby started.

Three of us try to !join
I type !start
and keep getting the minimum of 3 players error. Is there something that I am missing?

installed via composer

Bodyguard Save Persisted Across Turns

We just played a round. On night 3 the body guard tried to save person 4. That night the only body guard died, yet somehow on night 4 person 4 was saved. It would appear that the save somehow persisted to the next night despite the death of the body guard.

Cannot Start New Game

I got an e-mail from a team trying to play:

We can not start a game. The log is Cannot start a game with less than 3 players..

We have six people in the slack channel.
What we have done is

  • type in !new in #general channel, and log is A new game lobby has been created. Type !join to play the next game.
  • make everyone type !join in channel
  • tap !start, then show the log Cannot start a game with less than 3 players.

Seer shouldn't get info on Death

It seems that the seer shouldn't have any information revealed to them until all the wolves have voted. Otherwise, the seer is able to leak information even if they are killed in the night.

Implement role: Tanner

The tanner is neither a villager or a werewolf. Does not know the werewolves. The tanner may only win if he is killed. The game ends as soon as the tanner is killed.

Implement role: Witch

Witch: Kill or heal a player at night, once each per game. On the Villager team.

You'll need to modify !kill and create !heal

Implement !new and !join

After playing a lot in Slack, it seems like it would be better if we moved more to a 'i want to start a new game, everyone !join it' rather than '!start @user1 @user2 @user3' or '!start' (rarely everyone is at keyboard)

I want to move to a system that looks more like this

Usage: !new
@me: !new Classic 6
@user1: !join
@Werewolf-Bot: Classic 6 players: @user1
@user2: !join
@Werewolf-Bot: Classic 6 players: @user1,@user2
@user3: !new Classic 4
@Werewolf-Bot: Lobby already in progress.
@me: !start
@Werewolf-Bot: Not enough players to start yet.
@me: !end
@Werewolf-Bot: Game cancelled.

Pentakill!

Hi!

Absolutely loving the game!
We implemented it in our organisation and are having lots of fun with it.
We're not super tech-savvy (and we may play by different rules), so this may come across as an ignorant question, but we were wondering if the following was a bug or a feature:
We had a 5-way split vote, each with 1 vote. The result was that all 5 votees died.
This has also been seen with a 2-way split vote.

Was just wondering if bug or feature!
I've attached a screenshot for you below:
Thanks for providing an amazing bonding experience for our team :)
screen shot 2016-05-12 at 8 24 26 pm

Implement role: Beholder

Villager. On the first night, the Beholder is shown the Seer.

I feel like Beholder is great for new groups in games of 7+, really helps get the players talking

Does the cursed role work?

I can't seem to get it to work, they die normally and I can't find any logic in the game to say it would work.

It's Always Raining In the Village

Someone earlier in the development of Slackwolf introduced a weather command and added weather fluff to several descriptions in the game text.

However, it never changes. It's raining more than Seattle up in this village.

Illegal offset type

Hey, just trying out this project on OSX El Capitan.

I've got PHP v5.5.30, installed composer locally into the slackwolf folder, set up the .env file with the right bot name and token.

It connects successfully:

Connecting...
Connected.

But after typing !help in slack I get:

Slackwolf\Game\Command\HelpCommand U030LKBA7 C0H2WTUP2

Warning: Illegal offset type in /Users/hjwylde/git/chrisgillis/slackwolf/vendor/coderstephen/slack-client/src/RealTimeClient.php on line 202

Catchable fatal error: Argument 2 passed to Slack\ApiClient::send() must implement interface Slack\ChannelInterface, null given, called in /Users/hjwylde/git/chrisgillis/slackwolf/src/Game/Command/HelpCommand.php on line 29 and defined in /Users/hjwylde/git/chrisgillis/slackwolf/vendor/coderstephen/slack-client/src/ApiClient.php on line 337

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.