Example #1
0
    /**
     * Bomberom
     */
    protected function type_bomberom()
    {
        // konkurrerende broderskap har ikke bomberom
        if ($this->ff->competition) {
            return;
        }
        // deaktivert?
        if (!$this->ff->active) {
            return;
        }
        // ønsker vi å endre spilleren som er ansvarlig for vår spiller?
        if ($this->ff->type['type'] != "familie" && $this->up && isset($_GET['brom_ans'])) {
            $this->type_bomberom_ans();
        }
        // vise liste over spillere som vi kan sette i bomberom?
        if ($this->ff->type['type'] != "familie" && $this->up && isset($_GET['brom_list'])) {
            $this->type_bomberom_list();
        }
        // kan kun vise bomberom til familie hvis man er medlem eller sitter i det
        if ($this->ff->type['type'] == "familie" && !$this->up) {
            return;
        }
        if ($this->ff->type['type'] == "familie" && !$this->ff->uinfo && (!$this->up->bomberom_check() || $this->up->data['up_brom_ff_id'] != $this->ff->id)) {
            return;
        }
        // finn ut hvor mange ledige plasser det er
        $places = $this->ff->get_bomberom_places();
        // ønsker vi å forlate bomberommet?
        if ($this->up && isset($_POST['leave_brom'])) {
            $this->type_bomberom_leave();
        }
        $fam = $this->ff->type['type'] == "familie";
        $minimize = $fam && !$this->up->bomberom_check();
        if ($minimize) {
            ess::$b->page->add_js_domready('
$("brom_hidden").removeClass("hide");
$("brom_visible").addClass("hide");
$("brom_hidden").getElement("a").addEvent("click", function(e)
{
	e.stop();
	$("brom_hidden").addClass("hide");
	$("brom_visible").removeClass("hide");
});
');
        }
        echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">Bomberom<span class="left2"></span><span class="right2"></span></h1>
	<p class="h_right"><a href="&rpath;/node/39">Hjelp</a></p>' . ($minimize ? '
	<div class="bg1 hide" id="brom_hidden">
		<p class="c"><a href="#">Vis bomberommet</a></p>
	</div>' : '') . '
	<div class="bg1" id="brom_visible">
		<boxes />
		<p>Ved å gå i bomberom beskytter du deg selv mot å bli angrepet. Så lenge du sitter i et bomberom kan ingen andre spillere angripe deg.</p>
		<p>' . ($fam ? ucfirst($this->ff->type['priority'][1]) . ' og ' . ucfirst($this->ff->type['priority'][2]) : 'Bomberommet') . ' kan kaste deg ut hvis de ønsker, så helt trygg vil du ikke være. Hvis du blir kastet ut vil du bli flyttet til en tilfeldig bydel.</p>';
        if ($this->up && $this->ff->type['type'] != "familie") {
            echo '
		<div class="section">
			<h2>Ansvar for din spiller</h2>' . ($this->up->data['up_brom_up_id'] ? '
			<p><user id="' . $this->up->data['up_brom_up_id'] . '" /> kan plassere din spiller i bomberom og se hvor du oppholder deg.</p>' : '
			<p>Du har ikke gitt noen spillere mulighet for å sette deg i bomberom.</p>') . '
			<p><a href="./?ff_id=' . $this->ff->id . '&amp;brom_ans">Endre</a></p>
			<p><a href="./?ff_id=' . $this->ff->id . '&amp;brom_list">Vis spillere du kan sette i bomberom &raquo;</a></p>
		</div>';
        }
        // ikke i bomberom?
        if ($this->up && !$this->up->bomberom_check()) {
            echo '
		<div class="section">
			<h2>Plassere spiller i bomberom</h2>' . ess::$b->page->message_get("bomberom_set", true, true);
            if ($this->up->fengsel_check()) {
                echo '
			<p>Du er for øyeblikket i fengsel og kan ikke plassere deg selv eller andre i bomberom.</p>';
            } else {
                $ok = true;
                // ikke i samme bydel?
                if ($this->up->data['up_b_id'] != $this->ff->data['br_b_id']) {
                    $ok = false;
                    echo '
			<p>Du befinner deg for øyeblikket i en annen bydel enn ' . ($fam ? 'broderskapet' : 'bomberommet') . ' og kan ikke plassere deg selv eller andre i ' . ($fam ? 'bomberommet til broderskapet' : 'det') . '.</p>';
                } elseif ($places['free'] == 0) {
                    // er vi medlem av firmaet?
                    if ($this->ff->access(true)) {
                        echo '
			<p>Bomberommet er egentlig fullt, men du kan alikevel sette deg selv i bomberommet.</p>';
                    } else {
                        $ok = false;
                        echo '
			<p>Det er ingen ledige plasser i bomberommet.</p>';
                    }
                }
                if ($ok) {
                    $this->type_bomberom_set($places['free'], $places['in_brom']);
                }
            }
            echo '
		</div>';
        }
        echo '
	</div>
</div>';
        // er vi for øyeblikket i bomberom?
        if ($this->up && $this->up->bomberom_check()) {
            $wait = $this->up->bomberom_wait();
            ess::$b->page->message_get("bomberom_set");
            echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">I bomberom<span class="left2"></span><span class="right2"></span></h1>
	<div class="bg1 c" style="color: #BBB">
		<!--<p style="float: right; margin: 10px 0 10px 10px"><img src="' . STATIC_LINK . '/other/bomberom.jpg" alt="I bomberom" style="border: 2px solid #333333" /></p>-->
		<p style="margin-top: 30px; text-align: center; font-size: 150%">I bomberom</p>
		<p style="margin-top: 20px">Du befinner deg i bomberom frem til ' . ess::$b->date->get($this->up->data['up_brom_expire'])->format(date::FORMAT_SEC) . '.</p>
		<p style="margin-top: 20px">' . game::counter($wait, true) . ' gjenstår</p>
		<form action="" method="post">
			<input type="hidden" name="sid" value="' . login::$info['ses_id'] . '" />
			<p style="margin-top: 20px">' . show_sbutton("Forlat bomberom", 'name="leave_brom"') . '</p>
		</form>
	</div>
</div>';
        }
    }