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 73ca36f..312c716 100644 Binary files a/img/items/bg.png and b/img/items/bg.png differ diff --git a/index.php b/index.php index 09b9c30..7105808 100644 --- a/index.php +++ b/index.php @@ -113,22 +113,6 @@ if (!isset($_SESSION['modname']) || (!file_exists(APP_DB)) || (!file_exists($_SE $prop = $parser->filterProps('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: