Forráskód Böngészése

fix: 宝石随机算法

王刚 1 éve
szülő
commit
2bd0f95205
1 módosított fájl, 9 hozzáadás és 9 törlés
  1. 9 9
      Gameserver/App/process/FightProc.php

+ 9 - 9
Gameserver/App/process/FightProc.php

@@ -597,10 +597,10 @@ class FightProc {
                 $n += $props;
             }
             for ($i = 0; $i < $gem_n; $i++) {                                   # 随机n块宝石
-                $r = rand(0, $n);                                                  # 投色子
+                $r = rand(1, $n);                                                  # 投色子
                 $l = 0;
                 foreach ($pool as $item) {
-                    if ($r < ($l + $item['p'])) {
+                    if ($r <= ($l + $item['p'])) {
                         $gemId = $item['q'] * 100000 + rand(1, 6) * 1000;
                         StoreProc::PutGemInStore($gemId);                       # 发放宝石并退出本次投色子
                         $pickups .= ";$gemId,1";
@@ -1051,24 +1051,24 @@ class FightProc {
         $hp = 0;
         foreach ($equipDic as $index => $ins_equip) {
             $Ins_Equip = new Ins_Equip($ins_equip);
-            if($Ins_Equip->mo()->upgradeType == 1){//攻击力
-                $attck += GameConfig::equip_levelupgrade_getItem($ins_equip->level)->attckNum;        
-            } elseif ($Ins_Equip->mo()->upgradeType == 2) {            
+            if ($Ins_Equip->mo()->upgradeType == 1) {//攻击力
+                $attck += GameConfig::equip_levelupgrade_getItem($ins_equip->level)->attckNum;
+            } elseif ($Ins_Equip->mo()->upgradeType == 2) {
                 $hp += GameConfig::equip_levelupgrade_getItem($ins_equip->level)->hpNum;
             } else {
                 $attck += GameConfig::equip_levelupgrade_getItem($ins_equip->level)->attckNum;
                 $hp += GameConfig::equip_levelupgrade_getItem($ins_equip->level)->hpNum;
-            }                     
+            }
         }
 
         $heroAttck = $heroBashAttack + $attck;
         $heroHp = $heroBashHp + $hp;
 
         $dec_demage = $mo->dec_demage;
-        $bigHit_Val = $mo->bigHit_Val/100;
-        $bigHit_rate = $mo->bigHit_rate/100;
+        $bigHit_Val = $mo->bigHit_Val / 100;
+        $bigHit_rate = $mo->bigHit_rate / 100;
 
-        $val = $heroAttck * ($heroHp-$dec_demage) * (1+$bigHit_rate*($bigHit_Val-1));
+        $val = $heroAttck * ($heroHp - $dec_demage) * (1 + $bigHit_rate * ($bigHit_Val - 1));
 
         return intval($val);
     }