For each skill I made two meshes:
- The first places your heal on the z-axis (given X focus and Y nature magic, your heal is Z)
- The second places the derivative of your heal on the z-axis (given X focus and Y nature magic, your heal is changing by Z amount per increment in nature magic and focus)
Initially, I started the focus/natmagic axes at 0, however the derivative range was just too high -- the plot looked like two walls and a floor! I arbitrarily chose 300 focus and 1000 natmagic as the minimums for better visuals.
If you notice anything interesting, do share it here! If you want to know any specific points, say so
![Smile :)](./images/smilies/icon_e_smile.gif)
![Image](https://s7.postimg.cc/dhlw8unbf/bark.png)
![Image](https://s7.postimg.cc/c2kbk4ty3/image.png)
![Image](https://s7.postimg.cc/jxuuypixn/nattouch.png)
![Image](https://s7.postimg.cc/4zcg4j3y3/winds.png)
For anyone interested in the Matlab code, it follows (modify the constants for each skill):
Code: Select all
% Nature's Touch
% Constants
focus_c = 28.89;
natmagic_c = 8.9361;
level_c = 452.42;
% Heal
focus = @(x) focus_c * sqrt(x); % focus component
natmagic = @(y) natmagic_c * sqrt(y); % nature magic component
level = @(z) level_c + 0*z; % level component, assuming level 50
heal = @(x, y, z) focus(x) + natmagic(y) + level(z); % overall
% Derivative
focus_d = @(x) (focus_c/2) ./ sqrt(x); % focus component
natmagic_d = @(y) (natmagic_c/2) ./ sqrt(y); % nature magic component
level_d = @(z) 0 + 0*z; % level component, assuming level 50
heal_d = @(x, y, z) focus_d(x) + natmagic_d(y) + level_d(z); % overall
% Plotting
points = 500; % number of points in each x/y/z
focus_range = linspace(300, 2500, points); % evenly spaces from 300-2500 focus
natmagic_range = linspace(1000, 8000, points); % evenly spaces from 1000-8000 nature magic
level_range = linspace(1, 50, points); % evenly spaces from level 1-50, but this doesn't matter (assuming level 50)
[FOCUS, NATMAGIC] = meshgrid(focus_range, natmagic_range); % make the mesh grid
total_heal = heal(FOCUS, NATMAGIC, level_range); % get heal over the mesh points (matrix)
total_heal_d = heal_d(FOCUS, NATMAGIC, level_range); % get heal derivative over the mesh points (matrix)
% Plot the base mesh
subplot(1, 2, 1); mesh(FOCUS, NATMAGIC, total_heal);
xlabel('Focus'); ylabel('Nature Magic'); zlabel('Attack Reduction');
title('Howling Winds - Base');
% Plot the derivative mesh
subplot(1, 2, 2); mesh(FOCUS, NATMAGIC, total_heal_d);
xlabel('Focus'); ylabel('Nature Magic'); zlabel('Attack Reduction');
title('Howling Winds - Derivative');