private function getEquipmentStats() { $equipment = Dolumar_Players_Equipment::getAllEquipment(); $types = array(); foreach ($equipment as $v) { $type = $v->getItemType(); if (!isset($types[$type])) { $types[$type] = array(); } $types[$type][] = $v; } $html = '<div class="equipment-report fancybox">'; foreach ($types as $type => $data) { $this->sortLogables($data); $html .= '<div class="equipment-type">'; $html .= '<h2>' . $type . '</h2>'; foreach ($data as $equipment) { $html .= '<div class="equipment">'; $html .= '<h3>' . $equipment->getName() . ' (' . $equipment->getCategory() . ')</h3>'; for ($i = 1; $i <= Dolumar_Players_Village_Equipment::EQUIPMENT_MAX_LEVEL; $i++) { $equipment->setLevel($i); $html .= '<div class="equipment-level">'; $html .= '<h4>' . $i . ': ' . $equipment->getName() . '</h4>'; $html .= Neuron_Core_Tools::output_text($equipment->getStats_text()); $html .= '<p class="equipment-costs"><span class="stat-title">Cost: </span>' . $equipment->getCraftCost_text() . '</p>'; $html .= '</div>'; } $html .= '</div>'; } $html .= '</div><div class="clearer"></div>'; } return $html . '</div>'; }
private function loadUnits() { if (!is_array($this->aUnits)) { $db = Neuron_Core_Database::__getInstance(); $l = $db->getDataFromQuery($db->customQuery("\n\t\t\t\tSELECT\n\t\t\t\t\t*\n\t\t\t\tFROM\n\t\t\t\t\tsquad_units su\n\t\t\t\tLEFT JOIN\n\t\t\t\t\tunits u ON u.unitId = su.u_id\n\t\t\t\tWHERE\n\t\t\t\t\tsu.s_id = '" . $this->getId() . "'\n\t\t\t")); // Load thze items $items = $db->getDataFromQuery($db->customQuery("\n\t\t\t\tSELECT\n\t\t\t\t\tsquad_equipment.*\n\t\t\t\tFROM\n\t\t\t\t\tsquad_equipment\n\t\t\t\tWHERE\n\t\t\t\t\tsquad_equipment.s_id = '" . $this->getId() . "'\n\t\t\t")); $critItems = array(); foreach ($items as $v) { if (!isset($critItems[$v['u_id']])) { $critItems[$v['u_id']] = array(); } $critItems[$v['u_id']][] = Dolumar_Players_Equipment::getFromId($v['e_id']); } $o = array(); foreach ($l as $v) { $i = $v['unitId']; $o[$i] = Dolumar_Units_Unit::getUnitFromName($v['unitName'], $this->getVillage()->getRace(), $this->getVillage()); $isMoving = $this->isMoving(); $o[$i]->addAmount($v['s_amount'], $isMoving ? 0 : $v['s_amount'], $v['s_amount']); $o[$i]->setSquad($this); // Set slot ID $o[$i]->setDefaultSlot($v['s_slotId'], $v['s_priority']); if (isset($critItems[$v['u_id']])) { foreach ($critItems[$v['u_id']] as $v) { $o[$i]->addEquipment($v); } } // Don't see why this would be required, but just to be sure... // $o[$i]->getStats (); } $this->aUnits = $o; } }
private function getSquadOverview($objSquad) { $text = Neuron_Core_Text::__getInstance(); $text->setFile('squads'); $text->setSection('squad'); $page = new Neuron_Core_Template(); $page->set('squadId', $objSquad->getId()); $page->set('squads', $text->get('squads')); $page->set('remove', $text->get('remove')); $page->set('confirm', addslashes($text->get('conRemove'))); $page->set('noUnits', $text->get('noUnits')); $page->set('noItem', $text->get('noItem')); $page->set('toAdd', $text->getClickTo($text->get('toAdd'))); $page->set('toRemove', $text->getClickTo($text->get('toRemove'))); $page->set('toReturn', $text->getClickTo($text->get('toReturn'))); $page->set('name', Neuron_Core_Tools::output_varchar($objSquad->getName())); $input = $this->getInputData(); if (isset($input['remove'])) { if ($objSquad->isIdle()) { if ($objSquad->removeUnit((int) $input['remove'])) { $this->setInputData('{}'); return $this->getOverview(); } } else { $this->alert($text->get('notIdle')); } } // Handle equipment input $equipment = $this->village->getEquipment(); $reloadEquipment = false; foreach ($objSquad->getUnits() as $unit) { // Loop trough equipment to seek input foreach ($equipment as $type => $items) { $inputKey = $unit->getUnitId() . '_' . $type; if (isset($input[$inputKey])) { if ($input[$inputKey] == "0") { $itemid = Dolumar_Players_Equipment::getItemTypeId_static($type); $objSquad->unequipItem($unit, $itemid); } else { // Loop trough your equipment and search for selected item foreach ($items as $name => $item) { if ($input[$inputKey] == $item->getId()) { if (!$objSquad->addEquipment($unit, $item)) { //$this->alert ($text->get ($objSquad->getError ())); $page->set('error', $text->get($objSquad->getError())); } break 1; } } } $reloadEquipment = true; } } } //return '<pre>'.print_r ($equipment, true).'</pre>'; //return $input[$inputKey]; //return $inputKey . '<pre>'.print_r ($input, true).'</pre>'; if ($reloadEquipment) { reloadEverything(); $objSquad->reloadUnits(); } foreach ($objSquad->getUnits() as $v) { // And do the actual output $items = array(); foreach ($v->getEquipment() as $eq) { $items[$eq->getItemType()] = $eq->getId(); } $page->addListValue('units', array(Neuron_Core_Tools::output_varchar($v->getName()), $v->getSquadlessAmount(), $v->getImageUrl(), $v->getUnitId(), $items, 'stats' => Dolumar_Windows_Units::getUnitStatsHTML($v))); } $o = array(); $e = $this->village->getEquipment(); foreach ($e as $k => $v) { $page->addListValue('equipment', array(Neuron_Core_Tools::output_varchar(Dolumar_Players_Equipment::getEquipmentName($k)), $v, $k)); } return $page->parse('squads/view.tpl'); }
public function giveEquipment($equipments) { foreach ($equipments as $k => $v) { $objEquipment = Dolumar_Players_Equipment::getFromId($k); $this->objMember->equipment->addEquipment($objEquipment, $v); } }
public function addEquipment(Dolumar_Players_Equipment $objEquipment, $amount, $delay = 0, Dolumar_Players_Village $from = null) { $e_id = $objEquipment->getId(); if ($delay > 0 && $from != null) { $data = array(); $data[$e_id] = $amount; return $this->objProfile->resources->addDelayedTransfer($data, 'EQUIPMENT', $delay, $from); } else { $db = Neuron_Core_Database::__getInstance(); // Start training $db->insert('villages_items', array('vid' => $this->objProfile->getId(), 'i_itemId' => $e_id, 'i_amount' => $amount, 'i_startCraft' => 0, 'i_endCraft' => 0, 'i_removed' => 0, 'i_buildingId' => 0, 'i_bid' => 0)); return true; } }
private function loadCraftingCounters($vilsId) { $db = Neuron_Core_Database::__getInstance(); $l = $db->select('villages_items', array('*'), "i_endCraft > '" . time() . "' {$vilsId}"); $text = Neuron_Core_Text::getInstance(); $text->setSection('status', 'statusbar'); foreach ($l as $v) { $village = Dolumar_Players_Village::getVillage($v['vid']); $equipment = Dolumar_Players_Equipment::getFromId($v['i_itemId']); if ($equipment) { $txt = Neuron_Core_Tools::putIntoText($text->get('crafting'), array('amount' => $v['i_amount'], 'equipment' => $equipment->getName($v['i_amount'] > 1))); } else { $txt = '*** equipment not found: ' . $v['i_itemId'] . ' ***'; } $this->addCounter($v['i_endCraft'], $village, $txt, 'items'); } }