case \Likedimion\Game::CLASS_WAR: $baseStats = [2, 1, 1, 2, 2, 1]; break; case \Likedimion\Game::CLASS_MAG: $baseStats = [1, 2, 2, 1, 1, 2]; break; case \Likedimion\Game::CLASS_ASS: $baseStats = [1, 2, 1, 1, 2, 1]; break; default: $baseStats = [1, 1, 1, 1, 1, 1]; break; } $actor = ["aid" => $_SESSION["aid"], "title" => $_POST["title"], "role" => $acc["email"] == $admin ? \Likedimion\Game::ROLE_ADMIN : \Likedimion\Game::ROLE_USER, "class" => $_POST["class"], "sex" => $_POST["sex"], "race" => \Likedimion\Game::RACE_MAN, "create" => time(), "loc" => "ld.950.250", "level" => 1, "game_status" => "alive", "base_stats" => $baseStats, "base_stats_add" => [0, 0, 0, 0, 0, 0], "war_p_skills" => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "war_p_skills_add" => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "war_stats" => [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "base_stats_buffs" => [], "base_stats_effects" => [], "war_p_skills_buffs" => [], "war_p_skills_effects" => [], "experience" => 0, "inventory" => [], "equip" => ["rhand" => [], "lhand" => [], "head" => [], "bodyarm" => [], "cloack" => [], "hand" => [], "gloves" => [], "leg" => [], "shoes" => []], "journal" => [], "msg" => [], "friends" => [], "config" => [], "buffs" => [], "event" => ["game" => "roller", "dId" => "start", "sId" => "start"]]; try { $playerHelper = new \Likedimion\Helper\PlayerHelper($actor); $itemHelper = new \Likedimion\Helper\ItemHelper($ld->items); switch ($actor["class"]) { case \Likedimion\Game::CLASS_WAR: $playerHelper->equip('rhand', $itemHelper->getItem('i.w.snov')); $playerHelper->addMagic("swords.swords1", 1, $magic); break; case \Likedimion\Game::CLASS_MAG: $playerHelper->equip('rhand', $itemHelper->getItem('i.w.booknov'))->addMagic('fire.fire1', 1, $magic)->addMagic('earth.earth1', 1, $magic); break; case \Likedimion\Game::CLASS_ASS: $playerHelper->equip('rhand', $itemHelper->getItem('i.w.pairnov')); break; } $playerHelper->equip(\Likedimion\Helper\ItemHelper::ITEM_BODYARM, $itemHelper->getItem('i.a.bnov'))->equip(\Likedimion\Helper\ItemHelper::ITEM_LEGS, $itemHelper->getItem('i.a.lnov'))->equip(\Likedimion\Helper\ItemHelper::ITEM_SHOES, $itemHelper->getItem('i.a.snov')); $playerHelper->calcParams();
if (count($player["event"]) > 0) { foreach ($_GET as $key => $value) { if (isset($player["event"][$key])) { $player["event"][$key] = $value; } } $_GET = array_merge($_GET, $player["event"]); } if (empty($_GET["game"])) { $_GET["game"] = "travel"; } if (!empty($_GET["admin"])) { $adminSession = true; } if ($player) { $playerHelper = new \Likedimion\Helper\PlayerHelper($player); $playerHelper->setCollection($ld->players); $supervision = new \Likedimion\Ai\Supervision(); $supervision->setLocHelper($locationHelper); Game::init()->addService('player.helper', $playerHelper); Game::init()->addService('supervision', $supervision); Game::init()->ai(); if (!$playerHelper->isTimed("online")) { $playerHelper->setDispatcher($eventDispatcher); $playerHelper->calcParams(); $loc_i = []; if (false === $adminSession) { $fName = ROOT . "/game/" . $_GET["game"] . ".php"; if (file_exists($fName)) { require $fName; } else {
case "remove": if (isset($_GET["mid"])) { $playerHelper->removeMsg($_GET["mid"]); $page .= "<div class='alert alert-info'>Сообщение удалено.</div>"; } else { $page .= "<div class='alert alert-info'>Не указан идентификатор сообщения.</div>"; } break; case "readAll": $playerHelper->markAllMsgIsRead(); $page .= "<div class='alert alert-info'>Все сообщения отмечены как прочитанные</div>"; break; case "write": if (!empty($_GET["fid"])) { $friend = $ld->players->findOne(["_id" => new MongoId($_GET["fid"])], ["_id", "title", "msg", "friends"]); $friendHelper = new \Likedimion\Helper\PlayerHelper($friend); if ($playerHelper->isFriend($friend) and $friendHelper->isFriend($playerHelper->getPlayer())) { if (empty($_POST)) { $page .= <<<WRITE_MSG_PAGE <form id="newMsgForm" action="/?game=msg&action=write&fid={$_GET["fid"]}" method="POST"> <textarea rows="3" cols="30" name="msg" placeholder="Сообщение для {$friend["title"]}"></textarea> <div class="hr"></div> <a class="tabs__link" href="#" onclick="document.getElementById('newMsgForm').submit();">написать</a> </form> WRITE_MSG_PAGE; } else { $friendHelper->addMsg($playerHelper->getPlayer(), $_POST["msg"]); if ($ld->players->update(["_id" => $friend["_id"]], ['$set' => ["msg" => $friendHelper->getMsg()]], ["upsert" => true])) { $page .= "<div class='alert alert-info'>Сообщение для " . $friend["title"] . " отправлено.</div>"; } else { $page .= "<div class='alert alert-info'>Сообщение для " . $friend["title"] . " не отправлено ошибка подключения к базе данных.</div>";
* User: babenoff * Date: 25.12.2015 * Time: 21:27 */ if ($_POST["speak_msg"]) { $_POST["speak_msg"] = strip_tags($_POST["speak_msg"]); $_POST["speak_msg"] = \Likedimion\Censure\Censure::parse($_POST["speak_msg"], 3, "…", true, "[бип]"); $loc = $ld->locations->findOne(["lid" => $player["loc"]]); if ($loc) { $locHelper = new \Likedimion\Helper\LocationHelper($loc); $locHelper->setCollection($ld->locations); if ($_GET["to"]) { $toPlayer = $playerHelper->getCollection()->findOne(["_id" => new MongoId($_GET["to"])]); if ($toPlayer) { //$msg = $player["title"] . " говорит <b>" . $toPlayer["title"] . "</b> "; $toPlayerHelper = new \Likedimion\Helper\PlayerHelper($toPlayer); $toPlayerHelper->setCollection($ld->players); if ($_POST["private"]) { $msgTo = "<b>[П!]</b><span class='text-underline'>" . $player["title"] . "</span> шепчет <b>вам</b>: " . $_POST["speak_msg"]; $msgFrom = "Вы шепчете <span style='text-decoration: underline;'>" . $toPlayer["title"] . "</span> " . $_POST["speak_msg"]; $msgAll = "<span class='text-underline'>" . $player["title"] . "</span> что-то шепчет <span class='text-underline'>" . $toPlayer["title"] . "</span>"; $playerHelper->addJournal($msgFrom); $toPlayerHelper->addJournal($msgTo); $toPlayerHelper->update(); $locHelper->addJournal($msgAll, $ld->players, $player["_id"], $toPlayer["_id"]); $locHelper->update(); } else { $msgTo = "<span class='text-underline'>" . $player["title"] . "</span> говорит <b>вам</b>: " . $_POST["speak_msg"]; $msgFrom = "Вы говорите <span style='text-decoration: underline;'>" . $toPlayer["title"] . "</span> " . $_POST["speak_msg"]; $msgAll = $player["title"] . " говорит " . $toPlayer["title"] . ": " . $_POST["speak_msg"]; $playerHelper->addJournal($msgFrom)->update();
<?php if (!defined('ROOT')) { header("Location: /?"); } /** * Created by PhpStorm. * User: babenoff * Date: 06.12.2015 * Time: 23:56 */ if (isset($_GET["pid"])) { $player = $ld->players->findOne(["_id" => new MongoId($_GET["pid"])]); if ($player and $player["aid"] = $_SESSION["aid"]) { $_SESSION["pid"] = $player["_id"]; $playerHelper = new \Likedimion\Helper\PlayerHelper($player); $playerHelper->addTimer("online", $config["online_time"]); $playerHelper->setCollection($ld->players); $playerHelper->update(); $loc = $ld->locations->findOne(["lid" => $player["loc"]]); $lHelper = new \Likedimion\Helper\LocationHelper($loc); $lHelper->addPlayer($player["_id"]); $msg = ($player["sex"] == "m" ? " появился " : " появилась ") . $player["title"]; $lHelper->addJournal($msg, $ld->players, $player["_id"]); try { $ld->locations->update(["_id" => new MongoId($lHelper->getLoc()["_id"])], $lHelper->getLoc()); header("Location: /?"); } catch (MongoException $e) { die($e->getMessage()); } } else {