Ejemplo n.º 1
0
    /**
     * Vis resultat fra angrep
     */
    protected function attack_result_show($result, $bullets)
    {
        echo '
<div class="bg1_c xsmall">
	<h1 class="bg1">' . ($result['drept'] ? 'Spiller drept' : 'Spiller skadet') . '<span class="left2"></span><span class="right2"></span></h1>
	<div class="bg1">';
        // sett opp hva vi fikk
        $got = array();
        $got[] = game::format_num($result['rankpoeng']) . ' poeng' . ($result['drept'] ? '' : ' fra spilleren');
        if (isset($result['penger']) && $result['penger'] > 0) {
            $got[] = game::format_cash($result['penger']) . ' som offeret hadde på hånda';
        }
        if (isset($result['penger_bank']) && $result['penger_bank'] > 0) {
            $got[] = game::format_cash($result['penger_bank']) . ' som deler av det offeret hadde i banken';
        }
        if (isset($result['hitlist']) && $result['hitlist'] > 0) {
            $got[] = game::format_cash($result['hitlist']) . ' fra hitlista';
        }
        $got = sentences_list($got);
        // vellykket?
        if ($result['drept']) {
            $place = bydeler::get_random_place(login::$user->player->bydel['id']);
            echo '
		<p>Du fant ' . $this->up_offer->profile_link() . ' som hadde ranken ' . $this->up_offer->rank['name'] . ' og var plassert som nummer ' . $this->up_offer->data['upr_rank_pos'] . ' på ranklista' . ($place ? ' ved ' . $place : '') . ' og angrep spilleren med ' . $bullets . ' ' . fword("kule", "kuler", $bullets) . '.</p>
		<p>Spilleren døde av angrepet ditt. Du fikk ' . $got . '.' . ($result['penger'] == 0 ? ' Offeret hadde ingen penger på hånda.' : '') . '</p>';
        } else {
            $place = bydeler::get_random_place(login::$user->player->bydel['id']);
            echo '
		<p>Du fant ' . $this->up_offer->profile_link() . ' med ranken ' . $this->up_offer->rank['name'] . ' og plassering nummer ' . $this->up_offer->data['upr_rank_pos'] . ' på ranklista' . ($place ? ' ved ' . $place : '') . ' og angrep spilleren med ' . $bullets . ' ' . fword("kule", "kuler", $bullets) . '.</p>
		<p>Spilleren ble skadet av angrepet men overlevde. Du mottok ' . $got . '.</p>';
        }
        // list opp vitner
        if (count($result['vitner']) == 0) {
            echo '
		<p>Ingen spillere vitnet ' . ($result['drept'] ? 'drapet' : 'drapsforsøket') . '.</p>';
        } else {
            // sett opp liste over navngitte spillere som oppdaget det
            $list = array();
            $count_other = 0;
            foreach ($result['vitner'] as $vitne) {
                if ($vitne['visible']) {
                    $list[] = $vitne['up']->profile_link();
                } else {
                    $count_other++;
                }
            }
            if ($count_other > 0) {
                $list[] = fwords("%d ukjent spiller", "%d ukjente spillere", $count_other);
            }
            echo '
		<p>Du ble oppdaget av ' . sentences_list($list) . ' da ' . ($result['drept'] ? 'drapet' : 'drapsforsøket') . ' ble gjennomført.</p>';
        }
        // fengselendring?
        if (isset($result['fengsel'])) {
            // kom i fengsel?
            if ($result['fengsel'] === false) {
                // fjern meldingen som allerede er lagt inn
                ess::$b->page->message_get("fengsel");
                echo '
		<p>Du kom i fengsel og slipper ut om ' . game::counter(login::$user->player->data['up_fengsel_time'] - time()) . '. Wanted nivået er nå på ' . game::format_num(login::$user->player->data['up_wanted_level'] / 10, 1) . ' %.</p>';
            } else {
                echo '
		<p>Wanted nivået økte med ' . game::format_num($result['fengsel'] / 10, 1) . ' %.</p>';
            }
        }
        echo '
		<p class="c"><a href="angrip">Tilbake</a></p>
	</div>
</div>';
        ess::$b->page->load();
    }
Ejemplo n.º 2
0
    /**
     * Vis alle drapsforsøk for en spesifikk spiller
     * @param player $up
     * @param bool $offer skal vi vise angrep mot spilleren?
     */
    protected function show_tries(player $up = null, $offer = null)
    {
        $alle = !$up;
        $egen = $up && $up->id == $this->up->id;
        if ($alle) {
            ess::$b->page->add_title("Alle drapsforsøk");
        } elseif (!$egen) {
            ess::$b->page->add_title("Drapsforsøk " . ($offer ? 'mot' : 'for') . " '{$up->data['up_name']}'");
        } else {
            ess::$b->page->add_title("Mine drapsforsøk");
        }
        echo '
<div class="bg1_c ' . ($alle ? 'large' : 'medium') . '">
	<h1 class="bg1">
		' . ($alle ? 'Alle drapsforsøk' : 'Drapsforsøk') . '
		<span class="left2"></span><span class="right2"></span>
	</h1>
	<p class="h_left"><a href="drap">&laquo; Tilbake</a></p>
	<div class="bg1">
		<p class="c">Dette er en oversikt som viser ' . ($alle ? 'alle drapsforsøk som er utført' : 'drapsforsøk ' . ($egen ? 'du har utført' : ($offer ? 'rettet mot spilleren ' . $up->profile_link() : 'spilleren ' . $up->profile_link() . ' har utført'))) . '.</p>';
        $pagei = new pagei(pagei::PER_PAGE, 20, pagei::ACTIVE_GET, "side");
        $result = $pagei->query("\n\t\t\tSELECT df_attack_up_id, df_defend_up_id, df_time, df_b_id, df_outcome, df_rankpoints, df_type, df_cash, df_hitlist, df_vitner, df_attack_ff_list, df_defend_ff_list\n\t\t\tFROM drapforsok\n\t\t\tWHERE " . ($alle ? "" : ($offer ? "df_defend_up_id" : "df_attack_up_id") . " = {$up->id} AND ") . "(df_type != 1 OR df_outcome != 0)\n\t\t\tORDER BY df_time DESC");
        if ($pagei->total == 0) {
            if ($alle) {
                echo '
		<p class="c"><b>Det er ingen som har prøvd å drepe noen enda.</b></p>';
            } elseif ($offer) {
                echo '
		<p class="c"><b>Ingen har angrepet ' . $up->profile_link() . ' enda.</b></p>';
            } else {
                echo '
		<p class="c"><b>' . ($egen ? 'Du' : $up->profile_link()) . ' har ikke prøvd å drepe noen enda.</b></p>';
            }
        } else {
            $ff_only_familier = isset($_GET['familier']);
            if ($ff_only_familier) {
                echo '
		<p class="c"><a href="' . game::address("drap", $_GET, array("familier")) . '">Vis også firmaer</a></p>';
            } else {
                echo '
		<p class="c"><a href="' . game::address("drap", $_GET, array(), array("familier" => true)) . '">Vis kun broderskap i listen</a></p>';
            }
            echo '
		<table class="table center' . ($pagei->pages == 1 ? ' tablemb' : '') . '">
			<thead>
				<tr>' . ($alle || $offer ? '
					<th>Angriper</th>' : '') . (!$offer ? '
					<th>Offer</th>' : '') . '
					<th>Tid/sted</th>
					<th>Omfang</th>
					<th>Poeng</th>
					<th>Penger / Etterlyst</th>
					<th>Vitner</th>
				</tr>
			</thead>
			<tbody>';
            ess::$b->page->add_css('.df_ff_list a { font-size: 10px; color: #777; text-decoration: none } .df_ff_list a:hover { text-decoration: underline }');
            $i = 0;
            while ($row = $result->fetch()) {
                // sett opp vitner
                $vitner = $row['df_time'] > 1278604000 ? '<span class="dark">Ingen</span>' : '<span class="dark">Ukjent</span>';
                if ($row['df_vitner']) {
                    $v = unserialize($row['df_vitner']);
                    $synlige = array();
                    $ukjente = 0;
                    foreach ($v as $r) {
                        if ($r[1] || access::has("mod")) {
                            $synlige[] = '<user id="' . $r[0] . '" />' . (!$r[1] ? ' <span title="Ble ikke oppdaget">(u)</span>' : '');
                        } else {
                            $ukjente++;
                        }
                    }
                    $vitner = implode("<br />", $synlige);
                    if ($ukjente > 0) {
                        if (count($synlige) > 0) {
                            $vitner .= '<br />';
                        }
                        $vitner .= fwords("%d ukjent", "%d ukjente", $ukjente);
                    }
                }
                if ($alle || $offer) {
                    // sett opp familier/firmaer (for angriper)
                    $ff_attack = '';
                    if ($row['df_attack_ff_list']) {
                        $v = unserialize($row['df_attack_ff_list']);
                        $ff_list = array();
                        // $ff[] = array($ffm->ff->data['ff_type'], $ffm->ff->id, $ffm->ff->type['refobj'], $ffm->ff->data['ff_name'], $ffm->data['ffm_priority'], $ffm->get_priority_name());
                        foreach ($v as $r) {
                            if ($ff_only_familier && $r[0] != 1) {
                                continue;
                            }
                            $ff_list[] = '<a href="' . ess::$s['relative_path'] . '/ff/?ff_id=' . $r[1] . '" title="' . htmlspecialchars(ucfirst($r[5])) . '">' . htmlspecialchars($r[3]) . '</a>';
                        }
                        $ff_attack = '<br /><span class="df_ff_list">' . implode("<br />", $ff_list) . '</span>';
                    }
                }
                // sett opp familier/firmaer
                $ff = '';
                if ($row['df_defend_ff_list']) {
                    $v = unserialize($row['df_defend_ff_list']);
                    $ff_list = array();
                    // $ff[] = array($ffm->ff->data['ff_type'], $ffm->ff->id, $ffm->ff->type['refobj'], $ffm->ff->data['ff_name'], $ffm->data['ffm_priority'], $ffm->get_priority_name());
                    foreach ($v as $r) {
                        if ($ff_only_familier && $r[0] != 1) {
                            continue;
                        }
                        $ff_list[] = '<a href="' . ess::$s['relative_path'] . '/ff/?ff_id=' . $r[1] . '" title="' . htmlspecialchars(ucfirst($r[5])) . '">' . htmlspecialchars($r[3]) . '</a>';
                    }
                    $ff = '<br /><span class="df_ff_list">' . implode("<br />", $ff_list) . '</span>';
                }
                // sett opp bydel
                $bydel = "Ukjent bydel";
                if (!empty($row['df_b_id']) && isset(game::$bydeler[$row['df_b_id']])) {
                    $bydel = htmlspecialchars(game::$bydeler[$row['df_b_id']]['name']);
                }
                echo '
				<tr' . (++$i % 2 == 0 ? ' class="color"' : '') . '>' . ($alle || $offer ? '
					<td><user id="' . $row['df_attack_up_id'] . '" />' . $ff_attack . '</td>' : '') . (!$offer ? '
					<td><user id="' . $row['df_defend_up_id'] . '" />' . $ff . '</td>' : '') . '
					<td>' . ess::$b->date->get($row['df_time'])->format() . '<br />' . $bydel . '</td>
					<td>' . ($row['df_outcome'] == 1 ? '<b style="color: #FF0000">Døde</b>' : 'Ble skadet') . '<br />
						<span class="dark">' . ($row['df_type'] == 1 ? 'Utpressing' : 'Drapsforsøk') . '</span></td>
					<td class="r">' . game::format_num($row['df_rankpoints']) . '</td>
					<td class="r">' . game::format_cash($row['df_cash']) . ($row['df_hitlist'] > 0 ? '<br />' . game::format_cash($row['df_hitlist']) : '') . '</td>
					<td>' . $vitner . '</td>
				</tr>';
            }
            echo '
			</tbody>
		</table>';
            if ($pagei->pages > 1) {
                echo '
		<p class="c">' . $pagei->pagenumbers() . '</p>';
            }
        }
        echo '
	</div>
</div>';
    }