mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2025-10-12 00:38:48 -07:00
Change AddAchievementPoints to account for overflow and underflow
This is for minisaurs in WoJ, but I think it would be a good idea in general, so I didn't limit it to WoJ. The issue happens because if you buy medicine for minisaurs. It takes away one coin, and so if you already have 0 coins, the server currently returns your coin count as int.MaxValue. This is tested in WoJ 1.1.0 and 1.21.0. I tested buying, overflowing, underflowing, using commands with big and negative values and playing games.
This commit is contained in:
parent
5173f093b6
commit
19f3f697ae
@ -82,7 +82,7 @@ namespace sodoff.Services {
|
|||||||
viking.AchievementPoints.Add(xpPoints);
|
viking.AchievementPoints.Add(xpPoints);
|
||||||
}
|
}
|
||||||
|
|
||||||
int initialPoints = xpPoints.Value;
|
int initialPoints = xpPoints.Value;
|
||||||
xpPoints.Value += value ?? 0;
|
xpPoints.Value += value ?? 0;
|
||||||
|
|
||||||
if (value > 0 && initialPoints > xpPoints.Value) {
|
if (value > 0 && initialPoints > xpPoints.Value) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user