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;
global $itemRepository;
$items = [];
$itemsrowList = $itemRepository->getAllInOrder();
foreach ($itemsrowList as $itemsrow) {
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 = "None";
}
$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;
global $spellRepository;
global $db;
$classes = ['class1', 'class2', 'class3'];
$levelsData = [];
$spells = [];
$spellsrowList = $spellRepository->getAllInOrder();
foreach ($spellsrowList as $spellsrow) {
$spells[$spellsrow["id"]] = $spellsrow;
}
foreach ($classes as $index => $class) {
$classIndex = $index + 1;
//FIXME: Will be improved when classes will have their own table and levels will be handled by a formula
$levelquery = $db->doquery("levels", "SELECT id,{$classIndex}_exp,{$classIndex}_hp,{$classIndex}_mp,{$classIndex}_tp,{$classIndex}_strength,{$classIndex}_dexterity,{$classIndex}_spells FROM {{table}} ORDER BY id");
$levelsrowList = $levelquery->fetchAll(PDO::FETCH_ASSOC);
$levels = [];
foreach ($levelsrowList as $levelsrow) {
$spell = ($levelsrow["{$classIndex}_spells"] != 0) ? $spells[$levelsrow["{$classIndex}_spells"]]["name"] : "None";
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;
global $monsterRepository;
$monsters = [];
$monstersrowList = $monsterRepository->getAllInOrder();
foreach ($monstersrowList as $monstersrow) {
if ($monstersrow["immune"] == 0) {
$immune = "None";
} 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 $spellRepository;
global $renderer;
$spells = [];
$spellrowList = $spellRepository->getAllInOrder();
foreach ($spellrowList as $spellrow) {
$type = match ($spellrow["type"]) {
1 => "Heal",
2 => "Hurt",
3 => "Sleep",
4 => "+Damage (%)",
5 => "+Defense (%)",
default => "Unknown",
};
$spells[] = [
'name' => $spellrow["name"],
'cost' => $spellrow["mp"],
'type' => $type,
'attribute' => $spellrow["attribute"],
];
}
$renderer->prepare('spells', $spells);
$renderer->display("help_spells");
}