@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}html,body{width:100vw;height:100vh}body{background-color:#2d2136;padding:0;margin:0;overflow:hidden}.canvas,.ui-container{position:absolute}.ui-container{width:100%;height:100%;pointer-events:none}.ui-container>*{pointer-events:auto}*{box-sizing:border-box;font-family:bitty;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"courier"}.disabled{opacity:.4 !important;pointer-events:none !important}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background-color:#3c3f4c;-webkit-border-radius:0;border-radius:0}::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:0;background:#929398} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}html,body{width:100vw;height:100vh}body{background-color:#2d2136;padding:0;margin:0;overflow:hidden}.canvas,.ui-container{position:absolute}.ui-container{width:100%;height:100%;pointer-events:none}.ui-container>*{pointer-events:auto}*{box-sizing:border-box;font-family:bitty;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:"courier"}.disabled{opacity:.4 !important;pointer-events:none !important}::-webkit-scrollbar{width:16px}::-webkit-scrollbar-track{background-color:#3c3f4c;-webkit-border-radius:0;border-radius:0}::-webkit-scrollbar-thumb{-webkit-border-radius:10px;border-radius:0;background:#929398} |
@@ -34,7 +34,6 @@ define([ | |||||
magicFind: 'increased item quality', | magicFind: 'increased item quality', | ||||
itemQuantity: 'increased item quantity', | itemQuantity: 'increased item quantity', | ||||
sprintChance: 'sprint chance', | sprintChance: 'sprint chance', | ||||
dmgPercent: 'to all damage', | |||||
allAttributes: 'to all attributes', | allAttributes: 'to all attributes', | ||||
xpIncrease: 'additional xp per kill', | xpIncrease: 'additional xp per kill', | ||||
lvlRequire: 'level requirement reduction', | lvlRequire: 'level requirement reduction', | ||||
@@ -51,17 +50,14 @@ define([ | |||||
elementPoisonResist: 'poison resistance', | elementPoisonResist: 'poison resistance', | ||||
elementAllResist: 'all resistance', | elementAllResist: 'all resistance', | ||||
increasedStunDuration: 'increased stun duration', | |||||
physicalPercent: 'increased physical damage', | physicalPercent: 'increased physical damage', | ||||
spellPercent: 'increased spell damage', | spellPercent: 'increased spell damage', | ||||
elementPercent: 'increased elemental damage', | elementPercent: 'increased elemental damage', | ||||
hpPercent: 'increased life', | |||||
armorPercent: 'increased armor', | |||||
spellAddCritChance: 'increased spell crit chance', | |||||
spellAddCritMultiplier: 'increased spell crit multiplier', | |||||
auraReserveMultiplier: 'aura mana reservation multiplier', | |||||
auraDoubleEffect: 'doubles the effect of your auras' | |||||
addSpellCritChance: 'increased spell crit chance', | |||||
addSpellCritMultiplier: 'increased spell crit multiplier', | |||||
addAttackCritChance: 'increased attack crit chance', | |||||
addAttackCritMultiplier: 'increased attack crit multiplier', | |||||
dodgeAttackChance: 'chance to dodge attacks' | |||||
} | } | ||||
}; | }; | ||||
}); | }); |
@@ -52,7 +52,16 @@ define([ | |||||
serialize: function () { | serialize: function () { | ||||
return JSON.stringify({ | return JSON.stringify({ | ||||
nodes: this.nodes, | nodes: this.nodes, | ||||
links: this.links | |||||
links: this.links.map(function (l) { | |||||
return { | |||||
from: { | |||||
id: l.from.id | |||||
}, | |||||
to: { | |||||
id: l.to.id | |||||
} | |||||
}; | |||||
}) | |||||
}); | }); | ||||
}, | }, | ||||
@@ -216,7 +225,7 @@ define([ | |||||
if (!selected) | if (!selected) | ||||
return true; | return true; | ||||
selected.color = (selected.color + 1) % 5; | |||||
selected.color = (selected.color + 1) % 7; | |||||
}, | }, | ||||
resizeNode: function () { | resizeNode: function () { | ||||
@@ -132,7 +132,9 @@ define([ | |||||
} | } | ||||
var action = ({ | var action = ({ | ||||
d: 'deleteNode' | |||||
d: 'deleteNode', | |||||
c: 'recolorNode', | |||||
r: 'resizeNode' | |||||
})[key]; | })[key]; | ||||
if (!action) | if (!action) | ||||
return; | return; | ||||
@@ -190,7 +190,9 @@ define([ | |||||
'#3fa7dd', | '#3fa7dd', | ||||
'#4ac441', | '#4ac441', | ||||
'#d43346', | '#d43346', | ||||
'#a24eff' | |||||
'#a24eff', | |||||
'#faac45', | |||||
'#44cb95' | |||||
])[color]; | ])[color]; | ||||
var size = ([ | var size = ([ | ||||
constants.blockSize, | constants.blockSize, | ||||
@@ -208,7 +210,9 @@ define([ | |||||
'#42548d', | '#42548d', | ||||
'#386646', | '#386646', | ||||
'#763b3b', | '#763b3b', | ||||
'#533399' | |||||
'#533399', | |||||
'#d07840', | |||||
'#3f8d6d' | |||||
])[color]; | ])[color]; | ||||
this.ctx.strokeRect(x, y, size, size); | this.ctx.strokeRect(x, y, size, size); | ||||
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiGroups{position:absolute;left:10px;bottom:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiGroups .heading-text{color:#f2f5f5;margin-bottom:15px}.uiGroups .list:not(:empty){margin-bottom:15px}.uiGroups .list .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiGroups .list .item:hover{background-color:#929398}.uiGroups .list .item:last-child{margin-bottom:0}.uiGroups .list .item.active{background-color:#929398}.uiGroups .btn{width:calc((100% - 30px) / 3);color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;float:left;cursor:pointer}.uiGroups .btn:hover{background-color:#51fc9a;color:#3c3f4c}.uiGroups .btn:not(:last-child){margin-right:15px} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiGroups{position:absolute;left:10px;bottom:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiGroups .heading-text{color:#f2f5f5;margin-bottom:15px}.uiGroups .list:not(:empty){margin-bottom:15px}.uiGroups .list .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiGroups .list .item:hover{background-color:#929398}.uiGroups .list .item:last-child{margin-bottom:0}.uiGroups .list .item.active{background-color:#929398}.uiGroups .btn{width:calc((100% - 30px) / 3);color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;float:left;cursor:pointer}.uiGroups .btn:hover{background-color:#51fc9a;color:#3c3f4c}.uiGroups .btn:not(:last-child){margin-right:15px} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiLoad{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiLoad .heading-text{color:#f2f5f5;margin-bottom:15px}.uiLoad .list .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiLoad .list .item:hover{background-color:#929398}.uiLoad .list .item:last-child{margin-bottom:0} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiLoad{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiLoad .heading-text{color:#f2f5f5;margin-bottom:15px}.uiLoad .list .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiLoad .list .item:hover{background-color:#929398}.uiLoad .list .item:last-child{margin-bottom:0} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiMenu{position:absolute;right:10px;bottom:10px;padding:10px;width:120px;background-color:#373041;text-align:center}.uiMenu .heading{color:#f2f5f5;margin-bottom:15px}.uiMenu input{border:none;outline:none;width:calc(100% - 10px);height:20px;padding:5px;display:box}.uiMenu .btn{float:left;width:100%;color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;cursor:pointer}.uiMenu .btn:not(:last-child){margin-bottom:15px}.uiMenu .btn:hover{background-color:#51fc9a;color:#3c3f4c}.uiMenu .btn:nth-child(3){clear:both} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiMenu{position:absolute;right:10px;bottom:10px;padding:10px;width:120px;background-color:#373041;text-align:center}.uiMenu .heading{color:#f2f5f5;margin-bottom:15px}.uiMenu input{border:none;outline:none;width:calc(100% - 10px);height:20px;padding:5px;display:box}.uiMenu .btn{float:left;width:100%;color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;cursor:pointer}.uiMenu .btn:not(:last-child){margin-bottom:15px}.uiMenu .btn:hover{background-color:#51fc9a;color:#3c3f4c}.uiMenu .btn:nth-child(3){clear:both} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiMode{position:absolute;left:10px;top:10px;padding:10px;width:120px;background-color:#373041;text-align:center}.uiMode .heading{color:#f2f5f5;margin-bottom:15px}.uiMode input{border:none;outline:none;width:calc(100% - 10px);height:20px;padding:5px;display:box}.uiMode .btn{float:left;width:100%;color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;cursor:pointer}.uiMode .btn:not(:last-child){margin-bottom:15px}.uiMode .btn:hover,.uiMode .btn.active{background-color:#51fc9a;color:#3c3f4c}.uiMode .btn:nth-child(3){clear:both} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiMode{position:absolute;left:10px;top:10px;padding:10px;width:120px;background-color:#373041;text-align:center}.uiMode .heading{color:#f2f5f5;margin-bottom:15px}.uiMode input{border:none;outline:none;width:calc(100% - 10px);height:20px;padding:5px;display:box}.uiMode .btn{float:left;width:100%;color:#f2f5f5;background-color:#3fa7dd;padding:5px;box-sizing:border-box;cursor:pointer}.uiMode .btn:not(:last-child){margin-bottom:15px}.uiMode .btn:hover,.uiMode .btn.active{background-color:#51fc9a;color:#3c3f4c}.uiMode .btn:nth-child(3){clear:both} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiNodeInfo{position:absolute;right:10px;top:10px;padding:10px;width:250px;background-color:#373041;text-align:center}.uiNodeInfo.picking{height:calc(100% - 15px)}.uiNodeInfo .heading-text{color:#f2f5f5;margin-bottom:15px}.uiNodeInfo .content{height:calc(100% - 15px)}.uiNodeInfo .lbl{color:#f2f5f5}.uiNodeInfo .lbl:not(:empty).lblId:before{content:'Id: '}.uiNodeInfo .lbl:not(:empty).lblGroup:before{content:'Group: '}.uiNodeInfo .lbl:not(:empty).lblType:before{content:'Type: '}.uiNodeInfo .lbl:not(:empty).lblPos:before{content:'Pos: '}.uiNodeInfo .lbl:not(:empty).lblLinks:before{content:'Links: '}.uiNodeInfo .stats:not(:empty){margin-top:15px}.uiNodeInfo .stats .item{width:100%;height:28px;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiNodeInfo .stats .item:hover{background-color:#929398}.uiNodeInfo .stats .item:last-child{margin-bottom:0}.uiNodeInfo .nodeCount{color:#f2f5f5;margin-top:10px}.uiNodeInfo .nodeCount:before{content:'Selected: '}.uiNodeInfo .lookup{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#373041;overflow:auto}.uiNodeInfo .lookup .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiNodeInfo .lookup .item:hover{background-color:#929398}.uiNodeInfo .lookup .item:last-child{margin-bottom:0} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiNodeInfo{position:absolute;right:10px;top:10px;padding:10px;width:250px;background-color:#373041;text-align:center}.uiNodeInfo.picking{height:calc(100% - 15px)}.uiNodeInfo .heading-text{color:#f2f5f5;margin-bottom:15px}.uiNodeInfo .content{height:calc(100% - 15px)}.uiNodeInfo .lbl{color:#f2f5f5}.uiNodeInfo .lbl:not(:empty).lblId:before{content:'Id: '}.uiNodeInfo .lbl:not(:empty).lblGroup:before{content:'Group: '}.uiNodeInfo .lbl:not(:empty).lblType:before{content:'Type: '}.uiNodeInfo .lbl:not(:empty).lblPos:before{content:'Pos: '}.uiNodeInfo .lbl:not(:empty).lblLinks:before{content:'Links: '}.uiNodeInfo .stats:not(:empty){margin-top:15px}.uiNodeInfo .stats .item{width:100%;height:28px;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiNodeInfo .stats .item:hover{background-color:#929398}.uiNodeInfo .stats .item:last-child{margin-bottom:0}.uiNodeInfo .nodeCount{color:#f2f5f5;margin-top:10px}.uiNodeInfo .nodeCount:before{content:'Selected: '}.uiNodeInfo .lookup{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#373041;overflow:auto}.uiNodeInfo .lookup .item{width:100%;color:#f2f5f5;background-color:#505360;padding:5px 0 5px 0;margin-bottom:5px;cursor:pointer}.uiNodeInfo .lookup .item:hover{background-color:#929398}.uiNodeInfo .lookup .item:last-child{margin-bottom:0} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiRenameGroup{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiRenameGroup .heading{color:#f2f5f5;margin-bottom:15px}.uiRenameGroup input{border:none;outline:none;width:100%;display:block;height:28px;padding:5px;display:box;margin-bottom:15px;font-size:16px}.uiRenameGroup .btn{width:calc((100% - 15px) / 2);color:#f2f5f5;margin-top:15px;background-color:#3fa7dd;padding:5px;box-sizing:border-box;margin:0 auto;cursor:pointer}.uiRenameGroup .btn:hover{background-color:#51fc9a;color:#3c3f4c} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiRenameGroup{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiRenameGroup .heading{color:#f2f5f5;margin-bottom:15px}.uiRenameGroup input{border:none;outline:none;width:100%;display:block;height:28px;padding:5px;display:box;margin-bottom:15px;font-size:16px}.uiRenameGroup .btn{width:calc((100% - 15px) / 2);color:#f2f5f5;margin-top:15px;background-color:#3fa7dd;padding:5px;box-sizing:border-box;margin:0 auto;cursor:pointer}.uiRenameGroup .btn:hover{background-color:#51fc9a;color:#3c3f4c} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiSave{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiSave .heading{color:#f2f5f5;margin-bottom:15px}.uiSave input{border:none;outline:none;width:100%;display:block;height:28px;padding:5px;display:box;margin-bottom:15px;font-size:16px}.uiSave .btn{width:calc((100% - 15px) / 2);color:#f2f5f5;margin-top:15px;background-color:#3fa7dd;padding:5px;box-sizing:border-box;margin:0 auto;cursor:pointer}.uiSave .btn:hover{background-color:#51fc9a;color:#3c3f4c} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiSave{position:absolute;right:10px;top:10px;padding:10px;width:200px;background-color:#373041;text-align:center}.uiSave .heading{color:#f2f5f5;margin-bottom:15px}.uiSave input{border:none;outline:none;width:100%;display:block;height:28px;padding:5px;display:box;margin-bottom:15px;font-size:16px}.uiSave .btn{width:calc((100% - 15px) / 2);color:#f2f5f5;margin-top:15px;background-color:#3fa7dd;padding:5px;box-sizing:border-box;margin:0 auto;cursor:pointer}.uiSave .btn:hover{background-color:#51fc9a;color:#3c3f4c} |
@@ -1 +1 @@ | |||||
.q0{color:#f2f5f5}.q1{color:#3fa7dd}.q2{color:#ffeb38}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346}.color-green{color:#80f643}.uiTooltip{position:absolute;padding:5px;background-color:rgba(55,48,65,0.9);text-align:center;color:#f2f5f5;display:none} | |||||
.q0{color:#f2f5f5}.q1{color:#4ac441}.q2{color:#3fa7dd}.q3{color:#a24eff}.q4{color:#ff6942}.color-red{color:#d43346 !important}.color-redA{color:#ff4252 !important}.color-blueA{color:#48edff !important}.color-blueB{color:#3fa7dd !important}.color-greenB{color:#4ac441 !important}.color-yellowB{color:#faac45 !important}.color-green{color:#80f643 !important}.color-brownC{color:#b15a30 !important}.color-brownD{color:#763b3b !important}.color-grayA{color:#f2f5f5 !important}.color-grayB{color:#c0c3cf !important}.color-grayC{color:#929398 !important}.color-grayD{color:#69696e !important}.color-pinkB{color:#de43ae !important}.uiTooltip{position:absolute;padding:5px;background-color:rgba(55,48,65,0.9);text-align:center;color:#f2f5f5;display:none} |
@@ -111,7 +111,6 @@ define([ | |||||
stats: { | stats: { | ||||
values: { | values: { | ||||
level: level, | level: level, | ||||
dmgPercent: max ? 20 : 0, | |||||
elementArcanePercent: 0, | elementArcanePercent: 0, | ||||
elementFrostPercent: 0, | elementFrostPercent: 0, | ||||
elementPoisonPercent: 0, | elementPoisonPercent: 0, | ||||
@@ -28,7 +28,6 @@ define([ | |||||
'magicFind': 'increased item quality', | 'magicFind': 'increased item quality', | ||||
'itemQuantity': 'increased item quantity', | 'itemQuantity': 'increased item quantity', | ||||
'sprintChance': 'sprint chance', | 'sprintChance': 'sprint chance', | ||||
'dmgPercent': 'to all damage', | |||||
'allAttributes': 'to all attributes', | 'allAttributes': 'to all attributes', | ||||
'xpIncrease': 'additional xp per kill', | 'xpIncrease': 'additional xp per kill', | ||||
'lvlRequire': 'level requirement reduction', | 'lvlRequire': 'level requirement reduction', | ||||
@@ -38,6 +37,10 @@ define([ | |||||
'elementFirePercent': 'increased fire damage', | 'elementFirePercent': 'increased fire damage', | ||||
'elementHolyPercent': 'increased holy damage', | 'elementHolyPercent': 'increased holy damage', | ||||
'elementPoisonPercent': 'increased poison damage', | 'elementPoisonPercent': 'increased poison damage', | ||||
'physicalPercent': 'increased physical damage', | |||||
'elementPercent': 'increased elemental damage', | |||||
'spellPercent': 'increased spell damage', | |||||
'elementAllResist': 'all resistance', | 'elementAllResist': 'all resistance', | ||||
'elementArcaneResist': 'arcane resistance', | 'elementArcaneResist': 'arcane resistance', | ||||
@@ -50,6 +53,8 @@ define([ | |||||
'attackSpeed': 'attack speed', | 'attackSpeed': 'attack speed', | ||||
'castSpeed': 'cast speed', | 'castSpeed': 'cast speed', | ||||
'auraReserveMultiplier': 'aura mana reservation multiplier', | |||||
//This stat is used for gambling when you can't see the stats | //This stat is used for gambling when you can't see the stats | ||||
'stats': 'stats', | 'stats': 'stats', | ||||
@@ -348,8 +348,9 @@ define([ | |||||
'frost increase': stats.elementFrostPercent + '%', | 'frost increase': stats.elementFrostPercent + '%', | ||||
'holy increase': stats.elementHolyPercent + '%', | 'holy increase': stats.elementHolyPercent + '%', | ||||
'poison increase': stats.elementPoisonPercent + '%', | 'poison increase': stats.elementPoisonPercent + '%', | ||||
'physical increase': stats.physicalPercent + '%', | |||||
gap2: '', | gap2: '', | ||||
'damage increase': stats.dmgPercent + '%', | |||||
'spell increase': stats.spellPercent + '%', | |||||
gap3: '', | gap3: '', | ||||
'attack speed': (100 + stats.attackSpeed) + '%', | 'attack speed': (100 + stats.attackSpeed) + '%', | ||||
'cast speed': (100 + stats.castSpeed) + '%', | 'cast speed': (100 + stats.castSpeed) + '%', | ||||
@@ -377,6 +378,8 @@ define([ | |||||
'sprint chance': (stats.sprintChance || 0) + '%', | 'sprint chance': (stats.sprintChance || 0) + '%', | ||||
gap2: '', | gap2: '', | ||||
'xp increase': stats.xpIncrease + '%', | 'xp increase': stats.xpIncrease + '%', | ||||
gap3: '', | |||||
'aura mana reservation multiplier': stats.auraReserveMultiplier | |||||
} | } | ||||
}[this.find('.tab.selected').html()]; | }[this.find('.tab.selected').html()]; | ||||
@@ -150,7 +150,7 @@ define([ | |||||
color = 0; | color = 0; | ||||
if (node.spiritStart) { | if (node.spiritStart) { | ||||
color = 6; | |||||
color = 8; | |||||
node.size = 1; | node.size = 1; | ||||
} | } | ||||
@@ -161,6 +161,8 @@ define([ | |||||
'#4ac441', | '#4ac441', | ||||
'#d43346', | '#d43346', | ||||
'#a24eff', | '#a24eff', | ||||
'#faac45', | |||||
'#44cb95', | |||||
'#fafcfc' | '#fafcfc' | ||||
])[color]; | ])[color]; | ||||
var size = ([ | var size = ([ | ||||
@@ -196,6 +198,8 @@ define([ | |||||
'#386646', | '#386646', | ||||
'#763b3b', | '#763b3b', | ||||
'#533399', | '#533399', | ||||
'#d07840', | |||||
'#3f8d6d', | |||||
'#fafcfc' | '#fafcfc' | ||||
])[color]; | ])[color]; | ||||
this.ctx.strokeRect(x, y, size, size); | this.ctx.strokeRect(x, y, size, size); | ||||
@@ -271,7 +275,6 @@ define([ | |||||
'addCritChance', | 'addCritChance', | ||||
'addCritMultiplier', | 'addCritMultiplier', | ||||
'sprintChance', | 'sprintChance', | ||||
'dmgPercent', | |||||
'xpIncrease', | 'xpIncrease', | ||||
'blockAttackChance', | 'blockAttackChance', | ||||
'blockSpellChance', | 'blockSpellChance', | ||||
@@ -19,7 +19,6 @@ define([ | |||||
'addSpellCritChance', | 'addSpellCritChance', | ||||
'addSpellCritMultiplier', | 'addSpellCritMultiplier', | ||||
'sprintChance', | 'sprintChance', | ||||
'dmgPercent', | |||||
'xpIncrease', | 'xpIncrease', | ||||
'blockAttackChance', | 'blockAttackChance', | ||||
'blockSpellChance', | 'blockSpellChance', | ||||
@@ -54,14 +54,20 @@ define([ | |||||
if (config.element) { | if (config.element) { | ||||
var elementName = 'element' + config.element[0].toUpperCase() + config.element.substr(1); | var elementName = 'element' + config.element[0].toUpperCase() + config.element.substr(1); | ||||
dmgPercent += (srcValues[elementName + 'Percent'] || 0); | dmgPercent += (srcValues[elementName + 'Percent'] || 0); | ||||
dmgPercent += srcValues.elementPercent; | |||||
if (!config.isAttack) | |||||
dmgPercent += srcValues.spellPercent; | |||||
//Don't mitigate heals | //Don't mitigate heals | ||||
if (!config.noMitigate) { | if (!config.noMitigate) { | ||||
var resist = tgtValues.elementAllResist + (tgtValues[elementName + 'Resist'] || 0); | var resist = tgtValues.elementAllResist + (tgtValues[elementName + 'Resist'] || 0); | ||||
amount *= max(0.5 + max((1 - (resist / 100)) / 2, -0.5), 0.5); | amount *= max(0.5 + max((1 - (resist / 100)) / 2, -0.5), 0.5); | ||||
} | } | ||||
} else if (!config.noMitigate) | |||||
} else if (!config.noMitigate) { | |||||
dmgPercent += srcValues.physicalPercent; | |||||
amount *= max(0.5 + max((1 - ((tgtValues.armor || 0) / (srcValues.level * 50))) / 2, -0.5), 0.5); | amount *= max(0.5 + max((1 - ((tgtValues.armor || 0) / (srcValues.level * 50))) / 2, -0.5), 0.5); | ||||
} | |||||
amount *= (dmgPercent / 100); | amount *= (dmgPercent / 100); | ||||
@@ -42,7 +42,6 @@ define([ | |||||
spellCritMultiplier: 0, | spellCritMultiplier: 0, | ||||
armor: 0, | armor: 0, | ||||
dmgPercent: 0, | |||||
vit: 0, | vit: 0, | ||||
blockAttackChance: 0, | blockAttackChance: 0, | ||||
@@ -58,6 +57,10 @@ define([ | |||||
elementFirePercent: 0, | elementFirePercent: 0, | ||||
elementHolyPercent: 0, | elementHolyPercent: 0, | ||||
elementPoisonPercent: 0, | elementPoisonPercent: 0, | ||||
physicalPercent: 0, | |||||
elementPercent: 0, | |||||
spellPercent: 0, | |||||
elementArcaneResist: 0, | elementArcaneResist: 0, | ||||
elementFrostResist: 0, | elementFrostResist: 0, | ||||
@@ -222,6 +225,11 @@ define([ | |||||
var element = 'element' + (s[0].toUpperCase() + s.substr(1)) + 'Resist'; | var element = 'element' + (s[0].toUpperCase() + s.substr(1)) + 'Resist'; | ||||
this.addStat(element, value); | this.addStat(element, value); | ||||
}, this); | }, this); | ||||
} else if (stat == 'elementPercent') { | |||||
['arcane', 'frost', 'fire', 'holy', 'poison'].forEach(function (s) { | |||||
var element = 'element' + (s[0].toUpperCase() + s.substr(1)) + 'Percent'; | |||||
this.addStat(element, value); | |||||
}, this); | |||||
} else if (stat == 'str') | } else if (stat == 'str') | ||||
this.addStat('armor', (value * this.statScales.strToArmor)); | this.addStat('armor', (value * this.statScales.strToArmor)); | ||||
else if (stat == 'int') | else if (stat == 'int') | ||||
@@ -49,6 +49,18 @@ define([ | |||||
chance: chance | chance: chance | ||||
}; | }; | ||||
}); | }); | ||||
items | |||||
.filter(f => ((f.stats) && (f.stats.dmgPercent))) | |||||
.forEach(function (i) { | |||||
i.stats.physicalPercent = i.stats.dmgPercent; | |||||
delete i.stats.dmgPercent; | |||||
if ((i.enchantedStats) && (i.enchantedStats.dmgPercent)) { | |||||
i.enchantedStats.physicalPercent = i.enchantedStats.dmgPercent; | |||||
delete i.enchantedStats.dmgPercent; | |||||
} | |||||
}); | |||||
}, | }, | ||||
fixSkins: function (username, skins) { | fixSkins: function (username, skins) { | ||||
@@ -113,7 +113,7 @@ define([ | |||||
'Viridian Band': { | 'Viridian Band': { | ||||
sprite: [4, 3], | sprite: [4, 3], | ||||
implicitStat: { | implicitStat: { | ||||
stat: 'dmgPercent', | |||||
stat: 'physicalPercent', | |||||
value: [1, 3] | value: [1, 3] | ||||
} | } | ||||
} | } | ||||
@@ -5,17 +5,6 @@ define([ | |||||
) { | ) { | ||||
return { | return { | ||||
generators: { | generators: { | ||||
dmgPercent: function (item, level, blueprint, perfection, calcPerfection) { | |||||
var max = (level / 2); | |||||
if (calcPerfection) | |||||
return (calcPerfection / max); | |||||
else if (perfection == null) | |||||
return random.norm(1, max) * (blueprint.statMult.dmgPercent || 1); | |||||
else | |||||
return max * perfection * (blueprint.statMult.dmgPercent || 1); | |||||
}, | |||||
elementDmgPercent: function (item, level, blueprint, perfection, calcPerfection) { | elementDmgPercent: function (item, level, blueprint, perfection, calcPerfection) { | ||||
var max = (level / 6.7); | var max = (level / 6.7); | ||||
@@ -214,10 +203,6 @@ define([ | |||||
generator: 'elementResist' | generator: 'elementResist' | ||||
}, | }, | ||||
dmgPercent: { | |||||
ignore: true, | |||||
generator: 'dmgPercent' | |||||
}, | |||||
elementArcanePercent: { | elementArcanePercent: { | ||||
level: { | level: { | ||||
min: 10 | min: 10 | ||||
@@ -253,6 +238,27 @@ define([ | |||||
ignore: true, | ignore: true, | ||||
generator: 'elementDmgPercent' | generator: 'elementDmgPercent' | ||||
}, | }, | ||||
physicalPercent: { | |||||
level: { | |||||
min: 10 | |||||
}, | |||||
ignore: true, | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
elementPercent: { | |||||
level: { | |||||
min: 10 | |||||
}, | |||||
ignore: true, | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
spellPercent: { | |||||
level: { | |||||
min: 10 | |||||
}, | |||||
ignore: true, | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
allAttributes: { | allAttributes: { | ||||
generator: 'mainStat', | generator: 'mainStat', | ||||
ignore: true | ignore: true | ||||
@@ -409,6 +415,15 @@ define([ | |||||
elementPoisonPercent: { | elementPoisonPercent: { | ||||
generator: 'elementDmgPercent' | generator: 'elementDmgPercent' | ||||
}, | }, | ||||
elementPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
physicalPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
spellPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
allAttributes: { | allAttributes: { | ||||
generator: 'mainStat' | generator: 'mainStat' | ||||
}, | }, | ||||
@@ -423,9 +438,6 @@ define([ | |||||
}, | }, | ||||
neck: { | neck: { | ||||
dmgPercent: { | |||||
generator: 'dmgPercent' | |||||
}, | |||||
elementArcanePercent: { | elementArcanePercent: { | ||||
generator: 'elementDmgPercent' | generator: 'elementDmgPercent' | ||||
}, | }, | ||||
@@ -441,6 +453,15 @@ define([ | |||||
elementPoisonPercent: { | elementPoisonPercent: { | ||||
generator: 'elementDmgPercent' | generator: 'elementDmgPercent' | ||||
}, | }, | ||||
physicalPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
elementPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
spellPercent: { | |||||
generator: 'elementDmgPercent' | |||||
}, | |||||
allAttributes: { | allAttributes: { | ||||
generator: 'mainStat' | generator: 'mainStat' | ||||
}, | }, | ||||