707 Commits

Author SHA1 Message Date
Fudster
0a6c6200ab Fix for #176 improve invalid role errors 2017-02-05 12:39:52 -05:00
jacob1
4c67a5b438 fix user references staying around due to !pingif pinger
also remove ugly hack since we don't need it anymore
2017-02-02 22:08:04 -05:00
Ryan Schmidt
69fa7d377f Split succubus (#284)
* Split + buff succubus

When all succubi die, all entranced people now die along with them. This
should prevent an entranced person from ratting out the succubus early
on so that they go back to their team, as they lose now even if succubus
dies. One exception is if EVERY succubus idles out, then everyone that
is entranced is freed of entrancement, as it isn't their fault that they
didn't protect their friends in that case.

Dullahans now have succubi entirely removed from their list as the
likelihood they get unentranced is low, and it's easier to implement
this way.

Ensure that entranced people can vote along with ANY succubus, even if
that vote isn't the one that succeeded. Before there were cases where
they could vote along with succubus but still end up dying (particularly
in respect to a vote passing when a succubus abstained).

Clear up some message wording with regards to succubi.

Cleaned up chk_win_conditions and eliminated chk_traitor, so they make
much more sense now.

Also fixed minor issues, such as end-game saying "same number" of wolves
even if there are more wolves than villagers, hunter/vigilante dying
during night sometimes not clearing variables correctly (thus causing
premature night end) and some various stupidity going on with some old
code I wrote that doesn't have any visible effects.

* Combine all players into the same succubus death message

* Fix stylistic issues and succubus idling not working
2017-01-27 14:08:41 -05:00
Vgr E. Barry
7bc13937e4 Don't say that someone has already joined if they're not logged in 2017-01-25 21:27:24 -05:00
jacob1
a928d729a6 fix incoming deadchat messages using your nick instead of the person who sent it 2017-01-21 20:16:36 -05:00
jacob1
c67551bd46 fix error when dead player changes nick (from last commit) 2017-01-21 20:10:37 -05:00
jacob1
62f716093a fix !swap and nick changing errors
var.ALL_PLAYERS update (for !swap) needs to happen before checking if the new user is in var.ALL_PLAYERS
pl is inaccurate during nick changes because the user's nick in var.ALL_PLAYERS is updated automatically but in var.ROLES isn't, therefore a user that changes nicks would never be returned in list_players()
one instance of prefix incorrectly changed to user.nick
2017-01-21 18:29:11 -05:00
Vgr E. Barry
058acd40d7 Fix wolfchat relaying and player renaming 2017-01-21 14:26:21 -05:00
Vgr E. Barry
bc63f2be4f Mad scientist fixes
Also stats fix
2017-01-17 14:43:28 -05:00
Vgr E. Barry
accba42ea2 Change var.ALL_PLAYERS to hold User instances
Also some unrelated things
2017-01-17 13:45:38 -05:00
skizzerz
740d14ef72 Experimental stats: intelligently determine if traitor could have died
If it is impossible for other (non-wolf) roles to have killed at night,
we do not deduct from the traitor count. This logic isn't perfect yet,
but should cover the majority of cases.
2017-01-16 16:38:51 -06:00
Vgr E. Barry
cef59bce73 Fix small variable error 2017-01-15 10:03:11 -05:00
Vgr E. Barry
693ebf3546 Fix some oversights 2017-01-13 16:28:09 -05:00
Vgr E. Barry
d2211de510 Update deadchat handling 2017-01-13 16:17:40 -05:00
Vgr E. Barry
fea04471ca Properly lowercase host everywhere 2017-01-13 16:17:03 -05:00
Vgr E. Barry
4f36b189ff Update pingif timer handler 2017-01-13 12:00:09 -05:00
Vgr E. Barry
52f6b9238a Fix fspectate 2017-01-13 11:59:24 -05:00
Vgr E. Barry
a620860cc5 Update who_end event parameter 2017-01-13 11:57:16 -05:00
Vgr E. Barry
0ca9e8cbdb Update the pingif command 2017-01-12 15:29:55 -05:00
Vgr E. Barry
582523bda5 Update refreshdb and ping commands 2017-01-12 15:29:34 -05:00
Vgr E. Barry
abf663706d Update fsync and related functions 2017-01-12 15:28:58 -05:00
Vgr E. Barry
889408a7bb Remove redundant lines 2017-01-12 14:13:05 -05:00
Vgr E. Barry
b3552574d5 Update database on simple and notice toggle 2017-01-12 14:02:17 -05:00
Vgr E. Barry
ce8babec56 Update the notice toggle command 2017-01-12 13:57:24 -05:00
Vgr E. Barry
eb5a54474e Update the simple toggle command 2017-01-12 13:57:14 -05:00
Vgr E. Barry
fe692dd74e Update fdie and frestart to use the new command API 2017-01-12 12:46:05 -05:00
Vgr E. Barry
1b695b4849 Use the new IRCContext.send API instead of break_long_message 2017-01-12 12:45:16 -05:00
Vgr E. Barry
4a02943a6e Use context directly for mode change 2017-01-12 12:44:34 -05:00
Vgr E. Barry
4bedfb0848 Fix unbound variable in sighandler 2017-01-07 11:28:05 -05:00
Ryan Schmidt
b1271ecbe0 Merge pull request #277 from lykoss/part-quit-hooks
Improve user part/quit/nick hooks
2017-01-06 10:17:28 -07:00
nyuszika7h
a6e4d2b3c1 Fix ping handling
Don't start a new timer every time someone calls !latency, and make it
work even if automatic pinging is disabled. Also, moved the command to
handler.py per @Vgr255's suggestion.
2017-01-06 17:07:42 +01:00
nyuszika7h
6f7e4398dd Simplify latency checking code
Since we send the timestamp of the request with the ping and the server
will send it back, there is no need to store it.
2017-01-06 16:20:40 +01:00
nyuszika7h
06c60dfdc3 Fix circular import
The strange thing is that it was working on my test instance.
Probably because Python 3.6 changed something regarding that.
2017-01-06 15:58:53 +01:00
nyuszika7h
a6e3c0a720 Periodically ping server to detect disconnection
In some cases, disconnection from the server can be unclean and won't be
noticed until the bot tries to send a message, which may never happen if
it did not disconnect during the game. To solve this problem, it will
now ping the server every 2 minutes by default, which will result in
a broken pipe error if the connection is dead. This won't be able to
detect netsplits where the server the bot is on stays online, because
those are impossible to correctly detect in every case.

This commit also adds a !latency command so that users can verify if the
bot is lagging.
2017-01-06 15:52:26 +01:00
Vgr E. Barry
e0f8f172d6 Update part/quit/kick/nick hooks 2016-12-19 13:29:20 -05:00
skizzerz
6bf12520f1 Fix day timeout causing game to end twice 2016-12-14 10:23:00 -06:00
nyuszika7h
144b01cfed !restart already fixed, small change for consistency 2016-12-11 10:27:39 +01:00
nyuszika7h
218366cbd8 !die: Fix first word of message being cut off in debug mode 2016-12-11 10:25:14 +01:00
Vgr E. Barry
06486e14bd Fix fsay/fact broken for non-existent users 2016-12-11 01:33:14 -05:00
Vgr E. Barry
e1be940f24 Fix !join erroring out 2016-12-09 10:54:16 -05:00
jacob1
2c5e108751 fix error on !join when ACCOUNTS_ONLY is set 2016-12-09 07:56:40 -05:00
Ryan Schmidt
9f4b1a243d Merge pull request #274 from lykoss/cmd-old-api
Add a backwards-compatibility handler for commands
2016-12-08 16:35:19 -07:00
skizzerz
47339618f8 Remove part/fpart command
There is no reason for this to be a command. It has no analogue outside
of fsend, in which case you can just fsend a raw PART if needed as well.
2016-12-08 17:23:15 -06:00
nyuszika7h
3d5aa8c8e3 Fix message name 2016-12-05 14:06:22 +01:00
Vgr E. Barry
e8338d1ef6 Add the new command API + converted commands
Converted commands mostly use some backwards-compatibility hack. Please don't mind it, I'll eventually get to it.
2016-11-28 20:19:48 -05:00
skizzerz
a01f8860d0 Delay night properly in villagergame 2016-11-23 16:26:06 -06:00
jacob1
bb99493ae8 fix protections not carrying over after nick change 2016-11-23 11:53:45 -05:00
skizzerz
11d626ab25 Revert old_api cmd change
Causing way too many bugs, need to use a more sane method of breaking
the cmd API, and only do so when it's actually ready to go. My
personal preference is to make the new API use @command instead of @cmd.

This reverts commits c90d35e6c0a9ba96692e9d73bbe27efca405d542 and 5f5966a8b49e5214c82d806ac43a2553754fdee6.
2016-11-20 21:33:36 -06:00
skizzerz
ed2576ef7e Remove debug printouts 2016-11-20 12:49:21 -06:00
skizzerz
73fb0c65c9 Fix coin/pony chances 2016-11-20 12:33:39 -06:00