| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- <?php
- /**
- * Alias for htmlspecialchars([input], ENT_QUOTES)
- *
- * @param input Text to escape.
- * @return Escaped text.
- */
- function e($input){
- return htmlspecialchars($input, ENT_QUOTES);
- }
- /**
- * Generates a monster panel.
- *
- * @param unit Unit/K_Unit Entity to get the info from.
- * @return string HTML content for a monster panel. Empty on error.
- */
- function html_unit_panel($unit) {
- global $path;
- if ($unit instanceof Unit){
- $k = $unit->unit;
- $stars = $unit->stars;
- $level = true;
- $teams = (sizeof($unit->teams) > 0);
- $lock = $unit->lock;
- $storage = $unit->in_storage;
- $maxed = ($unit->level == 40 && $unit->are_skills_maxed());
- }
- elseif ($unit instanceof K_Unit){
- $k = $unit;
- $stars = $unit->base_stars;
- $level = false;
- $teams = 0;
- $lock = false;
- $storage = false;
- $maxed = false;
- }
- else{
- return "";
- }
- $html = "";
- if ($k->awakens_from == "" && $k->awakens_to == ""){
- // No to, no from, silver monster.
- $star_class ="star_silver";
- }
- elseif ($k->awakens_from != ""){
- // Already awakened
- if ($k->base_stars - $k->natural_stars == 1){
- // Normal awaken.
- $star_class ="star_purple";
- }
- else{
- // Second awaken.
- $star_class ="star_red";
- }
- }
- elseif ($k->awakens_to != ""){
- // Awakeable.
- $star_class ="star_gold";
- }
- $html .= "<span class='stars'>\n";
- for ($i = 0; $i < $stars; $i ++){
- $html .= "<img class='star $star_class' src='" . $path["img"]["icon"] . "star.png'/>\n";
- }
- $html .= "</span>\n";
- $html .= "<img title='" . $unit->title . "' class='monster border_" . $k->element_name . "' src='" . $k->get_image() . "'/>\n";
- if ($level){
- $html .= "<span class='level'>\n";
- $html .= $unit->level . "\n";
- $html .= "</span>\n";
- }
- $html .= "<span class='badges'>\n";
- if ($maxed){
- $html .= "<img title='Maxed unit' src='" . $path["img"]["icon"] . "maxed.png'>";
- }
- if ($teams > 0){
- $title = $teams . " teams";
- if ($teams == 1){
- $title = "1 team: " . $unit->teams[0]->name;
- }
- $html .= "<img title='$title' src='" . $path["img"]["icon"] . "team.png'>";
- }
- if ($lock == 1){
- $html .= "<img title='Locked' src='" . $path["img"]["icon"] . "lock.png'>";
- }
- if ($storage){
- $html .= "<img title='In storage' src='" . $path["img"]["icon"] . "storage.png'>";
- }
- $html .= "</span>\n";
- return $html;
- }
- /**
- * Generates a transformed monster panel.
- *
- * @param unit Unit/K_Unit Entity to get the info from.
- * @return string HTML content for a monster panel. Empty on error.
- */
- function html_unit_transformation_panel($unit) {
- global $path;
- $html = "";
- if ($unit instanceof Unit){
- $k = $unit->unit;
- }
- elseif ($unit instanceof K_Unit){
- $k = $unit;
- }
- else{
- return "";
- }
- if ($k->transformation == null){
- return "";
- }
- $html .= "<div class='monster_transformation_panel'>\n";
- $html .= "<img title='" . $unit->title . " (transformed)' class='monster_transformation border_" . $k->element_name . "' src='" . $k->transformation->get_image() . "'/>\n";
- $html .= "</div>\n";
- return $html;
- }
- /**
- * Generates a rune panel.
- *
- * @param Rune rune Entity to get the info from.
- * @param Unit unit Optional. The unit the rune is assigned to.
- * @return string HTML content for a rune panel. Empty on error.
- */
- function html_rune_panel($rune, $unit = null) {
- global $path;
- if (!($rune instanceof Rune)){
- return "";
- }
- $html = "";
- $html .= "<div class='rune_panel rune_slot_" . $rune->slot . " rune_level_" . $rune->level . " rune_quality_" . strtolower($rune->quality_name) . " rune_original_quality_" . strtolower($rune->original_quality_name) . " rune_ancient_" . $rune->ancient . "'>\n";
- $html .= "<img class='rune_base' src='" . $path["img"]["rune"] . "base.png'/>\n";
- $html .= "<img class='rune_icon' src='" . $rune->type->get_image() . "'/>\n";
- $html .= "<span class='rune_stars'>\n";
- for ($i = 0; $i < $rune->stars; $i ++){
- $html .= "<img class='star' src='" . $path["img"]["icon"] . "star.png'/>\n";
- }
- $html .= "</span>\n";
- $html .= "<span class='rune_level'>\n";
- $html .= $rune->level . "\n";
- $html .= "</span>\n";
- $html .= "</div>\n";
- if ($unit instanceof Unit){
- $html .= "<div class='assigned'>\n";
- $html .= "<a target='blank' href='/monsters/" . $unit->id . "'>\n";
- $html .= "<img title='" . $unit->title . "' class='monster_image border_" . $unit->unit->element_name . "' src='" . $unit->unit->get_image() . "'/>\n";
- $html .= "</a>\n";
- $html .= "</div>\n";
- }
- return $html;
- }
- /**
- * Generates a rune table.
- *
- * @param Rune rune Entity to get the info from.
- * @param Unit unit Optional. The unit the rune is assigned to.
- * @return string HTML content for a rune table. Empty on error.
- */
- function html_rune_table($rune, $unit = null) {
- global $path;
- if (!($rune instanceof Rune)){
- return "";
- }
- $html = "";
- $html .= "<table class='rune'>\n";
- $html .= "<tr>\n";
- $html .= "<td class='icon'>\n";
- $html .= html_rune_panel($rune, $unit) . "\n";
- $html .= "</td>\n";
- $html .= "<td class='stats'>\n";
- $html .= "<table>\n";
- // Main stat
- $html .= "<tr class='main_stat'>\n";
- $html .= "<td class='stat'>\n";
- if (in_array($rune->main_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
- $stat_name = str_replace("%", "", $rune->main_stat_name);
- $stat_value = "+ " . $rune->main_stat_value . "%";
- }
- else{
- $stat_name = $rune->main_stat_name;
- $stat_value = "+ " . $rune->main_stat_value;
- }
- $html .= $stat_name . "\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= $stat_value . "\n";
- $html .= "<td>\n";
- $html .= "</tr>\n";
- // Innate stat
- $html .= "<tr class='innate_stat'>\n";
- $html .= "<td class='stat'>\n";
- if (strlen($rune->innate_stat) == 0){
- $stat_name = " ";
- $stat_value = "";
- }
- elseif (in_array($rune->innate_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
- $stat_name = str_replace("%", "", $rune->innate_stat_name);
- $stat_value = "+ " . $rune->innate_stat_value . "%";
- }
- else{
- $stat_name = $rune->innate_stat_name;
- $stat_value = "+ " . $rune->innate_stat_value;
- }
- $html .= $stat_name . "\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= $stat_value . "\n";
- $html .= "<td>\n";
- $html .= "</tr>\n";
- $substats = array($rune->substat_1, $rune->substat_2, $rune->substat_3, $rune->substat_4);
- $substats_name = array($rune->substat_1_name, $rune->substat_2_name, $rune->substat_3_name, $rune->substat_4_name);
- $substats_value = array($rune->substat_1_value, $rune->substat_2_value, $rune->substat_3_value, $rune->substat_4_value);
- $substats_grind = array($rune->substat_1_grind, $rune->substat_2_grind, $rune->substat_3_grind, $rune->substat_4_grind);
- $substats_enchant = array($rune->substat_1_enchant, $rune->substat_2_enchant, $rune->substat_3_enchant, $rune->substat_4_enchant);
- for ($i = 0; $i < 4; $i ++){
- if (strlen($substats_name[$i]) == 0){
- $stat_name = " ";
- $stat_value = "";
- }
- elseif (in_array($substats_name[$i], array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
- $stat_name = str_replace("%", "", $substats_name[$i]);
- $stat_value = "+ " . $substats_value[$i] . "%";
- }
- else{
- $stat_name = $substats_name[$i];
- $stat_value = "+ " . $substats_value[$i];
- }
- $grind = "";
- if ($substats_grind[$i] > 0){
- $grind = "+" . $substats_grind[$i];
- if (in_array($substats_name[$i], array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
- $grind = $grind . "%";
- }
- }
- $html .= "<tr class=substat>\n";
- $html .= "<td class='stat'>\n";
- $html .= $stat_name . "\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= $stat_value . "\n";
- $html .= "<span class='grind grind_$grind'>\n";
- $html .= $grind . "\n";
- $html .= "</span>\n";
- if ($substats_enchant[$i] == 1){
- $html .= "<img title='Enchanted' src='" . $path["img"]["rune"] . "enchanted.png'/>\n";
- }
- $html .= "</td>\n";
- $html .= "</tr>\n";
- }
- $html .= "</table>\n";
- $html .= "</td>\n";
- // Details
- $html .= "<td class='details'>\n";
- $html .= "<table class='table_details'>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Quality:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= "<span class='quality quality_" . strtolower($rune->quality_name) . "'>\n";
- $html .= $rune->quality_name . "\n";
- $html .= "</span>\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Origina q.:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= "<span class='quality quality_" . strtolower($rune->original_quality_name) . "'>\n";
- $html .= $rune->original_quality_name . "\n";
- $html .= "</span>\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Value:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= number_format($rune->value, 0, ".", ",") . "\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Efficiency:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= number_format($rune->efficiency, 2, ".", ",") . "%\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Max. eff.:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= number_format($rune->max_efficiency, 2, ".", ",") . "%\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "<tr>\n";
- $html .= "<td class='title'>\n";
- $html .= "Reached. eff.:\n";
- $html .= "</td>\n";
- $html .= "<td class='value'>\n";
- $html .= number_format($rune->efficiency * 100 / $rune->max_efficiency, 2, ".", ",") . "%\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "</table>\n";
- $html .= "</td>\n";
- $html .= "</tr>\n";
- $html .= "</table>\n";
- return $html;
- }
- /**
- * Generates a grindstone or gem panel.
- *
- * @param Rune_Craft craft Entity to get the info from.
- * @return string HTML content for a rune panel. Empty on error.
- */
- function html_craft_panel($craft) {
- global $path;
- if (!($craft instanceof Rune_Craft)){
- return "";
- }
- $html = "";
- if ($craft->gem == 1){
- if ($craft->inmemorial == 1){
- $base = $path["img"]["grind"] . "gem_inmemorial.png";
- }
- else{
- $base = $path["img"]["grind"] . "gem.png";
- }
- }
- else{
- if ($craft->inmemorial == 1){
- $base = $path["img"]["grind"] . "grind_inmemorial.png";
- }
- else{
- $base = $path["img"]["grind"] . "grind.png";
- }
- }
- if ($craft->inmemorial == 0 && isset($craft->rune)){
- $icon = "<img class='craft_icon' src='" . $craft->rune->get_image() . "'/>\n";
- }
- else{
- $icon = "";
- }
- if (in_array($craft->stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
- $stat_name = str_replace("%", "", $craft->stat_name);
- $stat_value = "+ " . $craft->min . "~" . $craft->max . "%";
- }
- else{
- $stat_name = $craft->stat_name;
- $stat_value = "+ " . $craft->min . "~" . $craft->max;
- }
- $html .= "<div class='craft_panel craft_quality_" . strtolower($craft->quality_name) . " rune_ancient_" . $craft->ancient . "'>\n";
- $html .= "<img class='craft_base' src='" . $base . "'/>\n";
- $html .= $icon;
- $html .= "<span class='craft_stat'>\n";
- $html .= "<span class='craft_stat_name'>" . $stat_name . "</span>\n";
- $html .= "<span class='craft_stat_value'>" . $stat_value . "</span>\n";
- $html .= "</span>\n";
- $html .= "</div>\n";
- return $html;
- }
- /**
- * Generates a building panel.
- *
- * @param unit Building/Decoration/K_Building/K_Decoration Entity to get the info from.
- * @return string HTML content for a building panel. Empty on error.
- */
- function html_building_panel($building) {
- global $path;
- if ($building instanceof Building){
- $level = false;
- $title = $building->building->name;
- $description = $building->building->description;
- $img = $building->building->get_image();
- }
- elseif ($building instanceof K_Building){
- $level = false;
- $title = $building->name;
- $description = $building->building->description;
- $img = $building->get_image();
- }
- elseif ($building instanceof Decoration){
- $level = $building->level;
- $title = $building->decoration->name;
- $description = $building->decoration->description;
- $img = $building->decoration->get_image();
- }
- elseif ($building instanceof K_Decoration){
- $level = false;
- $title = $building->name;
- $description = $building->building->description;
- $img = $building->get_image();
- }
- else{
- return "";
- }
- if (strlen($description) > 0){
- $title .= ": " . $description;
- }
- $html = "";
- $html = "<div class='building_panel'>\n";
- $html .= "<img title='" . $title . "' class='building' src='" . $img . "'/>\n";
- if ($level){
- $html .= "<span class='level'>\n";
- $html .= $level . "\n";
- $html .= "</span>\n";
- }
- $html .= "</div>\n";
- return $html;
- }
- /**
- * Generates a item panel.
- *
- * @param item Inventory Entity to get the info from.
- * @return string HTML content for a building panel. Empty on error.
- */
- function html_item_panel($item) {
- global $path;
- global $INVENTORY_TYPE;
- if (!($item instanceof Inventory)){
- return "";
- }
- $html = "";
- $html = "<div class='item_panel'>\n";
- $html .= "<img title='" . $item->name . "' class='item' src='" . $item->get_image() . "'/>\n";
- $html .= "<span class='amount'>\n";
- $html .= $item->amount . "\n";
- $html .= "</span>\n";
- $html .= "</div>\n";
- return $html;
- }
- ?>
|