skizzerz
2f3e63a02e
Start to fix chk_nightdone for priest/prophet/doomsayer
2015-10-29 22:49:07 -05:00
Vgr E. Barry
a5e2e5ac9e
Wrap up dullahan
2015-10-29 23:04:15 -04:00
Vgr E. Barry
3cefa8057e
Fix vigilante dying regardless of target
2015-10-29 22:37:05 -04:00
Vgr E. Barry
1c0e0194cd
Add doomsayer transformation messages
2015-10-29 22:18:40 -04:00
Vgr E. Barry
fc311bb6a5
Dullahan / Vigilante tweaks
2015-10-29 21:47:25 -04:00
Vgr E. Barry
f73267f6e1
Small tweaks
2015-10-29 17:46:32 -04:00
Vgr E. Barry
922842b49c
Add vigilante
2015-10-29 17:46:23 -04:00
Vgr E. Barry
e1a3ed7bf2
Add dullahan
2015-10-29 17:46:00 -04:00
Vgr E. Barry
c4029d826d
Succubus fixes
2015-10-29 17:44:34 -04:00
Vgr E. Barry
da9a6f5b62
Some succubus fixes
2015-10-29 10:43:01 -04:00
skizzerz
16db66677c
Complete doomsayer (untested)
2015-10-29 01:24:27 -05:00
Vgr E. Barry
3571d664ed
Some succubus fixes
2015-10-29 00:06:00 -04:00
Vgr E. Barry
e3ad8a24db
Make automatic totem aware of entrancement
2015-10-28 22:28:30 -04:00
Vgr E. Barry
c525380be6
Allow !fquit to leave someone from deadchat
2015-10-28 22:17:03 -04:00
Vgr E. Barry
bc8b336640
Finish up succubus
2015-10-28 22:17:02 -04:00
skizzerz
f9d55db79f
Finish prophet
...
pray <role> is kinda awkward, may want to change the command name
2015-10-28 00:09:45 -05:00
Vgr E. Barry
da81909162
Most of succubus
2015-10-27 22:54:18 -04:00
Lukas Martini
2421485875
Remove duplicate demoniac entry in TRUE_NEUTRAL_ROLES in src/settings.py
2015-10-27 23:42:10 +01:00
Lukas Martini
70454bfc3a
Merge branch 'sleepy' of https://phab.skizzerz.net/diffusion/LKOS/lykos into sleepy
2015-10-27 23:34:38 +01:00
Lukas Martini
c80078d7f4
Add first version of the demoniac role
2015-10-27 23:34:09 +01:00
Vgr E. Barry
9765703902
Finish deadchat
2015-10-27 16:24:06 -04:00
skizzerz
be051dde70
Initial work for prophet role
...
!pray command is complete, role is missing night messages as well as
initializing/resetting var.PRAYED in transition_night
2015-10-27 01:02:28 -05:00
skizzerz
dea6052ed5
Rename devout to prophet
2015-10-26 23:09:25 -05:00
Vgr E. Barry
10be2e341f
First draft of the !deadchat pref
2015-10-26 23:49:41 -04:00
Vgr E. Barry
8517dff63d
Add the game events
2015-10-26 23:49:41 -04:00
skizzerz
1a78a2abfb
Add blessed villager template, begin devout
2015-10-26 21:01:34 -05:00
Vgr E. Barry
524773bcdf
Finish the woflchat restrictions for the Halloween events
2015-10-26 10:40:39 -04:00
nyuszika7h
3222d646de
Fix formatting of !start votes
2015-10-26 14:44:07 +01:00
Vgr E. Barry
1fb4fb0418
Syntax fixes
2015-10-25 22:29:21 -04:00
skizzerz
32bd4bed30
Add in possession roles, convert template_restrictions to an ordereddict
2015-10-25 20:43:35 -05:00
Vgr E. Barry
38a35dd3ad
Merge branches 'sleepy' and 'sleepy' of https://phab.skizzerz.net/diffusion/LKOS/lykos into sleepy
2015-10-25 21:40:15 -04:00
Vgr E. Barry
5476bcdf27
Small tweaks to wolfchat restrictions
2015-10-25 21:37:59 -04:00
skizzerz
92741acb2f
Add preliminary sleepy mode
...
Also new entries into ROLE_GUIDE for all of the to-be-added roles and
templates.
2015-10-25 20:04:08 -05:00
skizzerz
f166baeaa9
Add consecrate command for priests
2015-10-25 16:38:46 -05:00
Lukas Martini
99460a3651
Require a minimum number of votes to start a game
2015-10-25 17:21:23 +01:00
Vgr E. Barry
2127b217b7
Add deadchat and wolfchat restrictions
2015-10-23 21:51:57 -04:00
skizzerz
9f4b205c72
Add priest role
...
Right now only the !bless command is active, subsequent commits
will add other commands.
2015-10-23 19:51:01 -05:00
nyuszika7h
87cc9b9875
Revert "Add "HTTP Error 420: I'm a Tea(weed)pot" ping reply"
...
This reverts commit a7cedd2aa9
.
2015-10-23 16:32:01 +02:00
nyuszika7h
a7cedd2aa9
Add "HTTP Error 420: I'm a Tea(weed)pot" ping reply
...
Suggested by ParuNexus.
2015-10-23 10:40:08 +02:00
Ryan Schmidt
f25f90c910
Add amnesiac to SEEN_DEFAULT
...
amnesiac is a hidden role, although detective-types can pierce it the seer is not a detective-type.
2015-10-22 18:58:00 -07:00
Ryan Schmidt
5b91123242
also fix 13p aleatoire
...
I totally misread stats and thought that village needed a boost at 14, whereas the boost was actually needed at 13. At the same time, 14 was relatively good beforehand, so needed to reintroduce something there that advantaged wolves. This may turn out to be too large of a boost, but we shall see.
2015-10-22 15:02:53 -07:00
Ryan Schmidt
16d630daa5
Rebalance high player counts for aleatoire (14+)
...
Village needed a bit of a boost at 14 but were too powerful at 15, so moved GA earlier but postponed hunter until 17. Wolves also needed a boost at 17 so added in a 3rd.
2015-10-22 14:53:36 -07:00
Andrew "FastLizard4" Adams
8f4a9decdc
Add another !ping reply
2015-10-22 13:53:50 -07:00
jacob1
833bdb9828
make classic majority only
...
Classic is old and not so fun anymore, and 7p classic always sucks when it shows up.
Cap lowered to 4p like original classic, also
2015-10-21 16:26:02 -04:00
skizzerz
738ff7a441
Fix alpha wolf biting an immunized person with retribution totem not dying from totem
2015-10-20 22:48:16 -05:00
skizzerz
5a97397cd9
Alpha wolf fixes
...
- Correctly logic out bite interacting with harlot, immunized, and lycan:
- A harlot that isn't home does not get bit and refunds the bite unless
they visit a wolfteam member or visit the unprotected wolves' victim
(in either of those cases, they get bit instead of dying)
- A lycan or someone with a lycanthropy totem that gets bitten
immediately turns to wolf and refunds the bite. The regular wolf kill
still happens too, so this is essentially a freebie for alpha wolf.
- An immunized target dies per normal, but the death from the bite does
not stack with the death from a normal wolf kill for the purposes of
protection (meaning a single protection will guard against both).
- Fix nightdone check so that night doesn't end prematurely if alpha
would be eligible to bite but has already done so previously in the
game.
2015-10-20 22:26:37 -05:00
Vgr E. Barry
8995ec5815
Fix error on starting random
2015-10-19 15:29:55 -04:00
Vgr E. Barry
1a64a72a78
Change variable name
2015-10-19 15:20:10 -04:00
Vgr E. Barry
e4ca30f830
Remove priorities in events
2015-10-19 15:06:02 -04:00
Vgr E. Barry
f1922540af
Change lovers cluster win message
2015-10-19 15:05:28 -04:00
Vgr E. Barry
27f39c916f
Change handling of chk_win events
2015-10-19 15:05:14 -04:00
Vgr E. Barry
04180bc036
Add alternate win condition if only lovers are alive
...
The message could use a better phrasing, but anyway this works.
2015-10-19 14:51:03 -04:00
skizzerz
26e7acc8f8
More fallow/fdeny fixes
...
- Always apply host-based allows/denies even in var.ACCOUNTS_ONLY is set
- Fix display of mixed-mode allows/denies for a particular user
- Make -acc and -host switches operate more intelligently on both the
bare command as well as when given an argument
2015-10-18 20:56:27 -05:00
skizzerz
db0823bb37
Let vengeful ghosts use !retract
2015-10-18 19:20:08 -05:00
skizzerz
15b547ed77
Fix -acc and -host switches on fallow/fdeny
2015-10-18 15:18:55 -05:00
Lane Farrow
a9210b03c4
update simple, notice to track ident@host for users sharing hosts
2015-10-14 20:23:02 -05:00
Vgr E. Barry
45d13846a1
Fix !game and !lynch to not display the same vote twice
...
Players may no longer vote-spam individual players (or mistakenly vote
the same person/game mode twice)
2015-10-13 16:46:21 -04:00
Vgr E. Barry
4befeef033
Add missing period
...
That'll teach me to merge early
2015-10-13 10:16:29 -04:00
acz13
33f99d03a9
Update settings.py
2015-10-12 19:22:19 -04:00
acz13
1cfd36eedd
abra0's suggestion
...
<+abra0> petition to add "I'm sorry I can't do that Dave" to !ping responses
2015-10-12 19:07:41 -04:00
jacob1
a83911f054
fix error when returning to the game via /nick
2015-10-11 21:59:00 -04:00
jacob1
3845d4e0b3
fix matchmaker, warlock, and piper causing night to end early if they !quit after acting
...
alpha wolf and turncoat also aren't removed from variables when quitting, but chk_nightdone checks if those roles are still in pl for some reason
2015-10-09 12:44:40 -04:00
Vgr E. Barry
6dd8f88bf6
Ensure socket is closed unconditionally (re: #169 )
...
I cannot reproduce the bug locally, but this will force the socket to
close if it didn't for whatever reason, which is what seems like could
have caused the issue.
2015-10-08 12:03:08 -04:00
jacob1
7a058f77e7
fix !swap bugs
...
Didn't remove players from var.DISCONNECTED, leading to idling out every 10 seconds and getting lots of stasis while still being in the game
Didn't actually check whether the player was in channel or not
2015-10-06 23:01:39 -04:00
jacob1
0ac28c290b
fix bot not being able to connect to some strange networks
2015-10-04 00:14:30 -04:00
skizzerz
da762e6d73
Fix pl not being updated with chained deaths in del_player
2015-10-03 22:12:42 -05:00
jacob1
651c46d6a5
don't stop the game on error
2015-10-03 22:46:02 -04:00
jacob1
b047963cdb
fix !roles roles erroring
2015-10-03 22:44:48 -04:00
jacob1
86ae193541
fix hag not working
...
broken in d9812e552d
(blame woffle)
2015-10-03 19:01:53 -04:00
jacob1
5048af853e
fix players not being devoiced when unidentifying mid game
...
fixes flaw in 151d010047
2015-10-03 17:57:44 -04:00
jacob1
c8dea37284
devoice all players before faftergame commands get run
2015-10-03 17:37:41 -04:00
jacob1
3f112b19bc
fix previous !fjoin commit not working
2015-10-03 16:27:22 -04:00
jacob1
4612c0dec5
fix using !frole to join a new player during a game
2015-10-03 16:26:09 -04:00
jacob1
1e420a0235
!fjoin checks if the bot is opped before joining the list of players
...
prevents mass spam ...
2015-10-03 16:25:29 -04:00
jacob1
9c36602e21
fix error when lover changes nickname and then is matched again
2015-10-03 16:12:45 -04:00
Vgr E. Barry
151d010047
Fix devoicing someone twice when they unidentify
2015-09-30 08:38:35 -04:00
nyuszika7h
d1902392ba
Add missing import
2015-09-22 23:02:51 +02:00
skizzerz
5132908397
Fix alpha wolf issues
...
- Make bite able to end night
- Bite was always working even if the target was immunized
- Ensure protection applies when killing a target that was
immunized-but-bitten
2015-09-21 22:33:52 -05:00
jacob1
4a471d39b1
fix error handler not displaying errors on startup
2015-09-18 00:02:40 -04:00
Emanuel Barry
112ffdf80b
Fix indent (blame woffle)
...
You can't `.update()` a dict you're currently iterating over.
2015-09-13 10:17:03 -04:00
skizzerz
d9812e552d
Lots of shaman fixes (blame jacob1)
...
- var.SHAMANS now properly stores who is actually receiving totem, as it
should. It now holds a tuple so it can still track the original target
for purposes of letting shaman know if target changed.
- properly reset all totem vars before handing them out so totems don't
last for multiple days.
- luck/misdirection now applies before exchange totem is checked, making
it consistent with every other role ever.
completely untested, but should be fine :)
2015-09-13 00:04:24 -05:00
nyuszika7h
aaddfb5a93
Fix never reached condition
2015-09-09 18:07:34 +02:00
Vgr E. Barry
0219941d08
Get rid of conceal_roles in the game_mode decorator
...
A game mode is considered "hidden" if it doesn't have a `ROLE_GUIDE`
attribute. The `default` game mode was modified to have those
attributes, and is not hidden.
2015-09-09 10:37:45 -04:00
Vgr E. Barry
4810bb408f
chr(32)
2015-09-09 10:05:03 -04:00
Vgr E. Barry
d427bd8ca4
Move the try-except block in evilvillage's chk_win
2015-09-09 10:04:41 -04:00
nyuszika7h
384ee8495c
Merge pull request #165 from lykoss/better_gamemodes
...
Update handling of game modes
2015-09-09 16:01:39 +02:00
Vgr E. Barry
c37631e90c
Update handling of game modes
...
This change moves the game modes into their own `src/gamemodes.py`, and
also allows setting game modes via `gamemodes.py`.
2015-09-09 09:57:41 -04:00
jacob1
9467a21279
fix some comments in transition_day to be on their own line
2015-09-09 01:36:10 -04:00
jacob1
50dc87938a
allow hunter to pick a new target if their old one idles/quits
...
It also sends hunters/ghosts a message informing them of this
2015-09-09 01:18:39 -04:00
jacob1
4257de5f76
fix hunter being able to use 'pass' after killing on a previous night (ending night early)
2015-09-08 23:24:38 -04:00
jacob1
0246698b87
fix !roles # to work as intended
2015-09-08 23:03:24 -04:00
jacob1
5b62c5c3f6
minor fix, sometimes used 'seems' when it should have used 'seemed'
2015-09-08 22:56:33 -04:00
nyuszika7h
adec2362e4
Fix bot breaking with fake nicks
...
(blame @skizzerz)
2015-09-07 20:19:20 +02:00
skizzerz
6a0a0bdbd0
Fix fjoining people stasised by hostmask
2015-09-06 15:16:06 -05:00
nyuszika7h
8a90145474
Case-insensitively compare the bot's nick when checking for PMs
...
Closes #161 .
2015-09-06 11:46:49 +02:00
skizzerz
2bd5acab53
fix fallow/fdeny redux
2015-09-05 22:09:22 -05:00
skizzerz
5e1fb7dbcf
fix fallow/fdeny
2015-09-05 22:01:25 -05:00
Ryan Schmidt
458d678009
Merge pull request #159 from lykoss/ident-support
...
Expand host-based variables to take full-on hostmasks
2015-09-05 19:59:01 -07:00
skizzerz
07fdf64aae
Fix fool winning
...
If a fool is also a lover and they are lynched, they don't win (but
their lover might depending on bot settings).
Fixes #162
2015-09-05 18:19:24 -05:00
skizzerz
2cf278f9b1
Fix turncoat not being seen as vil
...
(it may have possibly never worked ever but just noticed now because
this was the first game with seer+turncoat)
2015-09-04 20:00:58 -05:00
skizzerz
88180a1ec2
Revert "Make fallen angel become assassin in all cases"
...
This change negatively impacts balance, assassin should in general never
be applied to any role the other team is required to kill in order to
win. Alpha wolf is the exception here, not the rule, since there is
counterplay involved with alpha biting GA (GA is likely immunized, can
guard self, game might end before turning, etc.) that simply does not
exist in other instances.
This reverts commit 3eb437fad6
.
2015-09-04 19:33:58 -05:00
jacob1
028c5c9ae2
fix crash in games with traitor / wolf cub
2015-09-04 18:39:41 -04:00
Vgr E. Barry
3eb437fad6
Make fallen angel become assassin in all cases
...
Not just from getting bitten by alpha wolf, but also from turning from
amnesiac, and also if in the default role rotation (this one currently
doesn't affect any game modes, but in the future it might).
2015-09-04 11:49:30 -04:00
Vgr E. Barry
279328296d
Fix 'devoice' parameter not working in some cases in del_player
2015-09-04 08:25:50 -04:00
skizzerz
f5ec9c9627
Expand host-based variabls to take full-on hostmasks
...
This allows for things like making ADMINS/OWNERS take a full hostmask,
or fallowing/fdenying a full hostmask with wildcards. It also allows for
a distinction between two people that share a hostmask but have a
different ident.
stasis now checks all matching stasis and returns the highest amount
fallow/fdeny have two new options -acc and -host to explicitly specify
what type the argument is
-cmds in fallow/fdeny show commands from all matching masks, to bring it
in line with how actual allow/deny parsing works, before it would only
show the first match
2015-09-03 19:38:59 -05:00
Vgr E. Barry
0d316d1ec6
Fix bot not devoicing player during day/join phases
2015-09-03 17:05:00 -04:00
Vgr E. Barry
5294f92c6c
Add !games to show the available game modes
2015-09-03 12:00:40 -04:00
Vgr E. Barry
609f3282b8
Fix missing name error
...
The worst part is that I tested that change quite a lot
2015-09-02 22:31:16 -04:00
Vgr E. Barry
bd93e96445
Improve !fgame to allow an arbitrary number of spaces
...
This also allows to be a bit more liberal with the punctuation
2015-09-02 18:37:49 -04:00
Vgr E. Barry
d827eae2d8
Add option to devoice players during night
2015-09-02 17:48:58 -04:00
Vgr E. Barry
78465c9769
Perform game-ending checks for random earlier on
2015-09-01 23:14:44 -04:00
Vgr E. Barry
245bc57b66
Separate chk_win in two functions
2015-09-01 23:13:10 -04:00
Vgr E. Barry
7702509f90
Fix changing nicks in join phase not working
2015-08-31 19:20:54 -04:00
jacob1
e4c53906fb
fix !swap when the player you are replacing already disconnected
2015-08-31 11:57:19 -04:00
Vgr E. Barry
2a35212ca4
Fix fallen angel's kill playing the wrong message
2015-08-29 20:56:26 -04:00
Vgr E. Barry
1fe1a7bfb3
Fix leftovers from the data types refactor
2015-08-29 20:56:15 -04:00
Vgr E.Barry
aca7ea418f
Mass refactor of the data types
2015-08-29 23:45:44 +02:00
nyuszika7h
fa7cec485b
frole: Add new players to default role and voice them
2015-08-28 16:13:15 +02:00
jacob1
5bc3a96203
fix duplication and possible empty player list in the message previously charmed players get
2015-08-28 01:35:30 -04:00
jacob1
36c56f8f5f
fix error every time you PM the bot in debug mode
2015-08-28 01:18:42 -04:00
Emanuel Barry
f55492e6c8
Unconditionally print traceback
...
In debug mode traceback could go unprinted.
2015-08-27 18:17:45 -04:00
nyuszika7h
403e491c60
Fix bot sending idle warning in PM when messaging it after you're dead
...
Also changed it to use var.IDLE_WARNED_PM, as @skizzerz suggested a wolf
may want to intentionally idle sometimes.
2015-08-27 23:47:08 +02:00
nyuszika7h
a5a5c1c022
Mention oracle & augur in traitor message; fix cursed traitor message
...
Closes #150 .
2015-08-27 23:12:02 +02:00
nyuszika7h
8be512c216
Repeat idle warning in PM if the player is PMing the bot
2015-08-27 21:08:04 +02:00
Emanuel Barry
77619306ec
Fix bodyguard message
2015-08-27 14:51:21 -04:00
Emanuel Barry
b3f30bbd91
Improve error handler
...
Now it will only pastebin the error when it has finished gathering it
all.
2015-08-27 10:02:56 -04:00
skizzerz
3dc3e4d172
Fix race condition for day timing out immediately when a vote succeeds
2015-08-26 20:09:57 -05:00
skizzerz
bb5cb78c68
Fix fgame bug, str.split has idiotic semantics in python
2015-08-25 22:46:45 -05:00
skizzerz
75c407c403
Track player stats by nick if accounts are disabled
2015-08-25 15:52:27 -05:00
nyuszika7h
886434272f
Remove !me alias for !mystats
...
It conflicts with normal messages like "me too" in wolfchat, and I think
it's rarely (if ever) used.
2015-08-24 19:54:13 +02:00
nyuszika7h
82ef99b837
Fix !join telling you to !swap if you're already joined
2015-08-18 12:43:01 +02:00
jacob1
3ce856818a
fix the bot pinging everyone instead of just people using !pingif if DISABLE_ACCOUNTS is on
2015-08-17 18:17:45 -04:00
nyuszika7h
5a2a098db6
!wiki: Catch socket.timeout
2015-08-17 22:53:12 +02:00
nyuszika7h
79066e5ec6
Fix error in on_invite (blame @Vgr255)
2015-08-16 12:06:15 +02:00
jacob1
835441caea
fix bug where you could fdeny the same command multiple times if done by host
2015-08-14 01:31:48 -04:00
billion57
b936a4d3c5
More lynch/quit/no victims messages
...
yayy
2015-08-14 00:20:50 +02:00
Vgr E.Barry
3534cc7d78
Better handle non-built-in exceptions
2015-08-10 09:49:52 -04:00
Vgr E.Barry
d58a9249ab
Update error handler to ignore non-errors
2015-08-10 09:09:33 -04:00
nyuszika7h
0dd3c08862
Exit immediately if Ctrl-C is pressed twice
2015-08-08 22:46:32 +02:00
nyuszika7h
e8fc9f01bb
Ping players when ending game due to error in join phase
2015-08-08 22:16:06 +02:00
nyuszika7h
58286e7596
!swap: Don't error if user is not playing
...
I blame @Vgr255.
2015-08-08 22:07:02 +02:00
skizzerz
7e1c656185
Fix harlot dying visiting protected victim
2015-08-06 22:30:32 -05:00
skizzerz
1b50a37b69
Fix break_long_message, broken in 5793097626
2015-08-06 22:06:04 -05:00
Vgr E.Barry
38b7ef81e2
Add proper error handling. Closes #151
...
All exceptions, if not caught, are unconditionally sent to `sys.stderr`.
We only need to use our own custom class with some modifications and we
can intercept all errors, even those in threads (which #151 was about).
The only real downside from this practice is that `cli` is not
accessible to us when the errors happen, so I used a hack to set it on
an instance variable. If anyone can find a better solution, please step
forward. For the time being, this will have to do.
If for some obscure reason this class breaks, `sys.__stderr__` holds the
original `sys.stderr`
2015-08-06 12:29:47 -04:00
nyuszika7h
74555f013a
Fix Windows error messages in !ping
2015-08-06 12:37:37 +02:00
nyuszika7h
74d4f9c95e
Actually add that ping message
2015-08-06 12:27:39 +02:00
nyuszika7h
e27cb0c1e0
Add another ping message
2015-08-06 12:27:10 +02:00
Vgr E.Barry
b3c8fd562a
Fix some errors and style in !swap
2015-08-05 21:55:09 -04:00
Vgr E.Barry
a6a128586d
Add a !swap command. Closes #129
...
This allows people to swap out an existing player from the game, and
join instead. Useful if, say, your home connection dropped, but your ZNC
is still online and you want to keep playing through your phone for
example. The player swapping and the one being swapped must be
identified to the same account for this to work. After the command has
been used, an implicit !myrole is performed, informing the player of
their role and templates. The on_nick handler has been decoupled into
two functions, where most of the logic is now in rename_player (which
swap uses).
Known issues: Hard drive space is left untouched.
2015-08-05 21:28:04 -04:00
Vgr E.Barry
188ede0b2e
Change is_user_altpinged to return only an integer
2015-08-05 21:22:42 -04:00