function getCaveReport($meineHoehlen, $caveID, $targetCaveID, $playerID) { global $params, $config, $terrainList; $cave = getCaveByID($targetCaveID); $caveDetails = array(); $playerDetails = array(); // ADDED by chris--- for Quests // ---------------------------------------------------------- global $db; // checking if this cave is a quest cave and if its visible to the player (than he knows the quest) // if he does not know the quest the cave is invisible if (isCaveQuestCave($targetCaveID, $db) && isCaveInvisibleToPlayer($targetCaveID, $playerID, $db)) { $cave['playerID'] = 0; } // ---------------------------------------------------------- if ($cave['playerID'] != 0) { $caveDetails = getCaves($cave['playerID']); $playerDetails = getPlayerFromID($cave['playerID']); // ADDED by chris--- for farmschutz if (FARMSCHUTZ_ACTIVE == 1) { $farmschutz = getFarmschutz($cave['playerID']); } else { $farmschutz = ""; } } $template = @tmpl_open('./templates/' . $config->template_paths[$params->SESSION->user['template']] . '/mapdetail.ihtml'); if ($cave['protected']) { tmpl_set($template, 'PROPERTY', 'Anfängerschutz aktiv'); } if (!$cave['secureCave'] && $cave['playerID']) { tmpl_iterate($template, 'PROPERTY'); tmpl_set($template, 'PROPERTY', 'übernehmbar!'); } // ADDED by chris--- for Quests -------------------------------------------------------------------------------- if ($cave['quest_cave'] && !isCaveInvisibleToPlayer($cave['caveID'], $playerID, $db) && $cave['invisible_name'] != "") { $cave['name'] = $cave['invisible_name']; } // ------------------------------------------------------------------------------------------------------- $addCaveLink = "?modus=" . CAVE_BOOK_ADD . "&id=" . $targetCaveID; // ADDED by chris--- for cavebook tmpl_set($template, '/', array('cavename' => $cave['name'], 'xcoord' => $cave['xCoord'], 'ycoord' => $cave['yCoord'], 'terrain' => $terrainList[$cave['terrain']]['name'], 'movementlink' => "?modus=" . MOVEMENT . "&targetXCoord=" . $cave['xCoord'] . "&targetYCoord=" . $cave['yCoord'] . "&targetCaveName=" . unhtmlentities($cave['name']), 'backlink' => "?modus=" . MAP . "&xCoord=" . $cave['xCoord'] . "&yCoord=" . $cave['yCoord'])); if ($cave['playerID'] != 0) { tmpl_set($template, '/OCCUPIED', array('playerLink' => "?modus=" . PLAYER_DETAIL . "&detailID=" . $playerDetails['playerID'], 'caveOwner' => $playerDetails['name'], 'farmschutz' => $farmschutz, 'adressbook_add_modus' => MESSAGE_BOOK_ADD, 'addCaveLink' => $addCaveLink)); if ($playerDetails['tribe']) { tmpl_set($template, '/OCCUPIED/TRIBE', array('tribeLink' => "?modus=" . TRIBE_DETAIL . "&tribe=" . urlencode(unhtmlentities($playerDetails['tribe'])), 'ownersTribe' => $playerDetails['tribe'])); } if ($cave['artefacts'] != 0 && ($playerDetails['tribe'] != GOD_ALLY || $params->SESSION->user['tribe'] == GOD_ALLY)) { tmpl_set($template, '/OCCUPIED/ARTEFACT/artefactLink', "?modus=" . ARTEFACT_LIST . "&caveID={$caveID}"); } $caves = array(); foreach ($caveDetails as $key => $value) { if (!(isCaveQuestCave($value['caveID'], $db) && isCaveInvisibleToPlayer($value['caveID'], $playerID, $db))) { $temp = array('caveName' => $value['name'], 'xCoord' => $value['xCoord'], 'ycoord' => $value['yCoord'], 'terrain' => $terrainList[$value['terrain']]['name'], 'caveSize' => floor($value[CAVE_SIZE_DB_FIELD] / 50) + 1, 'movementLink' => "?modus=" . MOVEMENT . "&targetXCoord=" . $value['xCoord'] . "&targetYCoord=" . $value['yCoord'] . "&targetCaveName=" . unhtmlentities($value['name'])); if ($value['artefacts'] != 0 && ($playerDetails['tribe'] != GOD_ALLY || $params->SESSION->user['tribe'] == GOD_ALLY)) { $temp['ARTEFACT'] = array('artefactLink' => "?modus=" . ARTEFACT_LIST . "&caveID={$caveID}"); } if ($value['protected'] && $value['playerID']) { $temp['PROPERTY'] = array('text' => 'Schutz'); } else { if (!$value['secureCave']) { $temp['PROPERTY'] = array('text' => 'übernehmbar'); } } $caves[] = $temp; } } tmpl_set($template, '/OCCUPIED/CAVES', $caves); } else { if (sizeof($meineHoehlen) < $params->SESSION->user['takeover_max_caves'] && $cave['takeoverable'] == 1) { tmpl_set($template, 'TAKEOVERABLE', array('modus' => TAKEOVER, 'caveID' => $caveID, 'targetXCoord' => $cave['xCoord'], 'targetYCoord' => $cave['yCoord'])); } } return tmpl_parse($template); }
function artefact_getDetail($caveID, &$myCaves, $artefactID) { global $params, $config, $resourceTypeList, $buildingTypeList, $unitTypeList, $scienceTypeList, $defenseSystemTypeList; $template = @tmpl_open('templates/' . $config->template_paths[$params->SESSION->user['template']] . '/artefactdetail.ihtml'); $show_artefact = TRUE; $artefact = artefact_getArtefactByID($artefactID); $description_initiated = $artefact['description_initiated']; unset($artefact['description_initiated']); // Gott oder nicht? if ($params->SESSION->user['tribe'] != GOD_ALLY) { // gibts nicht oder nicht in einer Höhle if (!$artefact['caveID']) { $show_artefact = FALSE; } else { $cave = getCaveByID($artefact['caveID']); // leere Höhle if (!$cave['playerID']) { $show_artefact = FALSE; } else { $owner = getPlayerFromID($cave['playerID']); // Besitzer ist ein Gott if ($owner['tribe'] == GOD_ALLY) { $show_artefact = FALSE; } } } } if ($show_artefact) { // eigene Höhle ... if (array_key_exists($artefact['caveID'], $myCaves)) { // Ritual ausführen? if (isset($params->POST->initiate)) { $message = artefact_beginInitiation($artefact); tmpl_set($template, 'message', $message); // reload $myCaves = getCaves($params->SESSION->user['playerID']); } else { if ($artefact['caveID'] == $caveID && $artefact['initiated'] == ARTEFACT_UNINITIATED) { // Check, ob bereits eingeweiht wird. if (sizeof(artefact_getArtefactInitiationsForCave($caveID)) == 0) { // Hol das Einweihungsritual $ritual = artefact_getRitualByID($artefact['initiationID']); // Hol die Kosten und beurteile ob genug da ist $merged_game_rules = array_merge($resourceTypeList, $buildingTypeList, $unitTypeList, $scienceTypeList, $defenseSystemTypeList); $cost = array(); foreach ($merged_game_rules as $val) { if ($ritual[$val->dbFieldName]) { $object_context = ceil($ritual[$val->dbFieldName]) > floor($myCaves[$artefact['caveID']][$val->dbFieldName]) ? 'LESS' : 'ENOUGH'; array_push($cost, array('object' => $val->name, $object_context . '/amount' => $ritual[$val->dbFieldName])); } } // ADDED by chris--- for artefact destroying // hol die destroy_chance $destroy_chance = artefact_getDestroyChance($artefactID); $artefact['INITIATION'] = array('COST' => $cost, 'name' => $ritual['name'], 'destroy_chance' => $destroy_chance, 'description' => $ritual['description'], 'duration' => time_formatDuration($ritual['duration']), 'HIDDEN' => array(array('name' => "artefactID", 'value' => $artefact['artefactID']), array('name' => "modus", 'value' => ARTEFACT_DETAIL), array('name' => "initiate", 'value' => 1))); } else { tmpl_iterate($template, 'ARTEFACT/NO_INITIATION'); } } } // "geheime" Beschreibung nur zeigen, wenn eingeweiht if ($artefact['initiated'] == ARTEFACT_INITIATED) { $artefact['description_initiated'] = $description_initiated; } } tmpl_set($template, 'ARTEFACT', $artefact); } else { tmpl_set($template, 'message', "Über dieses Artefakt weiss man nichts."); } return tmpl_parse($template); }
function getQuestAbortMsg($questID, $db) { $query = "SELECT abort_msg " . "FROM quests " . "WHERE questID = '{$questID}' "; if (!($result = $db->query($query)) || $result->isEmpty() || !($row = $result->nextRow())) { return; } $message = $row[abort_msg]; if (stristr($message, "%playername%")) { // hm we need to get the player who has won the quest $query = "SELECT playerID " . "FROM quests_succeeded " . "WHERE questID = '{$questID}' "; if (!($result = $db->query($query)) || $result->isEmpty() || !($row = $result->nextRow())) { echo "Database failure! Could not get player who won {$questID}"; return; } if ($row[playerID] != 0) { $playername = getPlayerFromID($row[playerID]); } else { $playername[name] = "Unbekannt"; } $message = str_replace('%playername%', "<b>" . $playername[name] . "</b>", $message); } return $message; }
function tribe_processKickMember($playerID, $tag, $db) { if (tribe_isLeader($playerID, $tag, $db)) { return -2; } if (!($player = getPlayerFromID($playerID))) { return -1; } if (!tribe_leaveTribe($playerID, $tag, $db)) { return -1; } tribe_sendTribeMessage($tag, TRIBE_MESSAGE_MEMBER, "Spieler rausgeschmissen", "Der Spieler {$player['name']} wurde soeben vom " . "Anführer aus dem Clan ausgeschlossen."); messages_sendSystemMessage($playerID, 8, "Clanausschluss.", "Sie wurden aus dem Clan {$tag} " . "ausgeschlossen. Bitte loggen Sie sich aus und " . "melden Sie sich wieder an, damit das " . "Clanmenü bei Ihnen wieder richtig " . "funktioniert.", $db); return 1; }