diff --git a/App/League/League.xdk b/App/League/League.xdk
new file mode 100644
index 0000000..0038034
--- /dev/null
+++ b/App/League/League.xdk
@@ -0,0 +1,31 @@
+{
+ "project": {
+ "projectSettingsVersion": "1.0",
+ "creationData": {
+ "type": "Blank Project",
+ "src": "blankProject",
+ "projectGuid": "4bc08d80-79d8-49d0-bc78-2713e17e7571",
+ "lastModifiedDate": 1391928689456,
+ "creationDate": 1391928689424
+ },
+ "projectFiles": {},
+ "projectDirectories": {},
+ "libraries": [
+ {
+ "name": "Cordova",
+ "version": "2.9.0",
+ "data": {
+ "default": true
+ }
+ },
+ {
+ "name": "intelXDK",
+ "version": "4.0.0",
+ "data": {
+ "default": true
+ }
+ }
+ ],
+ "services": []
+ }
+}
\ No newline at end of file
diff --git a/App/League/League.xdke b/App/League/League.xdke
new file mode 100644
index 0000000..635d64d
--- /dev/null
+++ b/App/League/League.xdke
@@ -0,0 +1,6 @@
+{
+ "project": {
+ "projectFiles": {},
+ "projectDirectories": {}
+ }
+}
\ No newline at end of file
diff --git a/App/League/index.html b/App/League/index.html
new file mode 100644
index 0000000..41ecc7b
--- /dev/null
+++ b/App/League/index.html
@@ -0,0 +1,26 @@
+
+
+
+ Your New Application
+
+
+
+
+
+
+
+
+
+
diff --git a/Site/Desktop.7z b/Site/Desktop.7z
new file mode 100644
index 0000000..b59ca9d
Binary files /dev/null and b/Site/Desktop.7z differ
diff --git a/Site/clf.p b/Site/clf.p
new file mode 100644
index 0000000..59e3a57
--- /dev/null
+++ b/Site/clf.p
@@ -0,0 +1,183 @@
+ccopy_reg
+_reconstructor
+p0
+(csklearn.linear_model.stochastic_gradient
+SGDClassifier
+p1
+c__builtin__
+object
+p2
+Ntp3
+Rp4
+(dp5
+S't_'
+p6
+cnumpy.core.multiarray
+scalar
+p7
+(cnumpy
+dtype
+p8
+(S'f8'
+p9
+I0
+I1
+tp10
+Rp11
+(I3
+S'<'
+p12
+NNNI-1
+I-1
+I0
+tp13
+bS'\x00\x00\x00\x00\xd0q(A'
+p14
+tp15
+Rp16
+sS'n_jobs'
+p17
+I1
+sS'shuffle'
+p18
+I00
+sS'verbose'
+p19
+I0
+sS'classes_'
+p20
+cnumpy.core.multiarray
+_reconstruct
+p21
+(cnumpy
+ndarray
+p22
+(I0
+tp23
+S'b'
+p24
+tp25
+Rp26
+(I1
+(I2
+tp27
+g8
+(S'i8'
+p28
+I0
+I1
+tp29
+Rp30
+(I3
+S'<'
+p31
+NNNI-1
+I-1
+I0
+tp32
+bI00
+S'\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'
+p33
+tp34
+bsS'class_weight'
+p35
+NsS'fit_intercept'
+p36
+I01
+sS'penalty'
+p37
+S'l2'
+p38
+sS'random_state'
+p39
+NsS'loss_function'
+p40
+csklearn.linear_model.sgd_fast
+Log
+p41
+(tRp42
+sS'C'
+p43
+F1.0
+sS'n_iter'
+p44
+I5
+sS'epsilon'
+p45
+F0.1
+sS'learning_rate'
+p46
+S'optimal'
+p47
+sS'coef_'
+p48
+g21
+(g22
+(I0
+tp49
+g24
+tp50
+Rp51
+(I1
+(I1
+I235
+tp52
+g11
+I01
+S'\x11\x19\x80\x95\x1at\x9b\xbf\x01G\xdf%$\x15\xd4?\xcd\xb5\xeeA\x0bl\xda\xbf\xc0\xd8\xc4\xb5\x87\xff\xc6\xbf/\xfa#(\x1b\xb4\x9e?\xeeqB\x82\'\xd9\xbe?\x99\xa6\x02S\xc2f\xe3?\xf0\xb0\xf2\x80\xbbS\xb3?\x9f\xf3j\xed\x9c\x9a\xda\xbf\xcd\x10\xaeA;4\xb8\xbf\xd4a\'T\x82\xd9\xa7?\xfaf\xbb\xdb7\x1d\x93?^*\xf2z\xab\x1f\xce?\x8b<\xb5u\x97\xc7\xcc?\x87W]\x02\xb1\x92\xd9\xbf\x02G\x8c*\\8\xd6\xbf\x0f\x8e\xf0\xff{\x94\xd3\xbf\xe6\x95\x7f\xed\xe9\xf6\xd1?\xc0\x9e\x000c\x86\xb0?\x0bg\x8c\xd4S \xd9?\xc9C\xf05\xa3\xd7\xce\xbf]L\xe9\xf1\xb2>\xd7\xbf"\xe5\xa9\xefN\xcf\xe1?\x8c\xe1R\x8b\x92\x05\xbe?\xefA\xaa&T\xc1\xd5\xbfH$`S\xa8\xff\xc8?\xde`{\x8d\xb4\xc6\xab?\xc5\x8e\xdc\xa6F\x89\xe7?Gqu\xcd\x99G\xbc?\xa2Z\xc2\xee\xa4\xa9\xb2\xbf/\xc7\x18\xb1\xd8~\xb1?j[\xa0\xbb\xf5\xc1\xd0\xbf4<\x16\xaaH\x9f\xb1\xbf54b$;\xaf\xb0?\x03\xba\x1e/Nf\xdd?\xad\xef^\x81\xb2\x91\xc7\xbfa5\xd1\x15\x98\x15\xeb\xbf{L9\xcdsL\xad?\x93\x14e\xf5;=\xc8?\xef,\xf3\xb7l\x18\xe0\xbf\xa4Mp\x0c\x10\xac\xc2?\\\xbaw\x08K\x9f\xc0?T\x93\xc1e6$\xc1\xbf\x1a\xb7\x00I\x8d^\xe0\xbf\xdaos\xb87\xbe\xae?\xac\xfa\xf6\xddj\xe1\xb7?b\xf5\xa5\x1c{\x9b\xd2\xbf\x9aY&\xd9f\xa5\xd3\xbf\x8c\xb7\x1eX\x16\xc3\xa3?\xc8B\x89\xd3&\xf5\xc0\xbf\xba\xd5?BIQ\xc6\xbf\xcb\xaf\xbf\x9d\xe1\xbd\xd5?\x80\xa0\xa9\x9b\xff\x82\xdd\xbf\x0bfW\xe2\xf1`\xd0?\xd4\xe2\xbf\xc2w\r\xb6?\xd6v\xd8\xed\xdb\xe9\xd2?\x15\xa2\xd9\xad\xc3\xec\xa0?H\x97?\xc12*\xd4\xbf\xf3y\x9e\xe8}v\xd8\xbf\xdd=\x19\x00N*\xd6?\xa3\xc2\xec-+\xc6\xd1?\xa2-\xd5\x92\xa3\xf7m?t\xfd\xa4\xb3\x9el\xc9\xbf\xb7\x12\xde\x9b\xe3\x1a\xdb?D\x10\xf7\x98\x9c\xc2\xe3\xbf\x05a\xfb\xe3\xac&R?\xbfl\x81t\xc8\x95\xdb\xbf\xad\x10NY\x90E\xd0?\xd642\x86MG\xc3?IL5\xcf3m\xc2?\x81\x89\xf4\x8d\xbe1\xce?N\xb7\x7fO,\x83\x93\xbfY\xa8\xc0mM\x92\xc0?\xe19>A\xee\xc8\xc1\xbf\xad\xef%/C:\xd9?\xf2\xccF\x19\x06\xc0\xd9?\xdb\xf1R\x1c\xf5\x9e\x92\xbf\xe8J\x18$|\xfe\xca\xbf5\xd5\x99\x1eq\xe3\xd0\xbfT\xbfF\xd1\x1cZ\xc2\xbf\xf3\x87%Y\xb2\xe5\xde?b\xd4f\'Nt\xe7\xbf\xcb~\xddV#y\xdb?\x10\x81~\xacx5\xe6\xbf\x93\x9f\xf6\xaf|\x90\xdf\xbf\xfd\xfe\x91\x94\xd6r\xd5?\x9e\x99_\x98b\xc6\xc5?\x89\xac\xed1\x97\xd2\x96\xbf5I8\x88\x84p\xd5?_<\xcb\xe7\x06\x1c\xc1?3wRkU\xa7\xd6?F<\x90\xea\xf4/\xd0\xbf|!\xe5u&\xa5\xb9?\x9cO`\x15y\xae\xa2\xbf8n\x01\xc6N\xf2f\xbf\xc4\xa9y\x9fgJ\xd5?\xd7-\xf9f\xfa\xa3\xf0\xbfhW\x81\x1d$\x0f\xcb?!\xee\x890\xc5\xad\xbb?a\x81\xd5bm\xb3\xd8?\x15\xfas\x9a\x04\xed\xe2?\x1f\x94\xe4|\xe66\xc5?-\xddl3\xe6$\xcb?\xdf\xcd1\x7fy\x04\xd4?\x12\xa0\xce\x12\xec\xca\xc7?\xd6\xdb\x96\xf2\xd1d\xd4?\xeb\x93<0\xa8\xca\xab\xbfP\x91\xb3\x1d$u\xe0\xbf(\x1a\xee\x18\x03\x06\xce?\xc0fhp\x9e\x93\xcf?Y\xe3F]t\t\xc9\xbf\xbe\x86X \xe8c\xb8?\x8a\xbd\xc7\x94k\x05\xd0?\x02\x1d\xebd\x92\xd2\xcc?\xdaNIL\r\x05\xd2?E\x0bs(q`\xb9\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x98\xb1\x94\xda\xed\x80\xcc?\xc6\xcd\x16e\xe4 \xcc\xbf_\xeeo\x83Tb\xdd?\xfd\xcc\xbc\xe6\xe3A\xd0?nW1\x11\xffn\xbd\xbf\xa5\xaa\x96SI\x7f\xb2\xbf\x85\xd3\x14CW\xfa\xe1\xbf\x94\x89\xefD\xb2[y\xbf\xa5K\x8b9o\xf5\xdb?\xb7\x84\x02[-\x85\xbb?\x92\xfe$\xa7\xe5"\xd4?\x17\xc5k\xa9H\xcf\xaa?\x0ei\x89KK\x8d\xc4\xbf\xebX&\x9a\xbd\xb6\xd5\xbf\x10\r\xe6\xf0N\xaf\xd5?\xcb\n_{\xec\xb6\xdf?\x92\x90\x9aX\xf5\x84\xd8?\xf7\x80\x82/\xb1\x06\xd0\xbf\x02voM\xbaN\xb5?\xc1\x13fEb\x05\xd3\xbf\xa5_:?\xa9c\xbe?+\xf2\x00\x12W\x97\xd5?\x1csu\xaf\x172\xd4\xbf\xfb\x85\xd6\xb5\x91b\xc6\xbf%\x1f\x97\x9e+|\xbe?}\x8a\xcbg\xfb\'\xb2\xbf}P{o\xc4\xd5\xb4?\xc7\x96\xf5\xbf\xb4\xa1\xe3\xbf\x97\xdb\x9d\xd5+\xa9\x99\xbf\x0b-\xce\xc8+K\xa7?\xe0\x82\x03\x97z\xad\xbd\xbf*\x10\x87\x830\xa6\xc9?HG\xb7\xd5S\xcf\xc3?\xe05\x0e!y\xbf\xb4\xbf\xfbG\xdbp\xad[\xd1\xbf\xf1\xad\xe9\x97|\x96\xb7?\xf6\xd20)\xea\x98\xeb?\xe0?C\x1e\xcf\x0f\xb4\xbf\xae:\x18>bU\xb0\xbf\x02\x1b\x18Q\xc5\xbd\xe0?\r\x10.\xfd\xaaXl?\xb8A?\xc47\x0e\xca\xbfN0W\xc7\\\xca\x80?\xdd\xfe\xb3\x91\xf5!\xd4?\xc41\xb7\xe6\xc9\x8e\xbb\xbf\'\x8d\xdb\xffq\xfd\xb8\xbfM\xac\x995j\xe5\xc0?\x9a_6 b\xe0\xd2?\x12D\xaf\xe6\xdb\xfe\xc0?\x8c"K:\xea\x82\xbb\xbf\x0b\xd6\x1cR\xa0+\xcc?\xa9\xeb\xb5\xab/8\xe3\xbf1\x82\xa5\x88\xb1\n\xd1?\xc5\xbd$\xe9\xb0\x9f\xcf\xbf\xe1\x9c\xe4\x82\xb2\xa1\xab?\xbcJ\xe1\xfb\x9aK\xcf\xbf\x8b\xabn\x0e\xe0C\xc7?$IT>M\xeb\xd2?\xa3\n\xae\xd60B\xd0?\x1b\xd2\x05\xee\x1c&\xd2\xbf\x92\x15\xe6\x99\xe2_\xdb\xbf\x1bn\xa1J\xca\x13\xd7\xbf\x93\xe5\x8f\xaf\xf7P\xb3\xbf\xd0\xad\x182b\xfc\xdc\xbf\x0fD\xf4\xd5-\xb9\xe5?\xb6n\t\x04\x17k\xb8?\x99:\x14H\xe4\xf8\xcd?\xb4\xdd\x11!\xd1\xf9\xda\xbf\xf3:~\x04\xc0s\xcf\xbf\xe9k\xe5O\x02\xd8\xcf?\xf9+s_\xc44\xd2\xbfC\xa9"\xa6S>\xa5?\x0f\x83o\xa83F\x88\xbf\xa5\xe16\xcb+\xff\xc2?\x87\t\x1ad6\xcc\xd1\xbf\xce\x04\xafN\x90\x19\xe0\xbf/B\x1a\xea\xf5\xb0\x9a\xbf\xd1\xa7\x9eL\xb6\xfb\xcb?D\xaaG6,\xdd\xd3?\xf4\nt\xdb\xd7B\xcb?m\xd6\r\\T\xbd\xe0\xbf0\rl\x85D\x1d\xe2?\xcdK\x84\xd2\x14e\xde\xbf\xdd\x00#s\x01c\xe4?\xbc\x93?Z\xe3!\xd5?\xeb\xc3\xc7\xa0,!\xc4\xbf\xbds\xf7TOD\xb0?yA\xd5r|\xd1\x9f?K\xfb\xa1\xf6;\xc3\xd8\xbf\xbc\xc1EL4U\xc1?d\xe2\x93\xd5\x0b`\xd7\xbf\x1c\xa81\x80\xccM\xc4?\xf0\xd5\x1f\x19\x18\xc8\xc5\xbf*k\x8cr\x89^\xb3?u\x823\xf1\x95\xb1\xbc\xbfj\xbf\tP\x9b\x97\xd0\xbf\xfd\xb4\xa8=l\x8c\xec?~\x1e\xea|W~\x9f\xbf\xfc\x94\xa1t\xdd\xfe\x80?\x81u_\x92\x07C\xcd\xbf\x01\xfb(8X\xf6\xdc\xbf\x7f\x8ct\xd7=L\xc7\xbf\xe0\xa3\xe2\xe4\x13\xf6\xd2\xbf\xc9\x1b\x95\x13\xfcZ\xc3\xbf\xd5M\xd3\x91\xbcR\xbb?z8#\xb9\xc3?\xd0\xbf-\xba\xf3\xf9\xabY\xa4?\xbe\xcb\xd7\xac@F\xd2?k\xcd\x8fq\x85d\xce\xbf6c\xff\xec\xdcZ\xaa\xbfW\x8c\xf2\x89\x12u\xd0?\xe6\xa8\x0bqb\xab\xd1?\x81\xc2\x19>A\xd7\xb3\xbfN\x99~U\xb3_\x8b\xbf\xdb\x1fu\t\xd6\x03\x9a?\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\xb5\xa64O\xbd\xba?'
+p53
+tp54
+bsS'alpha'
+p55
+F0.0001
+sS'intercept_'
+p56
+g21
+(g22
+(I0
+tp57
+g24
+tp58
+Rp59
+(I1
+(I1
+tp60
+g11
+I00
+S'<\xbb\xdb5G#\xd4\xbf'
+p61
+tp62
+bsS'_expanded_class_weight'
+p63
+g21
+(g22
+(I0
+tp64
+g24
+tp65
+Rp66
+(I1
+(I2
+tp67
+g11
+I00
+S'\x00\x00\x00\x00\x00\x00\xf0?\x00\x00\x00\x00\x00\x00\xf0?'
+p68
+tp69
+bsS'warm_start'
+p70
+I00
+sS'loss'
+p71
+S'log'
+p72
+sS'eta0'
+p73
+F0.0
+sS'l1_ratio'
+p74
+F0.15
+sS'power_t'
+p75
+F0.5
+sb.
\ No newline at end of file
diff --git a/Site/dics.p b/Site/dics.p
new file mode 100644
index 0000000..c29be14
--- /dev/null
+++ b/Site/dics.p
@@ -0,0 +1,872 @@
+(lp0
+(dp1
+VMonkeyKing
+p2
+I62
+sVJax
+p3
+I24
+sVShaco
+p4
+I35
+sVWarwick
+p5
+I19
+sVNidalee
+p6
+I76
+sVZyra
+p7
+I143
+sVBrand
+p8
+I63
+sVRammus
+p9
+I33
+sVCorki
+p10
+I42
+sVAnivia
+p11
+I34
+sVTryndamere
+p12
+I23
+sVMissFortune
+p13
+I21
+sVYorick
+p14
+I83
+sVXerath
+p15
+I101
+sVSivir
+p16
+I15
+sVRiven
+p17
+I92
+sVOrianna
+p18
+I61
+sVGangplank
+p19
+I41
+sVMalphite
+p20
+I54
+sVPoppy
+p21
+I78
+sVKarthus
+p22
+I30
+sVJayce
+p23
+I126
+sVBlitzcrank
+p24
+I53
+sVTrundle
+p25
+I48
+sVGraves
+p26
+I104
+sVLucian
+p27
+I236
+sVNocturne
+p28
+I56
+sVLux
+p29
+I99
+sVShyvana
+p30
+I102
+sVRenekton
+p31
+I58
+sVDarius
+p32
+I122
+sVXinZhao
+p33
+I5
+sVJinx
+p34
+I222
+sVFizz
+p35
+I105
+sVKassadin
+p36
+I38
+sVSona
+p37
+I37
+sVVladimir
+p38
+I8
+sVViktor
+p39
+I112
+sVCassiopeia
+p40
+I69
+sVMaokai
+p41
+I57
+sVThresh
+p42
+I412
+sVKayle
+p43
+I10
+sVHecarim
+p44
+I120
+sVKhazix
+p45
+I121
+sVOlaf
+p46
+I2
+sVZiggs
+p47
+I115
+sVSyndra
+p48
+I134
+sVDrMundo
+p49
+I36
+sVKarma
+p50
+I43
+sVAnnie
+p51
+I1
+sVAkali
+p52
+I84
+sVLeona
+p53
+I89
+sVYasuo
+p54
+I157
+sVKennen
+p55
+I85
+sVRengar
+p56
+I107
+sVRyze
+p57
+I13
+sVShen
+p58
+I98
+sVZac
+p59
+I154
+sVTalon
+p60
+I91
+sVSwain
+p61
+I50
+sVSion
+p62
+I14
+sVVayne
+p63
+I67
+sVNasus
+p64
+I75
+sVTwistedFate
+p65
+I4
+sVChogath
+p66
+I31
+sVUdyr
+p67
+I77
+sVMorgana
+p68
+I25
+sVVolibear
+p69
+I106
+sVCaitlyn
+p70
+I51
+sVSejuani
+p71
+I113
+sVZilean
+p72
+I26
+sVRumble
+p73
+I68
+sVSkarner
+p74
+I72
+sVTeemo
+p75
+I17
+sVUrgot
+p76
+I6
+sVAmumu
+p77
+I32
+sVGalio
+p78
+I3
+sVHeimerdinger
+p79
+I74
+sVAshe
+p80
+I22
+sVSinged
+p81
+I27
+sVVarus
+p82
+I110
+sVTwitch
+p83
+I29
+sVGaren
+p84
+I86
+sVNunu
+p85
+I20
+sVMasterYi
+p86
+I11
+sVElise
+p87
+I60
+sVAlistar
+p88
+I12
+sVKatarina
+p89
+I55
+sVMordekaiser
+p90
+I82
+sVLulu
+p91
+I117
+sVAatrox
+p92
+I266
+sVDraven
+p93
+I119
+sVFiddleSticks
+p94
+I9
+sVPantheon
+p95
+I80
+sVFiora
+p96
+I114
+sVLeeSin
+p97
+I64
+sVAhri
+p98
+I103
+sVMalzahar
+p99
+I90
+sVLissandra
+p100
+I127
+sVDiana
+p101
+I131
+sVTristana
+p102
+I18
+sVIrelia
+p103
+I39
+sVJarvanIV
+p104
+I59
+sVNami
+p105
+I267
+sVSoraka
+p106
+I16
+sVVeigar
+p107
+I45
+sVJanna
+p108
+I40
+sVNautilus
+p109
+I111
+sVEvelynn
+p110
+I28
+sVGragas
+p111
+I79
+sVZed
+p112
+I238
+sVVi
+p113
+I254
+sVKogMaw
+p114
+I96
+sVTaric
+p115
+I44
+sVQuinn
+p116
+I133
+sVLeblanc
+p117
+I7
+sVEzreal
+p118
+I81
+sa(dp119
+I1
+I0
+sI2
+I1
+sI3
+I2
+sI4
+I3
+sI5
+I4
+sI6
+I5
+sI7
+I6
+sI8
+I7
+sI9
+I8
+sI10
+I9
+sI11
+I10
+sI12
+I11
+sI13
+I12
+sI14
+I13
+sI15
+I14
+sI16
+I15
+sI17
+I16
+sI18
+I17
+sI19
+I18
+sI20
+I19
+sI21
+I20
+sI22
+I21
+sI23
+I22
+sI24
+I23
+sI25
+I24
+sI26
+I25
+sI27
+I26
+sI28
+I27
+sI29
+I28
+sI30
+I29
+sI31
+I30
+sI32
+I31
+sI33
+I32
+sI34
+I33
+sI35
+I34
+sI36
+I35
+sI37
+I36
+sI38
+I37
+sI39
+I38
+sI40
+I39
+sI41
+I40
+sI42
+I41
+sI43
+I42
+sI44
+I43
+sI45
+I44
+sI48
+I45
+sI50
+I46
+sI51
+I47
+sI53
+I48
+sI54
+I49
+sI55
+I50
+sI56
+I51
+sI57
+I52
+sI58
+I53
+sI59
+I54
+sI60
+I55
+sI61
+I56
+sI62
+I57
+sI63
+I58
+sI64
+I59
+sI67
+I60
+sI68
+I61
+sI69
+I62
+sI72
+I63
+sI74
+I64
+sI75
+I65
+sI76
+I66
+sI77
+I67
+sI78
+I68
+sI79
+I69
+sI80
+I70
+sI81
+I71
+sI82
+I72
+sI83
+I73
+sI84
+I74
+sI85
+I75
+sI86
+I76
+sI89
+I77
+sI90
+I78
+sI91
+I79
+sI92
+I80
+sI96
+I81
+sI98
+I82
+sI99
+I83
+sI101
+I84
+sI102
+I85
+sI103
+I86
+sI104
+I87
+sI105
+I88
+sI106
+I89
+sI107
+I90
+sI110
+I91
+sI111
+I92
+sI112
+I93
+sI113
+I94
+sI114
+I95
+sI115
+I96
+sI117
+I97
+sI119
+I98
+sI120
+I99
+sI121
+I100
+sI122
+I101
+sI126
+I102
+sI127
+I103
+sI131
+I104
+sI133
+I105
+sI134
+I106
+sI143
+I107
+sI154
+I108
+sI157
+I109
+sI222
+I110
+sI236
+I111
+sI238
+I112
+sI254
+I113
+sI266
+I114
+sI267
+I115
+sI412
+I116
+sa(dp120
+S'Knockback_champion'
+p121
+(lp122
+VDraven
+p123
+aVGragas
+p124
+aVHecarim
+p125
+aVJanna
+p126
+aVJayce
+p127
+aVLee Sin
+p128
+aVPoppy
+p129
+aVRammus
+p130
+aVShyvana
+p131
+aVSyndra
+p132
+aVThresh
+p133
+aVTristana
+p134
+aVVayne
+p135
+aVVi
+p136
+aVXin Zhao
+p137
+aVZac
+p138
+asS'Snare_champion'
+p139
+(lp140
+VKarma
+p141
+aVLeona
+p142
+aVLissandra
+p143
+aVMorgana
+p144
+aVNautilus
+p145
+aVRengar
+p146
+aVRyze
+p147
+aVSwain
+p148
+asS'Stun_champion'
+p149
+(lp150
+VIrelia
+p151
+aVJax
+p152
+ag142
+ag143
+aVMalphite
+p153
+ag144
+aVNami
+p154
+ag145
+aVPantheon
+p155
+ag129
+aVRenekton
+p156
+aVRiven
+p157
+aVSejuani
+p158
+aVSion
+p159
+aVSona
+p160
+ag132
+aVTaric
+p161
+aVTwisted Fate
+p162
+aVUdyr
+p163
+ag135
+aVVeigar
+p164
+asS'Suppress_champion'
+p165
+(lp166
+VMalzahar
+p167
+aVSkarner
+p168
+aVUrgot
+p169
+aVWarwick
+p170
+asS'Slow_champion'
+p171
+(lp172
+VDarius
+p173
+aVDiana
+p174
+aVDr. Mundo
+p175
+ag123
+aVEvelynn
+p176
+aVGangplank
+p177
+ag124
+aVGraves
+p178
+ag151
+ag126
+aVJarvan IV
+p179
+ag127
+ag141
+aVKarthus
+p180
+aVKassadin
+p181
+aVKayle
+p182
+aVKha'Zix
+p183
+aVKog'Maw
+p184
+ag128
+ag142
+ag143
+aVLulu
+p185
+ag153
+aVMiss Fortune
+p186
+ag144
+ag154
+ag145
+aVNunu
+p187
+aVOlaf
+p188
+aVOrianna
+p189
+ag155
+aVQuinn
+p190
+ag130
+ag146
+aVRumble
+p191
+ag158
+aVShaco
+p192
+aVSinged
+p193
+ag168
+ag160
+ag148
+ag132
+aVTeemo
+p194
+ag133
+ag134
+aVTryndamere
+p195
+ag162
+aVTwitch
+p196
+ag169
+aVVolibear
+p197
+ag137
+aVYorick
+p198
+ag138
+asS'Silence_champion'
+p199
+(lp200
+VGaren
+p201
+ag181
+ag167
+aVSoraka
+p202
+asS'Taunt_champion'
+p203
+(lp204
+g130
+aVShen
+p205
+asS'Interrupt_champion'
+p206
+(lp207
+g173
+ag123
+ag201
+ag124
+ag125
+ag151
+ag126
+ag179
+ag152
+ag127
+ag181
+ag128
+ag142
+ag185
+ag153
+ag167
+ag144
+ag145
+aVNocturne
+p208
+ag189
+ag155
+ag129
+ag130
+ag156
+ag157
+ag158
+ag192
+ag205
+ag131
+ag193
+ag159
+ag168
+ag160
+ag202
+ag161
+ag134
+ag162
+ag163
+ag169
+ag135
+ag164
+ag197
+ag170
+ag137
+ag138
+asS'Blocker_champion'
+p209
+(lp210
+g179
+asS'Fear_champion'
+p211
+(lp212
+g125
+ag208
+ag192
+ag197
+asS'Knockup_champion'
+p213
+(lp214
+g126
+ag179
+ag128
+ag185
+ag153
+ag154
+ag145
+ag157
+ag158
+ag136
+ag137
+ag138
+asS'Pull_champion'
+p215
+(lp216
+g173
+ag174
+ag145
+ag133
+asa.
\ No newline at end of file
diff --git a/Site/getProb.py b/Site/getProb.py
new file mode 100644
index 0000000..2e9d9a2
--- /dev/null
+++ b/Site/getProb.py
@@ -0,0 +1,44 @@
+import pickle
+import sklearn
+import random
+from sklearn import linear_model
+import os
+def makeHeroArray(heros):
+ rar = [0]*117
+ for h in heros:
+ rar[h] = 1
+ return rar
+def getProbability(teams):
+ #sample [['Lucian', 'Gragas', 'Pantheon', 'Renekton', 'Soraka'], ['Riven', 'LeBlanc', 'Leona', 'Caitlyn', 'Lee Sin']]
+ #print os.getcwd()
+ clf = pickle.load( open( "Site/clf.p", "rb" ) )
+ dics = pickle.load( open( "Site/dics.p", "rb" ) )
+ mto = dics[1]
+ invChamps = dics[0]
+ championTypes = dics[2]
+
+ left = teams[0]
+ right = teams[1]
+ leftStuns = 0
+ rightStuns = 0
+ for champion in left:
+ if(champion in championTypes['Stun_champion']):
+ leftStuns+=1
+ for champion in right:
+ if(champion in championTypes['Stun_champion']):
+ rightStuns+=1
+ for k,t in enumerate(teams):
+ for i,c in enumerate(t):
+ teams[k][i] = teams[k][i].replace(" ","")
+ if(c=="LeBlanc"):
+ teams[k][i] = "Leblanc"
+ if(c=="KhaZix"):
+ teams[k][i] = "Khazix"
+ if(c=="Wukong"):
+ teams[k][i] = "MonkeyKing"
+ if(c=="Fiddlesticks"):
+ teams[k][i] = "FiddleSticks"
+ teams[k][i] = mto[invChamps[teams[k][i]]]
+ m = makeHeroArray(teams[0])+makeHeroArray(teams[1])+[leftStuns+rightStuns]
+
+ return 100.00*(1.0-(5.0+(clf.decision_function(m)[0]))/10.0)
\ No newline at end of file
diff --git a/Site/getProb.pyc b/Site/getProb.pyc
new file mode 100644
index 0000000..d6e4429
Binary files /dev/null and b/Site/getProb.pyc differ
diff --git a/Site/main.py b/Site/main.py
index 2fc840d..6dd0b2d 100644
--- a/Site/main.py
+++ b/Site/main.py
@@ -3,6 +3,7 @@
#import leagueofdata
from bs4 import BeautifulSoup
import seleen
+import getProb
app = Flask(__name__)
app.config.update(DEBUG = True,)
@@ -32,10 +33,23 @@ def currentPost():
start = str(champ).find('Purple: " + str(champs[5:])
- return str(soup.find('div',{'class':'team-1'}))
- #Call team calc here
- #return render_template('results.html',results="")
+ team1 = soup.find('div',{'class':'team-1'})
+ blueLinks = []
+ for row in team1.find_all('td',{'class':'name'}):
+ blueLinks.append('' + str(row.find('span').text) + '')
+
+ team2 = soup.find('div',{'class':'team-2'})
+ purpleLinks = []
+ for row in team2.find_all('td',{'class':'name'}):
+ purpleLinks.append('' + str(row.find('span').text) + '')
+ blue = round(getProb.getProbability([champs[:5],champs[5:]]))
+ purple=100.00-blue
+ return render_template('results.html',blueLinks=enumerate(blueLinks),blueChamps=champs[:5],purpleLinks=enumerate(purpleLinks),purpleChamps=champs[5:],blue=blue,purple=purple)
@app.route('/simulate/')
def simulate():
@@ -62,9 +76,10 @@ def simulatePost():
team1.append(request.form['champ'+str(i)])
team2.append(request.form['champ'+str(i)+"2"])
- #Call the team calc here
-
- return render_template('results.html',results="")
+ blue = 60
+ blue = round(getProb.getProbability([champs[:5],champs[5:]]))
+ purple=100-blue
+ return render_template('results.html',blueLinks=enumerate(team1),blueChamps=team1,purpleLinks=enumerate(team2),purpleChamps=team2,blue=blue,purple=purple)
@app.route('/about/')
def about():
diff --git a/Site/seleen.py b/Site/seleen.py
index b9d46b6..a318476 100644
--- a/Site/seleen.py
+++ b/Site/seleen.py
@@ -3,11 +3,12 @@
import time
def getBrowser():
return webdriver.Firefox()
-
+
def lolKing(summonerName, browser):
count = 0
browser.get('http://www.lolnexus.com/NA/search?name='+summonerName)
while("player-name" not in browser.page_source and count<400):
time.sleep(.1)
count+=1
+ browser.close()
return browser.page_source
\ No newline at end of file
diff --git a/Site/seleen.pyc b/Site/seleen.pyc
new file mode 100644
index 0000000..732eace
Binary files /dev/null and b/Site/seleen.pyc differ
diff --git a/Site/templates/leagueabout.html b/Site/templates/leagueabout.html
index 315b808..5dc228d 100644
--- a/Site/templates/leagueabout.html
+++ b/Site/templates/leagueabout.html
@@ -111,9 +111,6 @@
Current Match
-
- Simulate Match
-
About
diff --git a/Site/templates/leaguecurrent.html b/Site/templates/leaguecurrent.html
index 8314763..502eb85 100644
--- a/Site/templates/leaguecurrent.html
+++ b/Site/templates/leaguecurrent.html
@@ -111,9 +111,6 @@
Current Match
-
- Simulate Match
-
About
diff --git a/Site/templates/leagueofdata.html b/Site/templates/leagueofdata.html
index 6842c12..c8b10a8 100644
--- a/Site/templates/leagueofdata.html
+++ b/Site/templates/leagueofdata.html
@@ -111,9 +111,6 @@
Current Match
-
- Simulate Match
-
About
@@ -133,11 +130,11 @@ Current Matches
League of Data allows a player to search for a summoner name that is in a current match and will predict the win chances for both teams based on millions of collected matches.
Try it now »
-
+
BoilerMake
This application was created at boilermake as a weekend hackathon project. This hackathon took place at Purdue and is open source.
diff --git a/Site/templates/results.html b/Site/templates/results.html
index 84379ce..cfc8b5a 100644
--- a/Site/templates/results.html
+++ b/Site/templates/results.html
@@ -14,6 +14,14 @@
padding-top: 70px;
}
+ .progress-bar-danger {
+ background-color: #9900CC;
+ }
+
+ .progress-bar-info {
+ background-color: #3399FF;
+ }
+
.champion-thumb > img {
border-top: 4px;
}
@@ -116,9 +124,6 @@
Current Match
-
- Simulate Match
-
About
@@ -128,62 +133,43 @@
-
+
+ {% autoescape false %}
-
+
+
{{blue}}% vs. {{purple}}%
+
+ {% endautoescape %}
diff --git a/Site/templates/simulate.html b/Site/templates/simulate.html
index e4f84c7..e2b882f 100644
--- a/Site/templates/simulate.html
+++ b/Site/templates/simulate.html
@@ -111,9 +111,6 @@
Current Match
-
- Simulate Match
-
About