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:
parent
3d08de51e1
commit
2afcceaefb
3 changed files with 17 additions and 10 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define('AOWOW_REVISION', 9);
|
||||
define('AOWOW_REVISION', 10);
|
||||
define('CLI', PHP_SAPI === 'cli');
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue