diff --git a/d3hog_driver.php b/d3hog_driver.php index ddb76a5..01a30de 100644 --- a/d3hog_driver.php +++ b/d3hog_driver.php @@ -19,7 +19,7 @@ if($_POST['submit']) { $contents = curl_exec($curl); curl_close($curl); - $character = DPClassFactory::createClassObject($contents); + $character = DPClassFactory::createClassObject($contents, $elementalOnWeapon); if($character === FALSE) { die('Bad class. Either your class could not be detected or we do not support your class at this time.'); diff --git a/libs/dpclass.php b/libs/dpclass.php index a8208af..8e084f5 100644 --- a/libs/dpclass.php +++ b/libs/dpclass.php @@ -1,16 +1,16 @@ dpHTML = $characterPage; $this->class = get_class($this); + $this->elementalOnWeapon = $elementalOnWeapon; $this->parseStats(); } @@ -61,14 +62,18 @@ class DPClass { } function elementalDamage() { - $totalElemental = 0; + $totalElemental = 1; foreach($this->stats as $stat => $value) { if(preg_match('/\+DPS \(.*\)/', $stat) > 0) { $totalElemental += $value; } } - return ($totalElemental > 0) ? $totalElemental + 1 : 0; + if($this->elementalOnWeapon && $totalElemental != 1) { + $totalElemental *= .5; + } + + return ($totalElemental > 0) ? $totalElemental : 0; } function calculateGemLife() { @@ -93,7 +98,7 @@ class DPClass { function modifyDPSUnbuffed() { $this->stats['DPS Unbuffed'] = $this->getStat('DPS Unbuffed') * - max(1, 1 + ($this->getStat('All Elemental Damage') / 2)) * + $this->getStat('All Elemental Damage') * max(1, 1 + ($this->getStat('+DPS Against Elites') / 2)); }