fix: Fixes Dice Infinite loop and deserialization of some items (#1360)

### Summary
- Fixes deserialization issues with some items.
- Changes Utility.Dice to prevent long iteration by passing `(uint)-1`
This commit is contained in:
Kamron Batman 2023-03-05 18:29:48 -08:00 • committed by GitHub
parent 9b6aa1deed
commit 3097eb4fa7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 14 additions and 11 deletions

View file

@ -192,7 +192,7 @@ namespace Server.Spells
(m as BaseCreature)?.OnHarmfulSpell(Caster);
}
public virtual int GetNewAosDamage(int bonus, uint dice, uint sides, Mobile singleTarget)
public virtual int GetNewAosDamage(int bonus, int dice, int sides, Mobile singleTarget)
{
if (singleTarget != null)
{
@ -208,10 +208,10 @@ namespace Server.Spells
return GetNewAosDamage(bonus, dice, sides, false);
}
public virtual int GetNewAosDamage(int bonus, uint dice, uint sides, bool playerVsPlayer) =>
public virtual int GetNewAosDamage(int bonus, int dice, int sides, bool playerVsPlayer) =>
GetNewAosDamage(bonus, dice, sides, playerVsPlayer, 1.0);
public virtual int GetNewAosDamage(int bonus, uint dice, uint sides, bool playerVsPlayer, double scalar)
public virtual int GetNewAosDamage(int bonus, int dice, int sides, bool playerVsPlayer, double scalar)
{
var damage = Utility.Dice(dice, sides, bonus) * 100;