diff --git a/EpinelPS/GameData/Currency.cs b/EpinelPS/Data/Currency.cs similarity index 100% rename from EpinelPS/GameData/Currency.cs rename to EpinelPS/Data/Currency.cs diff --git a/EpinelPS/GameData/GameData.cs b/EpinelPS/Data/GameData.cs similarity index 86% rename from EpinelPS/GameData/GameData.cs rename to EpinelPS/Data/GameData.cs index 2a601c1..23e3593 100644 --- a/EpinelPS/GameData/GameData.cs +++ b/EpinelPS/Data/GameData.cs @@ -3,10 +3,9 @@ using ICSharpCode.SharpZipLib.Zip; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Diagnostics; -using System.Reflection; using System.Security.Cryptography; -namespace EpinelPS.StaticInfo +namespace EpinelPS.Data { public class GameData { @@ -72,6 +71,7 @@ namespace EpinelPS.StaticInfo public readonly Dictionary Subquests = []; public readonly Dictionary Messages = []; public readonly Dictionary MessageConditions = []; + public readonly Dictionary ScenarioRewards = []; public byte[] Sha256Hash; @@ -549,6 +549,12 @@ namespace EpinelPS.StaticInfo { this.MessageConditions.Add(obj.id, obj); } + + var scr = await LoadZip("ScenarioRewardsTable.json", progress); + foreach (var obj in scr.records) + { + this.ScenarioRewards.Add(obj.condition_id, obj); + } } public MainQuestCompletionRecord? GetMainQuestForStageClearCondition(int stage) @@ -760,151 +766,4 @@ namespace EpinelPS.StaticInfo return false; } } - - public enum TriggerType - { - None = 0, - UserLevel = 1, - CampaignClear = 2, - ChapterClear = 3, - CampaignStart = 4, - TowerAllStart = 5, - TowerBasicClear = 6, - CharacterLevel = 7, - CharacterGrade = 8, - CharacterCore = 9, - CharacterAttractiveLevel = 10, - MainShopBuy = 11, - ShopGuildBuy = 12, - GachaCharacter = 13, - OutpostBattleReward = 14, - OutpostFastBattleReward = 15, - PointRewardDaily = 16, - PointRewardWeekly = 17, - ObtainCharacter = 18, - OutpostBuilding = 19, - SendFriendShipPoint = 20, - SendDispatch = 21, - MainQuestClear = 22, - ObtainJukeboxTheme = 23, - SubQuestClear = 24, - CampaignGroupClear = 25, - NpcTalk = 26, - TowerElysionClear = 27, - TowerMissilisClear = 28, - TowerTetraClear = 29, - TowerOverspecClear = 30, - AchieveRanking1st = 31, - AchieveRanking5th = 32, - AchieveRanking10th = 33, - EventPoint = 34, - HardChapterClear = 35, - ObtainCharacterSSR = 36, - GachaCompany = 37, - ObtainCharacterNew = 38, - WinArena = 39, - SpecialArenaTier = 40, - PointRewardAchievement = 41, - ObtainCharacterPilgrim = 42, - ShopDisassembleBuy = 43, - CharacterCounsel = 44, - CharacterAttractivePresent = 45, - ObtainEquipItemT3T4 = 46, - ObtainEquipItemT5T6 = 47, - ObtainEquipItemT7T8 = 48, - ObtainEquipItemT9 = 49, - PointRewardEvent = 50, - MissionClearEvent = 51, - ObtainMemorialItem = 52, - LostSectorClear = 53, - ObtainHarmonyCube = 54, - HarmonyCubeLevel = 55, - CooperationEventClear = 56, - SynchroDeviceSlot = 57, - ObtainEquipItemALL = 58, - EquipItemLevel = 59, - CharacterSkillLevel = 60, - PickupGachaCharacter = 61, - ObtainSilverMileage = 62, - ObtainGoldMileage = 63, - SendDispatchGrade = 64, - OutpostBattleBoxLevel = 65, - GetFriendShipPoint = 66, - MessageClear = 67, - RecycleResearchLevel = 68, - GachaPremium = 69, - CharacterLevelUpCount = 70, - CharacterGradeUpCount = 71, - CharacterLevelMax = 72, - CharacterGradeMax = 73, - HarmonyCubeLevelMax = 74, - CharacterSkillLevelMax = 75, - CharacterAttractiveLevelMax = 76, - EquipItemLevelMax = 77, - ObtainEquipItemT2 = 78, - FieldObjectCollection = 79, - SimulationRoomStart = 80, - InterceptStart = 81, - EquipItemLevelCount = 82, - SimulationRoomClear = 83, - InterceptClear = 84, - DailyEventClear = 85, - EventStageClear = 86, - ObtainEventCurrencyMaterialMiraclesnow = 87, - EventDungeonStageClear = 88, - EventSortOutClear = 89, - EventSortOutPointMax = 90, - EquipItemLevelUpCount = 91, - CharacterSkillLevelUpCount = 92, - FirstPaidGacha_Legecy = 93, - ObtainCharacterCostume = 94, - SyncroDeviceLevelMax = 95, - ObtainEventCurrencyMaterial = 96, - SimulationRoomClearWithoutCondition = 97, - EventTextAdventureClear = 98, - RookieArenaPlayCount = 99, - EventDicePlayCount = 100, - EventBBQTycoonDailyRewardCheck = 101, - EventBBQTycoonHighScore = 102, - ChampionArenaGambleWinAll = 103, - ChampionArenaGambleLoseAll = 104, - EventMiniGameCe002PlayCheck = 105, - EventMiniGameNKSPlayCheck = 106, - EventSnowfallOasisDailyRewardCheck = 107, - EventMiniGameCe003RewardCheck = 108, - EventTowerDefensePlayCheck = 109, - EventPlaySodaPlayCheck = 110, - EventIslandAdventureFishingPlayCheck = 111, - MiniGameDDCompleteDive = 112, - MiniGameDDCompleteSushi = 113, - MiniGameDDTotalGold = 114, - MiniGameDDSushiPreTurnover = 115, - MiniGameDDTotalFish = 116, - MiniGameDDPerUnderwaterEncounter = 117, - MiniGameDDUnlockEmployeeCount = 118, - MiniGameDDUnlockNikkeCount = 119, - MiniGameDDGunLevel = 120, - MiniGameDDIDiverLevel = 121, - MiniGameDDUnlockSushiCount = 122, - MiniGameDDSushiLevel = 123, - MiniGameDDSushiCookScore = 124, - MiniGameDDSushiPreTurnoverTotalMax = 125, - MiniGameDDSushiLevelTotalMax = 126, - MiniGameDDAllAchievement = 127, - ComebackPollComplete = 128, - AliceAccessAttractiveScenario = 129, - AliceEquipCollectionItemLevel = 130, - AliceEquipCollectionItemSR = 131, - AliceEquipItemOverload = 132, - AliceSkill1Level = 133, - AliceSkillBurstLevel = 134, - InterceptNormalClearWithCondition = 135, - InterceptSpecialClearWithCondition = 136, - SimulationRoomClearCount1Only = 137, - TacticAcademyFinish9_4 = 138, - EventMiniGameCe004RewardCheck = 139, - EventMVGPlayCheck = 140, - EventDDRRewardCheck = 141 - } - } diff --git a/EpinelPS/GameData/JsonStaticData.cs b/EpinelPS/Data/JsonStaticData.cs similarity index 98% rename from EpinelPS/GameData/JsonStaticData.cs rename to EpinelPS/Data/JsonStaticData.cs index a2c3775..5b1a05b 100644 --- a/EpinelPS/GameData/JsonStaticData.cs +++ b/EpinelPS/Data/JsonStaticData.cs @@ -1,4 +1,4 @@ -namespace EpinelPS.StaticInfo +namespace EpinelPS.Data { public class MainQuestCompletionRecord { @@ -749,4 +749,15 @@ { public List records = []; } + public class ScenarioRewardRecord + { + public int id; + public string condition_id = ""; + public string condition_type = ""; + public int reward_id; + } + public class ScenarioRewardTable + { + public List records = []; + } } diff --git a/EpinelPS/Data/TriggerType.cs b/EpinelPS/Data/TriggerType.cs new file mode 100644 index 0000000..6d06fc3 --- /dev/null +++ b/EpinelPS/Data/TriggerType.cs @@ -0,0 +1,149 @@ +namespace EpinelPS.Data +{ + + public enum TriggerType + { + None = 0, + UserLevel = 1, + CampaignClear = 2, + ChapterClear = 3, + CampaignStart = 4, + TowerAllStart = 5, + TowerBasicClear = 6, + CharacterLevel = 7, + CharacterGrade = 8, + CharacterCore = 9, + CharacterAttractiveLevel = 10, + MainShopBuy = 11, + ShopGuildBuy = 12, + GachaCharacter = 13, + OutpostBattleReward = 14, + OutpostFastBattleReward = 15, + PointRewardDaily = 16, + PointRewardWeekly = 17, + ObtainCharacter = 18, + OutpostBuilding = 19, + SendFriendShipPoint = 20, + SendDispatch = 21, + MainQuestClear = 22, + ObtainJukeboxTheme = 23, + SubQuestClear = 24, + CampaignGroupClear = 25, + NpcTalk = 26, + TowerElysionClear = 27, + TowerMissilisClear = 28, + TowerTetraClear = 29, + TowerOverspecClear = 30, + AchieveRanking1st = 31, + AchieveRanking5th = 32, + AchieveRanking10th = 33, + EventPoint = 34, + HardChapterClear = 35, + ObtainCharacterSSR = 36, + GachaCompany = 37, + ObtainCharacterNew = 38, + WinArena = 39, + SpecialArenaTier = 40, + PointRewardAchievement = 41, + ObtainCharacterPilgrim = 42, + ShopDisassembleBuy = 43, + CharacterCounsel = 44, + CharacterAttractivePresent = 45, + ObtainEquipItemT3T4 = 46, + ObtainEquipItemT5T6 = 47, + ObtainEquipItemT7T8 = 48, + ObtainEquipItemT9 = 49, + PointRewardEvent = 50, + MissionClearEvent = 51, + ObtainMemorialItem = 52, + LostSectorClear = 53, + ObtainHarmonyCube = 54, + HarmonyCubeLevel = 55, + CooperationEventClear = 56, + SynchroDeviceSlot = 57, + ObtainEquipItemALL = 58, + EquipItemLevel = 59, + CharacterSkillLevel = 60, + PickupGachaCharacter = 61, + ObtainSilverMileage = 62, + ObtainGoldMileage = 63, + SendDispatchGrade = 64, + OutpostBattleBoxLevel = 65, + GetFriendShipPoint = 66, + MessageClear = 67, + RecycleResearchLevel = 68, + GachaPremium = 69, + CharacterLevelUpCount = 70, + CharacterGradeUpCount = 71, + CharacterLevelMax = 72, + CharacterGradeMax = 73, + HarmonyCubeLevelMax = 74, + CharacterSkillLevelMax = 75, + CharacterAttractiveLevelMax = 76, + EquipItemLevelMax = 77, + ObtainEquipItemT2 = 78, + FieldObjectCollection = 79, + SimulationRoomStart = 80, + InterceptStart = 81, + EquipItemLevelCount = 82, + SimulationRoomClear = 83, + InterceptClear = 84, + DailyEventClear = 85, + EventStageClear = 86, + ObtainEventCurrencyMaterialMiraclesnow = 87, + EventDungeonStageClear = 88, + EventSortOutClear = 89, + EventSortOutPointMax = 90, + EquipItemLevelUpCount = 91, + CharacterSkillLevelUpCount = 92, + FirstPaidGacha_Legecy = 93, + ObtainCharacterCostume = 94, + SyncroDeviceLevelMax = 95, + ObtainEventCurrencyMaterial = 96, + SimulationRoomClearWithoutCondition = 97, + EventTextAdventureClear = 98, + RookieArenaPlayCount = 99, + EventDicePlayCount = 100, + EventBBQTycoonDailyRewardCheck = 101, + EventBBQTycoonHighScore = 102, + ChampionArenaGambleWinAll = 103, + ChampionArenaGambleLoseAll = 104, + EventMiniGameCe002PlayCheck = 105, + EventMiniGameNKSPlayCheck = 106, + EventSnowfallOasisDailyRewardCheck = 107, + EventMiniGameCe003RewardCheck = 108, + EventTowerDefensePlayCheck = 109, + EventPlaySodaPlayCheck = 110, + EventIslandAdventureFishingPlayCheck = 111, + MiniGameDDCompleteDive = 112, + MiniGameDDCompleteSushi = 113, + MiniGameDDTotalGold = 114, + MiniGameDDSushiPreTurnover = 115, + MiniGameDDTotalFish = 116, + MiniGameDDPerUnderwaterEncounter = 117, + MiniGameDDUnlockEmployeeCount = 118, + MiniGameDDUnlockNikkeCount = 119, + MiniGameDDGunLevel = 120, + MiniGameDDIDiverLevel = 121, + MiniGameDDUnlockSushiCount = 122, + MiniGameDDSushiLevel = 123, + MiniGameDDSushiCookScore = 124, + MiniGameDDSushiPreTurnoverTotalMax = 125, + MiniGameDDSushiLevelTotalMax = 126, + MiniGameDDAllAchievement = 127, + ComebackPollComplete = 128, + AliceAccessAttractiveScenario = 129, + AliceEquipCollectionItemLevel = 130, + AliceEquipCollectionItemSR = 131, + AliceEquipItemOverload = 132, + AliceSkill1Level = 133, + AliceSkillBurstLevel = 134, + InterceptNormalClearWithCondition = 135, + InterceptSpecialClearWithCondition = 136, + SimulationRoomClearCount1Only = 137, + TacticAcademyFinish9_4 = 138, + EventMiniGameCe004RewardCheck = 139, + EventMVGPlayCheck = 140, + EventDDRRewardCheck = 141 + } +} \ No newline at end of file diff --git a/EpinelPS/Database/JsonDb.cs b/EpinelPS/Database/JsonDb.cs index 3ad5bb2..abef6f6 100644 --- a/EpinelPS/Database/JsonDb.cs +++ b/EpinelPS/Database/JsonDb.cs @@ -1,5 +1,5 @@ using EpinelPS.LobbyServer; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; using Newtonsoft.Json; using Paseto.Builder; diff --git a/EpinelPS/LobbyServer/Archive/CompleteArchiveScenario.cs b/EpinelPS/LobbyServer/Archive/CompleteArchiveScenario.cs index c107925..ac70b32 100644 --- a/EpinelPS/LobbyServer/Archive/CompleteArchiveScenario.cs +++ b/EpinelPS/LobbyServer/Archive/CompleteArchiveScenario.cs @@ -1,6 +1,6 @@ using EpinelPS.Utils; using EpinelPS.Database; -using EpinelPS.StaticInfo; // Ensure this namespace is included +using EpinelPS.Data; // Ensure this namespace is included namespace EpinelPS.LobbyServer.Archive { diff --git a/EpinelPS/LobbyServer/Archive/GetArchives.cs b/EpinelPS/LobbyServer/Archive/GetArchives.cs index 31efae5..3c613d1 100644 --- a/EpinelPS/LobbyServer/Archive/GetArchives.cs +++ b/EpinelPS/LobbyServer/Archive/GetArchives.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Archive { diff --git a/EpinelPS/LobbyServer/Archive/GetNonResettable.cs b/EpinelPS/LobbyServer/Archive/GetNonResettable.cs index ec70181..f32a2ad 100644 --- a/EpinelPS/LobbyServer/Archive/GetNonResettable.cs +++ b/EpinelPS/LobbyServer/Archive/GetNonResettable.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; // Ensure this namespace is included +using EpinelPS.Data; // Ensure this namespace is included namespace EpinelPS.LobbyServer.Archive diff --git a/EpinelPS/LobbyServer/Archive/GetResettable.cs b/EpinelPS/LobbyServer/Archive/GetResettable.cs index 71cac32..cdbeee9 100644 --- a/EpinelPS/LobbyServer/Archive/GetResettable.cs +++ b/EpinelPS/LobbyServer/Archive/GetResettable.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Archive { [PacketPath("/archive/scenario/getresettable")] diff --git a/EpinelPS/LobbyServer/Archive/MessengerGet.cs b/EpinelPS/LobbyServer/Archive/MessengerGet.cs index 86c29d5..7a5feab 100644 --- a/EpinelPS/LobbyServer/Archive/MessengerGet.cs +++ b/EpinelPS/LobbyServer/Archive/MessengerGet.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Archive { diff --git a/EpinelPS/LobbyServer/Campaign/GetCampaignField.cs b/EpinelPS/LobbyServer/Campaign/GetCampaignField.cs index f281795..cf06794 100644 --- a/EpinelPS/LobbyServer/Campaign/GetCampaignField.cs +++ b/EpinelPS/LobbyServer/Campaign/GetCampaignField.cs @@ -1,5 +1,5 @@ using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Campaign diff --git a/EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs b/EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs index 272454b..cc07547 100644 --- a/EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs +++ b/EpinelPS/LobbyServer/Campaign/GetFieldObjectsCount.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Campaign diff --git a/EpinelPS/LobbyServer/Campaign/ObtainItem.cs b/EpinelPS/LobbyServer/Campaign/ObtainItem.cs index cd906cf..7afe983 100644 --- a/EpinelPS/LobbyServer/Campaign/ObtainItem.cs +++ b/EpinelPS/LobbyServer/Campaign/ObtainItem.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Campaign diff --git a/EpinelPS/LobbyServer/Campaign/SaveFieldObject.cs b/EpinelPS/LobbyServer/Campaign/SaveFieldObject.cs index c69b907..c9f6b86 100644 --- a/EpinelPS/LobbyServer/Campaign/SaveFieldObject.cs +++ b/EpinelPS/LobbyServer/Campaign/SaveFieldObject.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Campaign diff --git a/EpinelPS/LobbyServer/Character/DoLimitBreak.cs b/EpinelPS/LobbyServer/Character/DoLimitBreak.cs index 898ed90..859897a 100644 --- a/EpinelPS/LobbyServer/Character/DoLimitBreak.cs +++ b/EpinelPS/LobbyServer/Character/DoLimitBreak.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/GetCharacterCostume.cs b/EpinelPS/LobbyServer/Character/GetCharacterCostume.cs index 1db64fb..9703e87 100644 --- a/EpinelPS/LobbyServer/Character/GetCharacterCostume.cs +++ b/EpinelPS/LobbyServer/Character/GetCharacterCostume.cs @@ -1,4 +1,4 @@ -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/LevelUp.cs b/EpinelPS/LobbyServer/Character/LevelUp.cs index 13156a6..b65e816 100644 --- a/EpinelPS/LobbyServer/Character/LevelUp.cs +++ b/EpinelPS/LobbyServer/Character/LevelUp.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/ObtainEpReward.cs b/EpinelPS/LobbyServer/Character/ObtainEpReward.cs index 2e0f759..3b17c03 100644 --- a/EpinelPS/LobbyServer/Character/ObtainEpReward.cs +++ b/EpinelPS/LobbyServer/Character/ObtainEpReward.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Database; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/ResetLevel.cs b/EpinelPS/LobbyServer/Character/ResetLevel.cs index 36cbb6d..e79eff9 100644 --- a/EpinelPS/LobbyServer/Character/ResetLevel.cs +++ b/EpinelPS/LobbyServer/Character/ResetLevel.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/SkillLevelUp.cs b/EpinelPS/LobbyServer/Character/SkillLevelUp.cs index cfdc5e7..6dff6dc 100644 --- a/EpinelPS/LobbyServer/Character/SkillLevelUp.cs +++ b/EpinelPS/LobbyServer/Character/SkillLevelUp.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/SynchroLevelUp.cs b/EpinelPS/LobbyServer/Character/SynchroLevelUp.cs index 92aee81..31dbe76 100644 --- a/EpinelPS/LobbyServer/Character/SynchroLevelUp.cs +++ b/EpinelPS/LobbyServer/Character/SynchroLevelUp.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Character diff --git a/EpinelPS/LobbyServer/Character/UpgradeCore.cs b/EpinelPS/LobbyServer/Character/UpgradeCore.cs index 301494e..58be316 100644 --- a/EpinelPS/LobbyServer/Character/UpgradeCore.cs +++ b/EpinelPS/LobbyServer/Character/UpgradeCore.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Character { diff --git a/EpinelPS/LobbyServer/Event/GetEventScenario.cs b/EpinelPS/LobbyServer/Event/GetEventScenario.cs index f23c6e0..9d8d7aa 100644 --- a/EpinelPS/LobbyServer/Event/GetEventScenario.cs +++ b/EpinelPS/LobbyServer/Event/GetEventScenario.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; -using EpinelPS.StaticInfo; // For GameData access +using EpinelPS.Data; // For GameData access using System.Linq; using System.Threading.Tasks; diff --git a/EpinelPS/LobbyServer/Gacha/ExecGacha.cs b/EpinelPS/LobbyServer/Gacha/ExecGacha.cs index b71e653..6fb7cfc 100644 --- a/EpinelPS/LobbyServer/Gacha/ExecGacha.cs +++ b/EpinelPS/LobbyServer/Gacha/ExecGacha.cs @@ -4,7 +4,7 @@ //NetUserCurrencyData fields Type 9000 and Value 150 //NetRewardData field Currency = new NetUserCurrencyData copy type and value from response.Currencies new NetUserCurrencyData using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Gacha diff --git a/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs b/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs index 41c9edf..c46b977 100644 --- a/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs +++ b/EpinelPS/LobbyServer/Gacha/ExecuteEventGacha.cs @@ -2,7 +2,7 @@ //but only does 1x pull //its here only so there is no system error on 1x free gacha event using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Gacha diff --git a/EpinelPS/LobbyServer/GetGacha.cs b/EpinelPS/LobbyServer/GetGacha.cs index 553e553..51bdee3 100644 --- a/EpinelPS/LobbyServer/GetGacha.cs +++ b/EpinelPS/LobbyServer/GetGacha.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer { diff --git a/EpinelPS/LobbyServer/Inventory/IncreaseEquipmentExp.cs b/EpinelPS/LobbyServer/Inventory/IncreaseEquipmentExp.cs index 9689f64..562eaf6 100644 --- a/EpinelPS/LobbyServer/Inventory/IncreaseEquipmentExp.cs +++ b/EpinelPS/LobbyServer/Inventory/IncreaseEquipmentExp.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Inventory diff --git a/EpinelPS/LobbyServer/LobbyUser/GetProfileFrame.cs b/EpinelPS/LobbyServer/LobbyUser/GetProfileFrame.cs index 25f809c..aee3af2 100644 --- a/EpinelPS/LobbyServer/LobbyUser/GetProfileFrame.cs +++ b/EpinelPS/LobbyServer/LobbyUser/GetProfileFrame.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.LobbyUser { diff --git a/EpinelPS/LobbyServer/LobbyUser/GetUserTitle.cs b/EpinelPS/LobbyServer/LobbyUser/GetUserTitle.cs index 3548e83..e4e6c90 100644 --- a/EpinelPS/LobbyServer/LobbyUser/GetUserTitle.cs +++ b/EpinelPS/LobbyServer/LobbyUser/GetUserTitle.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; // For GameData access +using EpinelPS.Data; // For GameData access namespace EpinelPS.LobbyServer.LobbyUser { diff --git a/EpinelPS/LobbyServer/LobbyUser/GetWallpaperInventory.cs b/EpinelPS/LobbyServer/LobbyUser/GetWallpaperInventory.cs index 7df9fb2..35cbb14 100644 --- a/EpinelPS/LobbyServer/LobbyUser/GetWallpaperInventory.cs +++ b/EpinelPS/LobbyServer/LobbyUser/GetWallpaperInventory.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.LobbyUser { [PacketPath("/user/getwallpaperinventory")] diff --git a/EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs b/EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs index 0b3c3e9..b40602f 100644 --- a/EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs +++ b/EpinelPS/LobbyServer/LobbyUser/MarkNoticeRead.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; // For GameData access +using EpinelPS.Data; // For GameData access namespace EpinelPS.LobbyServer.LobbyUser { diff --git a/EpinelPS/LobbyServer/LobbyUser/SetNicknameFree.cs b/EpinelPS/LobbyServer/LobbyUser/SetNicknameFree.cs index 48cee3d..f86f990 100644 --- a/EpinelPS/LobbyServer/LobbyUser/SetNicknameFree.cs +++ b/EpinelPS/LobbyServer/LobbyUser/SetNicknameFree.cs @@ -12,9 +12,11 @@ namespace EpinelPS.LobbyServer.LobbyUser var user = GetUser(); user.Nickname = req.Nickname; - var response = new ResSetNicknameFree(); - response.Result = SetNicknameResult.SetNicknameResultOkay; - response.Nickname = req.Nickname; + var response = new ResSetNicknameFree + { + Result = SetNicknameResult.SetNicknameResultOkay, + Nickname = req.Nickname + }; JsonDb.Save(); diff --git a/EpinelPS/LobbyServer/LobbyUser/SetNicknameInTutorial.cs b/EpinelPS/LobbyServer/LobbyUser/SetNicknameInTutorial.cs index e53f8dd..57ee1b6 100644 --- a/EpinelPS/LobbyServer/LobbyUser/SetNicknameInTutorial.cs +++ b/EpinelPS/LobbyServer/LobbyUser/SetNicknameInTutorial.cs @@ -12,9 +12,11 @@ namespace EpinelPS.LobbyServer.LobbyUser var user = GetUser(); user.Nickname = req.Nickname; - var response = new ResSetNicknameInTutorial(); - response.Result = SetNicknameResult.SetNicknameResultOkay; - response.Nickname = req.Nickname; + var response = new ResSetNicknameInTutorial + { + Result = SetNicknameResult.SetNicknameResultOkay, + Nickname = req.Nickname + }; JsonDb.Save(); diff --git a/EpinelPS/LobbyServer/LobbyUser/SetScenarioCompleted.cs b/EpinelPS/LobbyServer/LobbyUser/SetScenarioCompleted.cs index aa40b89..a70cf18 100644 --- a/EpinelPS/LobbyServer/LobbyUser/SetScenarioCompleted.cs +++ b/EpinelPS/LobbyServer/LobbyUser/SetScenarioCompleted.cs @@ -1,4 +1,5 @@ using EpinelPS.Database; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.LobbyUser @@ -9,21 +10,20 @@ namespace EpinelPS.LobbyServer.LobbyUser protected override async Task HandleAsync() { var req = await ReadData(); + var user = GetUser(); var response = new ResSetScenarioComplete { - // Mark the story "scenario" as completed. - // TODO: Get rewards by making a database of them from actual server. Reward = new NetRewardData() }; - - var user = JsonDb.GetUser(UserId); - if (user == null) - { - throw new Exception("null user in SetScenarioComplete command"); - } user.CompletedScenarios.Add(req.ScenarioId); + + if (GameData.Instance.ScenarioRewards.TryGetValue(req.ScenarioId, out ScenarioRewardRecord? record)) + { + response.Reward = RewardUtils.RegisterRewardsForUser(user, record.reward_id); + } + JsonDb.Save(); await WriteDataAsync(response); diff --git a/EpinelPS/LobbyServer/LobbyUser/SetWallpaper.cs b/EpinelPS/LobbyServer/LobbyUser/SetWallpaper.cs index 47b69f3..0d8d33f 100644 --- a/EpinelPS/LobbyServer/LobbyUser/SetWallpaper.cs +++ b/EpinelPS/LobbyServer/LobbyUser/SetWallpaper.cs @@ -11,11 +11,11 @@ namespace EpinelPS.LobbyServer.LobbyUser var req = await ReadData(); var response = new ResSetWallpaper(); var user = GetUser(); - user.WallpaperList = req.WallpaperList.ToArray(); - user.WallpaperBackground = req.WallpaperBackgroundList.ToArray(); - user.WallpaperFavoriteList = req.WallpaperFavoriteList.ToArray(); - user.WallpaperPlaylistList = req.WallpaperPlaylistList.ToArray(); - user.WallpaperJukeboxList = req.WallpaperJukeboxList.ToArray(); + user.WallpaperList = [.. req.WallpaperList]; + user.WallpaperBackground = [.. req.WallpaperBackgroundList]; + user.WallpaperFavoriteList = [.. req.WallpaperFavoriteList]; + user.WallpaperPlaylistList = [.. req.WallpaperPlaylistList]; + user.WallpaperJukeboxList = [.. req.WallpaperJukeboxList]; JsonDb.Save(); diff --git a/EpinelPS/LobbyServer/LobbyUser/Tutorial/SetTutorial.cs b/EpinelPS/LobbyServer/LobbyUser/Tutorial/SetTutorial.cs index ed5b478..d1cb102 100644 --- a/EpinelPS/LobbyServer/LobbyUser/Tutorial/SetTutorial.cs +++ b/EpinelPS/LobbyServer/LobbyUser/Tutorial/SetTutorial.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.LobbyUser.Tutorial diff --git a/EpinelPS/LobbyServer/Messenger/EnterFinishSubquest.cs b/EpinelPS/LobbyServer/Messenger/EnterFinishSubquest.cs index cd3a385..448db93 100644 --- a/EpinelPS/LobbyServer/Messenger/EnterFinishSubquest.cs +++ b/EpinelPS/LobbyServer/Messenger/EnterFinishSubquest.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Messenger @@ -17,7 +17,7 @@ namespace EpinelPS.LobbyServer.Messenger var opener = GameData.Instance.Subquests.Where(x => x.Key == req.SubQuestId).First(); var conversation = GameData.Instance.Messages.Where(x => x.Value.conversation_id == opener.Value.end_messenger_conversation_id && x.Value.is_opener).First(); - response.Message = user.CreateMessage(conversation.Value); + response.Message = user.CreateMessage(conversation.Value, 1); JsonDb.Save(); await WriteDataAsync(response); diff --git a/EpinelPS/LobbyServer/Messenger/EnterMessenger.cs b/EpinelPS/LobbyServer/Messenger/EnterMessenger.cs index 21f862d..2e4feef 100644 --- a/EpinelPS/LobbyServer/Messenger/EnterMessenger.cs +++ b/EpinelPS/LobbyServer/Messenger/EnterMessenger.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Database; namespace EpinelPS.LobbyServer.Messenger diff --git a/EpinelPS/LobbyServer/Messenger/EnterSubquest.cs b/EpinelPS/LobbyServer/Messenger/EnterSubquest.cs index bd77aec..76f3355 100644 --- a/EpinelPS/LobbyServer/Messenger/EnterSubquest.cs +++ b/EpinelPS/LobbyServer/Messenger/EnterSubquest.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Messenger diff --git a/EpinelPS/LobbyServer/Messenger/FinishSubquest.cs b/EpinelPS/LobbyServer/Messenger/FinishSubquest.cs index 4c28862..14a1f04 100644 --- a/EpinelPS/LobbyServer/Messenger/FinishSubquest.cs +++ b/EpinelPS/LobbyServer/Messenger/FinishSubquest.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Messenger diff --git a/EpinelPS/LobbyServer/Messenger/ProceedMsg.cs b/EpinelPS/LobbyServer/Messenger/ProceedMsg.cs index 86f38ac..4c6dbe3 100644 --- a/EpinelPS/LobbyServer/Messenger/ProceedMsg.cs +++ b/EpinelPS/LobbyServer/Messenger/ProceedMsg.cs @@ -1,5 +1,5 @@ using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Database; namespace EpinelPS.LobbyServer.Messenger diff --git a/EpinelPS/LobbyServer/Misc/GetStaticDataPack.cs b/EpinelPS/LobbyServer/Misc/GetStaticDataPack.cs index bc4e58d..8d57b3b 100644 --- a/EpinelPS/LobbyServer/Misc/GetStaticDataPack.cs +++ b/EpinelPS/LobbyServer/Misc/GetStaticDataPack.cs @@ -1,4 +1,4 @@ -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; using Google.Protobuf; diff --git a/EpinelPS/LobbyServer/Mission/ObtainAchievement.cs b/EpinelPS/LobbyServer/Mission/ObtainAchievement.cs index 5876a6b..e6769cb 100644 --- a/EpinelPS/LobbyServer/Mission/ObtainAchievement.cs +++ b/EpinelPS/LobbyServer/Mission/ObtainAchievement.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Mission diff --git a/EpinelPS/LobbyServer/Mission/ObtainDaily.cs b/EpinelPS/LobbyServer/Mission/ObtainDaily.cs index 7b295da..72e62a2 100644 --- a/EpinelPS/LobbyServer/Mission/ObtainDaily.cs +++ b/EpinelPS/LobbyServer/Mission/ObtainDaily.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Mission diff --git a/EpinelPS/LobbyServer/Mission/ObtainWeekly.cs b/EpinelPS/LobbyServer/Mission/ObtainWeekly.cs index 850f3d5..8115ba8 100644 --- a/EpinelPS/LobbyServer/Mission/ObtainWeekly.cs +++ b/EpinelPS/LobbyServer/Mission/ObtainWeekly.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Mission diff --git a/EpinelPS/LobbyServer/Outpost/ClearTacticAcademyLesson.cs b/EpinelPS/LobbyServer/Outpost/ClearTacticAcademyLesson.cs index 8528b35..1d6608c 100644 --- a/EpinelPS/LobbyServer/Outpost/ClearTacticAcademyLesson.cs +++ b/EpinelPS/LobbyServer/Outpost/ClearTacticAcademyLesson.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Outpost diff --git a/EpinelPS/LobbyServer/Outpost/DoWipeout.cs b/EpinelPS/LobbyServer/Outpost/DoWipeout.cs index 2601368..44967d4 100644 --- a/EpinelPS/LobbyServer/Outpost/DoWipeout.cs +++ b/EpinelPS/LobbyServer/Outpost/DoWipeout.cs @@ -1,5 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Outpost { @@ -29,7 +30,7 @@ namespace EpinelPS.LobbyServer.Outpost response.Currencies.Add(new NetUserCurrencyData() { Type = (int)item.Key, Value = item.Value}); } - user.AddTrigger(StaticInfo.TriggerType.OutpostFastBattleReward, 1); + user.AddTrigger(TriggerType.OutpostFastBattleReward, 1); JsonDb.Save(); diff --git a/EpinelPS/LobbyServer/Outpost/GetOutpostData.cs b/EpinelPS/LobbyServer/Outpost/GetOutpostData.cs index 5d5218c..1b5c7de 100644 --- a/EpinelPS/LobbyServer/Outpost/GetOutpostData.cs +++ b/EpinelPS/LobbyServer/Outpost/GetOutpostData.cs @@ -1,6 +1,6 @@ using EpinelPS.Utils; using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Outpost { [PacketPath("/outpost/getoutpostdata")] diff --git a/EpinelPS/LobbyServer/Outpost/ObtainOutpostReward.cs b/EpinelPS/LobbyServer/Outpost/ObtainOutpostReward.cs index 1cab61d..c8cb398 100644 --- a/EpinelPS/LobbyServer/Outpost/ObtainOutpostReward.cs +++ b/EpinelPS/LobbyServer/Outpost/ObtainOutpostReward.cs @@ -1,5 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Msgs.Outpost { @@ -27,7 +28,7 @@ namespace EpinelPS.LobbyServer.Msgs.Outpost user.BattleTime = DateTime.UtcNow; - user.AddTrigger(StaticInfo.TriggerType.OutpostBattleReward, 1); + user.AddTrigger(TriggerType.OutpostBattleReward, 1); JsonDb.Save(); diff --git a/EpinelPS/LobbyServer/Shop/GetProductList.cs b/EpinelPS/LobbyServer/Shop/GetProductList.cs index 3715f58..0cddca0 100644 --- a/EpinelPS/LobbyServer/Shop/GetProductList.cs +++ b/EpinelPS/LobbyServer/Shop/GetProductList.cs @@ -2,7 +2,7 @@ using System.Globalization; // Ensure this is included using System.Linq; using System.Threading.Tasks; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Shop diff --git a/EpinelPS/LobbyServer/Sidestory/ClearSideStoryStage.cs b/EpinelPS/LobbyServer/Sidestory/ClearSideStoryStage.cs index a9c72a9..df182e2 100644 --- a/EpinelPS/LobbyServer/Sidestory/ClearSideStoryStage.cs +++ b/EpinelPS/LobbyServer/Sidestory/ClearSideStoryStage.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Sidestory diff --git a/EpinelPS/LobbyServer/Stage/ClearStage.cs b/EpinelPS/LobbyServer/Stage/ClearStage.cs index 07efe1b..8f22015 100644 --- a/EpinelPS/LobbyServer/Stage/ClearStage.cs +++ b/EpinelPS/LobbyServer/Stage/ClearStage.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Stage diff --git a/EpinelPS/LobbyServer/Stage/EnterStage.cs b/EpinelPS/LobbyServer/Stage/EnterStage.cs index ad0122a..e80b819 100644 --- a/EpinelPS/LobbyServer/Stage/EnterStage.cs +++ b/EpinelPS/LobbyServer/Stage/EnterStage.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Stage diff --git a/EpinelPS/LobbyServer/Subquest/EnrollSubquest.cs b/EpinelPS/LobbyServer/Subquest/EnrollSubquest.cs index d7fdcc4..904b7bf 100644 --- a/EpinelPS/LobbyServer/Subquest/EnrollSubquest.cs +++ b/EpinelPS/LobbyServer/Subquest/EnrollSubquest.cs @@ -1,4 +1,4 @@ -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; using EpinelPS.Database; diff --git a/EpinelPS/LobbyServer/Subquest/SetTrigger.cs b/EpinelPS/LobbyServer/Subquest/SetTrigger.cs index c0bf809..9fe747e 100644 --- a/EpinelPS/LobbyServer/Subquest/SetTrigger.cs +++ b/EpinelPS/LobbyServer/Subquest/SetTrigger.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Subquest diff --git a/EpinelPS/LobbyServer/Tower/ClearTower.cs b/EpinelPS/LobbyServer/Tower/ClearTower.cs index f52156b..5917e5e 100644 --- a/EpinelPS/LobbyServer/Tower/ClearTower.cs +++ b/EpinelPS/LobbyServer/Tower/ClearTower.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Tower { diff --git a/EpinelPS/LobbyServer/Tower/EnterTower.cs b/EpinelPS/LobbyServer/Tower/EnterTower.cs index 3154674..ed1b8dd 100644 --- a/EpinelPS/LobbyServer/Tower/EnterTower.cs +++ b/EpinelPS/LobbyServer/Tower/EnterTower.cs @@ -1,5 +1,6 @@ using EpinelPS.Database; using EpinelPS.Utils; +using EpinelPS.Data; namespace EpinelPS.LobbyServer.Tower { @@ -14,7 +15,7 @@ namespace EpinelPS.LobbyServer.Tower var response = new ResEnterTower(); - user.AddTrigger(StaticInfo.TriggerType.TowerAllStart, 1); + user.AddTrigger(TriggerType.TowerAllStart, 1); JsonDb.Save(); await WriteDataAsync(response); diff --git a/EpinelPS/LobbyServer/Trigger/FinishMainQuest.cs b/EpinelPS/LobbyServer/Trigger/FinishMainQuest.cs index cfa1c7a..786a05a 100644 --- a/EpinelPS/LobbyServer/Trigger/FinishMainQuest.cs +++ b/EpinelPS/LobbyServer/Trigger/FinishMainQuest.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; namespace EpinelPS.LobbyServer.Trigger diff --git a/EpinelPS/LobbyServer/Trigger/ObtainMainQuestReward.cs b/EpinelPS/LobbyServer/Trigger/ObtainMainQuestReward.cs index ba78537..1ec6fda 100644 --- a/EpinelPS/LobbyServer/Trigger/ObtainMainQuestReward.cs +++ b/EpinelPS/LobbyServer/Trigger/ObtainMainQuestReward.cs @@ -1,6 +1,6 @@ using EpinelPS.Database; using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; using System; using System.Collections.Generic; diff --git a/EpinelPS/Program.cs b/EpinelPS/Program.cs index cfbc419..490e0ee 100644 --- a/EpinelPS/Program.cs +++ b/EpinelPS/Program.cs @@ -1,7 +1,7 @@ using EpinelPS.Database; using EpinelPS.LobbyServer; using EpinelPS.LobbyServer.Stage; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using EpinelPS.Utils; using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.AspNetCore.Server.Kestrel.Https; diff --git a/EpinelPS/Utils/FormulaUtils.cs b/EpinelPS/Utils/FormulaUtils.cs index f646910..e864694 100644 --- a/EpinelPS/Utils/FormulaUtils.cs +++ b/EpinelPS/Utils/FormulaUtils.cs @@ -1,4 +1,4 @@ -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.Utils { diff --git a/EpinelPS/Utils/NetUtils.cs b/EpinelPS/Utils/NetUtils.cs index 1bfcd33..6161af5 100644 --- a/EpinelPS/Utils/NetUtils.cs +++ b/EpinelPS/Utils/NetUtils.cs @@ -1,5 +1,5 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; using Google.Protobuf.WellKnownTypes; using System.Collections.Generic; using static Google.Rpc.Context.AttributeContext.Types; diff --git a/EpinelPS/Utils/RewardUtils.cs b/EpinelPS/Utils/RewardUtils.cs index 68f60ed..cd39d74 100644 --- a/EpinelPS/Utils/RewardUtils.cs +++ b/EpinelPS/Utils/RewardUtils.cs @@ -1,13 +1,17 @@ using EpinelPS.Database; -using EpinelPS.StaticInfo; +using EpinelPS.Data; namespace EpinelPS.Utils { // Calculate rewards for various messages public class RewardUtils { - - public static NetRewardData RegisterRewardsForUser(Database.User user, RewardTableRecord rewardData) + public static NetRewardData RegisterRewardsForUser(User user, int rewardId) + { + var rewardData = GameData.Instance.GetRewardTableEntry(rewardId) ?? throw new Exception($"unknown reward id {rewardId}"); + return RegisterRewardsForUser(user, rewardData); + } + public static NetRewardData RegisterRewardsForUser(User user, RewardTableRecord rewardData) { NetRewardData ret = new(); ret.PassPoint = new(); diff --git a/ServerSelector/ServerSwitcher.cs b/ServerSelector/ServerSwitcher.cs index ca64294..f7eb1ce 100644 --- a/ServerSelector/ServerSwitcher.cs +++ b/ServerSelector/ServerSwitcher.cs @@ -60,6 +60,8 @@ namespace ServerSelector string launcherCertList = launcherPath + "/intl_service/cacert.pem"; string gameCertList = gamePath + "/nikke_Data/Plugins/x86_64/intl_cacert.pem"; + if (!File.Exists(gameCertList)) + gameCertList = gamePath + "/nikke_Data/Plugins/x86_64/cacert.pem"; // older INTL sdk versions if (File.Exists(launcherCertList)) { @@ -163,6 +165,8 @@ namespace ServerSelector string launcherCertList = launcherPath + "/intl_service/cacert.pem"; string gameCertList = gamePath + "/nikke_Data/Plugins/x86_64/intl_cacert.pem"; + if (!File.Exists(gameCertList)) + gameCertList = gamePath + "/nikke_Data/Plugins/x86_64/cacert.pem"; // older INTL sdk versions bool supported = true; if (OperatingSystem.IsLinux())