1
mirror of https://github.com/thepeacockproject/Peacock synced 2025-03-01 14:43:02 +01:00

41 Commits

Author SHA1 Message Date
moonysolari
de98595db1
Fix snowdrop having graduation's challenges (#217)
* fix snowdrop having graduation's challenges

* add exception for snowdrop

* Revert "fix snowdrop having graduation's challenges"

This reverts commit 6c539611574c537aa391bcdd09b1eacc3f7a1606.

* also fix for h2

---------

Co-authored-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>
2023-04-16 06:22:06 +01:00
AnthonyFuller
7f86bddf21 Stop escalation challenges from showing in Snug 2023-04-14 23:54:31 +01:00
moonysolari
14faf6ed25
Add global escalation challenges (#210)
* Added escalation challenges

* add legacy and custom escalations to list

* add h2 escalation challenges

* Run prettier

* Added H1 Escalation challenges

---------

Co-authored-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>
2023-04-14 23:41:43 +01:00
Reece Dunham
4575924e80
Rewrite the escalation service to use group contracts (#63)
* Rewrite the escalation service to use group contracts (#28)

* Fix build and type errors

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

* Improve Escalation Functionality with Contract Groups (#160)

* Fix Sinbad escalation and add group definition

* Add group contracts and fix InGroup IDs where needed

* Run prettier

* Add missing group definitions

* Fixed id issues with sinbad

* Fix missionsInLocation.ts

* Added groupdefinitions (#198)

Added localization and missing groupdefinitions for Peacock custom escalations

* Fix incorrect escalation contract ids

* Remove missing escalations

* Add Ataro group definition

* Add 7DS entrances

* Restore no2016 functionality, add xmas to no2016 list

* Add missing deluxe escalation entrance

* Fix linting

* Added h3 escalations (#204)

* Added h3 escalations

Added all remaining escalations from h3 maps

* Prettier

yeehaw

---------

Co-authored-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>

* Fix escalation completion

* Fix smilax level 1

* Fix escalation challenges not completing

* Get groups when resolving contracts

* track escalation challenge completion

* fix mission end page for escalation challenges

* Update GameChangerProperties

* Update EvergreenGameChangerProperties

* Add new GameChangerProperties

* Fix aborting on invalid escalation group

* remove dupe yellow rabbit suit

* Fixed DGS having no challenges on career page

* run prettier

* Update Proloff Level 2

* Update escalation hub tile to work with group contracts

* Move escalations and elusives to subfolders

* Add 7DS campaign

* Fix escalation level picker

* Fix escalations being incorrectly marked as completed

* Remove completed status when editing escalation level progress

* Add new H3 escalations to level picker

* Add Season tag to elusives for future use

* Add Season tag to typedefs

* Respect Season tag when sending elusives

* Add Legacy Escalations

* Remove milfoil for now, add escalations to missions

* Move xmas escalation

* Fix Snowdrop not showing in 2016

* Add missing entitlements to escalations

* Fix play next level in 2016, remove use of deprecated function

* Move remaining Peacock escalations

* Swap out featured Peacock escalation

---------

Signed-off-by: Reece Dunham <me@rdil.rocks>
Co-authored-by: moonysolari <118079569+moonysolari@users.noreply.github.com>
Co-authored-by: Kaki <66200818+Kakiking@users.noreply.github.com>
Co-authored-by: moonysolari <changyiding@126.com>
Co-authored-by: riisikumi <54016129+riisikumi@users.noreply.github.com>
Co-authored-by: AnthonyFuller <24512050+AnthonyFuller@users.noreply.github.com>
2023-04-14 03:13:16 +01:00
moonysolari
7f74ac7380
Add Elusive Target challenges on H3 (#192)
* Only change elusive contract types at getforplay

* Update the angel of death json

* Add ET challenges for all locations

* Correctly get elusives challenges in contracts

* Add CHALLENGES_ELUSIVE_TARGET_MIAMI

* Add global elusives challenges

* Remove " - Year 2" texts

* Correct strings in the Brothers challenges

* Latest ET challenge extraction script

* Add flag to toggle elusives saving

* make elusive target challenges game version aware

* remove extra BLOODYMARY challenges

* Fix The Blackmailer strings

* Remove duplicate global challenges definitions

* Filter out elusive challenges for location page

* update info on et tab on career-challenges page

* Allow elusives to be restarted in H2/3, add flag for H2016

---------

Co-authored-by: Anthony Fuller <24512050+AnthonyFuller@users.noreply.github.com>
2023-04-13 18:49:31 -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 78beddec9552733fda12bbc8c44cee047def10b5.

* Track area discovery in evergreen

* remove persistentBools

* fix global challenges' location

* run prettier

* fix REVEALED
2023-04-10 04:50:58 +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
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
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
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
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
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
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
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
163f8e0452 Significant performance improvement that I have not actually tested 2023-01-28 21:59:26 -05:00
moonysolari
7b4e417cb0
Fix planning page challenges ui (#95) 2023-01-28 17:27:44 +00: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
60e7648a60
Fix some strange imports
Signed-off-by: Reece Dunham <me@rdil.rocks>
2023-01-23 13:33:45 -05: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
moonysolari
39b659d733
Improve getting challenges for contracts (#83) 2023-01-17 20:40:59 -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
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
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
Reece Dunham
c35f9a463d Fix a bug causing an infinite loop when certain challenges are completed 2022-12-28 15:25:12 -05:00
Reece Dunham
73ff78b7c2
Reworking of challenge system (#50) 2022-12-12 16:38:55 -05:00
Reece Dunham
840cd0b57a Move challenge contexts to the session 2022-11-20 20:28:01 +01:00
Reece Dunham
f0cb118c88 Fix 2016 route not returning the right data (doesn't do anything yet) 2022-11-18 21:49:11 -05:00
Reece Dunham
cbc7238912
Add type for challenge scopes
Signed-off-by: Reece Dunham <me@rdil.rocks>
2022-10-25 15:11:38 -04:00
Reece Dunham
6245e91624 Initial commit
Co-authored-by: Tino Roivanen <tino.roivanen98@gmail.com>
Co-authored-by: Govert de Gans <grappigegovert@hotmail.com>
Co-authored-by: Gray Olson <gray@grayolson.com>
Co-authored-by: Alexandre Sanchez <alex73630@gmail.com>
Co-authored-by: Anthony Fuller <24512050+anthonyfuller@users.noreply.github.com>
Co-authored-by: atampy25 <24306974+atampy25@users.noreply.github.com>
Co-authored-by: David <davidstulemeijer@gmail.com>
Co-authored-by: c0derMo <c0dermo@users.noreply.github.com>
Co-authored-by: Jeevat Singh <jeevatt.singh@gmail.com>
Signed-off-by: Reece Dunham <me@rdil.rocks>
2022-10-19 21:33:45 -04:00