示例#1
0
文件: Clan.php 项目: reillo/ninjawars
    /**
     * Get the members of a clan, 
     **/
    public function getMembers()
    {
        $members_array = query_array('SELECT uname, accounts.active_email as email, clan_name, level, days, clan_founder, player_id, member_level
				FROM clan JOIN clan_player ON _clan_id = :clan_id AND clan_id = _clan_id JOIN players ON player_id = clan_player._player_id 
				join account_players on player_id = account_players._player_id join accounts on account_id = _account_id 
				AND active = 1 ORDER BY level, health DESC', [':clan_id' => $this->id()]);
        $max = query_item('SELECT max(level) AS max
			FROM clan
			JOIN clan_player ON _clan_id = :clan_id AND clan_id = _clan_id
			JOIN players ON player_id = _player_id AND active = 1', [':clan_id' => $this->id()]);
        // Modify the members by reference
        foreach ($members_array as &$member) {
            $member['leader'] = false;
            $member['size'] = floor(($member['level'] - $member['days'] < 1 ? 0 : $member['level'] - $member['days']) / $max * 2) + 1;
            // Calc the member display size based on their level relative to the max.
            if ($member['member_level'] >= 1) {
                $member['leader'] = true;
                $member['size'] = max($member['size'] + 2, 3);
            }
            $member['gravatar_url'] = generate_gravatar_url($member['player_id']);
        }
        return $members_array;
    }
示例#2
0
    	}*/
    $changed = PlayerDAO::saveDetails($char);
    redirect('/stats.php?changed=' . (int) $changed . ($profile_changed ? '&profile_changed=1' : ''));
}
/*
if(false && DEBUG){
	$description = 'This is a description here and all';
	$goals = 'Kill ninja of the ramen clan';
	$beliefs = 'I believe in a one true ninja god';
	$instincts = 'When I hear whistling, I duck';
	$traits = 'Hardy, nervous, meaty, silent';
}
*/
$player = self_info();
//$player['created_date']=$player['created_date']? date("c", strtotime($player['created_date'])) : null;
$class_theme = class_theme($char->class_identity());
$level_category = level_category($player['level']);
$status_list = get_status_list();
$gravatar_url = generate_gravatar_url($player['player_id']);
$gurl = $gravatar_url;
$rank_display = get_rank($char_id);
// rank display.
$profile_editable = $player['messages'];
$parts = get_certain_vars(get_defined_vars(), ['player', 'level_category', 'status_list', 'description', 'goals', 'beliefs', 'instincts', 'traits', 'dev', 'changed']);
// Set the parts array's player clan if any is found.
if ($parts['player_clan'] = get_clan_by_player_id($char_id)) {
    // Set the char clan name and id for later usage.
    $parts['clan_name'] = $parts['player_clan']->getName();
    $parts['clan_id'] = $parts['player_clan']->getID();
}
display_page('stats.tpl', 'Ninja Stats', $parts, array('quickstat' => 'player'));
示例#3
0
 }
 // Get the player's kills for this date.
 $kills_today = query_item('select sum(killpoints) from levelling_log where _player_id = :player_id and killsdate = CURRENT_DATE and killpoints > 0', array(':player_id' => $target_id));
 $viewers_clan = $viewing_player_obj instanceof Player && $viewing_player_obj->vo ? get_clan_by_player_id($viewing_player_obj->vo->player_id) : null;
 // Attack Legal section
 $params = array('required_turns' => 0, 'ignores_stealth' => true);
 // 0 for unstealth.
 $AttackLegal = new AttackLegal($username, $target, $params);
 $attack_allowed = $AttackLegal->check(false);
 $attack_error = $AttackLegal->getError();
 $sel_rank_spot = "SELECT rank_id FROM rankings WHERE player_id = :char_id limit 1";
 $rank_spot = query_item($sel_rank_spot, array(':char_id' => $player_info['player_id']));
 // Display the player info.
 $status_list = get_status_list($player);
 $level_category = level_category($player_info['level']);
 $gurl = $gravatar_url = generate_gravatar_url($target_player_obj);
 if ($char_id && !$attack_error && !$self) {
     // They're not dead or otherwise unattackable.
     // Attack or Duel
     $skillDAO = new SkillDAO();
     $combat_skills = $skillDAO->getSkillsByTypeAndClass($viewing_player_obj->vo->_class_id, 'combat', $viewing_player_obj->vo->level)->fetchAll();
     $targeted_skills = $skillDAO->getSkillsByTypeAndClass($viewing_player_obj->vo->_class_id, 'targeted', $viewing_player_obj->vo->level)->fetchAll();
     // *** todo When Smarty3 is released, remove fetch all and change template to new foreach-as syntax ***
     // Check all the combat toggles to see if they should be checked on the profile page.
     foreach ($combat_skills as &$skill) {
         $skill['checked'] = 0;
         if (isset($combat_toggles[$skill['skill_internal_name']]) && $combat_toggles[$skill['skill_internal_name']]) {
             $skill['checked'] = 1;
             // Save the setting associatively back to the original array.
         }
     }