From 3a08d8c16c5f42b34500af76f3292342c0bd6027 Mon Sep 17 00:00:00 2001 From: "color.diff=auto" Date: Sun, 2 May 2021 20:52:31 -0600 Subject: [PATCH] DescFunc 14 done --- ajax/config.php | 68 ++-- ajax/uniqueitems.php | 128 +++++-- img/items/bg.png | Bin 17276 -> 12627 bytes index.php | 16 - res/app.js | 25 +- res/style.css | 18 +- src/D2Database.php | 35 -- src/D2ItemDesc.php | 714 +++++++++++++++++++++++++++------------ src/tabs/UniqueItems.php | 11 +- 9 files changed, 686 insertions(+), 329 deletions(-) diff --git a/ajax/config.php b/ajax/config.php index eb55901..24c66d2 100644 --- a/ajax/config.php +++ b/ajax/config.php @@ -1,53 +1,57 @@ array_filter( + ["prop1" => $return['prop1'], "par1" => $return['par1'], "min1" => $return['min1'], "max1" => $return['max1']] + ), + "Prop2" => array_filter( + ["prop2" => $return['prop2'], "par1" => $return['par2'], "min1" => $return['min2'], "max1" => $return['max2']] + ), + "Prop3" => array_filter( + ["prop3" => $return['prop3'], "par1" => $return['par3'], "min1" => $return['min3'], "max1" => $return['max3']] + ), + "Prop4" => array_filter( + ["prop4" => $return['prop4'], "par1" => $return['par4'], "min1" => $return['min4'], "max1" => $return['max4']] + ), + "Prop5" => array_filter( + ["prop5" => $return['prop5'], "par1" => $return['par5'], "min1" => $return['min5'], "max1" => $return['max5']] + ), + "Prop6" => array_filter( + ["prop6" => $return['prop6'], "par1" => $return['par6'], "min1" => $return['min6'], "max1" => $return['max6']] + ), + "Prop7" => array_filter( + ["prop7" => $return['prop7'], "par1" => $return['par7'], "min1" => $return['min7'], "max1" => $return['max7']] + ), + "Prop8" => array_filter( + ["prop8" => $return['prop8'], "par1" => $return['par8'], "min1" => $return['min8'], "max1" => $return['max8']] + ), + "Prop9" => array_filter( + ["prop9" => $return['prop9'], "par1" => $return['par9'], "min1" => $return['min9'], "max1" => $return['max9']] + ), + "Prop10" => array_filter( + ["prop10" => $return['prop10'], "par1" => $return['par10'], "min1" => $return['min10'], "max1" => $return['max10']] + ) + ]); + + // need par, min, max value for each prop + // for each prop, get stat + $counter = 1; + foreach ($props as $key => $val) { + // val = Prop1,Prop2 etc. + // for each propr, get all 7 stats in ISC + $sql = "SELECT stat1,stat2,stat3,stat4,stat5,stat6,stat7 FROM `properties` WHERE `code` = '{$val['prop' . $counter]}'"; + $props[$key]['stat'] = array_filter(PDO_FetchRow($sql)); + + $counter++; + } + + + + //each stat now goes into getIscStrings + foreach ($props as $k => $v) { + $props[$k]['desc'] = array_filter(getIscStrings($v['stat']['stat1'])); + } + + + //var_dump($return); + // todo: put values in params, so I can get generated string for that prop + + $counter = 1; + foreach ($props as $k => $v) { // for each property Prop1 Prop2 + $value = $v['par1'] ?? $v['min1']; + + $params = [ + 'string1' => $v['desc']['string1'], + 'string2' => $v['desc']['string2'], + 'descfunc' => $v['desc']['descfunc'], + 'descval' => $v['desc']['descval'], + "par" => $return['par'.$counter], + "min" => $return['min'.$counter], + "max" => $return['max'.$counter] + ]; + + if (!empty($v['desc'])) { + $props[$k]['string'][] = $idesc->getDesc($value, $params); + } + $counter++; + } + + $return['props'] = $props; + + //ddump($return); + + header('Content-Type: application/json'); echo json_encode($return, JSON_INVALID_UTF8_IGNORE); } /* - * @cmd = sortBy - * - * + * @cmd = sortBy + * + * * */ if ($cmd == "sortBy") { $sql = "SELECT `index`,`$sort` FROM `uniqueitems` WHERE `enabled`='1' ORDER BY `$sort`"; @@ -114,9 +198,9 @@ if ($cmd == "sortBy") { echo $html; } /* - * @cmd = viewOnly - * - * + * @cmd = viewOnly + * + * * */ if ($cmd == "viewOnly") { @@ -156,8 +240,8 @@ WHERE `type` IS NOT NULL AND uniqueitems.`code`= $table.`code` AND $table.`code` /* * @cmd = search - * - * + * + * * * */ diff --git a/img/items/bg.png b/img/items/bg.png index 73ca36f38f54e10b24f305923f5554c1b590571d..312c71699cee1910540e43b25b36a65c42f2a432 100644 GIT binary patch delta 12593 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 Ml1dUaV#b002S>=C!~g&Q literal 17276 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'Properties.txt'); - foreach ($prop as $p) { - $sql = "SELECT stat1,stat2,stat3,stat4,stat5,stat6,stat7 FROM `properties` WHERE `code` = '$p'"; - $isc[$p] = array_filter(PDO_FetchRow($sql)); - } - - - foreach ($isc as $i) { // for each property $i - foreach ($i as $k){ - //$params = $db->getIscStrings($k); - - - //var_dump($idesc->getDesc(100, $params)); - - } - - } // If there's data, process it and save if (!empty($_POST)) { diff --git a/res/app.js b/res/app.js index fcf8eec..8352094 100644 --- a/res/app.js +++ b/res/app.js @@ -141,11 +141,30 @@ $(document).ready(function () { $('.uniqueitems-select').change(function () { $(".item").attr("src", "/img/items/1.png"); $.get("/ajax/uniqueitems.php?cmd=getUniqueItem&index=" + this.value, function (data) { - + + props = data.props; + + console.log(props); + $('.item_desc').html("

"); + $.each(props, function (i, v) { + + if (v.par1) { + $s1 = ''; + } + + + if(v.string){ + $('.item_desc p').append(v.string[0]+"
"); + } + + }); + + + invImg = "/img/items/" + data.invfile + ".png"; $(".item").attr("src", invImg); - - $.each(data, function (i, v) { + + $.each(data, function (i, v) { $('*[name="' + i.replace(/\s/g, '') + '"]').val(v); if (i == 'code') { $('select[name="code[]"]').val(v); diff --git a/res/style.css b/res/style.css index 9af5cd3..5ef20e4 100644 --- a/res/style.css +++ b/res/style.css @@ -165,7 +165,21 @@ option { margin: 15px 0; } -.item { - +.item_desc { + height: auto; + width: 420px; + position: absolute; + left: 110px; + top: 23px; + + + text-align: center; + background: black; + padding: 10px; } + +.item_desc p { + font-size: 14px; + color: #4169E1; +} \ No newline at end of file diff --git a/src/D2Database.php b/src/D2Database.php index 915d72a..ef92b30 100644 --- a/src/D2Database.php +++ b/src/D2Database.php @@ -127,41 +127,6 @@ class D2Database { return $res; } - public function getIscStrings($iscStat) { - $sql = " -SELECT - ( - SELECT String - FROM itemstatcost as i - LEFT JOIN strings AS `s` ON `i`.descstrpos = `s`.`Key` - WHERE `Stat` = '$iscStat' - ) -AS string1, - ( - SELECT String - FROM itemstatcost as i - LEFT JOIN strings AS `s` ON `i`.DescStr2 = `s`.`Key` - WHERE `Stat` = '$iscStat' - ) -AS string2, -( - SELECT descfunc - FROM itemstatcost as i - LEFT JOIN strings AS `s` ON `i`.descstrpos = `s`.`Key` - WHERE `Stat` = '$iscStat' - ) -AS descfunc, -( - SELECT descval - FROM itemstatcost as i - LEFT JOIN strings AS `s` ON `i`.descstrpos = `s`.`Key` - WHERE `Stat` = '$iscStat' - ) -AS descval -"; - return PDO_FetchRow($sql); - - } } diff --git a/src/D2ItemDesc.php b/src/D2ItemDesc.php index ce66b1d..d40b9d2 100644 --- a/src/D2ItemDesc.php +++ b/src/D2ItemDesc.php @@ -1,94 +1,95 @@ - array (size=6) - 'Stat' => string 'item_absorbcold' (length=15) - 'ID' => string '149' (length=3) - 'descfunc' => string '1' (length=1) - 'descval' => string '1' (length=1) - 'descstrpos' => string 'ModStr5n' (length=8) - 'String' => string 'Cold Absorb' (length=11) - 'item_absorbcold_percent' => - array (size=6) - 'Stat' => string 'item_absorbcold_percent' (length=23) - 'ID' => string '148' (length=3) - 'descfunc' => string '2' (length=1) - 'descval' => string '2' (length=1) - 'descstrpos' => string 'ModStr5m' (length=8) - 'String' => string 'Cold Absorb' (length=11) - 'item_absorb_cold_perlevel' => - array (size=6) - 'Stat' => string 'item_absorb_cold_perlevel' (length=25) - 'ID' => string '234' (length=3) - 'descfunc' => string '6' (length=1) - 'descval' => string '1' (length=1) - 'descstrpos' => string 'ModStre9p' (length=9) - 'String' => string 'Absorbs Cold Damage' (length=19) - 'item_absorbfire' => - array (size=6) - 'Stat' => string 'item_absorbfire' (length=15) - 'ID' => string '143' (length=3) - 'descfunc' => string '1' (length=1) - 'descval' => string '1' (length=1) - 'descstrpos' => string 'ModStr5h' (length=8) - 'String' => string 'Fire Absorb' (length=11) + array (size=174) + 'item_absorbcold' => + array (size=6) + 'Stat' => string 'item_absorbcold' (length=15) + 'ID' => string '149' (length=3) + 'descfunc' => string '1' (length=1) + 'descval' => string '1' (length=1) + 'descstrpos' => string 'ModStr5n' (length=8) + 'String' => string 'Cold Absorb' (length=11) + 'item_absorbcold_percent' => + array (size=6) + 'Stat' => string 'item_absorbcold_percent' (length=23) + 'ID' => string '148' (length=3) + 'descfunc' => string '2' (length=1) + 'descval' => string '2' (length=1) + 'descstrpos' => string 'ModStr5m' (length=8) + 'String' => string 'Cold Absorb' (length=11) + 'item_absorb_cold_perlevel' => + array (size=6) + 'Stat' => string 'item_absorb_cold_perlevel' (length=25) + 'ID' => string '234' (length=3) + 'descfunc' => string '6' (length=1) + 'descval' => string '1' (length=1) + 'descstrpos' => string 'ModStre9p' (length=9) + 'String' => string 'Absorbs Cold Damage' (length=19) + 'item_absorbfire' => + array (size=6) + 'Stat' => string 'item_absorbfire' (length=15) + 'ID' => string '143' (length=3) + 'descfunc' => string '1' (length=1) + 'descval' => string '1' (length=1) + 'descstrpos' => string 'ModStr5h' (length=8) + 'String' => string 'Fire Absorb' (length=11) * * -*/ - + */ + public $str = ''; - - - // takes value, param. - // value == Value to show on this stat - - public function getDesc($value, $params = []){ - if (empty($params)) return false; - - $v = $value; +// takes value, param. +// value == Value to show on this stat +//descfunc 14 + + public $skilltabsDesc; + public $skilltabsDescClean; + public $skilltabs = [ + //ama + '0' => 'StrSklTabItem3', + '1' => 'StrSklTabItem2', + '2' => 'StrSklTabItem1', + // sor + '3' => 'StrSklTabItem15', + '4' => 'StrSklTabItem14', + '5' => 'StrSklTabItem13', + //nec + '6' => 'StrSklTabItem8', + '7' => 'StrSklTabItem7', + '8' => 'StrSklTabItem9', + //pal + '9' => 'StrSklTabItem6', + '10' => 'StrSklTabItem5', + '11' => 'StrSklTabItem4', + //bar + '12' => 'StrSklTabItem11', + '13' => 'StrSklTabItem12', + '14' => 'StrSklTabItem10', + //dru + '15' => 'StrSklTabItem16', + '16' => 'StrSklTabItem17', + '17' => 'StrSklTabItem18', + // ass + '18' => 'StrSklTabItem19', + '19' => 'StrSklTabItem20', + '20' => 'StrSklTabItem21' + ]; + + public function getDesc($value, $params = []) { + if (empty($params)) + return false; + + $v = '' . $value . ""; $s1 = $params['string1']; $s2 = $params['string2']; - - if ($params['descfunc'] == 1) { - $this->str = "+$v $s1"; + $par = $params['par']; + $min = $params['min']; + $max = $params['max']; + + foreach ($this->skilltabs as $s) { + $sql = "SELECT `String` FROM `strings` WHERE `Key`='$s'"; + $this->skilltabsDesc[] = PDO_FetchRow($sql); } - - if ($params['descfunc'] == 2) { - $this->str = "$v% $s1"; + + foreach ($this->skilltabsDesc as $s) { + $this->skilltabsDescClean[] = str_replace('+%d', '', $s); } - - if ($params['descfunc'] == 3) { - $this->str = "$v $s1"; + + //ddump($this->skilltabsDescClean); + + + if ($params['descval'] == 1 || $params['descval'] == '') { + + if ($params['descfunc'] == 1) { + $this->str = "+$v $s1"; + } + + if ($params['descfunc'] == 2) { + $this->str = "$v% $s1"; + } + + if ($params['descfunc'] == 3) { + $this->str = "$v $s1"; + } + + if ($params['descfunc'] == 4) { + $this->str = "+$v% $s1"; + } + + if ($params['descfunc'] == 5) { + $this->str = ($v * 100 / 128) . " $s1"; + } + + if ($params['descfunc'] == 6) { + $this->str = "+$v $s1 $s2"; + } + + if ($params['descfunc'] == 7) { + $this->str = "$v% $s1 $s2"; + } + if ($params['descfunc'] == 8) { + $this->str = "+$v% $s1 $s2"; + } + + if ($params['descfunc'] == 9) { + $this->str = "$v $s1 $s2"; + } + + if ($params['descfunc'] == 10) { + $this->str = ($v * 100 / 128) . " $s1 $s2"; + } + + if ($params['descfunc'] == 11) { + $this->str = "Repairs 1 Durability In " . (100 / $value) . " seconds"; + } + + if ($params['descfunc'] == 12) { + $this->str = "+$v $s1"; + } + + if ($params['descfunc'] == 13) { + $this->str = "+$v to [class] Skill Levels"; + } + + if ($params['descfunc'] == 14) { + + $sql = "SELECT class +FROM `charstats` +WHERE `StrSkillTab1`='{$this->skilltabs[$par]}' OR +`StrSkillTab2`='{$this->skilltabs[$par]}' OR +`StrSkillTab3`='{$this->skilltabs[$par]}'"; + + $x = PDO_FetchOne($sql); + + $this->str = "+$min - $max{$this->skilltabsDescClean[$par]['String']} Skill Levels ([$x] Only)"; + } + if ($params['descfunc'] == 15) { + $this->str = "[chance]% to case [slvl] [skill] on [event]"; + } + + if ($params['descfunc'] == 16) { + $this->str = "Level [sLvl] [skill] Aura When Equipped "; + } + + if ($params['descfunc'] == 17) { + $this->str = "$v $s1 (Increases near [time])"; + } + + if ($params['descfunc'] == 18) { + $this->str = "$v% $s1 (Increases near [time])"; + } + + if ($params['descfunc'] == 19) { + $this->str = ""; + } + + if ($params['descfunc'] == 20) { + $this->str = ($v * -1) . "% $s1"; + } + + if ($params['descfunc'] == 21) { + $this->str = ($v * -1) . " $s1"; + } + if ($params['descfunc'] == 22) { + $this->str = "$v% $s1 [MonType]"; + } + + if ($params['descfunc'] == 23) { + $this->str = "$v% $s1 [Monster]"; + } + + if ($params['descfunc'] == 24) { + $this->str = "+$v to Skill Charges Or Something"; + } + + if ($params['descfunc'] == 25) { + $this->str = ""; + } + + if ($params['descfunc'] == 26) { + $this->str = ""; + } + + if ($params['descfunc'] == 27) { + $this->str = "+$v to [skill] ([class] Only)"; + } + + if ($params['descfunc'] == 28) { + $this->str = "+$v to [skill] "; + } + } else if ($params['descval'] == 0) { + if ($params['descfunc'] == 1) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 2) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 3) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 4) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 5) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 6) { + $this->str = "$s1 $s2"; + } + + if ($params['descfunc'] == 7) { + $this->str = "$s1 $s2"; + } + if ($params['descfunc'] == 8) { + $this->str = "$s1 $s2"; + } + + if ($params['descfunc'] == 9) { + $this->str = "$s1 $s2"; + } + + if ($params['descfunc'] == 10) { + $this->str = "$s1 $s2"; + } + + if ($params['descfunc'] == 11) { + $this->str = "Repairs 1 Durability In X seconds"; + } + + if ($params['descfunc'] == 12) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 13) { + $this->str = "to [class] Skill Levels"; + } + + if ($params['descfunc'] == 14) { + $this->str = "to [skilltab] Skill Levels ([class] Only)"; + } + if ($params['descfunc'] == 15) { + $this->str = "[chance]to case [slvl] [skill] on [event]"; + } + + if ($params['descfunc'] == 16) { + $this->str = "Level [sLvl] [skill] Aura When Equipped "; + } + + if ($params['descfunc'] == 17) { + $this->str = "$s1 (Increases near [time])"; + } + + if ($params['descfunc'] == 18) { + $this->str = "$s1 (Increases near [time])"; + } + + if ($params['descfunc'] == 19) { + $this->str = ""; + } + + if ($params['descfunc'] == 20) { + $this->str = "$s1"; + } + + if ($params['descfunc'] == 21) { + $this->str = "$s1"; + } + if ($params['descfunc'] == 22) { + $this->str = "$s1 [MonType]"; + } + + if ($params['descfunc'] == 23) { + $this->str = "$s1 [Monster]"; + } + + if ($params['descfunc'] == 24) { + $this->str = "to Skill Charges Or Something"; + } + + if ($params['descfunc'] == 25) { + $this->str = ""; + } + + if ($params['descfunc'] == 26) { + $this->str = ""; + } + + if ($params['descfunc'] == 27) { + $this->str = "to [skill] ([class] Only)"; + } + + if ($params['descfunc'] == 28) { + $this->str = "to [skill] "; + } + } else if ($params['descval'] == 2) { + if ($params['descfunc'] == 1) { + $this->str = "$s1 +$v"; + } + + if ($params['descfunc'] == 2) { + $this->str = "$s1 $v%"; + } + + if ($params['descfunc'] == 3) { + $this->str = "$s1 $v"; + } + + if ($params['descfunc'] == 4) { + $this->str = "$s1 +$v%"; + } + + if ($params['descfunc'] == 5) { + $this->str = "$s1" . ($v * 100 / 128); + } + + if ($params['descfunc'] == 6) { + $this->str = "$s1 $s2 +%v"; + } + + if ($params['descfunc'] == 7) { + $this->str = "$s1 $s2 $v% "; + } + if ($params['descfunc'] == 8) { + $this->str = "$s1 $s2 +$v% "; + } + + if ($params['descfunc'] == 9) { + $this->str = "$s1 $s2 $v"; + } + + if ($params['descfunc'] == 10) { + $this->str = "$s1 $s2" . ($v * 100 / 128); + } + + if ($params['descfunc'] == 11) { + $this->str = "Repairs 1 Durability In X seconds"; + } + + if ($params['descfunc'] == 12) { + $this->str = "$s1 +$v "; + } + + if ($params['descfunc'] == 13) { + $this->str = "to [class] Skill Levels +$v"; + } + + if ($params['descfunc'] == 14) { + $this->str = "to [skilltab] Skill Levels ([class] Only) +$v "; + } + if ($params['descfunc'] == 15) { + $this->str = "[chance]% to case [slvl] [skill] on [event]"; + } + + if ($params['descfunc'] == 16) { + $this->str = "Level [sLvl] [skill] Aura When Equipped "; + } + + if ($params['descfunc'] == 17) { + $this->str = "s1 (Increases near [time]) $v $"; + } + + if ($params['descfunc'] == 18) { + $this->str = "$s1 (Increases near [time]) $v% "; + } + + if ($params['descfunc'] == 19) { + $this->str = ""; + } + + if ($params['descfunc'] == 20) { + $this->str = "% $s1" . ($v * -1); + } + + if ($params['descfunc'] == 21) { + $this->str = "$s1" . ($v * -1); + } + if ($params['descfunc'] == 22) { + $this->str = "$s1 [MonType] $v% "; + } + + if ($params['descfunc'] == 23) { + $this->str = "s1 [Monster] $v% $"; + } + + if ($params['descfunc'] == 24) { + $this->str = "to Skill Charges Or Something +$v "; + } + + if ($params['descfunc'] == 25) { + $this->str = ""; + } + + if ($params['descfunc'] == 26) { + $this->str = ""; + } + + if ($params['descfunc'] == 27) { + $this->str = "+$v to [skill] ([class] Only)"; + } + + if ($params['descfunc'] == 28) { + $this->str = "+$v to [skill] "; + } } - - if ($params['descfunc'] == 4) { - $this->str = "+$v% $s1"; - } - - if ($params['descfunc'] == 5) { - $this->str = ($v*100/128)." $s1"; - } - - if ($params['descfunc'] == 6) { - $this->str = "+$v $s1 $s2"; - } - - if ($params['descfunc'] == 7) { - $this->str = "$v% $s1 $s2"; - } - if ($params['descfunc'] == 8) { - $this->str = "+$v% $s1 $s2"; - } - - if ($params['descfunc'] == 9) { - $this->str = "$v $s1 $s2"; - } - - if ($params['descfunc'] == 10) { - $this->str = ($v*100/128)." $s1 $s2"; - } - - if ($params['descfunc'] == 11) { - $this->str = "Repairs 1 Durability In ".(100/$value)." seconds"; - } - - if ($params['descfunc'] == 12) { - $this->str = "+$v $s1"; - } - - if ($params['descfunc'] == 13) { - $this->str = "+$v to [class] Skill Levels"; - } - - if ($params['descfunc'] == 14) { - $this->str = "+$v to [skilltab] Skill Levels ([class] Only)"; - } - if ($params['descfunc'] == 15) { - $this->str = "[chance]% to case [slvl] [skill] on [event]"; - } - - if ($params['descfunc'] == 16) { - $this->str = "Level [sLvl] [skill] Aura When Equipped "; - } - - if ($params['descfunc'] == 17) { - $this->str = "$v $s1 (Increases near [time])"; - } - - if ($params['descfunc'] == 18) { - $this->str = "$v% $s1 (Increases near [time])"; - } - - if ($params['descfunc'] == 19) { - $this->str = ""; - } - - if ($params['descfunc'] == 20) { - $this->str = ($v* -1) ."% $s1"; - } - - if ($params['descfunc'] == 21) { - $this->str = ($v* -1) ." $s1"; - } - if ($params['descfunc'] == 22) { - $this->str = "$v% $s1 [MonType]"; - } - - if ($params['descfunc'] == 23) { - $this->str = "$v% $s1 [Monster]"; - } - - if ($params['descfunc'] == 24) { - $this->str = "+$v to Skill Charges Or Something"; - } - - if ($params['descfunc'] == 25) { - $this->str = ""; - } - - if ($params['descfunc'] == 26) { - $this->str = ""; - } - - if ($params['descfunc'] == 27) { - $this->str = "+$v to [skill] ([class] Only)"; - } - - if ($params['descfunc'] == 28) { - $this->str = "+$v to [skill] "; - } + + + return $this->str; } - + } diff --git a/src/tabs/UniqueItems.php b/src/tabs/UniqueItems.php index ce98973..d21bd9d 100644 --- a/src/tabs/UniqueItems.php +++ b/src/tabs/UniqueItems.php @@ -1,11 +1,16 @@

Unique Item Maker

Preview

-
- +
+
+

+ +
+
+
@@ -42,7 +47,7 @@

-

View Only:

+

Filter By: