public static function diceHits($mindmg, $arm, $atk, $def, SR_Player $player, SR_Player $target) { $ep = $target->getParty(); if ($player->isHuman()) { if ($target->isHuman()) { // $oops = rand(80, 250) / 10; $oops = self::diceFloat(6.0, 9.0, 1); } else { // $oops = rand(80, 190) / 10; $oops = $player->getBase('level') * 0.1; $oops = self::diceFloat(6.0 + $oops, 9.0 + $oops, 1); } } else { if ($target->isHuman()) { // $rand = rand(12, 20) / 10; // $oops = $rand + $ep->getMemberCount()*0.3; # + $ep->getMax('level', true)*0.01; $oops = 0.2 + $target->getBase('level') * 0.05; $oops *= Common::pow(1.28, $ep->getMemberCount()); } else { // $oops = rand(80, 250) / 10; $oops = self::diceFloat(0.8, 2.5, 1); } } // $chances = (($atk*10 + $mindmg*5) / ($def*5 + $arm*2)) * $oops * 0.65; $chances = ($atk * 20 + $mindmg * 50) / ($def * 5 + $arm * 2) * $oops * 0.7; // echo "OOOOOOOPS: $oops\n"; // return Shadowfunc::dicePool(round($chances), round($def)+1, round(sqrt($def))); return Shadowfunc::dicePoolB($chances, $def); }
private function diceDefensive(SR_Player $player, SR_Player $target, $level) { $dices = round($level * 10); $int = $player->get('intelligence'); $int += Common::pow($level, 1.25); $dices += round($int * 5); $dices += round($target->get('essence') * 15); // # To have supportive defense is bad. $es = $target->get('essence'); echo "Target has {$es} essence\n"; $defense = 9 - $es * 1.5; $defense = Common::clamp($defense, 1.0, 8.0); echo "Dice Defensive with {$dices} dices and defense {$defense}\n"; return Shadowfunc::dicePoolB($dices, $defense); // $hits = Shadowfunc::dicePool($dices, $defense, 4); // return rand($hits/2, $hits); // return $hits; }