Skip to content

Commit faf13eb

Browse files
committed
Add proper rewards to some goals.
1 parent 4d2effe commit faf13eb

File tree

2 files changed

+116
-0
lines changed

2 files changed

+116
-0
lines changed

npps4/server_data.json

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3057,6 +3057,15 @@
30573057
}
30583058
]
30593059
},
3060+
{
3061+
"achievement_id": 503,
3062+
"rewards": [
3063+
{
3064+
"add_type": 5000,
3065+
"item_id": 495
3066+
}
3067+
]
3068+
},
30603069
{
30613070
"achievement_id": 504,
30623071
"rewards": [
@@ -3075,6 +3084,15 @@
30753084
}
30763085
]
30773086
},
3087+
{
3088+
"achievement_id": 508,
3089+
"rewards": [
3090+
{
3091+
"add_type": 5000,
3092+
"item_id": 496
3093+
}
3094+
]
3095+
},
30783096
{
30793097
"achievement_id": 509,
30803098
"rewards": [
@@ -3120,6 +3138,15 @@
31203138
}
31213139
]
31223140
},
3141+
{
3142+
"achievement_id": 518,
3143+
"rewards": [
3144+
{
3145+
"add_type": 5000,
3146+
"item_id": 498
3147+
}
3148+
]
3149+
},
31233150
{
31243151
"achievement_id": 519,
31253152
"rewards": [
@@ -3165,6 +3192,15 @@
31653192
}
31663193
]
31673194
},
3195+
{
3196+
"achievement_id": 528,
3197+
"rewards": [
3198+
{
3199+
"add_type": 5000,
3200+
"item_id": 494
3201+
}
3202+
]
3203+
},
31683204
{
31693205
"achievement_id": 529,
31703206
"rewards": [
@@ -3210,6 +3246,15 @@
32103246
}
32113247
]
32123248
},
3249+
{
3250+
"achievement_id": 538,
3251+
"rewards": [
3252+
{
3253+
"add_type": 5000,
3254+
"item_id": 502
3255+
}
3256+
]
3257+
},
32133258
{
32143259
"achievement_id": 539,
32153260
"rewards": [
@@ -3255,6 +3300,15 @@
32553300
}
32563301
]
32573302
},
3303+
{
3304+
"achievement_id": 548,
3305+
"rewards": [
3306+
{
3307+
"add_type": 5000,
3308+
"item_id": 501
3309+
}
3310+
]
3311+
},
32583312
{
32593313
"achievement_id": 549,
32603314
"rewards": [
@@ -3300,6 +3354,15 @@
33003354
}
33013355
]
33023356
},
3357+
{
3358+
"achievement_id": 558,
3359+
"rewards": [
3360+
{
3361+
"add_type": 5000,
3362+
"item_id": 505
3363+
}
3364+
]
3365+
},
33033366
{
33043367
"achievement_id": 559,
33053368
"rewards": [
@@ -3345,6 +3408,15 @@
33453408
}
33463409
]
33473410
},
3411+
{
3412+
"achievement_id": 568,
3413+
"rewards": [
3414+
{
3415+
"add_type": 5000,
3416+
"item_id": 506
3417+
}
3418+
]
3419+
},
33483420
{
33493421
"achievement_id": 569,
33503422
"rewards": [
@@ -3390,6 +3462,15 @@
33903462
}
33913463
]
33923464
},
3465+
{
3466+
"achievement_id": 578,
3467+
"rewards": [
3468+
{
3469+
"add_type": 5000,
3470+
"item_id": 511
3471+
}
3472+
]
3473+
},
33933474
{
33943475
"achievement_id": 579,
33953476
"rewards": [
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import npps4.script_dummy # isort:skip
2+
3+
import sqlalchemy
4+
5+
import npps4.idol
6+
import npps4.db.main
7+
import npps4.system.achievement
8+
import npps4.system.advanced
9+
import npps4.system.user
10+
11+
revision = "8_achievement_fix_1"
12+
prev_revision = "7_give_loveca_to_cleared_songs"
13+
14+
FIXES_ACHIEVEMENT_IDS = [503, *range(508, 588, 10)]
15+
16+
17+
async def main(context: npps4.idol.BasicSchoolIdolContext):
18+
q = sqlalchemy.select(npps4.db.main.Achievement).where(
19+
npps4.db.main.Achievement.achievement_id.in_(FIXES_ACHIEVEMENT_IDS),
20+
npps4.db.main.Achievement.is_accomplished == True,
21+
npps4.db.main.Achievement.is_reward_claimed == True,
22+
)
23+
24+
async for ach in (await context.db.main.stream(q)).scalars():
25+
user = await npps4.system.user.get(context, ach.user_id)
26+
if user is None:
27+
continue
28+
29+
rewards = await npps4.system.achievement.get_achievement_rewards(context, ach)
30+
for reward in rewards:
31+
result = await npps4.system.advanced.add_item(context, user, reward)
32+
print(
33+
f"Give reward ({reward.add_type.value, reward.item_id})x{reward.amount} to user {user.id} by ach {ach.achievement_id}",
34+
"successful" if result.success else "unsuccessful",
35+
)

0 commit comments

Comments
 (0)