当前位置: 首页>>代码示例>>PHP>>正文


PHP game::calc_rank_diff方法代码示例

本文整理汇总了PHP中game::calc_rank_diff方法的典型用法代码示例。如果您正苦于以下问题:PHP game::calc_rank_diff方法的具体用法?PHP game::calc_rank_diff怎么用?PHP game::calc_rank_diff使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在game的用法示例。


在下文中一共展示了game::calc_rank_diff方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: health_calc_rankpoints

 /**
  * Kalkuler antall rankpoeng man får ved å skade en spiller
  * @param player $up offeret
  * @param bool $killed ble spilleren drept
  * @param bool $skadeprosent
  */
 public function health_calc_rankpoints($up, $killed, $skadeprosent = null)
 {
     // hvilken rank ble angrepet?
     if ($up->rank['pos_id']) {
         // spesialrank
         if ($killed) {
             $table =& weapon::$rankpoeng_success_special;
         } else {
             $table =& weapon::$rankpoeng_try_special;
         }
         $rank_num = count(game::$ranks['pos']) - game::$ranks['pos'][$up->rank['pos_id']]['number'] + 1;
     } else {
         // normal rank
         if ($killed) {
             $table =& weapon::$rankpoeng_success;
         } else {
             $table =& weapon::$rankpoeng_try;
         }
         $rank_num = $up->rank['number'];
     }
     // finn verdien hvis den finnes, hvis ikke bruk den høyeste verdien
     if (isset($table[$rank_num])) {
         $value = $table[$rank_num];
     } else {
         $value = end($table[$rank_num]);
     }
     // sett i forhold til rankforskjellen
     $rankdiff = game::calc_rank_diff($this, $up);
     if ($rankdiff < weapon::RANKPOENG_RATIO_LOW) {
         $rankdiff = weapon::RANKPOENG_RATIO_LOW;
     } elseif ($rankdiff > weapon::RANKPOENG_RATIO_HIGH) {
         $rankdiff = weapon::RANKPOENG_RATIO_HIGH;
     }
     $value *= weapon::$rankpoeng_ratio[$rankdiff];
     // sett i perspektiv med skadeprosent
     if (!$killed && $skadeprosent !== null) {
         $value *= $skadeprosent;
     }
     return round($value);
 }
开发者ID:Kuzat,项目名称:kofradia,代码行数:46,代码来源:class.player.php

示例2: calc_weight

 /**
  * Kalkuler beskyttelse man får med vektpoengene
  * @param player $up spiller som angriper
  */
 public function calc_weight(player $up)
 {
     $vekt = 0;
     // sjekk for broderskapmedlemskap
     $result = \Kofradia\DB::get()->query("SELECT MIN(ffm_priority) FROM ff_members WHERE ffm_up_id = {$this->up->id} AND ffm_status = 1");
     $pos = $result->fetchColumn(0);
     if ($pos) {
         if (isset(self::$vekt_familie[$pos])) {
             $vekt += self::$vekt_familie[$pos];
         } else {
             // finn nærmeste verdi
             if ($pos < 1) {
                 $vekt += reset(self::$vekt_familie);
             } else {
                 $vekt += end(self::$vekt_familie);
             }
         }
     }
     // sjekk for rankforskjeller
     if ($up) {
         // ren rankforskjell
         $diff = abs(game::calc_rank_diff($up, $this->up));
         // har vi den bestemt?
         if (isset(self::$vekt_rankdiff[$diff])) {
             $vekt += self::$vekt_rankdiff[$diff];
         } elseif ($diff != 0) {
             // hent maksimalt (må være over 0, som tilsier at vi kan velge siste alternativ)
             $vekt += end(self::$vekt_rankdiff);
         }
         // spesialrank
         $diff = game::calc_specrank_diff($up, $this->up);
         if ($diff > 0) {
             if (isset(self::$vekt_specrankdiff[$diff])) {
                 $vekt += self::$vekt_specrankdiff[$diff];
             } else {
                 // bruk siste mulighet
                 $vekt += end(self::$vekt_specrankdiff);
             }
         }
     }
     // maksimalt kan den være 0,5
     return min($vekt, 0.5);
 }
开发者ID:Kuzat,项目名称:kofradia,代码行数:47,代码来源:class.drap.php


注:本文中的game::calc_rank_diff方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。