Closed creshal closed 4 years ago
The Stella changes are fine, though iirc each of her shots also has half the damage which means piercing armor is harder for her than it would be otherwise so these changes would make the sim very slightly overestimate her damage (but its negligible so it should be ok to add)
The 12s damage is another good idea. The only reason the sim uses 8 and 20 at the moment is because an older sim used those numbers. You'll find that a lot of the design decisions for this sim were made arbitrarily like that.
Adding the number of shots is another really good idea, but I do think some changes should be made here. Since the sim uses expected value to account for the RNG with hitting or missing shots, I think accuracy/evasion should not be considered when counting the numbers of shots a doll made. imo it should just be the total number of shots attempted, regardless of whether or not they landed as that would help more in comparing different echelons.
Adding the number of shots is another really good idea, but I do think some changes should be made here. Since the sim uses expected value to account for the RNG with hitting or missing shots, I think accuracy/evasion should not be considered when counting the numbers of shots a doll made.
I wanted this to be able to solve the question "do I even get enough hits in to engage all targets?", and for that accuracy needs to be factored in.
You can just set evasion to 0 if you want to compare raw number of shots; actual hit count with accuracy factored in can be wildly different if you look at accuracy-depressing skills like K31's or underlevelled SAR/AUG. Or accuracy-boosting ones like SRS/T5000.
I'll take a look at the other suggestions after work.
though iirc each of her shots also has half the damage which means piercing armor is harder for her than it would be otherwise so these changes would make the sim very slightly overestimate her damage
This should be taken care of already:
dmg = Math.max(shotmultiplier,
doll.battle.fp * multiplier
+ shotmultiplier * Math.min(2, doll.battle.ap - enemy.battle.armor));
Minimum damage in general is set to 2 for Stella (to account for 2 hits doing at least 1 damage each), and the AP bonus/penalty is also multiplied by 2 to account for full penetration happening twice, or armour penalty being applied twice.
Alright, hitCount and extraShots should be properly factored in now and duplicate lines were removed. As mentioned above I'd like to retain the accuracy calculations, since it's trivial to just set evasion to 0 if you want to know the total shot count.
While it is trivial, the majority of people who use the sim don't care and just take all numbers they see at face value. For them I think they would just assume that "x dmg in y hits" means y hits are the total number of shots fired.
That said, I thought about this more and asked others and I will add it as-is. However, if there is too much confusion about this I'll change it to show total shots fired and move expected number of hits to a tooltip instead.
All of this is just badly hacked together, since I've no idea how half of that simulator works. Further tests and/or refactoring is probably a good idea, I'm open for ideas.