|
|
@@ -156,16 +156,38 @@ class GameHelpers():
|
|
|
notices_words += int(record[7])
|
|
|
notices_characters += int(record[8])
|
|
|
userrecord = self.db.one("SELECT xp_spent, level FROM users WHERE LOWER(name)=%s AND network='" + self.network + "'", (user, ))
|
|
|
- total_xp = (joins + (given * received) + messages + (messages_words / 4) + (messages_characters / 10) + ((actions + (actions_words / 4) + (actions_characters / 10)) * 2) + ((notices + (notices_words / 4) + (notices_characters / 10)) / 2)) / 20
|
|
|
- xp = total_xp - userrecord[0]
|
|
|
+ total_xp = (joins + (given * received) + messages + (messages_words / 4) + (messages_characters / 10) + ((actions + (actions_words / 4) + (actions_characters / 10)) * 2) + ((notices + (notices_words / 4) + (notices_characters / 10)) / 2)) / 199
|
|
|
+ xp_spent = userrecord[0]
|
|
|
+ xp = total_xp - xp_spent
|
|
|
+ level = userrecord[1]
|
|
|
total_messages = messages + actions + notices
|
|
|
total_words = messages_words + actions_words + notices_words
|
|
|
- if joins < 1:
|
|
|
- joins = 1
|
|
|
- if total_messages < 1:
|
|
|
- total_messages = 1
|
|
|
- karma = (((messages / 30) - joins) + ((total_words / 10) - total_messages) / 100) - (given * received)
|
|
|
- return userrecord[1], xp, userrecord[0], karma
|
|
|
+ total_characters = messages_characters + actions_characters + notices_characters
|
|
|
+ if total_xp < 1:
|
|
|
+ total_xp = 1
|
|
|
+ if given == 0:
|
|
|
+ given = 1
|
|
|
+ if received == 0:
|
|
|
+ received = 1
|
|
|
+ msgs_per_join = (messages / 20) - joins
|
|
|
+ print("Msgs per join: (" + str(messages) + " / 20) - " + str(joins) + " = " + str(msgs_per_join))
|
|
|
+ words_per_message = (total_words / 6) - total_messages
|
|
|
+ print("Words per message: = " + str(words_per_message))
|
|
|
+ characters_per_message = (total_characters / 20) - total_messages
|
|
|
+ print("Characters per message: = " + str(characters_per_message))
|
|
|
+ characters_per_word = (total_characters / 6) - total_words
|
|
|
+ print("Characters per word: = " + str(characters_per_word))
|
|
|
+ chatkarma = ((msgs_per_join + words_per_message + characters_per_message + characters_per_message + characters_per_word) / total_xp) / 100
|
|
|
+ print("Chat karma: ((" + str(msgs_per_join) + " + " + str(words_per_message) + " + " + str(characters_per_message) + " + " + str(characters_per_word) + ") / " + str(total_xp) + ") / 100 = " + str(chatkarma))
|
|
|
+ kickkarma = (total_xp / 1337) / (given * received)
|
|
|
+ print("Kick karma: (" + str(total_xp / 1337) + ") / " + str(given) + " * " + str(received) + " = " + str(kickkarma))
|
|
|
+ xpkarma = xp / 40
|
|
|
+ print("XP Karma: " + str(xp) + " / 40 = " + str(xpkarma))
|
|
|
+ karma = chatkarma - kickkarma + xpkarma
|
|
|
+ print("karma: " + str(chatkarma) + " - " + str(kickkarma) + " + " + str(xpkarma) + " = " + str(karma))
|
|
|
+ #karma = ((((messages / 20) - joins) / 20) + ((((total_words / 6) - total_messages) + ((total_characters / 6) - total_words)) / 1337) - (given * received) / level) + (xp / 40)
|
|
|
+
|
|
|
+ return level, xp, userrecord[0], karma
|
|
|
|
|
|
class StatisticsHelpers():
|
|
|
def add_message_stats(stats):
|