Builds / 1.15.82
Update 1.15.82
Compared with 1.15.80 · published Thu, 15 Oct 2026 00:10:17 GMT · live channel
Highlights
- Friends can now exchange gifts: send each friend Gems once a day and collect gifts from friends with one tap.
New content
- Friend Gifts: send each friend {0} Gems once a day, and earn {0} Gems for each gift you send. The exact amounts are set on the server and are not in this build's data.
- Send All and Receive All buttons let you send gifts to every friend and collect received gifts in one step.
- "Today's Gifts" view in the friends screen. Its status messages include "No gifts to receive", "All sent today", "Sent", and "Gifts from tomorrow".
- Result messages after gifting: "Received +{0} Gems" and "Sent to {0} friends · +{1} Gems".
- New Friend Gifts guide popup. Its tips say:
- Gifts can be sent once a day per friend, and you can send again when the day resets.
- New friends can exchange gifts from the next day.
- Unclaimed gifts stay, up to 1 per friend. (
FriendGiftGuidePopup)
Changes
- The friends menu notification now also shows when you have gifts to receive or send, not only pending friend requests. (
FriendManager) - The client now checks for gift counts when it polls for friend updates, and keeps them from the friend info it loads. (
FriendManager) - The friends screen is now loaded in a different way and with fewer dependencies. This appears to be a loading optimization. (
RightMenu) - The
ProfileDecoimage asset is slightly smaller.
Technical
- New
giftSendandgiftTakerequests added toFriendService, with matching/friend/giftSendand/friend/giftTakeendpoints inURLManager.giftTakecan target a single friend by uid or take all gifts. FriendPopupchunk grew by about 10 KB to hold the gift UI.- Version string updated to 1.15.82 (
VersionManager). - The
ArcheryGamePopup,FishingFlow,GuildWarBattlePopupV3, andvendor-pixichunks changed with no size change. They appear to be rebuild changes only.
AI summary (claude-sonnet-5-5) written from the diffs below. Check the evidence before quoting it.
Text changes 17
| Key | Text | |
|---|---|---|
| GAME_2104 | + | Today's Gifts |
| GAME_2105 | + | Once a day per friend · {0} Gems |
| GAME_2106 | + | Receive All |
| GAME_2107 | + | Send All |
| GAME_2108 | + | No gifts to receive |
| GAME_2109 | + | All sent today |
| GAME_2110 | + | Sent |
| GAME_2111 | + | Gifts from tomorrow |
| GAME_2112 | + | Friend Gifts |
| GAME_2113 | + | Send each friend {0} Gems once a day |
| GAME_2114 | + | You also get {0} Gems for each gift you send |
| GAME_2115 | + | Collect friends' gifts at once with [Receive All] |
| GAME_2116 | + | You can send again when the day resets |
| GAME_2117 | + | New friends can exchange gifts from the next day |
| GAME_2118 | + | Unclaimed gifts stay — up to 1 per friend |
| GAME_2119 | + | Received +{0} Gems |
| GAME_2120 | + | Sent to {0} friends · +{1} Gems |
Translations touched: de (17), es (17), fr (17), id (17), it (17), ja (17), ko (17), pl (17), pt (17), ru (17), th (17), tr (17), vi (17), zh-CN (17), zh-TW (17)
Assets 7
| File | Change | Size | Preview |
|---|---|---|---|
assets/chunks/ArcheryGamePopup.js |
changed | 27.9 KB → 27.9 KB | |
assets/chunks/FishingFlow.js |
changed | 868.1 KB → 868.1 KB | |
assets/chunks/FriendGiftGuidePopup.js |
added | 2.4 KB | |
assets/chunks/FriendPopup.js |
changed | 30.4 KB → 40.4 KB | |
assets/chunks/GuildWarBattlePopupV3.js |
changed | 113.9 KB → 113.9 KB | |
assets/chunks/vendor-pixi.js |
changed | 644.3 KB → 644.3 KB | |
assets/images/ProfileDeco.ktx2 |
changed | 815.2 KB → 811.5 KB |
Code 10 changes in 5 classes
Minified client code with short names blanked for diffing. Class names are real.
FriendService 1 hunks, 10 statements
+ async giftSend(){ + return this.post(yi.FRIEND.GIFT_SEND,{ + } + ,!0)} + async giftTake(t){ + return this.post(yi.FRIEND.GIFT_TAKE,t?{ + uid:t} + :{ + } + ,!0)}
FriendManager 5 hunks, 6 statements
- return t.unlocked&&t.pending>0} + return t.unlocked&&(t.pending>0||t.giftTake>0||t.giftSend>0)}
- var i; - (null==s?void 0:s.success)&&"number"==typeof(null==(i=s.body)?void 0:i.requests)&&(t.pending=s.body.requests)} + var i,h,e; + (null==s?void 0:s.success)&&("number"==typeof(null==(i=s.body)?void 0:i.requests)&&(t.pending=s.body.requests),"number"==typeof(null==(h=s.body)?void 0:h.giftTake)&&(t.giftTake=s.body.giftTake),"number"==typeof(null==(e=s.body)?void 0:e.giftSend)&&(t.giftSend=s.body.giftSend))}
- var i; + var i,h,e;
- return h?(t.info=h,t.pending=h.requests.length,t.lastPollAt=Date.now(),h):null} + return n?(t.info=n,t.pending=n.requests.length,t.giftTake=(null==(h=n.gift)?void 0:h.take)??0,t.giftSend=(null==(e=n.gift)?void 0:e.send)??0,t.lastPollAt=Date.now(),n):null}
- e(Mv,"FriendManager"),n(Mv,"UNLOCK_WAVE",50),n(Mv,"POLL_MS",3e5),n(Mv,"info",null),n(Mv,"pending",0),n(Mv,"lastPollAt",0),n(Mv,"polling",!1); + e(Mv,"FriendManager"),n(Mv,"UNLOCK_WAVE",50),n(Mv,"POLL_MS",3e5),n(Mv,"info",null),n(Mv,"pending",0),n(Mv,"giftTake",0),n(Mv,"giftSend",0),n(Mv,"lastPollAt",0),n(Mv,"polling",!1);
URLManager 1 hunks, 5 statements
- /friend/getRecent`} + /friend/getRecent`,GIFT_SEND:`${ + t.baseURL} + /friend/giftSend`,GIFT_TAKE:`${ + t.baseURL} + /friend/giftTake`}
RightMenu 2 hunks, 2 statements
- =await import("./chunks/FriendPopup.js"); + =await import("./chunks/FriendPopup.js").then(t=>t.b);
- ,__vite__mapDeps([36,1,0,2,4,5]),import.meta.url); + ,__vite__mapDeps([36,1,0,2]),import.meta.url);
VersionManager 1 hunks, 1 statements
- e(Z,"VersionManager"),n(Z,"gameId","ef2"),n(Z,"appVersion","1.15.80"); + e(Z,"VersionManager"),n(Z,"gameId","ef2"),n(Z,"appVersion","1.15.82");