|
baseint = 7400;
basespirit = 3150;
ptuptime = 0.25;
hsuptime = 0.60;
spiritcoeff = 0.0083625 * 1.6;
basemp5 = 0.0025 + (basespirit .* sqrt(baseint) .* spiritcoeff);
hsavgspirit = 200*hsuptime;
hsmp5add = (hsavgspirit .* sqrt(baseint) .* spiritcoeff);
hsmp5 = basemp5 + hsmp5add;
ptavgint = 500 * 1.1025 * ptuptime;
ptmp5 = 0.0025 + (basespirit .* sqrt(baseint + ptavgint) .* spiritcoeff);
ptmp5add = ptmp5 - basemp5;
ptrepmp5 = ptavgint * 15 * 0.005;
ptmp5gain = ptmp5add + ptrepmp5;
ptmp5all = ptmp5 + ptrepmp5;
ptaddmana = 500*16.5375;
ptaddmanaavg = ptavgint * 15;
ptplea12 = ptaddmana * 0.12;
ptplea18 = ptaddmana * 0.18;
pttorrent = ptaddmana * 0.06;
pttorrentavg = ptaddmanaavg * 0.06;
ptplea12avg = ptaddmanaavg * 0.12;
ptplea18avg = ptaddmanaavg * 0.18;
hsadv = hsmp5add-ptmp5gain-ptplea18avg/24;
hsadvt = hsadv-pttorrentavg/24;
hsadvspirit = hsadv ./ (sqrt(baseint)*spiritcoeff);
disp('Heartsong vs. Power Torrent (Holy Paladin)');
disp('------------------------------------------');
outString = ['Base Values: ', 'Int: ', num2str(baseint), ' | Spirit: ', num2str(basespirit)];
disp(outString);
outString = ['Uptimes: ', 'PT(500I): ', num2str(ptuptime*100), '% | HS(200S): ', num2str(hsuptime*100), '%'];
disp(outString);
disp('------------------------------------------');
disp(['Gains w. Heartsong: AVG Spirit(', num2str(hsavgspirit),')']);
outString = [' Regen from Base Stats: ', num2str(basemp5,5), ' MP5'];
disp(outString);
outString = [' additional Regen: + ', num2str(hsmp5add,3), ' MP5'];
disp(outString);
disp(' ----------');
outString = [' ', num2str(hsmp5,5), ' MP5'];
disp(outString);
disp('');
disp(['Gains w. Power Torrent: AVG Int(', num2str(ptavgint,4),')']);
outString = [' Regen from Base Stats: ', num2str(basemp5,5), ' MP5'];
disp(outString);
outString = [' additional Regen: + ', num2str(ptmp5add,3), ' MP5'];
disp(outString);
outString = [' reg from Replenishment: + ', num2str(ptrepmp5,3), ' MP5'];
disp(outString);
disp(' ----------');
outString = [' ', num2str(ptmp5all,5), ' MP5'];
disp(outString);
disp('------------------------------------------');
disp('Reliable Regen Summary:');
disp([' Heartsong: ', num2str(hsmp5add,3), ' MP5']);
disp([' Power Torrent: - ', num2str(ptmp5gain,3), ' MP5']);
disp(' ----------');
disp([' Heartsong advantage: ', num2str(hsmp5add - ptmp5gain, 3), ' MP5']);
disp('------------------------------------------');
disp('PT Regen benefits from Divine Plea:');
disp(' Max: (PT during every DP)');
disp([' Addition Max-Mana: ', num2str(ptaddmana), 'M']);
disp([' (*) 12% Divine Plea: ', num2str(ptplea12), 'M']);
disp([' (**)18% Divine Plea: ', num2str(ptplea18), 'M']);
disp(' ----------');
disp([' (*) MP5(Used on CD): ', num2str(ptplea12 /24,3), 'M']);
disp([' (**)MP5(Used on CD): ', num2str(ptplea18 /24,3), 'M']);
disp(' AVG:');
disp([' Addition Max-Mana: ', num2str(ptaddmanaavg), 'M']);
disp([' (*) 12% Divine Plea: ', num2str(ptplea12avg), 'M']);
disp([' (**)18% Divine Plea: ', num2str(ptplea18avg), 'M']);
disp(' ----------');
disp([' (*) MP5(Used on CD): ', num2str(ptplea12avg /24,3), 'M']);
disp([' (**)MP5(Used on CD): ', num2str(ptplea18avg /24,3), 'M']);
disp('------------------------------------------');
disp('PT Regen benefits from Arcane Torrent:');
disp(' Max: (PT during every AT)');
disp([' Addition Max-Mana: ', num2str(ptaddmana), 'M']);
disp([' 6% Arcane Torrent: ', num2str(pttorrent), 'M']);
disp(' ----------');
disp([' MP5(Used on CD): ', num2str(pttorrent /24,3), 'M']);
disp(' AVG:');
disp([' Addition Max-Mana: ', num2str(ptaddmanaavg), 'M']);
disp([' 6% Arcane Torrent: ', num2str(pttorrentavg), 'M']);
disp(' ----------');
disp([' MP5(Used on CD): ', num2str(pttorrentavg /24,3), 'M']);
disp('------------------------------------------');
disp('Summary (Using AVG Values):');
disp('You will want to try synchronizing DP with');
disp(' PT Uptime, but it is very unlikely that');
disp(' you will be able to use DP on CD then.');
disp(' Thus the AVG Values might be a good');
disp(' approximation');
disp('');
disp(['Heartsong ', num2str(hsmp5add,3), 'MP5']);
disp(['Power Torrent - ', num2str(ptmp5gain,3), 'MP5']);
disp(['DP(18%) - ', num2str(ptplea18avg/24,3), 'MP5']);
disp(['(AT - ', num2str(pttorrentavg/24,3), 'MP5)']);
disp(' ----------');
disp([' ', num2str(hsadv,3), 'MP5']);
disp([' (', num2str(hsadvt,3), 'MP5)']);
disp('');
disp([num2str(hsadv,3), ' MP5 is worth: ', num2str(hsadvspirit,3), ' Spi']);
disp(['AVG of ', num2str(ptavgint), ' Int is worth:']);
disp([' ', num2str(ptavgint*1.1,3), ' SPw']);
disp([' ', num2str(ptavgint*0.2753,3), ' Cri']);
|