Any love for the mystics?

Started by soul, May 03, 2006, 12:23 PM

Previous topic - Next topic

soul

I am using attack... and it is nice, however I don't think it is hitting as hard as punch. Can you at least add punch, hopefully kick and ju ?  Im not even caring about powers right now.

Vitoc

I need some info on how damage is calculated for punches, kicks, and jumpkicks.  How are their min/max damage values calculated (other than items)?


DeathCow

Speed I can give you, damage is actually done via a formula which I'll post below this table of speeds--

Mystic AttackSpeed
Punch1150
Kick1400
Jumpkick1900
And here's the formulas (in Pascal) for how to determine the various Mystic attacks damage ranges (read on below for some more though, the results of these formulas actually get modified in the actual hit calculation code (ala bash/smash))--

function? CalcPunchMinDmg(PunchValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := ((Level * PunchValue) div 8) + 2;

? end else begin
? ? Result := ((20 * PunchValue) div 8) + 2;
? end;
end;

function? CalcPunchMaxDmg(PunchValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := (((Level + 3) * PunchValue) div 4) + 6;
? end else begin
? ? Result := ((23 * PunchValue) div 4) + 6;
? end;
end;

function? CalcKickMinDmg(KickValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := ((Level * KickValue) div 8) + 2;
? end else begin
? ? Result := ((20 * KickValue) div 8) + 2;
? end;
end;

function? CalcKickMaxDmg(KickValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := ((Level * KickValue) div 6) + 7;
? end else begin
? ? Result := ((20 * KickValue) div 6) + 7;
? end;
end;

function? CalcJumpkickMinDmg(JumpkickValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := ((Level * JumpkickValue) div 8) + 2;
? end else begin
? ? Result := ((20 * JumpkickValue) div 8) + 2;
? end;
end;

function? CalcJumpkickMaxDmg(JumpkickValue, Level: integer): integer;
begin
? if (Level < 20) then begin
? ? Result := ((Level * JumpkickValue) div 6) + 8;
? end else begin
? ? Result := ((20 * JumpkickValue) div 6) + 8;
? end;
end;


QuoteAlso, I know max dmg is multiplied by 1.66 when applied to jumpkick, are there also multipliers for kick and punch?
Yes, yes there is.? Punch damage is totally unmodified though.? Taking the previous table with the speeds on it, let's add on the damage multiplier for the attacks--

Mystic AttackSpeedDamage Multiplier
Punch11501.00
Kick14001.33
Jumpkick19001.66

QuoteAnd does anyone know what the flags like JumpkickAvg and JumpkickDmg (or whatever they're called) do exactly?? I'm guessing JumpkickAvg is some kind of accuracy
My guess is accuracy as well, but I haven't researched Mystic attacks in the code enough to know for certain if it's working out as accuracy that's useful or accuracy that's useless.? :P

Quoteand JumpkickDmg would add to damage without being multiplied by 1.66, but if someone could tell me for sure that would be awesome.
I can say with certainty that if these are adding damage they're adding it before the damage multiplier.? The code that handles adjusting the final damage isn't aware of the fighters involved (or their gear or abilities), just the calculated damage values up to that point.? So, assuming those abilities add damage (which I believe they do), they're doing it someplace before the damage multiplier.? Whether it's a 1:1 ratio with a regular MaxDmg bonus I don't know, but I'd guess it is (it seems more likely that JumpkickDmg is just a way to limit a max damage bonus to jumpkick attacks so said item isn't suddenly uber-attractive to a melee char (not that they could even eq it, since most/all JumpkickDmg items are Mystic only, but still)).