Update to v2.8

This commit is contained in:
Lost-MSth
2022-01-20 16:39:57 +08:00
parent 849f4f7260
commit 1a097bc4d0
7 changed files with 184 additions and 75 deletions

Binary file not shown.

View File

@@ -4,7 +4,7 @@ import json
# 数据库初始化文件删掉arcaea_database.db文件后运行即可谨慎使用
ARCAEA_SERVER_VERSION = 'v2.7.2'
ARCAEA_SERVER_VERSION = 'v2.8'
def main(path='./'):
@@ -305,7 +305,7 @@ def main(path='./'):
'frag_rng_ayu', 'gaugestart_30|gaugegain_70', 'combo_100-frag_1', 'audio_gcemptyhit_pack_groovecoaster', 'gauge_saya', 'gauge_chuni', 'kantandeshou', 'gauge_haruna', 'frags_nono', 'gauge_pandora', 'gauge_regulus', 'omatsuri_daynight', '', '', 'sometimes(note_mirror|frag_plus_5)', 'scoreclear_aa|visual_scoregauge', 'gauge_tempest', 'gauge_hard', 'gauge_ilith_summer', '', 'note_mirror|visual_hide_far', 'frags_ongeki', 'gauge_areus', 'gauge_seele', 'gauge_isabelle', 'gauge_exhaustion', 'skill_lagrange', 'gauge_safe_10', 'frags_nami', 'skill_elizabeth', 'skill_lily', 'skill_kanae_midsummer', '', '', 'visual_ghost_skynotes']
skill_id_uncap = ['', '', 'frags_kou', '', 'visual_ink', '', '', '', '', '', '', 'eto_uncap', 'luna_uncap', 'shirabe_entry_fee',
'', '', '', '', '', '', '', 'frags_yume', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
'', '', '', '', '', 'ayu_uncap', '', 'frags_yume', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']
skill_unlock_level = [0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0,
0, 0, 0, 8, 0, 14, 0, 0, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8]
@@ -331,10 +331,10 @@ def main(path='./'):
frag30 = [88, 90, 100, 75, 80, 0, 70, 79, 65, 40, 50, 90, 100, 92, 0, 61, 67, 92, 85, 50, 86, 62,
65, 85, 67, 88, 74, 0.5, 105, 80, 95, 50, 80, 87, 71, 50, 95, 0, 80, 75, 50, 70, 80, 100, 65, 80, 100, 50, 68, 60, 90, 67, 50, 60]
prog30 = [71, 90, 80, 75, 100, 0, 90, 102, 84, 78, 105, 77, 73, 78, 0, 99, 80, 66, 46, 83, 40, 83,
prog30 = [71, 90, 80, 75, 100, 0, 90, 102, 84, 78, 105, 77, 73, 78, 0, 99, 80, 66, 46, 93, 40, 83,
80, 90, 93, 50, 96, 88, 99, 108, 75, 80, 50, 64, 55, 100, 100, 110, 80, 50, 74, 90, 80, 80, 56, 80, 100, 55, 65, 59, 90, 50, 90, 90]
overdrive30 = [71, 90, 57, 75, 80, 0, 95, 79, 65, 31, 50, 69, 100, 68, 0, 78, 50, 70, 62, 49, 64,
overdrive30 = [71, 90, 57, 75, 80, 0, 95, 79, 65, 31, 50, 69, 100, 68, 0, 78, 50, 70, 62, 59, 64,
56, 73, 95, 67, 84, 80, 88, 79, 80, 50, 80, 80, 63, 25, 50, 82, 55, 50, 95, 55, 70, 100, 80, 99, 80, 100, 40, 69, 62, 51, 90, 67, 60]
char_type = [1, 0, 0, 0, 0, 0, 0, 2, 0, 1, 2, 0, 0, 0, 2, 3, 1, 0, 0, 0, 1,
@@ -355,13 +355,14 @@ def main(path='./'):
42: [{'core_id': 'core_chunithm', 'amount': 15}],
43: [{'core_id': 'core_chunithm', 'amount': 15}],
11: [{'core_id': 'core_binary', 'amount': 25}, {'core_id': 'core_hollow', 'amount': 5}],
12: [{'core_id': 'core_binary', 'amount': 25}, {'core_id': 'core_desolate', 'amount': 5}]
12: [{'core_id': 'core_binary', 'amount': 25}, {'core_id': 'core_desolate', 'amount': 5}],
19: [{'core_id': 'core_colorful', 'amount': 30}]
}
for i in range(0, 54):
skill_requires_uncap = 1 if i == 2 else 0
if i in [0, 1, 2, 4, 13, 26, 27, 28, 29, 36, 21, 42, 43, 11, 12]:
if i in [0, 1, 2, 4, 13, 26, 27, 28, 29, 36, 21, 42, 43, 11, 12, 19]:
sql = '''insert into character values(?,?,30,?,?,?,?,?,?,?,?,?,?,?,?,?,?,1)'''
c.execute(sql, (i, char[i], frag1[i], prog1[i], overdrive1[i], frag20[i], prog20[i], overdrive20[i],
frag30[i], prog30[i], overdrive30[i], skill_id[i], skill_unlock_level[i], skill_requires_uncap, skill_id_uncap[i], char_type[i]))
@@ -379,7 +380,7 @@ def main(path='./'):
c.execute('''insert into char_item values(?,?,'core',?)''',
(i, j['core_id'], j['amount']))
cores = ['core_hollow', 'core_desolate', 'core_chunithm', 'core_crimson',
'core_ambivalent', 'core_scarlet', 'core_groove', 'core_generic', 'core_binary']
'core_ambivalent', 'core_scarlet', 'core_groove', 'core_generic', 'core_binary', 'core_colorful']
for i in cores:
c.execute('''insert into item values(?,"core",1,'')''', (i,))

View File

@@ -1,16 +1,20 @@
[{
[
{
"name": "testsingle",
"items": [{
"id": "testsingle",
"type": "single",
"is_available": false
}],
"items": [
{
"id": "testsingle",
"type": "single",
"is_available": false
}
],
"price": 100,
"orig_price": 100
},
{
"name": "dataerror",
"items": [{
"items": [
{
"id": "dataerror",
"type": "single",
"is_available": true
@@ -29,7 +33,8 @@
},
{
"name": "yourvoiceso",
"items": [{
"items": [
{
"id": "yourvoiceso",
"type": "single",
"is_available": true
@@ -48,7 +53,8 @@
},
{
"name": "crosssoul",
"items": [{
"items": [
{
"id": "crosssoul",
"type": "single",
"is_available": true
@@ -67,7 +73,8 @@
},
{
"name": "impurebird",
"items": [{
"items": [
{
"type": "single",
"id": "impurebird",
"is_available": true
@@ -86,7 +93,8 @@
},
{
"name": "auxesia",
"items": [{
"items": [
{
"type": "single",
"id": "auxesia",
"is_available": true
@@ -105,7 +113,8 @@
},
{
"name": "modelista",
"items": [{
"items": [
{
"type": "single",
"id": "modelista",
"is_available": true
@@ -124,7 +133,8 @@
},
{
"name": "yozakurafubuki",
"items": [{
"items": [
{
"type": "single",
"id": "yozakurafubuki",
"is_available": true
@@ -143,7 +153,8 @@
},
{
"name": "surrender",
"items": [{
"items": [
{
"type": "single",
"id": "surrender",
"is_available": true
@@ -162,7 +173,8 @@
},
{
"name": "metallicpunisher",
"items": [{
"items": [
{
"type": "single",
"id": "metallicpunisher",
"is_available": true
@@ -179,7 +191,8 @@
},
{
"name": "carminescythe",
"items": [{
"items": [
{
"type": "single",
"id": "carminescythe",
"is_available": true
@@ -196,7 +209,8 @@
},
{
"name": "bethere",
"items": [{
"items": [
{
"type": "single",
"id": "bethere",
"is_available": true
@@ -215,7 +229,8 @@
},
{
"name": "callmyname",
"items": [{
"items": [
{
"type": "single",
"id": "callmyname",
"is_available": true
@@ -234,7 +249,8 @@
},
{
"name": "fallensquare",
"items": [{
"items": [
{
"type": "single",
"id": "fallensquare",
"is_available": true
@@ -253,7 +269,8 @@
},
{
"name": "dropdead",
"items": [{
"items": [
{
"type": "single",
"id": "dropdead",
"is_available": true
@@ -272,7 +289,8 @@
},
{
"name": "alexandrite",
"items": [{
"items": [
{
"type": "single",
"id": "alexandrite",
"is_available": true
@@ -291,7 +309,8 @@
},
{
"name": "astraltale",
"items": [{
"items": [
{
"type": "single",
"id": "astraltale",
"is_available": true
@@ -310,7 +329,8 @@
},
{
"name": "phantasia",
"items": [{
"items": [
{
"type": "single",
"id": "phantasia",
"is_available": true
@@ -327,7 +347,8 @@
},
{
"name": "empireofwinter",
"items": [{
"items": [
{
"type": "single",
"id": "empireofwinter",
"is_available": true
@@ -344,7 +365,8 @@
},
{
"name": "libertas",
"items": [{
"items": [
{
"type": "single",
"id": "libertas",
"is_available": true
@@ -363,7 +385,8 @@
},
{
"name": "dottodot",
"items": [{
"items": [
{
"type": "single",
"id": "dottodot",
"is_available": true
@@ -382,7 +405,8 @@
},
{
"name": "dreadnought",
"items": [{
"items": [
{
"type": "single",
"id": "dreadnought",
"is_available": true
@@ -401,7 +425,8 @@
},
{
"name": "mirzam",
"items": [{
"items": [
{
"type": "single",
"id": "mirzam",
"is_available": true
@@ -420,7 +445,8 @@
},
{
"name": "heavenlycaress",
"items": [{
"items": [
{
"type": "single",
"id": "heavenlycaress",
"is_available": true
@@ -439,7 +465,8 @@
},
{
"name": "filament",
"items": [{
"items": [
{
"type": "single",
"id": "filament",
"is_available": true
@@ -458,7 +485,8 @@
},
{
"name": "avantraze",
"items": [{
"items": [
{
"type": "single",
"id": "avantraze",
"is_available": true
@@ -475,7 +503,8 @@
},
{
"name": "battlenoone",
"items": [{
"items": [
{
"type": "single",
"id": "battlenoone",
"is_available": true
@@ -494,7 +523,8 @@
},
{
"name": "saikyostronger",
"items": [{
"items": [
{
"type": "single",
"id": "saikyostronger",
"is_available": true
@@ -511,7 +541,8 @@
},
{
"name": "izana",
"items": [{
"items": [
{
"type": "single",
"id": "izana",
"is_available": true
@@ -530,7 +561,8 @@
},
{
"name": "einherjar",
"items": [{
"items": [
{
"type": "single",
"id": "einherjar",
"is_available": true
@@ -549,7 +581,8 @@
},
{
"name": "laqryma",
"items": [{
"items": [
{
"type": "single",
"id": "laqryma",
"is_available": true
@@ -568,7 +601,8 @@
},
{
"name": "amygdata",
"items": [{
"items": [
{
"type": "single",
"id": "amygdata",
"is_available": true
@@ -587,7 +621,8 @@
},
{
"name": "altale",
"items": [{
"items": [
{
"type": "single",
"id": "altale",
"is_available": true
@@ -606,7 +641,8 @@
},
{
"name": "feelssoright",
"items": [{
"items": [
{
"type": "single",
"id": "feelssoright",
"is_available": true
@@ -625,7 +661,8 @@
},
{
"name": "scarletcage",
"items": [{
"items": [
{
"type": "single",
"id": "scarletcage",
"is_available": true
@@ -642,7 +679,8 @@
},
{
"name": "teriqma",
"items": [{
"items": [
{
"type": "single",
"id": "teriqma",
"is_available": true
@@ -659,7 +697,8 @@
},
{
"name": "mahoroba",
"items": [{
"items": [
{
"type": "single",
"id": "mahoroba",
"is_available": true
@@ -678,7 +717,8 @@
},
{
"name": "badtek",
"items": [{
"items": [
{
"type": "single",
"id": "badtek",
"is_available": true
@@ -697,7 +737,8 @@
},
{
"name": "maliciousmischance",
"items": [{
"items": [
{
"type": "single",
"id": "maliciousmischance",
"is_available": true
@@ -714,7 +755,8 @@
},
{
"name": "buchigireberserker",
"items": [{
"items": [
{
"type": "single",
"id": "buchigireberserker",
"is_available": true
@@ -731,7 +773,8 @@
},
{
"name": "galaxyfriends",
"items": [{
"items": [
{
"type": "single",
"id": "galaxyfriends",
"is_available": true
@@ -750,7 +793,8 @@
},
{
"name": "xeraphinite",
"items": [{
"items": [
{
"type": "single",
"id": "xeraphinite",
"is_available": true
@@ -767,7 +811,8 @@
},
{
"name": "xanatos",
"items": [{
"items": [
{
"type": "single",
"id": "xanatos",
"is_available": true
@@ -784,7 +829,8 @@
},
{
"name": "attraqtia",
"items": [{
"items": [
{
"type": "single",
"id": "attraqtia",
"is_available": true
@@ -801,7 +847,8 @@
},
{
"name": "gimmedablood",
"items": [{
"items": [
{
"type": "single",
"id": "gimmedablood",
"is_available": true
@@ -818,7 +865,8 @@
},
{
"name": "bassline",
"items": [{
"items": [
{
"type": "single",
"id": "bassline",
"is_available": true
@@ -835,7 +883,8 @@
},
{
"name": "theultimacy",
"items": [{
"items": [
{
"type": "single",
"id": "theultimacy",
"is_available": true
@@ -852,17 +901,20 @@
},
{
"name": "rekkaresonanc",
"items": [{
"type": "single",
"id": "rekkaresonanc",
"is_available": true
}],
"items": [
{
"type": "single",
"id": "rekkaresonanc",
"is_available": true
}
],
"orig_price": 100,
"price": 100
},
{
"name": "rekkaresonance",
"items": [{
"items": [
{
"type": "single",
"id": "rekkaresonance",
"is_available": true
@@ -879,7 +931,8 @@
},
{
"name": "sheriruthrmx",
"items": [{
"items": [
{
"type": "single",
"id": "sheriruthrmx",
"is_available": true
@@ -896,7 +949,8 @@
},
{
"name": "eveninginscarlet",
"items": [{
"items": [
{
"type": "single",
"id": "eveninginscarlet",
"is_available": true
@@ -913,7 +967,8 @@
},
{
"name": "lastendconductor",
"items": [{
"items": [
{
"type": "single",
"id": "lastendconductor",
"is_available": true
@@ -930,7 +985,8 @@
},
{
"name": "goldenslaughterer",
"items": [{
"items": [
{
"type": "single",
"id": "goldenslaughterer",
"is_available": true
@@ -947,7 +1003,8 @@
},
{
"name": "redolentshape",
"items": [{
"items": [
{
"type": "single",
"id": "redolentshape",
"is_available": true
@@ -964,7 +1021,8 @@
},
{
"name": "summerfireworks",
"items": [{
"items": [
{
"type": "single",
"id": "summerfireworks",
"is_available": true
@@ -978,5 +1036,23 @@
],
"orig_price": 100,
"price": 100
},
{
"name": "init",
"items": [
{
"type": "single",
"id": "init",
"is_available": true
},
{
"type": "core",
"amount": 1,
"id": "core_generic",
"is_available": true
}
],
"orig_price": 100,
"price": 100
}
]

View File

@@ -1034,6 +1034,21 @@ def arc_all_get(user_id):
"mi": 3,
"c": True,
"r": True
}, {
"ma": 11,
"mi": 1,
"c": True,
"r": True
}, {
"ma": 11,
"mi": 2,
"c": True,
"r": True
}, {
"ma": 11,
"mi": 3,
"c": True,
"r": True
}]
unlocklist_data = [{
"unlock_key": "worldvanquisher|1|0",

View File

@@ -7,10 +7,12 @@ import server.info
import server.arcpurchase
import os
import time
import random
ETO_UNCAP_BONUS_PROGRESS = 7
LUNA_UNCAP_BONUS_PROGRESS = 7
AYU_UNCAP_BONUS_PROGRESS = 5
def int2b(x):
@@ -452,9 +454,9 @@ def world_update(c, user_id, song_id, difficulty, rating, clear_type, beyond_gau
# Eto和Luna的技能
character_bonus_progress = None
skill_special = ''
if skill_uncap is not None and skill_uncap and skill_uncap in ['eto_uncap', 'luna_uncap']:
if skill_uncap is not None and skill_uncap and skill_uncap in ['eto_uncap', 'luna_uncap', 'ayu_uncap']:
skill_special = skill_uncap
elif skill is not None and skill and skill in ['eto_uncap', 'luna_uncap']:
elif skill is not None and skill and skill in ['eto_uncap', 'luna_uncap', 'ayu_uncap']:
skill_special = skill
if skill_special == 'eto_uncap':
# eto觉醒技能获得残片奖励时世界模式进度加7
@@ -480,6 +482,21 @@ def world_update(c, user_id, song_id, difficulty, rating, clear_type, beyond_gau
rewards, steps, curr_position, curr_capture, info = climb_step(
user_id, map_id, step, y[3], y[2]) # 二次爬梯,重新计算
elif skill_special == 'ayu_uncap':
# ayu觉醒技能世界模式进度+5或-5但不会小于0
if random.random() >= 0.5:
character_bonus_progress = AYU_UNCAP_BONUS_PROGRESS
else:
character_bonus_progress = -AYU_UNCAP_BONUS_PROGRESS
step += character_bonus_progress * step_times
if step < 0:
character_bonus_progress += step / step_times
step = 0
rewards, steps, curr_position, curr_capture, info = climb_step(
user_id, map_id, step, y[3], y[2]) # 二次爬梯,重新计算
for i in rewards: # 物品分发
for j in i['items']:
amount = j['amount'] if 'amount' in j else 1

View File

@@ -30,7 +30,7 @@ class Config():
Allowed game versions
If it is blank, all are allowed.
'''
ALLOW_APPVERSION = ['3.5.3', '3.5.3c', '3.11.0', '3.11.0c']
ALLOW_APPVERSION = ['3.5.3', '3.5.3c', '3.11.2', '3.11.2c']
'''
--------------------
'''

View File

@@ -418,7 +418,7 @@ def all_character():
def change_character():
# 修改角色数据
skill_ids = ['No_skill', 'gauge_easy', 'note_mirror', 'gauge_hard', 'frag_plus_10_pack_stellights', 'gauge_easy|frag_plus_15_pst&prs', 'gauge_hard|fail_frag_minus_100', 'frag_plus_5_side_light', 'visual_hide_hp', 'frag_plus_5_side_conflict', 'challenge_fullcombo_0gauge', 'gauge_overflow', 'gauge_easy|note_mirror', 'note_mirror', 'visual_tomato_pack_tonesphere',
'frag_rng_ayu', 'gaugestart_30|gaugegain_70', 'combo_100-frag_1', 'audio_gcemptyhit_pack_groovecoaster', 'gauge_saya', 'gauge_chuni', 'kantandeshou', 'gauge_haruna', 'frags_nono', 'gauge_pandora', 'gauge_regulus', 'omatsuri_daynight', 'sometimes(note_mirror|frag_plus_5)', 'scoreclear_aa|visual_scoregauge', 'gauge_tempest', 'gauge_hard', 'gauge_ilith_summer', 'frags_kou', 'visual_ink', 'shirabe_entry_fee', 'frags_yume', 'note_mirror|visual_hide_far', 'frags_ongeki', 'gauge_areus', 'gauge_seele', 'gauge_isabelle', 'gauge_exhaustion', 'skill_lagrange', 'gauge_safe_10', 'frags_nami', 'skill_elizabeth', 'skill_lily', 'skill_kanae_midsummer', 'eto_uncap', 'luna_uncap', 'frags_preferred_song', 'visual_ghost_skynotes']
'frag_rng_ayu', 'gaugestart_30|gaugegain_70', 'combo_100-frag_1', 'audio_gcemptyhit_pack_groovecoaster', 'gauge_saya', 'gauge_chuni', 'kantandeshou', 'gauge_haruna', 'frags_nono', 'gauge_pandora', 'gauge_regulus', 'omatsuri_daynight', 'sometimes(note_mirror|frag_plus_5)', 'scoreclear_aa|visual_scoregauge', 'gauge_tempest', 'gauge_hard', 'gauge_ilith_summer', 'frags_kou', 'visual_ink', 'shirabe_entry_fee', 'frags_yume', 'note_mirror|visual_hide_far', 'frags_ongeki', 'gauge_areus', 'gauge_seele', 'gauge_isabelle', 'gauge_exhaustion', 'skill_lagrange', 'gauge_safe_10', 'frags_nami', 'skill_elizabeth', 'skill_lily', 'skill_kanae_midsummer', 'eto_uncap', 'luna_uncap', 'frags_preferred_song', 'visual_ghost_skynotes', 'ayu_uncap']
return render_template('web/changechar.html', skill_ids=skill_ids)