Browse Source

more work on passive tree

tags/v0.2.0^2
big bad waffle 6 years ago
parent
commit
53259f6130
26 changed files with 2588 additions and 14535 deletions
  1. +1
    -1
      helpers/passives/client/css/main.css
  2. +5
    -9
      helpers/passives/client/js/constants.js
  3. +11
    -2
      helpers/passives/client/js/generator.js
  4. +3
    -1
      helpers/passives/client/js/main.js
  5. +6
    -2
      helpers/passives/client/js/renderer.js
  6. +1
    -1
      helpers/passives/client/ui/templates/groups/styles.css
  7. +1
    -1
      helpers/passives/client/ui/templates/load/styles.css
  8. +1
    -1
      helpers/passives/client/ui/templates/menu/styles.css
  9. +1
    -1
      helpers/passives/client/ui/templates/mode/styles.css
  10. +1
    -1
      helpers/passives/client/ui/templates/nodeInfo/styles.css
  11. +1
    -1
      helpers/passives/client/ui/templates/renameGroup/styles.css
  12. +1
    -1
      helpers/passives/client/ui/templates/save/styles.css
  13. +1
    -1
      helpers/passives/client/ui/templates/tooltip/styles.css
  14. +1
    -5481
      helpers/passives/server/saves/tree.json
  15. +0
    -1
      sims/dpt/sim.js
  16. +6
    -1
      src/client/js/misc/statTranslations.js
  17. +4
    -1
      src/client/ui/templates/equipment/equipment.js
  18. +5
    -2
      src/client/ui/templates/passives/passives.js
  19. +1235
    -4502
      src/client/ui/templates/passives/temp.js
  20. +0
    -1
      src/client/ui/templates/tooltipItem/tooltipItem.js
  21. +7
    -1
      src/server/combat/combat.js
  22. +9
    -1
      src/server/components/stats.js
  23. +1235
    -4502
      src/server/config/passiveTree.js
  24. +12
    -0
      src/server/fixes/fixes.js
  25. +1
    -1
      src/server/items/config/types.js
  26. +39
    -18
      src/server/items/generators/stats.js

+ 1
- 1
helpers/passives/client/css/main.css View File

@@ -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}

+ 5
- 9
helpers/passives/client/js/constants.js View File

@@ -34,7 +34,6 @@ define([
magicFind: 'increased item quality',
itemQuantity: 'increased item quantity',
sprintChance: 'sprint chance',
dmgPercent: 'to all damage',
allAttributes: 'to all attributes',
xpIncrease: 'additional xp per kill',
lvlRequire: 'level requirement reduction',
@@ -51,17 +50,14 @@ define([
elementPoisonResist: 'poison resistance',
elementAllResist: 'all resistance',

increasedStunDuration: 'increased stun duration',
physicalPercent: 'increased physical damage',
spellPercent: 'increased spell 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'
}
};
});

+ 11
- 2
helpers/passives/client/js/generator.js View File

@@ -52,7 +52,16 @@ define([
serialize: function () {
return JSON.stringify({
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)
return true;

selected.color = (selected.color + 1) % 5;
selected.color = (selected.color + 1) % 7;
},

resizeNode: function () {


+ 3
- 1
helpers/passives/client/js/main.js View File

@@ -132,7 +132,9 @@ define([
}

var action = ({
d: 'deleteNode'
d: 'deleteNode',
c: 'recolorNode',
r: 'resizeNode'
})[key];
if (!action)
return;


+ 6
- 2
helpers/passives/client/js/renderer.js View File

@@ -190,7 +190,9 @@ define([
'#3fa7dd',
'#4ac441',
'#d43346',
'#a24eff'
'#a24eff',
'#faac45',
'#44cb95'
])[color];
var size = ([
constants.blockSize,
@@ -208,7 +210,9 @@ define([
'#42548d',
'#386646',
'#763b3b',
'#533399'
'#533399',
'#d07840',
'#3f8d6d'
])[color];
this.ctx.strokeRect(x, y, size, size);



+ 1
- 1
helpers/passives/client/ui/templates/groups/styles.css View File

@@ -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
helpers/passives/client/ui/templates/load/styles.css View File

@@ -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
helpers/passives/client/ui/templates/menu/styles.css View File

@@ -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
helpers/passives/client/ui/templates/mode/styles.css View File

@@ -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
helpers/passives/client/ui/templates/nodeInfo/styles.css View File

@@ -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
helpers/passives/client/ui/templates/renameGroup/styles.css View File

@@ -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
helpers/passives/client/ui/templates/save/styles.css View File

@@ -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
helpers/passives/client/ui/templates/tooltip/styles.css View File

@@ -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}

+ 1
- 5481
helpers/passives/server/saves/tree.json
File diff suppressed because it is too large
View File


+ 0
- 1
sims/dpt/sim.js View File

@@ -111,7 +111,6 @@ define([
stats: {
values: {
level: level,
dmgPercent: max ? 20 : 0,
elementArcanePercent: 0,
elementFrostPercent: 0,
elementPoisonPercent: 0,


+ 6
- 1
src/client/js/misc/statTranslations.js View File

@@ -28,7 +28,6 @@ define([
'magicFind': 'increased item quality',
'itemQuantity': 'increased item quantity',
'sprintChance': 'sprint chance',
'dmgPercent': 'to all damage',
'allAttributes': 'to all attributes',
'xpIncrease': 'additional xp per kill',
'lvlRequire': 'level requirement reduction',
@@ -38,6 +37,10 @@ define([
'elementFirePercent': 'increased fire damage',
'elementHolyPercent': 'increased holy damage',
'elementPoisonPercent': 'increased poison damage',
'physicalPercent': 'increased physical damage',

'elementPercent': 'increased elemental damage',
'spellPercent': 'increased spell damage',

'elementAllResist': 'all resistance',
'elementArcaneResist': 'arcane resistance',
@@ -50,6 +53,8 @@ define([
'attackSpeed': 'attack speed',
'castSpeed': 'cast speed',

'auraReserveMultiplier': 'aura mana reservation multiplier',

//This stat is used for gambling when you can't see the stats
'stats': 'stats',



+ 4
- 1
src/client/ui/templates/equipment/equipment.js View File

@@ -348,8 +348,9 @@ define([
'frost increase': stats.elementFrostPercent + '%',
'holy increase': stats.elementHolyPercent + '%',
'poison increase': stats.elementPoisonPercent + '%',
'physical increase': stats.physicalPercent + '%',
gap2: '',
'damage increase': stats.dmgPercent + '%',
'spell increase': stats.spellPercent + '%',
gap3: '',
'attack speed': (100 + stats.attackSpeed) + '%',
'cast speed': (100 + stats.castSpeed) + '%',
@@ -377,6 +378,8 @@ define([
'sprint chance': (stats.sprintChance || 0) + '%',
gap2: '',
'xp increase': stats.xpIncrease + '%',
gap3: '',
'aura mana reservation multiplier': stats.auraReserveMultiplier
}
}[this.find('.tab.selected').html()];



+ 5
- 2
src/client/ui/templates/passives/passives.js View File

@@ -150,7 +150,7 @@ define([
color = 0;

if (node.spiritStart) {
color = 6;
color = 8;
node.size = 1;
}

@@ -161,6 +161,8 @@ define([
'#4ac441',
'#d43346',
'#a24eff',
'#faac45',
'#44cb95',
'#fafcfc'
])[color];
var size = ([
@@ -196,6 +198,8 @@ define([
'#386646',
'#763b3b',
'#533399',
'#d07840',
'#3f8d6d',
'#fafcfc'
])[color];
this.ctx.strokeRect(x, y, size, size);
@@ -271,7 +275,6 @@ define([
'addCritChance',
'addCritMultiplier',
'sprintChance',
'dmgPercent',
'xpIncrease',
'blockAttackChance',
'blockSpellChance',


+ 1235
- 4502
src/client/ui/templates/passives/temp.js
File diff suppressed because it is too large
View File


+ 0
- 1
src/client/ui/templates/tooltipItem/tooltipItem.js View File

@@ -19,7 +19,6 @@ define([
'addSpellCritChance',
'addSpellCritMultiplier',
'sprintChance',
'dmgPercent',
'xpIncrease',
'blockAttackChance',
'blockSpellChance',


+ 7
- 1
src/server/combat/combat.js View File

@@ -54,14 +54,20 @@ define([
if (config.element) {
var elementName = 'element' + config.element[0].toUpperCase() + config.element.substr(1);
dmgPercent += (srcValues[elementName + 'Percent'] || 0);
dmgPercent += srcValues.elementPercent;

if (!config.isAttack)
dmgPercent += srcValues.spellPercent;

//Don't mitigate heals
if (!config.noMitigate) {
var resist = tgtValues.elementAllResist + (tgtValues[elementName + 'Resist'] || 0);
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 *= (dmgPercent / 100);



+ 9
- 1
src/server/components/stats.js View File

@@ -42,7 +42,6 @@ define([
spellCritMultiplier: 0,

armor: 0,
dmgPercent: 0,
vit: 0,

blockAttackChance: 0,
@@ -58,6 +57,10 @@ define([
elementFirePercent: 0,
elementHolyPercent: 0,
elementPoisonPercent: 0,
physicalPercent: 0,

elementPercent: 0,
spellPercent: 0,

elementArcaneResist: 0,
elementFrostResist: 0,
@@ -222,6 +225,11 @@ define([
var element = 'element' + (s[0].toUpperCase() + s.substr(1)) + 'Resist';
this.addStat(element, value);
}, 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')
this.addStat('armor', (value * this.statScales.strToArmor));
else if (stat == 'int')


+ 1235
- 4502
src/server/config/passiveTree.js
File diff suppressed because it is too large
View File


+ 12
- 0
src/server/fixes/fixes.js View File

@@ -49,6 +49,18 @@ define([
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) {


+ 1
- 1
src/server/items/config/types.js View File

@@ -113,7 +113,7 @@ define([
'Viridian Band': {
sprite: [4, 3],
implicitStat: {
stat: 'dmgPercent',
stat: 'physicalPercent',
value: [1, 3]
}
}


+ 39
- 18
src/server/items/generators/stats.js View File

@@ -5,17 +5,6 @@ define([
) {
return {
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) {
var max = (level / 6.7);

@@ -214,10 +203,6 @@ define([
generator: 'elementResist'
},

dmgPercent: {
ignore: true,
generator: 'dmgPercent'
},
elementArcanePercent: {
level: {
min: 10
@@ -253,6 +238,27 @@ define([
ignore: true,
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: {
generator: 'mainStat',
ignore: true
@@ -409,6 +415,15 @@ define([
elementPoisonPercent: {
generator: 'elementDmgPercent'
},
elementPercent: {
generator: 'elementDmgPercent'
},
physicalPercent: {
generator: 'elementDmgPercent'
},
spellPercent: {
generator: 'elementDmgPercent'
},
allAttributes: {
generator: 'mainStat'
},
@@ -423,9 +438,6 @@ define([
},

neck: {
dmgPercent: {
generator: 'dmgPercent'
},
elementArcanePercent: {
generator: 'elementDmgPercent'
},
@@ -441,6 +453,15 @@ define([
elementPoisonPercent: {
generator: 'elementDmgPercent'
},
physicalPercent: {
generator: 'elementDmgPercent'
},
elementPercent: {
generator: 'elementDmgPercent'
},
spellPercent: {
generator: 'elementDmgPercent'
},
allAttributes: {
generator: 'mainStat'
},


Loading…
Cancel
Save