public function _getTroopsList($key) { $GameMetadata = $GLOBALS['GameMetadata']; $m = new BuildModel(); $returnTroops = array(); if (trim($this->data[$key]) != "") { $t_arr = explode("|", $this->data[$key]); foreach ($t_arr as $t_str) { $t2_arr = explode(":", $t_str); $vid = intval($t2_arr[0]); $villageData = NULL; if ($vid == 0 - 1) { $vid = $this->data['selected_village_id']; $villageData = array("id" => $vid, "village_name" => $this->data['village_name'], "player_id" => $this->player->playerId, "player_name" => buildings_p_thisvillage); } else { $villageData = $m->getVillageData2ById($vid); } $returnTroops[$vid] = array("villageData" => $villageData, "cropConsumption" => 0, "hasHero" => FALSE, "troops" => array()); if ($vid == $this->data['selected_village_id']) { $returnTroops[$vid]['hasHero'] = intval($this->data['hero_in_village_id']) == intval($this->data['selected_village_id']); if ($returnTroops[$vid]['hasHero']) { $returnTroops[$vid]['cropConsumption'] += $GameMetadata['troops'][$this->data['hero_troop_id']]['crop_consumption']; } } $t2_arr = explode(",", $t2_arr[1]); foreach ($t2_arr as $t2_str) { $tnum = explode(" ", $t2_str); $tid = explode(" ", $t2_str); list($tid, $tnum) = $tid; if ($tid == 99) { continue; } if ($tnum == 0 - 1) { $tnum = 1; $returnTroops[$vid]['hasHero'] = TRUE; } else { $returnTroops[$vid]['troops'][$tid] = $tnum; } $returnTroops[$vid]['cropConsumption'] += $GameMetadata['troops'][$tid]['crop_consumption'] * $tnum; } } } $m->dispose(); return $returnTroops; }