Armor.txt generator almost done

This commit is contained in:
Hash Borgir
2022-04-27 23:33:34 -06:00
parent db3c6473ca
commit e774dcc5a3
11 changed files with 10377 additions and 46 deletions

View File

@@ -489,7 +489,7 @@ EOT;
// Type codes are in ItemTypes in itemtypes.Code
// Type code's string name entry is in itemtypes.ItemType table--
// first find in $strings. if not there, look in itemtypes
//
//
$htmlRow = "<tr>";
$htmlRow .= "<td class='desc'>" . $output['desc'] . "</td>";
@@ -1021,23 +1021,20 @@ if ($cmd == "genDocMisc") {
$filter = "smh";
$sql = "SELECT DISTINCT * FROM misc WHERE spawnable='1'";
// LEFT JOIN gems ON misc.code = gems.code
//WHERE gems.code IS NULL AND misc.spawnable=1
// ";// AND misc.namestr NOT LIKE '%$filter%'
// LEFT JOIN gems ON misc.code = gems.code
//WHERE gems.code IS NULL AND misc.spawnable=1
// ";// AND misc.namestr NOT LIKE '%$filter%'
$res = PDO_FetchAll($sql);
$res = array_reverse($res);
//$sql = "SELECT * FROM armor WHERE spawnable=1";
//$res = array_merge(PDO_FetchAll($sql), $res);
//$sql = "SELECT * FROM weapons WHERE spawnable=1";
//$res = array_merge(PDO_FetchAll($sql), $res);
//$res = array_merge(PDO_FetchAll($sql), $res);
// ddump(array_keys($res[0]));
$tableTop = <<<EOT
<table border=1 class="mtable">
<thead>
@@ -1060,23 +1057,20 @@ EOT;
$data = null;
$stats = null;
//ddump($r);
// if hammers, then get itemcode's string
if ($r['namestr'] == 'smh'){
if ($r['namestr'] == 'smh') {
$data['name'] = $strings[$r['namestr']] . "<br>" . $strings[$r['code']];
$p = "/ÿc[\d:;\/.]/i";
$data['name'] = preg_replace($p, "", $data['name']);
$data['name'] = preg_replace($p, "", $data['name']);
$data['name'] = array_reverse(explode('\n', $data['name']));
$data['name'] = (implode('\n', $data['name']));
$data['name'] = (implode('\n', $data['name']));
} else {
$data['name'] = $strings[$r['namestr']];
}
if (str_contains($data['name'], "ÿc")) {
$p = "/ÿc[\d:;\/.]/i";
$data['name'] = preg_replace($p, "", $data['name']);
@@ -1101,11 +1095,11 @@ EOT;
$data['durability'] = "Base durability: <span class=''>{$r['durability']}</span>";
}
if ($r['hasinv']) {
if ($r['hasinv']) {
$sql = "SELECT MaxSock40 FROM itemtypes WHERE `Code`='{$r['type']}'";
$data["maxsock"] = PDO_FetchOne($sql);
if ($r['gemapplytype'] == "0") {
$data['gemapplytype'] = "Socketing gives <span class='gold'>Weapon</span> stats";
} else if ($r['gemapplytype'] == "1") {
@@ -1113,24 +1107,23 @@ EOT;
} else if ($r['gemapplytype'] == "2") {
$data['gemapplytype'] = "Socketing gives <span class='gold'>Shield</span> stats";
}
$data['hasinv'] = "Sockets <span class='blue' style='' font-size: 1.25em;'>({$data['maxsock']})</span>";
$data['hasinv'] = "Sockets <span class='blue' style='' font-size: 1.25em;'>({$data['maxsock']})</span>";
}
if ($r['Transmogrify']) {
$tmogtype = ($strings[$r['TMogType']]);
$data['Transmogrify'] = "Can right click transmogrify into ";
$p = "/ÿc[\d:;\/.]/i";
$data['Transmogrify'] = preg_replace($p, "", $data['Transmogrify']);
$tmogtype = preg_replace($p, "", $tmogtype);
$tmogtype = array_reverse(explode('\n', $tmogtype));
$tmogtype = (implode(' ', $tmogtype));
$tmogtype = str_replace(" Ess", '<br>Ess', $tmogtype);
$tmogtype = str_replace(" Cube", '<br>Cube', $tmogtype);
$data['tmogtype'] = $tmogtype;
$transmogrify = array_reverse(explode('\n', $data['Transmogrify']));
$data['Transmogrify'] = (implode('<br>', $transmogrify));
}
@@ -1157,7 +1150,7 @@ EOT;
$data['spelldesc'] = preg_replace($p, "", $data['spelldesc']);
$spelldesc = array_reverse(explode('\n', $data['spelldesc']));
$data['spelldesc'] = (implode('<br>', $spelldesc));
$data['spelldesc'] = (implode('<br>', $spelldesc));
}
if ($r['nameable']) {
@@ -1186,8 +1179,9 @@ EOT;
$data = array_filter($data);
if($stats) $stat = array_filter($stats);
if ($stats)
$stat = array_filter($stats);
$tr .= <<<EOT
<tr>
<td>{$data['name']}</td>
@@ -1204,19 +1198,19 @@ EOT;
<li class="text-success">{$data['rarity']}</li>
<li class="blue">{$data['speed']}</li>
<li class="blue">{$data['durability']}</li>
<li class="">{$data['hasinv']}</li>
<li class="blue">{$data['gemapplytype']}</li>
<li class="">{$data['hasinv']}</li>
<li class="blue">{$data['gemapplytype']}</li>
<li class="blue">{$data['throwable']}</li>
<li class="blue">{$data['useable']}</li>
<li class="blue">{$data['useable']}</li>
<li class="blue">{$data['unique']}</li>
<li class="blue">{$data['stackable']}</li>
<li class="text-info">{$data['Transmogrify']}{$data['tmogtype']}</li>
<li class="text-info">{$data['Transmogrify']}{$data['tmogtype']}</li>
<li class="text-secondary">{$data['quest']}</li>
<li class="text-info">{$data['nameable']}</li>
<li class="blue">{$data['spelldesc']}</li>
<li class="blue">{$stats['stat1']} <span class="gold" style="font-size: 1.25em;">{$stats['calc1']}</span></li>
<li class="blue">{$stats['stat2']} <span class="gold" style="font-size: 1.25em;">{$stats['calc2']}</span></li>
<li class="blue">{$stats['stat3']} <span class="gold" style="font-size: 1.25em;">{$stats['calc3']}</span></li>
<li class="blue">{$stats['stat3']} <span class="gold" style="font-size: 1.25em;">{$stats['calc3']}</span></li>
</ul>
</p>
@@ -1226,9 +1220,148 @@ EOT;
}
$htmlFinal = $htmltop . $tableTop . $tr . $tableBottom . $htmlbottom;
file_put_contents("$dir/misc.html", $htmlFinal);
header("Location: docs/{$_SESSION['modname']}/misc.html");
header("Location: docs/{$_SESSION['modname']}/misc.html");
}
if ($cmd == 'genDocArmor') {
$tableTop = <<<EOT
<style>
body { font-family: Tahoma,Arial,Sans-Serif}
table { font-family: ExocetHeavy;}
</style>
<table border=1 class="mtable">
<thead>
<tr>
<th>Name</th>
<th>Lvl</th>
<th>Required Lvl</th>
<th>Required Str</th>
<th>Min AC</th>
<th>Max AC</th>
<th>Block Chance</th>
<th>Set/Unique Exceptional & Elite</th>
</tr>
</thead>
<tbody>
EOT;
$tableBottom = '</tbody> </table>';
$sql = "SELECT * FROM armor WHERE spawnable=1 AND namestr != ''";
$res = PDO_FetchAll($sql);
foreach ($res as $r) {
$name = (!empty($strings[$r['namestr']])) ? $strings[$r['namestr']] : $r['name'];
if ($r['indestructible'] == '1') {
$indestructable = "Yes";
} else {
$indestructable = "No";
}
$imgUnique = (!empty($r['uniqueinvfile'])) ? "{$strings[$r['ultracode']]}<br><img src='img/items/{$r['uniqueinvfile']}.png'>" : "";
$imgSet = (!empty($r['setinvfile'])) ? "{$strings[$r['ubercode']]}<br><img src='img/items/{$r['setinvfile']}.png'>" : "";
if (!empty($r['auto prefix'])) {
$sql = "SELECT * FROM automagic WHERE `group` = ?";
$ret = PDO_FetchRow($sql, [$r['auto prefix']]);
// ddump($isc[$ret['mod1code']]);
for ($i = 1; $i <= 3; $i++) {
if ($ret["mod{$i}code"] != '') {
// ddump($isc[$ret["mod{$i}code"]]['string1']);
$params = [
"string1" => $isc[$ret["mod{$i}code"]]["string1"],
"string2" => $isc[$ret["mod{$i}code"]]["string2"],
"gstring1" => $isc[$ret["mod{$i}code"]]["gstring"],
"gstring2" => $isc[$ret["mod{$i}code"]]["gstring2"],
"descfunc" => $isc[$ret["mod{$i}code"]]["descfunc"],
"descval" => $isc[$ret["mod{$i}code"]]["descval"],
"dgrp" => $isc[$ret["mod{$i}code"]]["dgrp"],
"dgrpfunc" => $isc[$ret["mod{$i}code"]]["dgrpfunc"],
"dgrpval" => $isc[$ret["mod{$i}code"]]["dgrpval"],
"prop" => $isc[$ret["mod{$i}code"]]["prop"]
];
$params["par"] = $ret["mod{$i}param"];
$params["min"] = $ret["mod{$i}min"];
$params["max"] = $ret["mod{$i}max"];
$props[$i] = $idesc->getDesc($params);
}
}
// dump($props);
$autoprefix = "Automagic/Auto prefix Mods";
}
$strbonus = (!empty($r['StrBonus'])) ? "Strength Bonus: <span class='white'>{$r['StrBonus']}" : "";
$block = (!empty($r['block'])) ? "Block: <span class='white'>{$r['block']}</span>" : "";
$tr .= <<<EOT
<tr>
<td>
<ul>
<li class="white h1">$name</li>
<li class=""><img src="img/items/{$r['invfile']}.png"</li>
<li class="blue">Defense: <span class="white">[{$r['minac']} - {$r['maxac']}]</span></li>
<li class="blue">Weight: <span class="blue">{$r['speed']}</span></li>
<li class="blue">Level: <span class="white">{$r['level']}</span></li>
<li class="blue">Required Level: <span class="white">{$r['levelreq']}</span></li>
<li class="blue">Required Strength: <span class="white">{$r['reqstr']}</span></li>
<li class="blue">Indestructable: <span class="gold">$indestructable</span></li>
<li class="blue">Durability: <span class="gold">{$r['durability']}</span></li>
<li class="blue">Cost: <span class="gold">{$r['cost']}</span></li>
<li class="blue">Normal:
<spap class="white">{$strings[$r['normcode']]}</span>
</li>
<li class="blue">Exceptional:
<span class="white">{$strings[$r['ubercode']]}</span>
</li>
<li class="blue">Elite:
<span class="white">{$strings[$r['ultracode']]}</span>
</li>
<li class="blue">Sockets: <span class="white">{$r['gemsockets']}</span></li>
<li class="blue" style="margin-top: 30px;">$autoprefix<span class="white">{$props[0]}</span></li>
<li class="blue"><span class="white">{$props[1]}</span></li>
<li class="blue" style="margin-bottom: 30px;"><span class="white">{$props[2]}</span></li>
<li class="blue">$strbonus</li>
<li class="blue">$block</li>
</ul>
</td>
<td>Level: <br> {$r['level']}</td>
<td>Level Required: <br> {$r['levelreq']}</td>
<td>Requird Strength: <br> {$r['reqstr']}</td>
<td>Min AC: <br> {$r['minac']}</td>
<td>Max AC: <br> {$r['maxac']}</td>
<td>Block: <br> {$r['block']}</td>
<td style="width: 100px;">
<li>$imgUnique <br> $imgUnique</li>
</td>
</tr>
EOT;
}
$htmlFinal = $htmltop . $tableTop . $tr . $tableBottom . $htmlbottom;
// ob_flush();
// echo $htmlFinal;
file_put_contents("$dir/armor.html", $htmlFinal);
header("Location: docs/{$_SESSION['modname']}/armor.html");
}