* ignore AreaDiscovered for evergreen
* Revert "ignore AreaDiscovered for evergreen"
This reverts commit 78beddec95.
* Track area discovery in evergreen
* remove persistentBools
* fix global challenges' location
* run prettier
* fix REVEALED
* feat: Initial support for mastery progression
* chore: Fix typo
* feat: Award users challenge drops immediately after completion. Also builds the inventory on startup with those drops
* feat: Award mastery unlockables to user as soon as they are available
* feat: Added flag to toggle mastery progression
* fix: Address linting issues
* feat: Handle loadout lock for Miami and Hokkaido
* fix: Looking for LimitedSlots on parent location, to include all contracts on the location
* Update components/flags.ts
Co-authored-by: Reece Dunham <me@rdil.rocks>
Signed-off-by: J0k3r-1 <128742169+J0k3r-1@users.noreply.github.com>
* refactor: Look at location LimitedLoadout to prevent unecessary unlockable lookups
* refactor: Add a different Map for mapping Level and Location to an unlockable id
* fix: Prevent evergreen gear unlockables to be awarded to the user inventory w/t proper mastery level
Evergreen level unlockables for gear are treated the same as packages, and include the actual unlockable item within their properties, so similar logic to packages was needed to address those correctly
* refactor: Use gameVersion from contractSession on grantLocationMasteryXp
* fix: Fix typo
* feat: Add progression service to handle XP and Drop award (#1)
* refactor: Cleanup unused imports
* refactor: Added some improvments over feedback
* fix: Fix wrong evergreen check flag condition
* feat: Added challenge drops to missionEnd screen + minor fixes
* refactor: Removed writeUserData from challengeService
The progressionService already stores the data, so theres no need to call it again here
* fix: Prevent evergreenmastery unlock types from being awarded to the inventory
* chore: Amend the explanation for getLocationMasteryDrops on evergreen type unlock
* Update components/menus/planning.ts
Co-authored-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
Signed-off-by: J0k3r-1 <128742169+J0k3r-1@users.noreply.github.com>
* refactor: Award evergreenmastery but filter on inventory grant, like createInventory
* refactor: Refactor challenge drop usage as they have been refactored from Unlockable[] to string[]
* fix: Add mastery requirement for locked loadouts on Miami and Hokkaido + Add interface for sourcechallenge
* chore: Remove console.log
* fix: fixed H1 hokkaido not starting
---------
Signed-off-by: J0k3r-1 <128742169+J0k3r-1@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
* Add location templates for older game versions
* Fix challenge data extraction script for h1
* Add challenge location templates
* unfinished game version support
* Fix challenge data extraction script for H2
* Conform function calls to new signature
* Add a game version for all maps
* Improve comments
* Try to add difficulty support
* fix type error
* fix GetActiveChallengesAndProgression difficulty
* Add difficulty for GetChallengeTreeFor
* Fix up difficulty in other places
* Add challenges data jsons for all three games
* Add H2 global TC challenges
* Fix H1 challenge typeheader
* Fix Type fields in SavedChallenge
* Fix imports
* Delete backup file
* Reduce hard-coding of difficulty number
* Support versioned global challenges
* remove H2GlobalChallenges
* Add missing global Challenges
* Make versions a global variable
* run prettier
* Use Drop Ids instead of unlockables
---------
Co-authored-by: Reece Dunham <me@rdil.rocks>
* Add support for logging to console and files
* Added support for internal and custom log categories
Added support for disabling log categories
Added support for setting desired log levels for both console and file
* Added Vitest and configuration to support unit tests
Added Vite plugin to fix performance issue with JSON files
Added mock for configSwizzleManager to support the Vite plugin
* Added custom ESLint rule to enforce proper module paths
Added extended Profile Profile to main menu
Added support for Payout objectives on the score screen
Added flag for unlocking all shortcuts
Added flag for unlocking all Freelancer masteries
Added flag to allow Peacock to be restarted when the game is running and connected
Fixed issue where playstyle wasn't show properly
* Fixed issue where restarting Peacock would require to first go offline again
* Added proper player progression
* Fixed most issues with the mission end screen
* Added final tweaks to scoring
* Update global challenges
* Added near-complete support for Freelancer
Added support for unlocking shortcuts
Cleaned up a bunch of magic values in relation to XP and levels
---------
Co-authored-by: moonysolari <changyiding@126.com>
* Refactor: use function for lookupContractPublicId
* Trending and Mostplayed now display stuff
* Add call to contract-preserving backend
* Actually download contract data from official
* add getRemoteService function
* implement "contract search" tile
* Change variable naming
* Run prettier
* Change naming to hitmaps
* officialSearchContract -> contractsModeRouting.ts
* Fix imports
* Get entitlements on connection
* Fall back to old data upon failure
* Added checks on error type
* Update components/platformEntitlements.ts
Co-authored-by: Reece Dunham <me@rdil.rocks>
Signed-off-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
* Update platformEntitlements.ts
Signed-off-by: Reece Dunham <me@rdil.rocks>
---------
Signed-off-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
Signed-off-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Reece Dunham <me@rdil.rocks>
* Fix mission end screens for challenges
Signed-off-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>
Co-authored-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>
Added override for HideProgression
Added hidden mastery levels for FACILITY
Fixed Mastery-tab from showing when there aren't any drops
Co-authored-by: Lennard Fonteijn <lennard@lennardf1989.com>
Added simplified mastery data for all locations
Added runtime generation of the full mastery data
Added initial support for profile progression
Reworked code around loading of resources to be more generic
* Renders Career->Challenges page
* Support sniper levels on Career->Challenges page
* Refactor the code to get challenges for locations
* Support clicking tiles on Career->Challenges page
* Add elusives part (currently unsupported)
* Add gameVersion check to avoid issues on old games
* Fix "Contract undefined not found!" warnings
* Implement support for /GetContractOpportunities
* Add OpportunityData to MissionManifestMetadata
* Resolved a ts-expect-error by providing types
* Fix requiem unlockables pistol
* Adjust max player level
* Remove getChallengePlanningDataForContract
Use getChallengeTreeForContract in instead.
* Separate out the better function for switched data
* reduce calls of generateCompletionData
* Use new switch data batcher for destination part
* Move Contract Not Found warning to resolveContract