<?php
class Shapito{
static private $instance = NULL;
public $data = array();
public $dataShapito = array();
public $dataWorker = array();
public $userData = array();
public $userDataOld = array();
public $count;
public $city = array();
static function a($data){
if(self::$instance==NULL)self::$instance = new Shapito($data);
return self::$instance;
}
public function __construct($data){
$this->userData = $data;
$this->userDataOld = $data;
/*Лунапарк*/
if($this->userData['dataShapito'] == '')
{
/*id-> id качели,l-> уровень,w-> работник,r-> когда ремонт,m-> когда доход*/
$this->dataShapito[1] = array("id" => 0, "s" => 0 ,"l" => 1 ,"t" => 0 ,"r" => 0, "m" => 0);
$this->dataShapito[] = array("id" => 0, "s" => 0 ,"l" => 1 ,"t" => 0 ,"r" => 0, "m" => 0);
$this->dataShapito[] = array("id" => 0, "s" => 0 ,"l" => 1 ,"t" => 0 ,"r" => 0, "m" => 0);
$this->dataShapito[] = array("id" => 0, "s" => 0 ,"l" => 1 ,"t" => 0 ,"r" => 0, "m" => 0);
$this->update();
}else{
$this->dataShapito = json_decode($this->userData['dataShapito'],TRUE);
if(User::a()->user['level']>69){
foreach($this->dataShapito AS $key => $value){
if($value['id'] == 0 || $value['t'] < time())$this->count = '<span class="minor">(*)</span>';
}
}
}
$this->data[1]= array("id"=>1,"name" =>"Ведущая","name2" =>"Ведущую","l"=> 70,"xp"=>1000000000000000,'lov'=>50,'d'=>1,'m'=>10000000000,'pd'=>100,'pm'=>50000000);
$this->data[]= array("id"=>2,"name" =>"Клоун","name2" =>"Клоуна","l"=> 71,"xp"=>1500000000000000,'lov'=>75,'d'=>1,'m'=>50000000000,'pd'=>110,'pm'=>60000000);
$this->data[]= array("id"=>3,"name" =>"Фокусник","name2" =>"Фокусника","l"=> 72,"xp"=>2000000000000000,'lov'=>100,'d'=>2,'m'=>150000000000,'pd'=>120,'pm'=>70000000);
$this->data[]= array("id"=>4,"name" =>"Пудели","name2" =>"Пуделей","l"=> 73,"xp"=>3000000000000000,'lov'=>125,'d'=>2,'m'=>500000000000,'pd'=>130,'pm'=>80000000);
$this->data[]= array("id"=>5,"name" =>"Обезьяны","name2" =>"Обезьян","l"=> 74,"xp"=>5000000000000000,'lov'=>200,'d'=>3,'m'=>1000000000000,'pd'=>140,'pm'=>90000000);
$this->data[]= array("id"=>6,"name" =>"Кошки","name2" =>"Кошек","l"=> 75,"xp"=>10000000000000000,'lov'=>300,'d'=>3,'m'=>25000000000000,'pd'=>150,'pm'=>100000000);
$this->data[]= array("id"=>7,"name" =>"Слоны","name2" =>"Слонов","l"=> 76,"xp"=>20000000000000000,'lov'=>400,'d'=>4,'m'=>50000000000000,'pd'=>160,'pm'=>120000000);
$this->data[]= array("id"=>8,"name" =>"Львы","name2" =>"Львов","l"=> 77,"xp"=>30000000000000000,'lov'=>500,'d'=>4,'m'=>100000000000000,'pd'=>170,'pm'=>150000000);
$this->data[]= array("id"=>9,"name" =>"Панды","name2" =>"Панд","l"=> 78,"xp"=>340000000000000000,'lov'=>600,'d'=>5,'m'=>150000000000000,'pd'=>180,'pm'=>180000000);
$this->data[]= array("id"=>10,"name" =>"Белые медведи","name2" =>"Белых медведей","l"=> 79,"xp"=>400000000000000000,'lov'=>700,'d'=>5,'m'=>200000000000000,'pd'=>200,'pm'=>240000000);
$this->data[]= array("id"=>11,"name" =>"Лошади","name2" =>"Лошадей","l"=> 80,"xp"=>450000000000000000,'lov'=>800,'d'=>6,'m'=>250000000000000,'pd'=>220,'pm'=>280000000);
$this->data[]= array("id"=>12,"name" =>"Сурки","name2" =>"Сурков","l"=> 81,"xp"=>550000000000000000,'lov'=>900,'d'=>6,'m'=>300000000000000,'pd'=>240,'pm'=>330000000);
$this->data[]= array("id"=>13,"name" =>"Гепард","name2" =>"Гепарда","l"=> 82,"xp"=>650000000000000000,'lov'=>1000,'d'=>6,'m'=>350000000000000,'pd'=>260,'pm'=>400000000);
$this->data[]= array("id"=>14,"name" =>"Амурский тигр","name2" =>"Амурского тигра","l"=> 83,"xp"=>750000000000000000,'lov'=>1100,'d'=>6,'m'=>450000000000000,'pd'=>280,'pm'=>500000000);
$this->data[]= array("id"=>15,"name" =>"Бурый медведь","name2" =>"Бурого медведя","l"=> 84,"xp"=>850000000000000000,'lov'=>1200,'d'=>7,'m'=>550000000000000,'pd'=>300,'pm'=>600000000);
$this->data[]= array("id"=>16,"name" =>"Бурая панда","name2" =>"Бурую панду","l"=> 85,"xp"=>950000000000000000,'lov'=>1300,'d'=>7,'m'=>750000000000000,'pd'=>320,'pm'=>700000000);
$this->data[]= array("id"=>17,"name" =>"Зебра","name2" =>"Зебру","l"=> 86,"xp"=>1050000000000000000,'lov'=>1400,'d'=>7,'m'=>950000000000000,'pd'=>340,'pm'=>900000000);
$this->data[]= array("id"=>18,"name" =>"Бурый медвеженок","name2" =>"Бурого медвеженка","l"=> 87,"xp"=>1250000000000000000,'lov'=>1500,'d'=>7,'m'=>1250000000000000,'pd'=>360,'pm'=>1100000000);
$this->city[1] = array("name" =>"Штутгарт","d" => 0,"xp" => 0, "price"=> 500,"l"=>0,"time"=>0,"speed"=>0,"mas"=>0,'max'=>3);
$this->city[] = array("name" =>"Стамбул","d" => 0.05,"xp" => 0.15, "price"=> 300,"l"=>2500,"time"=>300,"speed"=>100,"mas"=>0.02,'max'=>5);
$this->city[] = array("name" =>"Рим","d" => 0.1,"xp" => 0.25, "price"=> 400,"l"=>4000,"time"=>1800,"speed"=>100,"mas"=>0.06,'max'=>8);
$this->city[] = array("name" =>"Лондон","d" => 0.15,"xp" => 0.45, "price"=> 500,"l"=>6000,"time"=>3600,"speed"=>100,"mas"=>0.12,'max'=>10);
$this->city[] = array("name" =>"Москва","d" => 0.25,"xp" => 0.65, "price"=> 600,"l"=>9000,"time"=>3600,"speed"=>100,"mas"=>0.18,'max'=>15);
$this->city[] = array("name" =>"Бухарест","d" => 0.3,"xp" => 0.85, "price"=> 700,"l"=>12000,"time"=>3600,"speed"=>100,"mas"=>0.25,'max'=>20);
$this->city[] = array("name" =>"Минск","d" => 0.4,"xp" => 1, "price"=> 800,"l"=>15000,"time"=>7200,"speed"=>100,"mas"=>0.35,'max'=>25);
$this->city[] = array("name" =>"Париж","d" => 0.5,"xp" => 1.2, "price"=> 900,"l"=>18000,"time"=>7200,"speed"=>100,"mas"=>0.45,'max'=>30);
$this->city[] = array("name" =>"Вена","d" => 0.65,"xp" => 1.5, "price"=> 1000,"l"=>21000,"time"=>7200,"speed"=>100,"mas"=>0.55,'max'=>40);
$this->city[] = array("name" =>"Гамбург","d" => 0.8,"xp" => 1.8, "price"=> 1200,"l"=>24000,"time"=>7200,"speed"=>100,"mas"=>0.75,'max'=>45);
$this->city[] = array("name" =>"Варшава","d" => 1,"xp" => 2.2, "price"=> 1400,"l"=>30000,"time"=>10800,"speed"=>100,"mas"=>1,'max'=>50);
$this->city[] = array("name" =>"Санкт-Петербург","d" => 1.2,"xp" => 2.6, "price"=> 1600,"l"=>50000,"time"=>10800,"speed"=>100,"mas"=>1.35,'max'=>55);
$this->city[] = array("name" =>"Барселона","d" => 1.5,"xp" => 3, "price"=> 1800,"l"=>1000,"time"=>10800,"speed"=>100,"mas"=>1.8,'max'=>60);
$this->city[] = array("name" =>"Берлин","d" => 1.8,"xp" => 3.5, "price"=> 2000,"l"=>1500,"time"=>10800,"speed"=>100,"mas"=>2.4,'max'=>65);
$this->city[] = array("name" =>"Милан","d" => 2.1,"xp" => 4, "price"=> 2200,"l"=>2500,"time"=>10800,"speed"=>100,"mas"=>3,'max'=>70);
$this->city[] = array("name" =>"Прага","d" => 2.4,"xp" => 4.5, "price"=> 2400,"l"=>3500,"time"=>10800,"speed"=>100,"mas"=>3.8,'max'=>75);
$this->city[] = array("name" =>"София","d" => 2.7,"xp" => 5, "price"=> 2600,"l"=>5000,"time"=>10800,"speed"=>100,"mas"=>5,'max'=>80);
$this->city[] = array("name" =>"Бирмингем","d" => 3,"xp" => 5.5, "price"=> 2800,"l"=>7500,"time"=>18000,"speed"=>100,"mas"=>6,'max'=>85);
$this->city[] = array("name" =>"Кёльн","d" => 3.5,"xp" => 6, "price"=> 3000,"l"=>10000,"time"=>18000,"speed"=>100,"mas"=>7,'max'=>90);
$this->city[] = array("name" =>"Неаполь","d" => 4,"xp" => 6.5, "price"=> 3200,"l"=>15000,"time"=>18000,"speed"=>100,"mas"=>8,'max'=>95);
//20 городов
$this->city[] = array("name" =>"Стокгольм","d" => 4.5,"xp" => 7, "price"=> 3400,"l"=>20000,"time"=>18000,"speed"=>100,"mas"=>9,'max'=>100);
$this->city[] = array("name" =>"Марсель","d" => 5,"xp" => 7.5, "price"=> 3600,"l"=>25000,"time"=>18000,"speed"=>100,"mas"=>10,'max'=>110);
$this->city[] = array("name" =>"Амстердам","d" => 5.5,"xp" => 8, "price"=> 3800,"l"=>35000,"time"=>36000,"speed"=>100,"mas"=>11,'max'=>120);
$this->city[] = array("name" =>"Загреб","d" => 6,"xp" => 9, "price"=> 4000,"l"=>45000,"time"=>36000,"speed"=>100,"mas"=>12,'max'=>130);
$this->city[] = array("name" =>"Валенсия","d" => 6.5,"xp" => 10, "price"=> 4200,"l"=>55000,"time"=>36000,"speed"=>100,"mas"=>13,'max'=>140);
$this->city[] = array("name" =>"Франкфурт","d" => 7,"xp" => 11, "price"=> 4400,"l"=>75000,"time"=>36000,"speed"=>100,"mas"=>14,'max'=>150);
$this->city[] = array("name" =>"Севилья","d" => 7.5,"xp" => 12, "price"=> 4600,"l"=>95000,"time"=>36000,"speed"=>100,"mas"=>15,'max'=>160);
$this->city[] = array("name" =>"Палермо","d" => 8,"xp" => 13, "price"=> 4800,"l"=>125000,"time"=>36000,"speed"=>100,"mas"=>17,'max'=>170);
$this->city[] = array("name" =>"Хельсинки","d" => 9,"xp" => 15, "price"=> 5000,"l"=>155000,"time"=>36000,"speed"=>100,"mas"=>19,'max'=>180);
$this->city[] = array("name" =>"Дюссельдорф","d" => 10,"xp" => 17, "price"=> 5200,"l"=>195000,"time"=>72000,"speed"=>100,"mas"=>21,'max'=>200);
}
public function cost($id){
$shapito = $this->dataShapito[$id];
if($shapito['l']>=200)return false;
if($shapito['l']>=$this->city[User::a()->user['cityShapito']]['max'])return false;
$donate = floor($this->data[$shapito['id']]['pd']*$shapito['l']*0.3);
$money = floor($this->data[$shapito['id']]['pm']*$shapito['l']*User::a()->user['level']);
$rating = floor($this->data[$shapito['id']]['xp'] + ($this->data[$shapito['id']]['xp']*($shapito['l']+1)*0.45));
$love = floor($this->data[$shapito['id']]['lov'] + ($this->data[$shapito['id']]['lov']*($shapito['l']+1)*0.05));
$d = floor($this->data[$shapito['id']]['d'] + ($this->data[$shapito['id']]['d']*($shapito['l']+1)*0.1));
return array('donate'=>$donate,'money'=>$money,'rating'=>$rating,'love'=>$love,'d'=>$d);
}
public function effect($id){
$shapito = $this->dataShapito[$id];
$rating = floor($this->data[$shapito['id']]['xp'] + ($this->data[$shapito['id']]['xp']*$shapito['l']*0.45));
$love = floor($this->data[$shapito['id']]['lov'] + ($this->data[$shapito['id']]['lov']*$shapito['l']*0.05));
$d = floor($this->data[$shapito['id']]['d'] + ($this->data[$shapito['id']]['d']*$shapito['l']*0.1));
return array('rating'=>$rating,'love'=>$love,'d'=>$d);
}
public function train($id){
$cost = $this->cost($id);
if($cost === false)return false;
if(User::a()->user['money'] < $cost['money']){
$_SESSION['info'] = "Не хватает <img src='/img/icons/money.png' style='margin-right:2px;width:14px'>".numf($cost['money']-User::a()->user['money']);
return false;
}
$donate = $cost['donate'];
if(User::a()->user['vip']==1 )$donate = $donate - floor($donate*0.7);
if(User::a()->user['donate'] < $donate){
$_SESSION['info'] = "Не хватает <img src='/img/icons/donate.png' style='margin-right:2px;width:14px'>".numf($donate-User::a()->user['donate']);
return false;
}
User::a()->user['donate']-= $donate;
User::a()->user['money']-= $cost['money'];
User::a()->user['lov']+=100;
Ach::a($this->userData)->add('love',100);
Ach::a($this->userData)->add('dres',1);
$this->dataShapito[$id]['l']++;
$this->update();
$_SESSION['info'] = 'Успешная тренировка!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">100';
return true;
}
/*Вывод Лунапарка*/
public function getShapito($page=1,$data=false) {
if(!$page) $page = 1;
$page = abs(intval($page));
if($data===false){
$park = $this->dataShapito;
}
else{
$park = json_decode($data,TRUE);
}
$parks=array();
$maxPage = floor(count($this->dataShapito)/7)+1;
if($page == 1)$start = 1;
else $start = 7*($page-1)+1;
for($i=$start;$i<=7*$page;$i++){
if(array_key_exists($i,$park))$parks[$i]=array('data' => $park[$i] , 'info' => $this->data[$park[$i]['id']]);
else $parks[$i]=array('data' => false ,'id' => $i, 'info' => $this->data[$i]);
}
if(count($parks)<1){
header("Location:/Shapito/");
die();
}
return $parks;
}
public function view(){
$shapito = $this->dataShapito;
$view = $this->data;
foreach($this->data as $key=>$val){
foreach($shapito as $value){
if($value['id'] == $key)unset($view[$key]);
}
}
return $view;
}
public function select($id,$art){
$view = $this->view();
if(!array_key_exists($art,$view))return false;
$shapito = $this->dataShapito[$id];
$data = $this->data[$art];
if(User::a()->user['level']<$data['l'])return false;
if(User::a()->user['money']<$data['m']){
$_SESSION['info'] = "Не хватает <img src='/img/icons/money.png' style='margin-right:2px;width:14px'>".numf($data['m']-User::a()->user['money']);
return false;
}
Ach::a($this->userData)->add('admin',1);
User::a()->user['money'] -= $data['m'];
$this->dataShapito[$id]['id'] = $art;
$this->dataShapito[$id]['t'] = time()+300;
$this->dataShapito[$id]['s'] = 0;
$this->dataShapito[$id]['l'] = 1;
$this->update();
return true;
}
/*Получение ссылки или инфы о доходе и ремонте*/
public function getLink($number) {
$park = $this->dataShapito;
$tech = json_decode($this->userData['dataShop'],true);
if($park[$number]['id'] == 0) return "
<div class='yellow'>Нет артиста</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Select/><img src='/img/icons/plus.png' style='margin-right:2px;width:16px'>Выбрать</a>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==0) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Заселить</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==0) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Прибытие через ".atime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==1) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Заселение еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==1) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Начать репетицию</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==2) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Репетиция еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==2) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Подготовиться к выступлению</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==3) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Подготовка еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==3) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Начать представление</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==4) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Выступление еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==4) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Фото со зрителями</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==5) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Фотографируемся со зрителями еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==5) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Закончить выступление</a>";
if($park[$number]['id']>0 && $park[$number]['t']>time() && $park[$number]['s']==6) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<div class='minor'>Отдыхаем еще ".otime($park[$number]['t']-time())."</div>";
if($park[$number]['id']>0 && $park[$number]['t']<=time() && $park[$number]['s']==6) return "
<div class='yellow'>".$this->data[$park[$number]['id']]['name']." (".$park[$number]['l']." ур.)</div>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Action/>Начать репетицию</a>
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Edit/>Выбрать другого</a>
".($park[$number]['l']<$this->city[User::a()->user['cityShapito']]['max']?"
<a class='link2' style='padding:4px' href=/Shapito/".$number."/Training/>Тренировать</a>":NULL)."
";
}
public function getIcon($number) {
if($number == 0) return 1;
if($number > 0) return true;
}
//"id" => 0, "s" => 0 ,"l" => 1 ,"w" => 0 ,"r" => 0, "m" => 0
public function countAll() {
$park = $this->dataPark;
$return = array('repair'=>0,'action'=>0);
foreach($park as $key=>$value){
if($park[$key]['r']<time())$return['repair']++;
if($park[$key]['m']+120<time() && $park[$key]['r']>time())$return['action']++;
}
return $return;
}
public function newMesto() {
$cena = count($this->dataShapito)*300;
if(User::a()->user['vip']==1){
$cena = $cena - floor($cena*0.7);
}
if(User::a()->user['donate'] < $cena){
$_SESSION['info']="Не хватает <img src='/img/icons/donate.png' style='margin-right:2px;width:14px'>".moneyf($cena-User::a()->user['donate']);
return false;
}
User::a()->user['donate']-= $cena;
Ach::a($this->userData)->add('director',1);
$_SESSION['info']="Успешное расширение Шапито!";
$this->dataShapito[] = array("id" => 0, "s" => 0 ,"l" => 1 ,"t" => 0 ,"r" => 0, "m" => 0);
$this->update();
return true;
}
public function actionAll() {
$data = array('money'=>0,'rating'=>0);
foreach($this->dataPark as $key=>$value){
$bon= $this->action($key+1);
$data['money']+=$bon['money'];
$data['rating']+=$bon['rating'];
}
return $data;
}
public function action($number) {
$number = abs(intval($number));
$shapito = $this->dataShapito[$number];
if($shapito['id']==0)return false;
if($shapito['t']>time())return false;
if($shapito['s'] == 0){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
$this->dataShapito[$number]['s']=1;
$this->dataShapito[$number]['t']=time()+180;
$this->update();
$_SESSION['info']='Заселение началось!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
if($shapito['s'] == 1){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
Ach::a($this->userData)->add('repet',1);
Ach::a($this->userData)->add('love',floor(5 + ($this->city[$city]['mas']*5)));
$this->dataShapito[$number]['s']=2;
$this->dataShapito[$number]['t']=time()+1200;
$this->update();
$_SESSION['info']='Репетиция началась!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
if($shapito['s'] == 2){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
$this->dataShapito[$number]['s']=3;
$this->dataShapito[$number]['t']=time()+1200;
$this->update();
$_SESSION['info']='Подготовка началась!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
if($shapito['s'] == 3){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
$this->dataShapito[$number]['s']=4;
$this->dataShapito[$number]['t']=time()+1200;
$this->update();
$_SESSION['info']='Представление началось!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
if($shapito['s'] == 4){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
Ach::a($this->userData)->add('photo',1);
Ach::a($this->userData)->add('love',floor(5 + ($this->city[$city]['mas']*5)));
$this->dataShapito[$number]['s']=5;
$this->dataShapito[$number]['t']=time()+1200;
$this->update();
$_SESSION['info']='Начали фотографироваться!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
if($shapito['s'] == 5){
$id = $this->dataShapito[$number]['id'];
$city = User::a()->user['cityShapito'];
$dt = $this->effect($number);
$rating = $dt['rating'];
$love = $dt['love'];
$donate = $dt['d'];
User::a()->user['lov'] += $love;
User::a()->user['tCircus'] ++;
User::a()->user['rCircus'] ++;
User::a()->user['tLove'] += $love;
User::a()->user['rating'] += $rating;
User::a()->user['tRating'] += $rating/10000000000;
User::a()->user['donate'] += $donate;
Ach::a($this->userData)->add('pred',1);
Ach::a($this->userData)->add('love',$love);
$this->dataShapito[$number]['s']=6;
$this->dataShapito[$number]['t']=time()+1600;
$this->update();
$_SESSION['info']='Зрители в восторге от вашего представления!<br>
<img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.$love.'   
<img src="/img/icons/rating.png" style="margin-right:1px;width:14px">'.numf($rating).'   
<img src="/img/icons/donate.png" style="margin-right:1px;width:14px">'.$donate
;
return true;
}
if($shapito['s'] == 6){
$city = User::a()->user['cityShapito'];
User::a()->user['lov'] += floor(5 + ($this->city[$city]['mas']*5));
User::a()->user['tLove'] += floor(5 + ($this->city[$city]['mas']*5));
Ach::a($this->userData)->add('repet',1);
Ach::a($this->userData)->add('love',$love);
$this->dataShapito[$number]['s']=2;
$this->dataShapito[$number]['t']=time()+1200;
$this->update();
$_SESSION['info']='Репетиция началась!<br>Награда <img src="/img/icons/love.png" style="margin-right:1px;width:14px">'.floor(5 + ($this->city[$city]['mas']*5));
return true;
}
return true;
}
public function newCity($type){
if(count($this->city)<=User::a()->user['cityShapito'])return false;
$city = $this->city[User::a()->user['cityShapito']+1];
if($type == 'lov'){$cena = $city['l'];$img = 'love';}
else {$cena = $city['price'];$img = 'donate';}
if($img == 'donate'){
if(User::a()->user['vip']==1){
$cena = $cena - floor($cena*0.7);
}
}
if(User::a()->user[$type]<$cena){
$_SESSION['info']="Не хватает <img src='/img/icons/".$img.".png' style='margin-right:2px;width:14px'>".($cena-User::a()->user[$type]);
return false;
}
User::a()->user[$type]-=$cena;
User::a()->user['cityShapito']++;
User::a()->user['cityTime'] = time()+$city['time'];
$_SESSION['info']="Вы успешно начали переезд в город ".$city['name'];
return true;
}
public function speed(){
if(time()>=User::a()->user['cityTime'])return false;
$city = $this->city[User::a()->user['cityShapito']];
if(User::a()->user['donate']<$city['speed']){
$_SESSION['info']="Не хватает <img src='/img/icons/donate.png' style='margin-right:2px;width:14px'>".($city['speed']-User::a()->user['donate']);
return false;
}
User::a()->user['donate']-=$city['speed'];
User::a()->user['cityTime'] = time();
$_SESSION['info']="Вы успешно ускорили переезд в город ".$city['name'];
return true;
}
public function loc($location=false){
if($location==false)header("Location:/Lunapark/");
else header("Location:".$location);
die();
}
public function workerMechanic(){
$this->repairsAll();
}
public function workerKassir(){
$this->actionAll();
}
public function update() {
User::a()->user['dataShapito'] = json_encode($this->dataShapito);
}
}