Rewarded videos ads to test a skin (#3120)

## Description:

Added rewarded video ads for skin trials via Playwire's
manuallyCreateRewardUi API. Users can now click "Try me" to watch a
video ad and receive a temporary skin trial. Upon completion a temporary
flare is granted to the player so they have ~5 minutes to use the skin.

added getPlayerCosmeticsRefs and getPlayerCosmetics to Cosmetics.ts to
centralize cosmetic retrieval & validation.

<img width="801" height="534" alt="Screenshot 2026-02-10 at 7 58 14 PM"
src="https://github.com/user-attachments/assets/51cc378c-2feb-4692-8cf2-20ee54cea3b8"
/>

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced

## Please put your Discord username so you can be contacted if a bug or
regression is found:

evan
This commit is contained in:
Evan
2026-02-11 20:52:48 -08:00
committed by GitHub
parent d80b2d2bb9
commit 97d0a05d58
14 changed files with 548 additions and 89 deletions
+6 -4
View File
@@ -868,13 +868,15 @@
"show_only_owned": "My Skins",
"all_owned": "All skins owned! Check back later for new items.",
"not_logged_in": "Not logged in",
"blocked": {
"login": "You must be logged in to access this skin.",
"purchase": "Purchase this skin to unlock it."
},
"pattern": {
"default": "Default"
},
"try_me": "Try me!",
"trial_remaining": "remaining",
"trial_granted": "Skin trial granted!",
"trial_cooldown": "Only one trial per 24 hours. Please try again later.",
"reward_countdown": "Reward in {seconds} seconds...",
"steam_wishlist_prompt": "Support OpenFront by adding it to your Steam wishlist",
"select_skin": "Select Skin",
"selected": "selected"
},