197 lines
No EOL
6.2 KiB
PHP
197 lines
No EOL
6.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Index from the help,
|
|
* Just show the different classname, difficulties and the size of the game.
|
|
*/
|
|
function index() {
|
|
global $renderer;
|
|
global $controlrow;
|
|
$renderer->prepare("class1name", $controlrow["class1name"]);
|
|
$renderer->prepare("class2name", $controlrow["class2name"]);
|
|
$renderer->prepare("class3name", $controlrow["class3name"]);
|
|
$renderer->prepare("diff1name", $controlrow["diff1name"]);
|
|
$renderer->prepare("diff2name", $controlrow["diff2name"]);
|
|
$renderer->prepare("diff3name", $controlrow["diff3name"]);
|
|
$renderer->prepare("diff1mod", $controlrow["diff1mod"]);
|
|
$renderer->prepare("diff2mod", $controlrow["diff2mod"]);
|
|
$renderer->prepare("diff3mod", $controlrow["diff3mod"]);
|
|
$renderer->prepare("gamesize", $controlrow["gamesize"]);
|
|
$renderer->display("help");
|
|
}
|
|
|
|
/**
|
|
* List all items for the help
|
|
*/
|
|
function items() {
|
|
global $renderer;
|
|
$itemsquery = doquery("SELECT * FROM {{table}} ORDER BY id", "items");
|
|
$items = [];
|
|
|
|
while ($itemsrow = mysqli_fetch_array($itemsquery)) {
|
|
|
|
switch ($itemsrow["type"]) {
|
|
case "1":
|
|
$image = "weapon";
|
|
$power = "Attack";
|
|
break;
|
|
case "2":
|
|
$image = "armor";
|
|
$power = "Defense";
|
|
break;
|
|
default:
|
|
$image = "shield";
|
|
$power = "Defense";
|
|
break;
|
|
}
|
|
|
|
if ($itemsrow["special"] != "X") {
|
|
$specialArray = explode(",", $itemsrow["special"]);
|
|
$attr = match ($specialArray[0]) {
|
|
"maxhp" => "Max HP",
|
|
"maxmp" => "Max MP",
|
|
"maxtp" => "Max TP",
|
|
"goldbonus" => "Gold Bonus (%)",
|
|
"expbonus" => "Experience Bonus (%)",
|
|
"strength" => "Strength",
|
|
"dexterity" => "Dexterity",
|
|
"attackpower" => "Attack Power",
|
|
"defensepower" => "Defense Power",
|
|
default => $specialArray[0],
|
|
};
|
|
|
|
$stat = ($specialArray[1] > 0) ? '+' . $specialArray[1] : $specialArray[1];
|
|
$specialEffect = "$attr $stat";
|
|
} else {
|
|
$specialEffect = "<span class=\"light\">None</span>";
|
|
}
|
|
|
|
$items[] = [
|
|
'image' => $image,
|
|
'name' => $itemsrow["name"],
|
|
'buycost' => $itemsrow["buycost"],
|
|
'attribute' => $itemsrow["attribute"],
|
|
'power' => $power,
|
|
'specialEffect' => $specialEffect,
|
|
];
|
|
}
|
|
|
|
$renderer->prepare('items', $items);
|
|
$renderer->display("help_items");
|
|
}
|
|
|
|
/**
|
|
* List all levels for the help
|
|
*/
|
|
function levels() {
|
|
global $renderer;
|
|
global $controlrow;
|
|
|
|
$classes = ['class1', 'class2', 'class3'];
|
|
$spellsquery = doquery("SELECT * FROM {{table}} ORDER BY id", "spells");
|
|
|
|
$levelsData = [];
|
|
$spells = [];
|
|
|
|
while ($spellsrow = mysqli_fetch_array($spellsquery)) {
|
|
$spells[$spellsrow["id"]] = $spellsrow;
|
|
}
|
|
|
|
//FIXME: Will be improved when classes will have their own table
|
|
foreach ($classes as $index => $class) {
|
|
$classIndex = $index + 1;
|
|
$levelquery = doquery("SELECT id,{$classIndex}_exp,{$classIndex}_hp,{$classIndex}_mp,{$classIndex}_tp,{$classIndex}_strength,{$classIndex}_dexterity,{$classIndex}_spells FROM {{table}} ORDER BY id", "levels");
|
|
|
|
$levels = [];
|
|
|
|
while ($levelsrow = mysqli_fetch_array($levelquery)) {
|
|
$spell = ($levelsrow["{$classIndex}_spells"] != 0) ? $spells[$levelsrow["{$classIndex}_spells"]]["name"] : "<span class=\"light\">None</span>";
|
|
|
|
if ($levelsrow["id"] < 100) {
|
|
$levels[] = [
|
|
'id' => $levelsrow["id"],
|
|
'exp' => number_format($levelsrow["{$classIndex}_exp"]),
|
|
'hp' => $levelsrow["{$classIndex}_hp"],
|
|
'mp' => $levelsrow["{$classIndex}_mp"],
|
|
'tp' => $levelsrow["{$classIndex}_tp"],
|
|
'strength' => $levelsrow["{$classIndex}_strength"],
|
|
'dexterity' => $levelsrow["{$classIndex}_dexterity"],
|
|
'spell' => $spell,
|
|
];
|
|
}
|
|
}
|
|
|
|
$levelsData[$class] = [
|
|
'name' => $controlrow["{$class}name"],
|
|
'levels' => $levels,
|
|
];
|
|
}
|
|
|
|
$renderer->prepare('levelsData', $levelsData);
|
|
$renderer->display("help_levels");
|
|
}
|
|
|
|
/**
|
|
* List all monsters for the help
|
|
*/
|
|
function monsters() {
|
|
global $renderer;
|
|
|
|
$monstersquery = doquery("SELECT * FROM {{table}} ORDER BY id", "monsters");
|
|
$monsters = [];
|
|
while ($monstersrow = mysqli_fetch_array($monstersquery)) {
|
|
if ($monstersrow["immune"] == 0) {
|
|
$immune = "<span class=\"light\">None</span>";
|
|
} elseif ($monstersrow["immune"] == 1) {
|
|
$immune = "Hurt";
|
|
} else {
|
|
$immune = "Hurt & Sleep";
|
|
}
|
|
|
|
$monsters[] = [
|
|
'name' => $monstersrow["name"],
|
|
'maxhp' => $monstersrow["maxhp"],
|
|
'maxdam' => $monstersrow["maxdam"],
|
|
'armor' => $monstersrow["armor"],
|
|
'level' => $monstersrow["level"],
|
|
'maxexp' => $monstersrow["maxexp"],
|
|
'maxgold' => $monstersrow["maxgold"],
|
|
'immune' => $immune,
|
|
];
|
|
}
|
|
|
|
$renderer->prepare('monsters', $monsters);
|
|
$renderer->display("help_monsters");
|
|
}
|
|
|
|
/**
|
|
* List all spells for the help
|
|
*/
|
|
function spells() {
|
|
global $renderer;
|
|
|
|
$spellsquery = doquery("SELECT * FROM {{table}} ORDER BY id", "spells");
|
|
$spells = [];
|
|
|
|
while ($spellrow = mysqli_fetch_array($spellsquery)) {
|
|
$type = match ($spellrow["type"]) {
|
|
"1" => "Heal",
|
|
"2" => "Hurt",
|
|
"3" => "Sleep",
|
|
"4" => "+Damage (%)",
|
|
"5" => "+Defense (%)",
|
|
default => "Unknown",
|
|
};
|
|
|
|
$spells[] = [
|
|
'color' => $color,
|
|
'name' => $spellrow["name"],
|
|
'cost' => $spellrow["mp"],
|
|
'type' => $type,
|
|
'attribute' => $spellrow["attribute"],
|
|
];
|
|
}
|
|
|
|
$renderer->prepare('spells', $spells);
|
|
$renderer->display("help_spells");
|
|
} |