1. 程式人生 > >暗黑三 傷害提升計算指令碼

暗黑三 傷害提升計算指令碼

如果有說錯的地方麻煩指正

已經更新範圍傷計算方法

1.提高主屬性(力量 敏捷 智力):

例:當你主屬性為12000點,更換裝備後為13000點,增加了1000點

那麼傷害提升=1000/(12000+100)=8.3%

簡易公式=(增加後-增加前)/(增加前+100)

說明:1點主屬性提升1%傷害,後面加100表示100%的基礎傷害可以忽略

注意: 力量敏捷智力還有護甲全抗加成

2.提高元素傷害:

例:你身上已經有20%元素傷害加成,更換裝備後為35%,增加了15%

那麼傷害提升=0.15/(1+0.20)

簡易公式=(增加後-增加前)/(增加前+1)

說明:元素傷害加成可以看面板屬性

3.提高技能傷害:

類同提高元素傷害計算方法

4.提高均傷:

例:你的太古骷髏刀+1560-1940點傷害(平均1750點),帶上太古戒指105-210點(平均157.5)

第一條傷害提升=157.5/1750

第二條傷害提升=157.5/(1750+157.1)

說明:武器,副手,戒指,項鍊 還有紅寶石有均傷,計算時候要加入總和

5.提高爆率:

例如你當前暴傷430%爆率50%,更換裝備後爆率為60%,提升了10%

那麼傷害提升=(0.6-0.5)/(0.5+(1/4.3))

簡易公式=(增加後的暴率-增加前的爆率)/(增加前的暴率+暴傷的倒數)

說明:爆率超過100%按照100%計算

6.提高暴傷:

例如你當前暴傷430%爆率50%,更換裝備後暴傷為480%,提升了50%

那麼傷害提升=(4.8-4.3)/(4.3+(1/0.5))

簡易公式=(增加後的暴傷-增加前的爆傷)/(增加前的暴傷+暴率的倒數)

說明:爆率超過100%按照100%計算

7.提高攻速

提高攻速即可提高檔位,

武器攻速不同檔位表不同,

寵物技能有沒有寵物手檔位表也不同,

還有一些特效裝備,如獵手之怒,楊的反曲弓,降龍等,檔位也不同

沒上檔提高了攻速也沒用,具體攻速檔位檢視檔位表

例:你技能當前檔位為3檔,提高至2檔

3檔時候每秒攻擊20下,2檔的時候每秒攻擊30下

那麼傷害提升50%

簡易公式=(提升前檔位-提升後檔位)/提升後檔位

說明:暴雪設計技能預設每秒60偵,3檔表示3偵一個動作,一秒鐘攻擊20下

   攻速提升一些耗能技能,能耗也提升

8.精英傷害

收益:類同提高元素傷害計算方法

精英傷害只作用於精英

適用於超大範圍傷害的流派,比如多重,火鍾等,根據木桶原理所盛水由最短的的木板定,全屏清反正BOSS最後死

適用於單點傷害的流派,比如三刀,血套屍矛,只殺精英

對其他職業大打折扣

9.範圍傷害

假設有N個怪物都在十碼範圍內,你的傷害為A,範圍傷為K,你的一次攻擊對所有怪同時造成傷害,

每個怪受到的傷害=本身受到的傷害+其他怪傳遞的傷害

本身收到的傷害=A

你傳遞給其他怪的傷害為=A*K

其他怪物傳遞給你的傷害為=(N-1)*0.2*A*K

說明:N-1表示其他怪,0.2表示觸發概率

每個怪受到的傷害=A+(N-1)*0.2*A*K

由於範圍傷由兩個變數決定,10碼內怪物數量,範圍傷害加成,還要求技能同時擊中

例:10個怪物100%的範圍傷,

造成的傷害=A+(10-1)*0.2*A*1=2.8A

造成的傷害為2.8倍

根據以上寫出

<?php
header('Content-type: text/html; charset=utf-8');

function calculation($original,$add,$type,$extend='')
{

    /*傷害提升*/
    $damageIncrease = 0;
    switch ( $type ) {
        case 1:
            /*提高主屬性(力量 敏捷 智力)*/
            $damageIncrease = $add / ( $original + 100 );
            break;
        case 2:
            /*提高元素傷害*/
            $damageIncrease = share ( $original , $add );
            break;
        case 3:
            /*提高技能傷害*/
            $damageIncrease = share ( $original , $add );
            break;
        case 4:
            /*提高均傷*/
            $damageIncrease = $add / $original;
            break;
        case 5:
            /*提高爆率 $extend為爆傷*/
            $damageIncrease = $add / ( $original + ( 1 / $extend ) );
            break;
        case 6:
            /*提高暴傷 $extend為爆率 這裡有點模糊 可以當做參考*/
            $damageIncrease = $add / ( $original + ( 1 / $extend ) );
            break;
        case 7:
            /*提高攻速 (提升前檔位-提升後檔位)/提升後檔位*/
            $new_num = ( $add + $original );
            $damageIncrease = ( $original - $new_num ) / $new_num;
            break;
        case 8:
            /*精英傷害*/
            $damageIncrease = share ( $original , $add );
            break;
        case 9:
            /*範圍傷害 $extend為怪物數 預設10怪計算*/
            $extend = 10;
            $new_num = ( $add + $original );
            $original_num = ( $extend - 1 ) * 0.2 * $original;
            $damageIncrease = ( ( $extend - 1 ) * 0.2 * $new_num - $original_num ) / $original_num;
            break;

    }

    return ( $damageIncrease * 100 ) . '%';
}

function share ( $original , $add )
{
    //提高元素傷害 提高技能傷害
    $damageIncrease = $add / ( $original + 1 );
    return $damageIncrease;
}
/*提高主屬性(力量 敏捷 智力)*/
$original = 28000;//原始
$add = 325;//增加
$damageIncrease=calculation($original,$add,1);

//$damageIncrease=calculation(172/100,3/100,9);

echo $damageIncrease;
?>