/** * Spell Description handler * @author DiSlord aka Chestr * @category Items class * @access public * @param array $spell * @return array **/ public function GetSpellData($spell) { // Basepoints $s1 = abs($spell['EffectBasePoints_1'] + $spell['EffectBaseDice_1']); $s2 = abs($spell['EffectBasePoints_2'] + $spell['EffectBaseDice_2']); $s3 = abs($spell['EffectBasePoints_3'] + $spell['EffectBaseDice_3']); if ($spell['EffectDieSides_1'] > $spell['EffectBaseDice_1'] && $spell['EffectDieSides_1'] - $spell['EffectBaseDice_1'] != 1) { $s1 .= ' - ' . abs($spell['EffectBasePoints_1'] + $spell['EffectDieSides_1']); } if ($spell['EffectDieSides_2'] > $spell['EffectBaseDice_2'] && $spell['EffectDieSides_2'] - $spell['EffectBaseDice_2'] != 1) { $s2 .= ' - ' . abs($spell['EffectBasePoints_2'] + $spell['EffectDieSides_2']); } if ($spell['EffectDieSides_3'] > $spell['EffectBaseDice_3'] && $spell['EffectDieSides_3'] - $spell['EffectBaseDice_3'] != 1) { $s3 .= ' - ' . abs($spell['EffectBasePoints_3'] + $spell['EffectDieSides_3']); } $d = 0; if ($spell['DurationIndex']) { if ($spell_duration = DB::WoW()->selectRow("SELECT * FROM `DBPREFIX_spell_duration` WHERE `id`=%d", $spell['DurationIndex'])) { $d = $spell_duration['duration_1'] / 1000; } } // Tick duration $t1 = $spell['EffectAmplitude_1'] ? $spell['EffectAmplitude_1'] / 1000 : 5; $t2 = $spell['EffectAmplitude_1'] ? $spell['EffectAmplitude_2'] / 1000 : 5; $t3 = $spell['EffectAmplitude_1'] ? $spell['EffectAmplitude_3'] / 1000 : 5; // Points per tick $o1 = @intval($s1 * $d / $t1); $o2 = @intval($s2 * $d / $t2); $o3 = @intval($s3 * $d / $t3); $spellData['t1'] = $t1; $spellData['t2'] = $t2; $spellData['t3'] = $t3; $spellData['o1'] = $o1; $spellData['o2'] = $o2; $spellData['o3'] = $o3; $spellData['s1'] = $s1; $spellData['s2'] = $s2; $spellData['s3'] = $s3; $spellData['m1'] = $s1; $spellData['m2'] = $s2; $spellData['m3'] = $s3; $spellData['x1'] = $spell['EffectChainTarget_1']; $spellData['x2'] = $spell['EffectChainTarget_2']; $spellData['x3'] = $spell['EffectChainTarget_3']; $spellData['i'] = $spell['MaxAffectedTargets']; $spellData['d'] = WoW_Utils::GetTimeText($d); $spellData['d1'] = WoW_Utils::GetTimeText($d); $spellData['d2'] = WoW_Utils::GetTimeText($d); $spellData['d3'] = WoW_Utils::GetTimeText($d); $spellData['v'] = $spell['MaxTargetLevel']; $spellData['u'] = $spell['StackAmount']; $spellData['a1'] = WoW_Utils::GetRadius($spell['EffectRadiusIndex_1']); $spellData['a2'] = WoW_Utils::GetRadius($spell['EffectRadiusIndex_2']); $spellData['a3'] = WoW_Utils::GetRadius($spell['EffectRadiusIndex_3']); $spellData['b1'] = $spell['EffectPointsPerComboPoint_1']; $spellData['b2'] = $spell['EffectPointsPerComboPoint_2']; $spellData['b3'] = $spell['EffectPointsPerComboPoint_3']; $spellData['e'] = $spell['EffectMultipleValue_1']; $spellData['e1'] = $spell['EffectMultipleValue_1']; $spellData['e2'] = $spell['EffectMultipleValue_2']; $spellData['e3'] = $spell['EffectMultipleValue_3']; $spellData['f1'] = $spell['DmgMultiplier_1']; $spellData['f2'] = $spell['DmgMultiplier_2']; $spellData['f3'] = $spell['DmgMultiplier_3']; $spellData['q1'] = $spell['EffectMiscValue_1']; $spellData['q2'] = $spell['EffectMiscValue_2']; $spellData['q3'] = $spell['EffectMiscValue_3']; $spellData['h'] = $spell['procChance']; $spellData['n'] = $spell['procCharges']; $spellData['z'] = "<home>"; return $spellData; }