diff options
author | VitaliyS <hetleven@yandex.ua> | 2015-01-16 15:53:07 +0300 |
---|---|---|
committer | VitaliyS <hetleven@yandex.ua> | 2015-01-16 15:53:07 +0300 |
commit | c160f16d5971a494c17cefacac726f78ef9c1e16 (patch) | |
tree | a7a1647a14d742076ab2bf63ba4deb006d99978a | |
parent | 007219b50405d23c056c000d9998fe1f9317d49d (diff) |
upd:wot.py - added WN8 rating for tanks
-rw-r--r-- | data/locales/ru.txt | 2 | ||||
-rw-r--r-- | data/locales/ua.txt | 2 | ||||
-rw-r--r-- | plugins/wot.py | 29 |
3 files changed, 30 insertions, 3 deletions
diff --git a/data/locales/ru.txt b/data/locales/ru.txt index 687ae1f..704a391 100644 --- a/data/locales/ru.txt +++ b/data/locales/ru.txt @@ -1375,7 +1375,7 @@ none отсутствует 2 class 2 степень 1 class 1 степень master мастер -\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s \n%s: %s/%s (%s%%), ср.урон: %s, опыт (ср/макс): %s/%s, классность: %s +\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, WN8: %s (%s), mastery: %s \n%s: %s/%s (%s%%), ср.урон: %s, опыт (ср/макс): %s/%s, WN8: %s (%s), классность: %s not founded tank танк не найден Impossible to get tanks' statistics Невозможно получить статистику танков \nUp to %s%% win left: %s battles \nДо %s%% побед осталось: %s битв diff --git a/data/locales/ua.txt b/data/locales/ua.txt index fa7495f..cb7500e 100644 --- a/data/locales/ua.txt +++ b/data/locales/ua.txt @@ -1375,7 +1375,7 @@ none відсутня 2 class 2 степінь 1 class 1 степінь master майстер -\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s \n%s: %s/%s (%s%%), сер.ушкодж.: %s, досвід (сер/макс): %s/%s, класність: %s +\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, WN8: %s (%s), mastery: %s \n%s: %s/%s (%s%%), сер.ушкодж.: %s, досвід (сер/макс): %s/%s, WN8: %s (%s), класність: %s not founded tank танк не знайдено Impossible to get tanks' statistics Неможливо отримати статистику танків \nUp to %s%% win left: %s battles \nДо %s%% перемог залишилося: %s битв diff --git a/plugins/wot.py b/plugins/wot.py index c9b5c74..fed88de 100644 --- a/plugins/wot.py +++ b/plugins/wot.py @@ -106,7 +106,34 @@ def wot(type, jid, nick, text): tank_dmg = int(round(t['all']['damage_dealt'] / float(tank_battle), 0))
tank_name = tanks_data[str(t['tank_id'])]['name_i18n']
tank_wins = round(100.0*tank_win/tank_battle, 2)
- msg += L('\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, mastery: %s','%s/%s'%(jid,nick)) % (tank_name, tank_win, tank_battle, tank_wins, tank_dmg, tank_avgxp, tank_maxxp, mom)
+ #wn8
+ expDmg = tank_battle * extv[t['tank_id']]['expDamage']
+ expSpot = tank_battle * extv[t['tank_id']]['expSpot']
+ expFrag = tank_battle * extv[t['tank_id']]['expFrag']
+ expDef = tank_battle * extv[t['tank_id']]['expDef']
+ expWins = tank_battle * extv[t['tank_id']]['expWinRate'] / 100.0
+
+ rDAMAGE = t['all']['damage_dealt'] / expDmg
+ rSPOT = t['all']['spotted'] / expSpot
+ rFRAG = t['all']['frags'] / expFrag
+ rDEF = t['all']['dropped_capture_points'] / expDef
+ rWIN = tank_win / expWins
+
+ rWINc = max(0, (rWIN - 0.71) / (1 - 0.71) )
+ rDAMAGEc = max(0, (rDAMAGE - 0.22) / (1 - 0.22) )
+ rFRAGc = max(0, min(rDAMAGEc + 0.2, (rFRAG - 0.12) / (1 - 0.12)))
+ rSPOTc = max(0, min(rDAMAGEc + 0.1, (rSPOT - 0.38) / (1 - 0.38)))
+ rDEFc = max(0, min(rDAMAGEc + 0.1, (rDEF - 0.10) / (1 - 0.10)))
+
+ twn8 = 980*rDAMAGEc + 210*rDAMAGEc*rFRAGc + 155*rFRAGc*rSPOTc + 75*rDEFc*rFRAGc + 145*min(1.8,rWINc)
+
+ if twn8 > 3400:
+ twn8_xvm = 100
+ else:
+ twn8_xvm = max(min(twn8*(twn8*(twn8*(twn8*(twn8*(9.553e-20*twn8 - 1.644e-16) - 4.26e-12) + 1.97e-8) - 3.192e-5) + 5.6265e-2) - 0.157, 100), 0)
+
+ msg += L('\n%s: %s/%s (%s%%), avg.damage: %s, xp (avg/max): %s/%s, WN8: %s (%s), mastery: %s','%s/%s'%(jid,nick)) % (tank_name, tank_win, tank_battle, tank_wins, tank_dmg, tank_avgxp, tank_maxxp, int(round(twn8)), round(twn8_xvm, 1), mom)
+
else:
msg += '\n%s (%s/%s)' % (tanks_data[str(t['tank_id'])]['name_i18n'], tank_win, tank_battle)
if not msg.count('\n'):
|