1
mirror of https://github.com/thepeacockproject/Peacock synced 2024-11-29 09:15:11 +01:00
Commit Graph

197 Commits

Author SHA1 Message Date
moonysolari
46777981dd
fix nullablility issue affecting eg wardrobe (#206) 2023-04-11 19:59:39 -04:00
moonysolari
efd6ede347
Support configurable default starting suits lock/unlock (#202)
* refactor: use object for suit lookup

* improve sublocation default suits

* change getDefaultSuitFor function signature

* use TOKEN_OUTFIT_WET_SUIT to simplify logic

* Correctly hide/give default starting suits
2023-04-11 12:10:24 -04:00
Lennard Fonteijn
74a387445d Added support for statistics under the Player Profile menu 2023-04-11 10:55:43 +02:00
moonysolari
4499173e29
Update AreaDiscovered challenges during evergreen missions (#196)
* 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
2023-04-10 04:50:58 +01:00
Reece Dunham
6998d2b3fb Fix the type checking 2023-04-08 22:48:27 -04:00
Reece Dunham
673bfec718
Improve how export debug info stores data (#185)
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-04-06 23:07:54 -04:00
moonysolari
3ded3490e1
Fix contract lookup for H2 (#179)
* Fix contract lookup for H2

* dedupe jsons
2023-04-06 22:03:59 -04:00
Lennard Fonteijn
303b0596d2
Fixed an issue where refresh_token was not properly served (#190) 2023-04-06 21:47:08 +01:00
Lennard Fonteijn
b8a68820d9
Added fallback for loadSession in case someone might have disconnected. (#191) 2023-04-06 21:46:28 +01:00
moonysolari
21b3663c50
Added featured contracts challenges (#186)
* Add semi-working featured contracts challenges

* Pass contract IDs to $pushunique (need SMP update)

* Add readme for challenges

* Use drop ids

* fix fc challenges json

* Added h2 featuren contracts challenges

* Update smp to 5.4.0
2023-04-06 17:05:36 +01:00
Lennard Fonteijn
02f1fbbc00
Added additional logging for debugging purposes (#183) 2023-04-06 00:21:12 +01:00
moonysolari
1e6e9a8c11
fix: type mismatches due to version-awareness (#184) 2023-04-05 21:43:10 +01:00
J0k3r-1
ce0f64cf30
feat: initial support for mastery progression (#161)
* 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>
2023-04-05 20:19:28 +01:00
moonysolari
5fff1c89ae
Fix challenges for H2 and H2016 (#152)
* 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>
2023-04-05 20:02:25 +01:00
moonysolari
79dc9b8fa0
Support "Discover [Location]" challenges (#180) 2023-04-04 09:15:35 -04:00
Reece Dunham
da1d1e4818
Slight unification to 2016 stashpoint logic
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-04-02 00:59:47 -04:00
Reece Dunham
a1961521fd
Add assertion that game version is provided in campaigns
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-04-02 00:25:32 -04:00
Reece Dunham
3421ee385b
Fix some style issues
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-04-02 00:22:26 -04:00
Reece Dunham
8fcd4db87d
Add assertions to prevent type confusion
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-04-02 00:10:14 -04:00
Lennard Fonteijn
bb63c06b31 Fixed location mastery from not always properly showing in the menus 2023-04-02 02:06:07 +02:00
Lennard Fonteijn
307ab08d89 Fixed all challenges JSON-files to contain the expected data format 2023-04-01 23:26:02 +02:00
Lennard Fonteijn
87b2743ce3 Fixed drops from not showing on their respective challenges in the menu 2023-04-01 23:26:02 +02:00
Lennard Fonteijn
10ce9c14e8
Fixed default log levels for "run-dev" (#175) 2023-03-31 20:17:53 -04:00
moonysolari
d8334918bf
Update Elusive Target jsons to add VR bricks (#169)
* Update et jsons

* Update ET list
2023-03-29 22:30:17 -04:00
moonysolari
fd3ca51f85
Store inclusion data for global challenges (#167) 2023-03-29 17:38:48 -04:00
moonysolari
3906b1e348
Remove recon gear and update inventory items list (#168)
* fix some ownerships

* Remove recon gear

* Updated legacy unlockables
2023-03-29 16:02:15 -04:00
moonysolari
f961c08846
Fix SA for freelancer (#164) 2023-03-26 17:20:55 -04:00
Reece Dunham
732632f212
Update the image pack
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-03-26 17:10:27 -04:00
Lennard Fonteijn
f732942e39
Add support for logging to console and files (#159)
* 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
2023-03-26 14:59:57 -04:00
moonysolari
3c25f20174
Favorite contracts rework (#163)
* favIcon+UI fix for contract lookup

* Fix favorite status for retrieved contracts

* Support all fav functionalities binded to "P"
2023-03-26 14:30:11 -04:00
AnthonyFuller
992c77af0d Set EG Level to 100 for default CPD 2023-03-26 14:02:39 +01:00
moonysolari
6d3ef2f486
Add mastery data for sniper missions (#148) 2023-03-24 09:19:01 -04:00
Lennard Fonteijn
22d6b6d1ba
Added vitest and configuration to support unit tests (#37)
* 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
2023-03-20 20:19:26 -04:00
moonysolari
856859f3ca
Implement contract history and completion tracker (#98) 2023-03-20 20:12:54 -04:00
moonysolari
7a47bb418a
remove confusing log output (#157) 2023-03-20 19:54:59 -04:00
moonysolari
e6f72eb53d
Prevent disconnections caused by contract report requests (#99) 2023-03-20 12:24:21 -04:00
Lennard Fonteijn
168aee05fe Fixed issue where LevelInfo was not properly set for normal contracts 2023-03-19 15:23:32 -04:00
Lennard Fonteijn
84fbce175b Fixed Challenge XP from being capped on the Player Profile menu
Fixed Freelancer to not have payout when the mission failed
Fixed score screen from crashing when the current location has no mastery drops
2023-03-19 14:15:19 -04:00
Lennard Fonteijn
0eef121ac8 Added support for Sniper locations on the score screen
Fixed issue with Mastery not leveling beyond level 1
Fixed issue where the score screen wouldn't show for locations without Mastery
2023-03-19 14:15:19 -04:00
Lennard Fonteijn
4031779a91 Added distinction between Mastery XP and Action XP
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
2023-03-19 14:15:19 -04:00
Lennard Fonteijn
ba9b799abe Add support for XP progression (#86)
* 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>
2023-03-19 14:15:19 -04:00
moonysolari
e8d7821c31
Fix nullability issue in inclusion data check (#154)
* Fix nullability issue in incData check

* Fix comments
2023-03-17 22:06:51 -04:00
moonysolari
4a08faeec0
Implement "Contract search", "Trending", and "Most played last week" tiles for contracts menu (#117)
* 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
2023-03-06 13:17:22 -05:00
moonysolari
5f5ce0abe0
Add global "The Classics" challenges (#146)
* bar and difficulty UI fixes

* nullability fix

* Improve deptree logic

* Refactor: inclusionDataCheck

* Added global The Classics challenges

* Refactoring: tryToCompleteChallenge

---------

Co-authored-by: Reece Dunham <me@rdil.rocks>
2023-03-06 12:13:13 -05:00
moonysolari
e5417e10d9
Add recommended mission stories (#138) 2023-03-06 12:12:52 -05:00
moonysolari
db4fa8d7b7
Removes disguises from suits in h1 and h2 (#149) 2023-03-06 12:12:28 -05:00
moonysolari
98c192f3a5
Remove The Caged Bull from h1 (#147)
* Remove caged bull from h1

* Explicitly fastClone FCgroups
2023-02-28 20:21:58 -05:00
moonysolari
9e15fcd4a2
Optimization: grouping challenges by parent locations (#143)
* Organize the challenges using parent locations

* Fix Career challenges page

* Simplify filtering

* remove unused ChallengeFilterType

* Add comments, address nullibility issues

* Nullibility fix
2023-02-24 11:39:55 -05:00
moonysolari
9c4c71d9a6
Fixed the "Continue Story" tile for the Patient Zero and A Silver Tongue mission end page (#137)
* Added PlayNext tiles for PZ and A Silver Tongue

* Add Patient Zero mission
2023-02-23 18:16:38 -05:00
moonysolari
7c3427858d
New checkForUpdates behavior for testing versions (#141)
* New behavior for testing versions
2023-02-23 18:14:33 -05:00
moonysolari
319815c3b9
Fix some bugs of The Jeffrey Consolation (#139)
* Add constantjeff brick

* Fix missing objectives
2023-02-23 09:29:15 -05:00
Reece Dunham
c2e57b6276
Merge branch 'v6' of https://github.com/thepeacockproject/Peacock into v6 2023-02-14 14:03:03 -05:00
Reece Dunham
b2cf8903b1
Tiny microoptimization in destination generation
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-02-14 14:02:57 -05:00
moonysolari
b4ca8ab690
Fix contract creation bugs (#133)
* Skip unknown mission stories

* Disable saving created contracts on the tutorial

* Update platformEntitlements.ts

Signed-off-by: Reece Dunham <me@rdil.rocks>

* Use relative import pathing

---------

Signed-off-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Reece Dunham <me@rdil.rocks>
2023-02-13 22:14:16 -05:00
moonysolari
e538854b10
Disable saving (#127) 2023-02-13 12:24:34 -05:00
moonysolari
a297973693
Get the latest entitlements for user upon authentication (#128)
* 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>
2023-02-12 00:02:38 -05:00
Cookie303728
a2df1d615d
adds a plugins folder when non is detected (#129) 2023-02-09 19:39:38 +01:00
moonysolari
9b64aa32c6
Remove duplicated items in the user's inventory (#112)
* ancestral fountain pen

* tactical wet suit

* colorado rabies suit

* move to brokenItems

* Changed to retain the other wetsuit
2023-02-05 15:21:01 -05:00
moonysolari
df5e3ae373
Use official downloader when HITMAP fails (#126) 2023-02-05 14:24:15 -05:00
moonysolari
546b81e0f2
Eliminate unwanted contract creation tiles (#125) 2023-02-05 10:56:08 -05:00
moonysolari
a551d30067
Remove unwanted contract creation locations (#100)
* Fix contract creation locations

* allow mamushi contract creation

* Update destinations.ts

Signed-off-by: Reece Dunham <me@rdil.rocks>

---------

Signed-off-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: Reece Dunham <me@rdil.rocks>
2023-02-01 18:44:32 -05:00
moonysolari
1d1e359b3a
Fix career -> challenges page (#97) 2023-01-29 15:34:30 +00:00
AnthonyFuller
8e0711d7e9 Fix Vanilla planning screen 2023-01-29 04:37:49 +00:00
AnthonyFuller
3a0b9d4a3e Add Snug location data 2023-01-29 04:36:50 +00:00
AnthonyFuller
da81ce9919 Add CPD to GFP2 requests and add new GCs to the pool 2023-01-29 04:35:31 +00:00
AnthonyFuller
ea93abf85e Add CPD support 2023-01-29 04:35:07 +00:00
AnthonyFuller
499631fa01 Up the limit on metric requests 2023-01-29 04:34:29 +00:00
AnthonyFuller
33ed4f02c7 Add Evergreen GCs and default CPD config 2023-01-29 04:33:43 +00:00
moonysolari
323419c497
Fix mission end screens for challenges (#88)
* 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>
2023-01-28 23:29:53 -05:00
Reece Dunham
485fa3dc45 Merge branch 'v6' of https://github.com/thepeacockproject/Peacock into v6 2023-01-28 21:59:32 -05:00
Reece Dunham
163f8e0452 Significant performance improvement that I have not actually tested 2023-01-28 21:59:26 -05:00
AnthonyFuller
275cb417b2 Respect inclusion data for GlobalChallenges 2023-01-29 02:44:54 +00:00
moonysolari
c617a23a04
Fix the legacy contract downloader and improve options related to it (#96)
* Fix legacy downloader for h3
2023-01-28 17:28:05 -05:00
moonysolari
7b4e417cb0
Fix planning page challenges ui (#95) 2023-01-28 17:27:44 +00:00
AnthonyFuller
926168bbd1 Fix elusive targets
(cherry picked from commit c8838f755b)
2023-01-28 16:58:22 +00:00
AnthonyFuller
71ce9f0f87 Bump server version
(cherry picked from commit fa5827e995)
2023-01-28 16:56:47 +00:00
AnthonyFuller
cfdf719e0e Add base WoA entitlements, fix sins
(cherry picked from commit e3c6175679)
2023-01-27 00:15:14 +00:00
AnthonyFuller
9e3dabdef0 Add new entitlements, remove EG items
(cherry picked from commit f9a48d0093)
2023-01-27 00:15:14 +00:00
moonysolari
1a15f4cf71
Fix HITMAN 2 stuck at loading main menu (#91)
* Fix H2 hub stuck at loading
2023-01-26 10:15:27 -05:00
Reece Dunham
8ec9fb1824
Update copyright years to 2023
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-01-23 13:37:33 -05:00
Reece Dunham
9747ec5082
Fix a nullability issue
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-01-23 13:34:08 -05:00
Reece Dunham
60e7648a60
Fix some strange imports
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-01-23 13:33:45 -05:00
Alexandre Sanchez
873df1de89
fix(contracts): difficulty not set to normal on first contract load 2023-01-21 23:09:24 +01:00
moonysolari
d6cae91a0f
Fix completion data generation function (#85)
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>
2023-01-21 10:53:14 +01:00
Lennard Fonteijn
85a55d4b48
Added service for mastery data (#30)
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
2023-01-20 22:00:20 +01:00
Reece Dunham
e238ecf720
Revert "Fixed issue where restarting Peacock would require to first go offline again"
This reverts commit 2cc63c9ec3.
2023-01-19 15:56:30 -05:00
Lennard Fonteijn
2cc63c9ec3 Fixed issue where restarting Peacock would require to first go offline again 2023-01-19 21:39:51 +01:00
moonysolari
39b659d733
Improve getting challenges for contracts (#83) 2023-01-17 20:40:59 -05:00
Reece Dunham
c7f7cafbb8
Remove todos for soon to be retired game versions
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-01-17 16:45:40 -05:00
moonysolari
d78d5bf3ea
Fix all broken challenges in #22 (#82)
* Using state machine parser 5.2.0

* Correctly store and load challenge contexts

* Update THIRDPARTYNOTICES
2023-01-16 13:30:06 -05:00
moonysolari
bfe82fe1e2
Implement the Challenges tab on the Career page (#80)
* 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
2023-01-14 02:12:08 -05:00
moonysolari
b1dfdb8066
Add Challenge completion and level completion percentage display (#79)
* Add challenges completion progress to responses

* Update components/scoreHandler.ts

Co-authored-by: Reece Dunham <me@rdil.rocks>
Signed-off-by: moonysolari <118079569+moonysolari@users.noreply.github.com>

Signed-off-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
Co-authored-by: Reece Dunham <me@rdil.rocks>
2023-01-12 10:35:27 -05:00
moonysolari
95b71b79e7
Fix a nullibility issue in previous pr (#76) 2023-01-11 16:22:17 -05:00
moonysolari
3adb4b1f67
Fix a number of bugs on progression, entitlements, and warning logs (#75)
* 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
2023-01-10 17:29:54 -05:00
moonysolari
e548325955
New saving/loading behaviors to fix bugs related to saving (#73)
Signed-off-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
2023-01-09 14:49:04 -05:00
moonysolari
d95553bd33
Fix image and text details on challenges page (#71)
* 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
2023-01-08 09:28:00 -05:00
moonysolari
fdfe8ff779
Fix default starting suits across different locations (#69) 2023-01-07 16:29:02 -05:00
moonysolari
f3803be4ef
Added Mission Story Progression (#68) 2023-01-06 21:15:14 -05:00
moonysolari
2ed110a703
Added challenges page for mission debriefing (#67)
* add debriefing challenges page
2023-01-04 11:36:22 -05:00
Reece Dunham
ba751852f1 Fix challenges being able to cause a recursion deadlock
Happens rarely, see https://discord.com/channels/826809653181808651/1058021993661861938 for an explanation.
2022-12-30 21:14:55 -05:00