function wonders_getContent() { global $template; // open template $template->setFile('wonder.tmpl'); $id = request_var('wondersID', 0); if (!isset($GLOBALS['wonderTypeList'][$id]) || $GLOBALS['wonderTypeList'][$id]->nodocumentation || $GLOBALS['wonderTypeList'][$id]->isTribeCaveWonder) { $wonder = $GLOBALS['wonderTypeList'][0]; } else { $wonder = $GLOBALS['wonderTypeList'][$id]; } $uaWonderTargetText = WonderTarget::getWonderTargets(); $resourceCost = array(); foreach ($wonder->resourceProductionCost as $key => $value) { if ($value != "" && $value != "0") { array_push($resourceCost, array('dbFieldName' => $GLOBALS['resourceTypeList'][$key]->dbFieldName, 'name' => $GLOBALS['resourceTypeList'][$key]->name, 'amount' => formula_parseToReadable($value))); } } $unitCost = array(); foreach ($wonder->unitProductionCost as $key => $value) { if ($value != "" && $value != "0") { array_push($unitCost, array('dbFieldName' => $GLOBALS['unitTypeList'][$key]->dbFieldName, 'name' => $GLOBALS['unitTypeList'][$key]->name, 'amount' => formula_parseToReadable($value))); } } $moreCost = array_merge($unitCost); $template->addVars(array('name' => $wonder->name, 'offensiveness' => $wonder->offensiveness, 'description' => $wonder->description, 'chance' => round(eval('return ' . formula_parseBasic($wonder->chance) . ';'), 3), 'target' => $uaWonderTargetText[$wonder->target], 'resource_cost' => $resourceCost, 'dependencies' => rules_checkDependencies($wonder), 'more_cost' => sizeof($moreCost) ? $moreCost : false)); }
function wonder_getWonderDetailContent($wonderID, $caveData) { global $buildingTypeList, $defenseSystemTypeList, $resourceTypeList, $scienceTypeList, $unitTypeList, $wonderTypeList, $no_resource_flag, $config, $params; // get wonder target text $uaWonderTargetText = WonderTarget::getWonderTargets(); $no_resource_flag = 1; // first check whether that wonder should be displayed... $wonder = $wonderTypeList[$wonderID]; if (!$wonder || $wonder->nodocumentation && rules_checkDependencies($wonder, $caveData) !== TRUE) { $wonder = current($wonderTypeList); } $template = tmpl_open($params->SESSION->player->getTemplatePath() . 'wonderDetail.ihtml'); // iterate ressourcecosts $resourcecost = array(); foreach ($wonder->resourceProductionCost as $resourceID => $function) { $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData'))); if ($cost) { array_push($resourcecost, array('name' => $resourceTypeList[$resourceID]->name, 'dbFieldName' => $resourceTypeList[$resourceID]->dbFieldName, 'value' => $cost)); } } // iterate unitcosts $unitcost = array(); foreach ($wonder->unitProductionCost as $unitID => $function) { $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData'))); if ($cost) { array_push($unitcost, array('name' => $unitTypeList[$unitID]->name, 'dbFieldName' => $unitTypeList[$unitID]->dbFieldName, 'value' => $cost)); } } $dependencies = array(); $buildingdep = array(); $defensesystemdep = array(); $resourcedep = array(); $sciencedep = array(); $unitdep = array(); foreach ($wonder->buildingDepList as $key => $level) { if ($level) { array_push($buildingdep, array('name' => $buildingTypeList[$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->defenseSystemDepList as $key => $level) { if ($level) { array_push($defensesystemdep, array('name' => $defenseSystemTypeList[$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->resourceDepList as $key => $level) { if ($level) { array_push($resourcedep, array('name' => $resourceTypeList[$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->scienceDepList as $key => $level) { if ($level) { array_push($sciencedep, array('name' => $scienceTypeList[$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->unitDepList as $key => $level) { if ($level) { array_push($unitdep, array('name' => $unitTypeList[$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->maxBuildingDepList as $key => $level) { if ($level != -1) { array_push($buildingdep, array('name' => $buildingTypeList[$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxDefenseSystemDepList as $key => $level) { if ($level != -1) { array_push($defensesystemdep, array('name' => $defenseSystemTypeList[$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxResourceDepList as $key => $level) { if ($level != -1) { array_push($resourcedep, array('name' => $resourceTypeList[$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxScienceDepList as $key => $level) { if ($level != -1) { array_push($sciencedep, array('name' => $scienceTypeList[$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxUnitDepList as $key => $level) { if ($level != -1) { array_push($unitdep, array('name' => $unitTypeList[$key]->name, 'level' => "<= " . $level)); } } if (sizeof($wonderdep)) { array_push($dependencies, array('name' => _('Erweiterungen'), 'DEP' => $wonderdep)); } if (sizeof($defensesystemdep)) { array_push($dependencies, array('name' => _('Verteidigungsanlagen'), 'DEP' => $defensesystemdep)); } if (sizeof($resourcedep)) { array_push($dependencies, array('name' => _('Rohstoffe'), 'DEP' => $resourcedep)); } if (sizeof($sciencedep)) { array_push($dependencies, array('name' => _('Forschungen'), 'DEP' => $sciencedep)); } if (sizeof($unitdep)) { array_push($dependencies, array('name' => _('Einheiten'), 'DEP' => $unitdep)); } $target = $uaWonderTargetText[$wonder->target]; $chance = eval('return ' . formula_parseToPHP($wonder->chance . ';', '$caveData')); tmpl_set($template, '/', array('name' => $wonder->name, 'dbFieldName' => $wonder->dbFieldName, 'chance' => $chance, 'offensiveness' => $wonder->offensiveness, 'target' => $target, 'description' => $wonder->description, 'maxlevel' => $wonder->maxLevel, 'currentlevel' => $currentlevel, 'RESOURCECOST' => $resourcecost, 'UNITCOST' => $unitcost, 'DEPGROUP' => $dependencies, 'rules_path' => RULES_PATH)); return tmpl_parse($template); }
function getWondersStats() { global $template; require_once 'wonder.inc.php'; $uaWonderTargetText = WonderTarget::getWonderTargets(); // open template $template->setFile('wondersStats.tmpl'); // get a copy of the wonderTypeList $wondersList = $GLOBALS['wonderTypeList']; // sort that copy by names usort($wondersList, "nameCompare"); $wonders = array(); foreach ($wondersList as $value) { if (!$value->nodocumentation) { $wonders[] = array('id' => $value->wonderID, 'name' => $value->name, 'offensiveness' => $value->offensiveness, 'chance' => round(eval('return ' . formula_parseBasic($value->chance) . ';'), 3), 'target' => $uaWonderTargetText[$value->target], 'remark' => $value->remark); } } $template->addVar('wonders_list', $wonders); }
function wonder_getWonderDetailContent($wonderID, $caveData, $method) { global $config, $template; // get wonder target text $uaWonderTargetText = WonderTarget::getWonderTargets(); // first check whether that wonder should be displayed... $wonder = $GLOBALS['wonderTypeList'][$wonderID]; if (!$wonder || $wonder->nodocumentation && rules_checkDependencies($wonder, $caveData) !== TRUE) { $wonder = current($GLOBALS['wonderTypeList']); } // open template if ($method == 'ajax') { $shortVersion = true; $template->setFile('wonderDetailAjax.tmpl'); } else { $shortVersion = false; $template->setFile('wonderDetail.tmpl'); $template->setShowRresource(false); } // iterate ressourcecosts $resourceCost = array(); foreach ($wonder->resourceProductionCost as $resourceID => $function) { $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData'))); if ($cost) { array_push($resourceCost, array('name' => $GLOBALS['resourceTypeList'][$resourceID]->name, 'dbFieldName' => $GLOBALS['resourceTypeList'][$resourceID]->dbFieldName, 'value' => $cost)); } } // iterate unitcosts $unitcost = array(); foreach ($wonder->unitProductionCost as $unitID => $function) { $cost = ceil(eval('return ' . formula_parseToPHP($function . ';', '$caveData'))); if ($cost) { array_push($unitcost, array('name' => $GLOBALS['unitTypeList'][$unitID]->name, 'dbFieldName' => $GLOBALS['unitTypeList'][$unitID]->dbFieldName, 'value' => $cost)); } } $dependencies = array(); $buildingdep = array(); $defensesystemdep = array(); $resourcedep = array(); $sciencedep = array(); $unitdep = array(); foreach ($wonder->buildingDepList as $key => $level) { if ($level) { array_push($buildingdep, array('name' => $GLOBALS['buildingTypeList'][$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->defenseSystemDepList as $key => $level) { if ($level) { array_push($defensesystemdep, array('name' => $GLOBALS['defenseSystemTypeList'][$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->resourceDepList as $key => $level) { if ($level) { array_push($resourcedep, array('name' => $GLOBALS['resourceTypeList'][$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->scienceDepList as $key => $level) { if ($level) { array_push($sciencedep, array('name' => $GLOBALS['scienceTypeList'][$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->unitDepList as $key => $level) { if ($level) { array_push($unitdep, array('name' => $GLOBALS['unitTypeList'][$key]->name, 'level' => ">= " . $level)); } } foreach ($wonder->maxBuildingDepList as $key => $level) { if ($level != -1) { array_push($buildingdep, array('name' => $GLOBALS['buildingTypeList'][$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxDefenseSystemDepList as $key => $level) { if ($level != -1) { array_push($defensesystemdep, array('name' => $GLOBALS['defenseSystemTypeList'][$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxResourceDepList as $key => $level) { if ($level != -1) { array_push($resourcedep, array('name' => $GLOBALS['resourceTypeList'][$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxScienceDepList as $key => $level) { if ($level != -1) { array_push($sciencedep, array('name' => $GLOBALS['scienceTypeList'][$key]->name, 'level' => "<= " . $level)); } } foreach ($wonder->maxUnitDepList as $key => $level) { if ($level != -1) { array_push($unitdep, array('name' => $GLOBALS['unitTypeList'][$key]->name, 'level' => "<= " . $level)); } } if (sizeof($buildingdep)) { array_push($dependencies, array('name' => _('Erweiterungen'), 'dep' => $buildingdep)); } if (sizeof($defensesystemdep)) { array_push($dependencies, array('name' => _('Verteidigungsanlagen'), 'dep' => $defensesystemdep)); } if (sizeof($resourcedep)) { array_push($dependencies, array('name' => _('Rohstoffe'), 'dep' => $resourcedep)); } if (sizeof($sciencedep)) { array_push($dependencies, array('name' => _('Forschungen'), 'dep' => $sciencedep)); } if (sizeof($unitdep)) { array_push($dependencies, array('name' => _('Einheiten'), 'dep' => $unitdep)); } $targetsPossible = array(); foreach ($wonder->targetsPossible as $target) { if (sizeof($target['relation']) == 0) { if ($target['target'] == 'own') { $tmpMsg[] = _('Das wundern auf den eigenen Stamm ist immer erlaubt'); } else { if ($target['target'] == 'other') { $tmpMsg[] = _('Das wundern auf einen fremden Stamm ist immer erlaubt'); } } } else { $tmpMsg = array(); foreach ($target['relation'] as $relation) { if ($relation['negate']) { switch ($relation['type']) { case 'own2other': $tmpMsg[] = sprintf(_('Dein Stamm darf die Beziehung %s gegenüber den Zielstamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'own2any': $tmpMsg[] = sprintf(_('Dein Stamm darf die Beziehung %s gegenüber irgendeinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'other2own': $tmpMsg[] = sprintf(_('Der Zielstamm darf die Beziehung %s gegenüber deinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'other2any': $tmpMsg[] = sprintf(_('Der Zielstamm darf die Beziehung %s gegenüber eines anderen Stammes nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'any2own': $tmpMsg[] = sprintf(_('Irgendein Stammdarf die Beziehung %s gegenüber deinem Stamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'any2other': $tmpMsg[] = sprintf(_('Irgendein Stamm darf die Beziehung %s gegenüber dem Zielstamm nicht haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; } } else { switch ($relation['type']) { case 'own2other': $tmpMsg[] = sprintf(_('Dein Stamm muß die Beziehung %s gegenüber den Zielstamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'own2any': $tmpMsg[] = sprintf(_('Dein Stamm muß die Beziehung %s gegenüber irgendeinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'other2own': $tmpMsg[] = sprintf(_('Der Zielstamm muß die Beziehung %s gegenüber deinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'other2any': $tmpMsg[] = sprintf(_('Der Zielstamm muß die Beziehung %s gegenüber eines anderen Stammes haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'any2own': $tmpMsg[] = sprintf(_('Irgendein Stamm muß die Beziehung %s gegenüber deinem Stamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; case 'any2other': $tmpMsg[] = sprintf(_('Irgendein Stamm muß die Beziehung %s gegenüber dem Zielstamm haben.'), $GLOBALS['relationList'][$relation['relationID']]['name']); break; } } } } $targetsPossible[] = array('type' => $target['target'], 'msg' => $tmpMsg); } $template->addVars(array('name' => $wonder->name, 'wonder_id' => $wonder->wonderID, 'chance' => eval('return ' . formula_parseToPHP($wonder->chance . ';', '$caveData')), 'offensiveness' => $wonder->offensiveness, 'target' => $uaWonderTargetText[$wonder->target], 'description' => $wonder->description, 'resource_cost' => $resourceCost, 'unit_cost' => $unitcost, 'dependencies' => $dependencies, 'tribe_wonder' => $wonder->isTribeWonder, 'targets_possible' => $targetsPossible, 'delay' => $wonder->secondsBetween ? date("H:i:s", $wonder->secondsBetween) : '')); }