mirror of
https://github.com/SoDOff-Project/sodoff.git
synced 2025-10-11 08:18:49 -07:00
bugfixes
- allow to add items to store while using replace action in server-side mods - fixed wrong (inverted) logic for LastLevelCompleted - fixed 'already an open DataReader' isse on GetTopRated* endpoints - disabled AchievementTaskID 37 (WoJS) due to causing bug
This commit is contained in:
parent
3222c63fa6
commit
db795d93a4
@ -240,6 +240,7 @@ public class RatingController : Controller
|
|||||||
return ctx.RatingRanks
|
return ctx.RatingRanks
|
||||||
.Where(rr => categoryID == rr.CategoryID)
|
.Where(rr => categoryID == rr.CategoryID)
|
||||||
.Take(numberOfRecord)
|
.Take(numberOfRecord)
|
||||||
|
.ToList()
|
||||||
.Select(rr => new RatingRankInfo(rr))
|
.Select(rr => new RatingRankInfo(rr))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
}
|
}
|
||||||
@ -255,6 +256,7 @@ public class RatingController : Controller
|
|||||||
))
|
))
|
||||||
.OrderBy(rr => rr.Rank)
|
.OrderBy(rr => rr.Rank)
|
||||||
.Take(numberOfRecord)
|
.Take(numberOfRecord)
|
||||||
|
.ToList()
|
||||||
.Select(rr => new UserRatingRankInfo { RankInfo = new RatingRankInfo(rr), RatedUserID = new Guid(rr.RatedUserID) })
|
.Select(rr => new UserRatingRankInfo { RankInfo = new RatingRankInfo(rr), RatedUserID = new Guid(rr.RatedUserID) })
|
||||||
.ToArray()
|
.ToArray()
|
||||||
});
|
});
|
||||||
|
@ -14080,6 +14080,7 @@
|
|||||||
<atid xmlns="">36</atid>
|
<atid xmlns="">36</atid>
|
||||||
</AchieventTaskReward>
|
</AchieventTaskReward>
|
||||||
</AchievementTaskInfo>
|
</AchievementTaskInfo>
|
||||||
|
<!-- this caused issue with "collect the spark berries" task on WoJS 1.1
|
||||||
<AchievementTaskInfo>
|
<AchievementTaskInfo>
|
||||||
<AchievementInfoID>265</AchievementInfoID>
|
<AchievementInfoID>265</AchievementInfoID>
|
||||||
<AchievementTaskID>37</AchievementTaskID>
|
<AchievementTaskID>37</AchievementTaskID>
|
||||||
@ -14300,6 +14301,7 @@
|
|||||||
<atid xmlns="">37</atid>
|
<atid xmlns="">37</atid>
|
||||||
</AchieventTaskReward>
|
</AchieventTaskReward>
|
||||||
</AchievementTaskInfo>
|
</AchievementTaskInfo>
|
||||||
|
-->
|
||||||
<AchievementTaskInfo>
|
<AchievementTaskInfo>
|
||||||
<AchievementInfoID>269</AchievementInfoID>
|
<AchievementInfoID>269</AchievementInfoID>
|
||||||
<AchievementTaskID>38</AchievementTaskID>
|
<AchievementTaskID>38</AchievementTaskID>
|
||||||
|
@ -158,13 +158,13 @@ namespace sodoff.Services {
|
|||||||
AchievementTaskState? achievementTaskState = viking.AchievementTaskStates.FirstOrDefault(x => x.TaskId == taskID);
|
AchievementTaskState? achievementTaskState = viking.AchievementTaskStates.FirstOrDefault(x => x.TaskId == taskID);
|
||||||
int pointValue = (achievementTaskState?.Points ?? 0);
|
int pointValue = (achievementTaskState?.Points ?? 0);
|
||||||
var achievementInfo = achievementStore.GetAchievementTaskInfo(taskID, gameVersion, pointValue);
|
var achievementInfo = achievementStore.GetAchievementTaskInfo(taskID, gameVersion, pointValue);
|
||||||
var lastLevelCompleted = false;
|
var lastLevelCompleted = true;
|
||||||
|
|
||||||
if (achievementInfo == null) return new AchievementTaskSetResponse();
|
if (achievementInfo == null) return new AchievementTaskSetResponse();
|
||||||
|
|
||||||
if (pointValue < achievementInfo.PointValue) { // limit points stored value to max points value in achievement tasks
|
if (pointValue < achievementInfo.PointValue) { // limit points stored value to max points value in achievement tasks
|
||||||
pointValue += 1;
|
pointValue += 1;
|
||||||
lastLevelCompleted = true;
|
lastLevelCompleted = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var rewards = (achievementInfo.Reproducible || pointValue == achievementInfo.PointValue)
|
var rewards = (achievementInfo.Reproducible || pointValue == achievementInfo.PointValue)
|
||||||
|
@ -38,7 +38,7 @@ public class ModdingService {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
itemsToUpdate.Add((int)itemID, item);
|
itemsToUpdate.Add((int)itemID, item);
|
||||||
if (item.stores != null && (item.action == ModAction.Add || item.action == ModAction.Default)) {
|
if (item.stores != null && (item.action != ModAction.Remove)) {
|
||||||
foreach (int storeID in item.stores) {
|
foreach (int storeID in item.stores) {
|
||||||
try {
|
try {
|
||||||
itemsInStore[storeID].Add((int)itemID);
|
itemsInStore[storeID].Add((int)itemID);
|
||||||
|
@ -29,6 +29,7 @@ public class StoreService {
|
|||||||
}
|
}
|
||||||
foreach (int itemID in moddingService.GetStoreItem(s.Id)) {
|
foreach (int itemID in moddingService.GetStoreItem(s.Id)) {
|
||||||
ItemData item = itemService.GetItem(itemID);
|
ItemData item = itemService.GetItem(itemID);
|
||||||
|
if (itemsList.Contains(item)) continue;
|
||||||
itemsList.Add(item);
|
itemsList.Add(item);
|
||||||
UpdateItemSaleModifier(item, memberSales, normalSales);
|
UpdateItemSaleModifier(item, memberSales, normalSales);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user