Heirlooms

* fixed expected structure of ScalingStatValues (js-scaling heirlooms should be working again)
  * weapons are now properly assigned ranged- or melee-dps

  need to rerun: php aowow --build=itemScaling
This commit is contained in:
Sarjuuk 2015-07-21 23:21:10 +02:00
parent 3d08de51e1
commit 2afcceaefb
3 changed files with 17 additions and 10 deletions

View file

@ -1,6 +1,6 @@
<?php
define('AOWOW_REVISION', 9);
define('AOWOW_REVISION', 10);
define('CLI', PHP_SAPI === 'cli');

View file

@ -83,12 +83,19 @@ if (!CLI)
function itemScalingSV()
{
$data = DB::Aowow()->select('SELECT *, Id AS ARRAY_KEY FROM dbc_scalingstatvalues');
foreach ($data as &$row)
{
$row = array_values($row);
array_splice($row, 0, 1);
}
/* so the javascript expects a slightly different structure, than the dbc provides .. f*** it
e.g.
dbc - 80: 97 97 56 41 210 395 878 570 120 156 86 112 108 220 343 131 73 140 280 527 1171 2093
expected - 80: 97 97 56 131 41 210 395 878 1570 120 156 86 112 108 220 343 0 0 73 140 280 527 1171 2093
*/
$fields = Util::$ssdMaskFields;
array_walk($fields, function(&$v, $k) {
$v = $v ?: '0 AS idx'.$k; // NULL => 0 (plus some index so we can have 2x 0)
});
$data = DB::Aowow()->select('SELECT Id AS ARRAY_KEY, '.implode(', ', $fields).' FROM dbc_scalingstatvalues');
foreach ($data as &$d)
$d = array_values($d); // strip indizes
return CFG_DEBUG ? debugify($data) : Util::toJSON($data);
}

View file

@ -1266,7 +1266,7 @@ $WH.g_setJsonItemLevel = function (json, level) {
scaleMask = 0x04001F,
armorMask = 0xF801E0,
damageMask = 0x007E00,
spelPwrMask = 0x008000,
splPwrMask = 0x008000,
meleeMask = 0x001400;
for (var i = 0; i < 24; ++i) {
@ -1281,7 +1281,7 @@ $WH.g_setJsonItemLevel = function (json, level) {
else if (mask & damageMask && damageColumn < 0) {
damageColumn = i;
}
else if (mask & spelPwrMask && splPwrColumn < 0) {
else if (mask & splPwrMask && splPwrColumn < 0) {
splPwrColumn = i;
}
}
@ -1306,7 +1306,7 @@ $WH.g_setJsonItemLevel = function (json, level) {
if (damageColumn >= 0) {
var
damageRange = (json.scaflags & meleeMask ? 0.2 : 0.3),
damageType = (json.mledps ? "mle": "rgd");
damageType = (json.scaflags & meleeMask ? "mle": "rgd");
json.dps = json[damageType + "dps"] = $WH.g_convertScalingFactor(level, damageColumn);
json.dmgmin = json[damageType + "dmgmin"] = Math.floor(json.dps * json.speed * (1 - damageRange));