function przerwij_trening($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $jednostka = row("select * from tribal_eventy inner join tribal_jednostki on podtyp = jednostka where event = " . $id . " and typ = 3 and miasto_id = " . $gracz['id_miasta'] . " limit 1"); if (empty($jednostka)) { $error = "nie ma takiego zdarzenia"; } else { $jednostka['drewno'] = floor($jednostka['drewno'] * $jednostka['ilosc'] * 0.9); $jednostka['kamien'] = floor($jednostka['kamien'] * $jednostka['ilosc'] * 0.9); $jednostka['zelazo'] = floor($jednostka['zelazo'] * $jednostka['ilosc'] * 0.9); $jednostka['jedzenie'] = floor($jednostka['jedzenie'] * $jednostka['ilosc'] * 0.9); $jednostka['populacja'] = floor($jednostka['populacja'] * $jednostka['ilosc']); //usuń event fx('usun_event'); usun_event($jednostka['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $jednostka['drewno'], $jednostka['kamien'], $jednostka['zelazo'], $jednostka['jedzenie'], -$jednostka['populacja']); $czas = $jednostka['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 3 and event > " . $jednostka['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano trenowanie jednostki"; } return $error; }
function przerwij_budowe($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $info = row("select bm.drewno as bmdrewno, bm.kamien as bmkamien, bm.zelazo as bmzelazo, bm.jedzenie as bmjedzenie, bm.populacja as bmpopulacja, bm.czas_budowy as bmczas_budowy, bm.poziom as bmpoziom, b.* from tribal_budynki b left join tribal_budynki_miasta bm on b.budynek = bm.budynek_id and bm.miasto_id = " . $gracz['id_miasta'] . " where b.budynek = " . $id . " limit 1"); if (empty($info)) { $error = "nie ma takiego obiektu"; } else { if (!empty($info['bmdrewno'])) { $info['drewno'] = $info['bmdrewno']; $info['kamien'] = $info['bmkamien']; $info['zelazo'] = $info['bmzelazo']; $info['jedzenie'] = $info['bmjedzenie']; $info['populacja'] = $info['bmpopulacja']; $info['poziom'] = $info['bmpoziom']; $info['czas_budowy'] = $info['bmczas_budowy']; } else { $info['poziom'] = 0; } $info['drewno'] = floor($info['drewno'] * 0.9); $info['kamien'] = floor($info['kamien'] * 0.9); $info['zelazo'] = floor($info['zelazo'] * 0.9); $info['jedzenie'] = floor($info['jedzenie'] * 0.9); $budowany = row("select * from tribal_eventy where typ = 1 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta']); if (empty($budowany)) { $error = "nie budujesz tego budynku"; } else { //usuń event fx('usun_event'); usun_event($budowany['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $info['drewno'], $info['kamien'], $info['zelazo'], $info['jedzenie'], -$info['populacja']); $czas = $budowany['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 1 and event > " . $budowany['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano budowę"; } } return $error; }
function przerwij_ulepszanie($gracz, $id) { //zabezpiecz zmienne $id = (int) $id; $tech = row("select \n\t\ttt.technologia,\n\t\ttt.drewno as drewno1, ttm.drewno as drewno2,\n\t\ttt.kamien as kamien1, ttm.kamien as kamien2, \n\t\ttt.zelazo as zelazo1, ttm.zelazo as zelazo2,\n\t\ttt.jedzenie as jedzenie1, ttm.jedzenie as jedzenie2,\n\t\ttt.czas_rozwoju as czas_rozwoju1, ttm.czas_rozwoju as czas_rozwoju2,\n\t\ttt.nazwa, ttm.poziom, tt.max_poziom,\n\t\t(select koniec - " . mktime() . " from tribal_eventy where typ = 2 and podtyp = tt.technologia and miasto_id = " . $gracz['id_miasta'] . ") as w_kolejce\n\tfrom tribal_technologie tt \n\tleft join tribal_technologie_miasta ttm \n\ton tt.technologia = ttm.technologia_id \n\tand ttm.miasto_id = " . $gracz['id_miasta'] . " where tt.technologia = " . $id . " limit 1\n\t"); if (empty($tech)) { $error = "nie ma takiego obiektu"; } else { if (!empty($tech['poziom'])) { $tech['drewno1'] = $tech['drewno2']; $tech['kamien1'] = $tech['kamien2']; $tech['zelazo1'] = $tech['zelazo2']; $tech['jedzenie1'] = $tech['jedzenie2']; $tech['czas_rozwoju1'] = $tech['czas_rozwoju2']; } else { $tech['poziom'] = 0; } $tech['drewno1'] = floor($tech['drewno1'] * 0.9); $tech['kamien1'] = floor($tech['kamien1'] * 0.9); $tech['zelazo1'] = floor($tech['zelazo1'] * 0.9); $tech['jedzenie1'] = floor($tech['jedzenie1'] * 0.9); $event = row("select * from tribal_eventy where typ = 2 and podtyp = {$id} and miasto_id = " . $gracz['id_miasta']); if (empty($event)) { $error = "nie rozwijasz tej technologii"; } else { //usuń event fx('usun_event'); usun_event($event['event']); //zabierz surowce fx('surowce'); surowce($gracz['id_miasta'], $tech['drewno1'], $tech['kamien1'], $tech['zelazo1'], $tech['jedzenie1'], 0); $czas = $event['koniec'] - mktime(); call("update tribal_eventy set start = start - {$czas}, koniec = koniec - {$czas} where typ = 2 and event > " . $event['event'] . " and miasto_id = " . $gracz['id_miasta']); $error = "przerwano rozwój technologii"; } } return $error; }
function main_town($miasto) { fx('usun_event'); $eventy_budynki = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 1 and koniec <= " . time()); if (is_array($eventy_budynki)) { foreach ($eventy_budynki as $wybudowany) { usun_event($wybudowany['event']); call("update tribal_gracze g inner join tribal_miasta on g.gracz = gracz_id set g.punkty = g.punkty + 1 where miasto = " . $miasto); $info = one("select count(*) from tribal_budynki_miasta where miasto_id = {$miasto} and budynek_id = " . $wybudowany['podtyp']); $obiekt = row("select * from tribal_budynki where budynek = " . $wybudowany['podtyp']); if (!empty($info)) { call($q = "update tribal_budynki_miasta set \n\t\t\t\tdrewno = drewno * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100), \n\t\t\t\tkamien = kamien * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tjedzenie = jedzenie * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tzelazo = zelazo * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tpopulacja = populacja * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tczas_budowy = czas_budowy * ((100 + " . $obiekt['wzrost_czasu_budowy'] . " )/100),\n\t\t\t\tpoziom = poziom + 1\n\t\t\t\twhere miasto_id = {$miasto} and budynek_id = \n\t\t\t\t" . $wybudowany['podtyp']); $poziom = 1; } else { call($q = "insert into tribal_budynki_miasta(miasto_id, budynek_id, drewno, kamien, zelazo, jedzenie, populacja, czas_budowy, poziom) value ({$miasto}, " . $wybudowany['podtyp'] . ", " . $obiekt['drewno'] . ", " . $obiekt['kamien'] . ", " . $obiekt['zelazo'] . ", " . $obiekt['jedzenie'] . ", " . $obiekt['populacja'] . ", " . $obiekt['czas_budowy'] . ", 1)"); $poziom = 0; } switch ($wybudowany['podtyp']) { case 1: if ($poziom == 0) { call("update tribal_miasta set drewno_przyrost = drewno_przyrost + 50 where miasto = {$miasto}"); } else { call("update tribal_miasta set drewno_przyrost = drewno_przyrost * 1.2 where miasto = {$miasto}"); } break; case 2: if ($poziom == 0) { call("update tribal_miasta set kamien_przyrost = kamien_przyrost + 50 where miasto = {$miasto}"); } else { call("update tribal_miasta set kamien_przyrost = kamien_przyrost * 1.2 where miasto = {$miasto}"); } break; case 3: if ($poziom == 0) { call("update tribal_miasta set zelazo_przyrost = zelazo_przyrost + 50 where miasto = {$miasto}"); } else { call("update tribal_miasta set zelazo_przyrost = zelazo_przyrost * 1.2 where miasto = {$miasto}"); } break; case 4: if ($poziom == 0) { call("update tribal_miasta set jedzenie_przyrost = jedzenie_przyrost + 50 where miasto = {$miasto}"); } else { call("update tribal_miasta set jedzenie_przyrost = jedzenie_przyrost * 1.2 where miasto = {$miasto}"); } break; case 5: call("update tribal_miasta set populacja_max = populacja_max * 1.3 where miasto = {$miasto}"); break; case 6: call("update tribal_miasta set surowce_max = surowce_max * 1.3 where miasto = {$miasto}"); break; } } } $eventy_technologie = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 2 and koniec <= " . time()); if (is_array($eventy_technologie)) { foreach ($eventy_technologie as $wybudowany) { usun_event($wybudowany['event']); $info = one("select count(*) from tribal_technologie_miasta where miasto_id = {$miasto} and technologia_id = " . $wybudowany['podtyp']); $obiekt = row("select * from tribal_technologie where technologia = " . $wybudowany['podtyp']); if (!empty($info)) { call("update tribal_technologie_miasta set \n\t\t\t\tdrewno = drewno * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100), \n\t\t\t\tkamien = kamien * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tjedzenie = jedzenie * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tzelazo = zelazo * ((100 + " . $obiekt['wzrost_koszt_surowce'] . " )/100),\n\t\t\t\tczas_rozwoju = czas_rozwoju * ((100 + " . $obiekt['wzrost_czasu_budowania'] . " )/100),\n\t\t\t\tpoziom = poziom + 1\n\t\t\t\twhere miasto_id = {$miasto} and technologia_id = \n\t\t\t\t" . $wybudowany['podtyp']); $poziom = 1; } else { call("insert into tribal_technologie_miasta(miasto_id, technologia_id, drewno, kamien, zelazo, jedzenie, czas_rozwoju, poziom) value ({$miasto}, " . $wybudowany['podtyp'] . ", " . $obiekt['drewno'] . ", " . $obiekt['kamien'] . ", " . $obiekt['zelazo'] . ", " . $obiekt['jedzenie'] . ", " . $obiekt['czas_rozwoju'] . ", 1)"); $poziom = 0; } } } $eventy_jednostki = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 3 and koniec <= " . time()); if (is_array($eventy_jednostki)) { foreach ($eventy_jednostki as $wybudowany) { usun_event($wybudowany['event']); $info = one("select count(*) from tribal_jednostki_miasta where miasto_id = {$miasto} and jednostka_id = " . $wybudowany['podtyp']); if (!empty($info)) { call("update tribal_jednostki_miasta set \n\t\t\t\tilosc = ilosc + " . $wybudowany['ilosc'] . "\n\t\t\t\twhere miasto_id = {$miasto} and jednostka_id = \n\t\t\t\t" . $wybudowany['podtyp']); } else { call("insert into tribal_jednostki_miasta(miasto_id, jednostka_id, ilosc) value ({$miasto}, " . $wybudowany['podtyp'] . "," . $wybudowany['ilosc'] . ")"); } } } fx('rozwiaz_armie'); $eventy_ataki_powrot = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 11 and koniec <= " . time()); if (is_array($eventy_ataki_powrot)) { foreach ($eventy_ataki_powrot as $atak) { usun_event($atak['event']); rozwiaz_armie($atak['ilosc']); } } fx('bitwa'); $eventy_bitwy = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 10 and koniec <= " . time()); if (is_array($eventy_bitwy)) { foreach ($eventy_bitwy as $atak) { usun_event($atak['event']); bitwa($atak); } } fx('rozwiaz_szpiegow'); $eventy_szpiedzy_powrot = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 21 and koniec <= " . time()); if (is_array($eventy_szpiedzy_powrot)) { foreach ($eventy_szpiedzy_powrot as $atak) { usun_event($atak['event']); rozwiaz_szpiegow($atak); } } fx('szpiegowanie'); $eventy_szpiegowanie = all("select * from tribal_eventy where miasto_id = {$miasto} and typ = 20 and koniec <= " . time()); if (is_array($eventy_szpiegowanie)) { foreach ($eventy_szpiegowanie as $atak) { usun_event($atak['event']); szpiegowanie($atak); } } }