示例#1
0
     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();
示例#2
0
 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 {
示例#3
0
    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>";
示例#4
0
 * 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();
示例#5
0
<?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 {