summaryrefslogtreecommitdiff
path: root/sassbot/modules/artifact2-0/PlayerStats.py
diff options
context:
space:
mode:
authorJason Le Long <jasonnlelong@gmail.com>2018-03-24 22:26:36 +0000
committerJason Le Long <jasonnlelong@gmail.com>2018-03-24 22:26:36 +0000
commitaa2c21887a6169868711bd35511d183245eec4f6 (patch)
tree8db7f596912a1741ed249392304d97f38ef12c1d /sassbot/modules/artifact2-0/PlayerStats.py
parentf60534b37431068775b0913687a5be11159cd180 (diff)
First working build for V2
Diffstat (limited to 'sassbot/modules/artifact2-0/PlayerStats.py')
-rw-r--r--sassbot/modules/artifact2-0/PlayerStats.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/sassbot/modules/artifact2-0/PlayerStats.py b/sassbot/modules/artifact2-0/PlayerStats.py
new file mode 100644
index 0000000..39c919e
--- /dev/null
+++ b/sassbot/modules/artifact2-0/PlayerStats.py
@@ -0,0 +1,47 @@
+# Embedded file name: /home/bouncer/sassbot/modules/artifact2-0/PlayerStats.py
+import sys
+import math
+import MySQLdb
+sys.path.insert(0, '/home/bouncer/sassbot/modules/artifact2-0/')
+import Calculate
+
+def PrintStats(phenny, input, parameters):
+ playerStats = {}
+ playerStats = RefreshStats(phenny, parameters)
+ return '\x0399' + playerStats['CharacterName'] + ' ' + playerStats['ClanName'] + ' has ' + str(playerStats['HP']) + '/' + str(playerStats['MaxHP']) + ' HP, ' + str(playerStats['Strength']) + ' STR, ' + str(playerStats['Dexterity']) + ' DEX, ' + str(playerStats['Constitution']) + ' CON, ' + str(playerStats['Intelligence']) + ' INT and you have ' + str(playerStats['Currency']) + ' gold. Challenge rating: ' + str(playerStats['ChallengeRating']) + '. ' + str(playerStats['DodgePercentage']) + '% Dodge, ' + str(playerStats['CritPercentage']) + '% Crit, ' + str(playerStats['ArmorPercentage']) + '% Armor, ' + str(playerStats['PrecisionPercentage']) + '% Precision, ' + str(playerStats['ResistancePercentage']) + '% Resistance, ' + str(playerStats['Luck']) + ' Luck, ' + str(playerStats['BlockPercentage']) + '% Block'
+
+
+def RefreshStats(phenny, parameters):
+ db = MySQLdb.connect(host='localhost', user=phenny.config.mysql_username, passwd=phenny.config.mysql_password, db=parameters['LiveDB'])
+ c = db.cursor(MySQLdb.cursors.DictCursor)
+ c.execute('SELECT `Nick`,`ClanName`,`Currency`,`State`,`CharacterName`,`Alive`,`ChallengeRating`,`RestedHeal`,`HP`,`AttributePoints`,`Strength`,`Dexterity`,`Constitution`,`Intelligence` FROM `Players` WHERE `Nick` = %s;', parameters['Nick'])
+ sqlPlayerBase = c.fetchone()
+ c.execute('SELECT `Nick`, SUM(`HandsReq`) AS HandsReq, SUM(`Strength`) AS Strength, SUM(`Dexterity`) AS Dexterity, SUM(`Constitution`) AS Constitution, SUM(`Intelligence`) AS Intelligence, SUM(`Crit`) AS Crit, SUM(`Dodge`) AS Dodge, SUM(`Armor`) AS Armor,SUM(`Precision`) AS `Precision`,SUM(`Resistance`) AS Resistance,SUM(`Luck`) AS Luck,SUM(`Block`) AS Block from \n (\n select `Nick`,0 AS `HandsReq`,`Strength`,`Dexterity`,`Constitution`,`Intelligence`,`Crit`,`Dodge`,`Armor`, `Precision`, `Resistance`, `Luck`, `Block` from `Players` \n union all \n select `Nick`,`HandsReq`,`Strength`,`Dexterity`,`Constitution`,`Intelligence`,`Crit`,`Dodge`,`Armor`, `Precision`, `Resistance`, `Luck`, `Block` from `Items_PlayerInventory` where `Equipped`=1 ) x \n WHERE `Nick`=%s group by `Nick`', parameters['Nick'])
+ sqlPlayerStats = c.fetchone()
+ playerStats = {}
+ if c.rowcount:
+ playerStats['Nick'] = sqlPlayerBase['Nick']
+ playerStats['Currency'] = sqlPlayerBase['Currency']
+ playerStats['ClanName'] = sqlPlayerBase['ClanName']
+ playerStats['CharacterName'] = sqlPlayerBase['CharacterName']
+ playerStats['State'] = sqlPlayerBase['State']
+ playerStats['Alive'] = sqlPlayerBase['Alive']
+ playerStats['ChallengeRating'] = sqlPlayerBase['ChallengeRating']
+ playerStats['RestedHeal'] = sqlPlayerBase['RestedHeal']
+ playerStats['HP'] = sqlPlayerBase['HP']
+ playerStats['MaxHP'] = int(math.ceil((float(sqlPlayerStats['Constitution']) + float(sqlPlayerStats['Constitution']) / 1.75) * 2))
+ playerStats['AttributePoints'] = sqlPlayerBase['AttributePoints']
+ playerStats['HandsReq'] = sqlPlayerStats['HandsReq']
+ playerStats['UnitType'] = 'Player'
+ playerStats['Strength'] = sqlPlayerStats['Strength']
+ playerStats['Dexterity'] = sqlPlayerStats['Dexterity']
+ playerStats['Constitution'] = sqlPlayerStats['Constitution']
+ playerStats['Intelligence'] = sqlPlayerStats['Intelligence']
+ playerStats['DodgePercentage'] = Calculate.DiminishingReturns(sqlPlayerStats['Dodge'] + int(math.ceil(sqlPlayerStats['Dexterity'] / 2)), 25, 15)
+ playerStats['CritPercentage'] = Calculate.DiminishingReturns(sqlPlayerStats['Crit'] + int(math.ceil(sqlPlayerStats['Dexterity'] / 2)), 25, 15)
+ playerStats['ArmorPercentage'] = Calculate.DiminishingReturns(sqlPlayerStats['Armor'], 25, 0)
+ playerStats['PrecisionPercentage'] = Calculate.DiminishingReturns(sqlPlayerStats['Precision'], 25, 0)
+ playerStats['ResistancePercentage'] = Calculate.DiminishingReturns(sqlPlayerStats['Resistance'], 25, 0)
+ playerStats['Luck'] = sqlPlayerStats['Luck']
+ playerStats['BlockPercentage'] = sqlPlayerStats['Block']
+ return playerStats \ No newline at end of file