From c6c9f960da422ea8b3b4a409a0bfbb670a652670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A5=BF=E7=93=9C=C2=B0?= Date: Tue, 21 Apr 2026 02:30:13 +0800 Subject: [PATCH] dev --- backend/api/routes/info.py | 2 +- backend/config/.env | 6 +++--- backend/core/basic/equipment.py | 2 ++ backend/core/equipment/version_0/emblem.py | 13 +++++++++++-- backend/dataFiles/dcalc_0.db | Bin 860160 -> 860160 bytes 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/backend/api/routes/info.py b/backend/api/routes/info.py index 6a2aa48d..01249dd5 100644 --- a/backend/api/routes/info.py +++ b/backend/api/routes/info.py @@ -67,7 +67,7 @@ async def get_oath_info(state: AltersDep, suitId: str, skillId: str, rarity: str if oath is not None: oathSkill = next((x for x in oath.skills if x.skillId == skillId), None) if oathSkill is not None: - skill = oathSkill.__dict__ + skill = {**oathSkill.__dict__, 'point': oath.points, 'imageUrl': oath.imageUrl} return skill info = get_redis_info(redis, f'dcalc:oath:{rarity}:{skillId}', get_info) diff --git a/backend/config/.env b/backend/config/.env index 39486e01..802cba66 100644 --- a/backend/config/.env +++ b/backend/config/.env @@ -3,6 +3,6 @@ MCPPORT=47174 DEBUG_MODE=True WORKERS=1 REDIS_URL=redis://localhost:6379/1 -COLG_TOKEN="Bearer " -HELPER_TOKEN="" -HELPER_ID="" \ No newline at end of file +COLG_TOKEN="Bearer 7B8B817D9BC838B813A1E6B1A0CAFD5F" +HELPER_TOKEN="ESc6Z2kW" +HELPER_ID="706194702" \ No newline at end of file diff --git a/backend/core/basic/equipment.py b/backend/core/basic/equipment.py index 2fcf5f6a..40940518 100644 --- a/backend/core/basic/equipment.py +++ b/backend/core/basic/equipment.py @@ -239,6 +239,7 @@ class Equipments: suits = {k: v for k, v in item.__dict__.items() if not k.startswith('_')} for i in range(1, lvs + 1): suit = {k: v for k, v in suits.items()} + suit['points'] = suit['point'] suit['point'] = int(suit['point'].split(',')[i - 1]) skills = [x for x in db_skills_list if x.suitId == suit['suitId'] and x.key == suit['key']] suit['level'] = i @@ -386,6 +387,7 @@ class OathSuit: rarity: str name: str point: int + points: str level: int count: int imageUrl: str diff --git a/backend/core/equipment/version_0/emblem.py b/backend/core/equipment/version_0/emblem.py index bd2fcadb..a4965606 100644 --- a/backend/core/equipment/version_0/emblem.py +++ b/backend/core/equipment/version_0/emblem.py @@ -521,14 +521,16 @@ def emblem_combine(char: CharacterProperty, position: str, lv: int = 1, emblem_l buffer = [10, 30, 60, 90, 120, 150, 180, 210, 240270, 300, 320, 340, 360, 380, 400] skillAttack = [0.002, 0.004, 0.008, 0.012, 0.016, 0.02, 0.023, 0.026, 0.029, 0.032, 0.035, 0.036, 0.037, 0.038, 0.039, 0.04] attackP = [0.005, 0.009, 0.013, 0.017, 0.021, 0.025, 0.028, 0.031, 0.034, 0.037, 0.04, 0.042, 0.044, 0.046, 0.048, 0.05] + if position == '白金': + return # 固有属性 if position == '彩色': char.SetStatus(BufferP=bufferP[lv - 1], SkillAttack=skillAttack[lv - 1]) else: char.SetStatus(Buffer=buffer[lv - 1], AttackP=attackP[lv - 1]) rarity = (lv - 1) // 5 - emblems = list(filter(lambda x: int(x) > 0, emblem_list)) or [] - emblem_raritys = [int(i) // 1000 for i in emblems] + emblems = list(filter(lambda x: safeParseInt(x) > 0, emblem_list)) or [] + emblem_raritys = [safeParseInt(i) // 1000 for i in emblems] # 稀有 if rarity == 0: skillAttack = [0.001, 0.001, 0.002, 0.002] @@ -554,3 +556,10 @@ def emblem_combine(char: CharacterProperty, position: str, lv: int = 1, emblem_l SkillAttack += skillAttack[i - 1] Buffer += buffer[i - 1] char.SetStatus(SkillAttack=SkillAttack, Buffer=Buffer) + + +def safeParseInt(x: int | str | None) -> int: + try: + return int(x) + except Exception: + return 0 diff --git a/backend/dataFiles/dcalc_0.db b/backend/dataFiles/dcalc_0.db index 00a901e4c6a29207a7e475d88d2fff8ce942d923..32cfc0fc934c0a0cabc684c6b82b75991c220f96 100644 GIT binary patch delta 1828 zcmZ9MT}&KR6vyw~o!Q;9JG02g0?YCt%Cf&OKdI|YC6 zcz!($OCI1*0N<#E-3%&?L9IQIjZbZWld_Uw*Qm`gsYgm7jC*&9g}Ai}l5nXM79_9D z1pH72VJ%lb{kwoOPMlX*(vh_=DW!{?4q$6Jys9N#MHf`SyjocTlukSdHY(*?c}x&< z2O$~#m9QP9lvo{Ec(D?Gmi!hIrLHsTsQX8+<6kL{^1lNyk*0^BQO|BLS(s1_3lkfG zmU!*E2#_do?~q>*KNEbe)6OwV3yFf0`Fl!M{7GCah=*Q_<-%|lHJUyW0T*rvGk5Y5 zIccP=YmcQ}jcc9{big!Ick`GaUTHSeFLcM%b6S~tPm885bJ9>hw8v1t3;#nPgq|2n zEICGHB|n)58FqGbGCS|cHe;-M_1XJiL7naZQHw}e9kFpYi?}rzUj)6PYqM-=XfsT! z((BsT(p*}Uv4q)e(1Jbt#WI{~gX@{Hc$3&^6%iJlJ&xm6!PZNw+~w9TdV@U8EUw09 zx?ryV-jXy~dCbd`2XNEj*v8<6WWx=0@h~K^8edA|SP+Z5*`8(ywlZx8lkuVg3F=Ze zc&WO$pLHbIKPJf1^sBuGAcqQ4nA~JPmtUtU^l%E#vEqm-(-BaSH+xH*Fd2C?(a_)z0*AZx>o&z}SlYu!nkcuJSI8_e@gyr6EJhk=twVO z@B46d;sn_4NgW{W+b#hr>@UhcibK|G7Qb|b46v%&Wko9B0s;JV#F%VdWqi+nngKxl z6df7WPEl=u^FjP-f_eYS7&Kz$H?~4`X$;b-v_9WNq>LLSjkY@qkO4Uu9fxJ9#?PUE zCZnGq{2w}?!m_M1+^?%*Hci4U>52PHRP!gsq3u>_g-)tP zXW6<*kLPkKfVJn0OUo(L_4Gz_&%<|W?J1C`+Ibo>se1c7drBT>I S2ZhVPJ}3KJs&HAlv-LkN)BTVD delta 1750 zcmZ9MZA=_x5XYZq?{4?zcK6C11*CVd++DO+X`xgqT(JtMwWug*YwAnIt#1j54MKqg zN?YJO+e%VeiG3pY-b52jutH&Nu??wEZD>VJER_!$XtXf~@hxg&qt5Q#Z5KZ5r~S=; zX8tqtw2cbDlYLBUon99dgA*MQqRCqhzC;m!Yq=>j4 zaP|ofp4e-+FKIC;az7_c9WL`}Tm&eUqv?Xrmq98rGnGh)l@vlxxyFHA&4$In)G{xK#7)ux*i4_8l;5 zCxraaJySX>N4+jR=D~Qst^#Oa{zgZhE_y}sfcZ~hN7q0->nMNNjdMBTm@7b9-H$mNosC2+<0xi&M2-f$W_2O<>5kIGrrND~3&? zbF)%#iG?!kxU>tZ*_n2l=yZ1zqI+8bYY(_BY`6gxd*4Ya8kjMQ{~BOi%8^YpVa?@6 z*tSr1PTRg)pGc~xvk6Of?m|MGfy?cjG3pgmCabqqF5v0d^3#sWyc>xph04v7y4{KgM6nuBGuX2 z=uhM!ETn{OZG#Cp`gDdx))PfPe#@lBEWJ!U04W+OX5x-Nm2TnQ-;Z30gO76>a$%~? zzo1tPU4)^0x7PV0C>Zx-ni;1s)K6o5FTtaWlRVrBKFV>kgEOVya&q+UWoA%_l^w)n zD>w7;S!%x=gcQ`hE7L?2wxJzr*&u_B@jX*I;Crv^T2357C2>{@mF~x-6XH@7AL6Nv zwSVD^X_X8-D6_$5%7oaKS25F>)Z{QQlRJLE`8{xjBXii-k8(7qSVD|#n|uwoZBu=s zLZ%+UZEJd6zrJh>`pg@set+izN_i7za3iuzEU{>3U%}BXP@Efn3;2}u0pk8gE)buE z9_JqZ6Ng~Cms?K;u&^U?)VabUbMzQmQeKqorRqcYTKno_kg?}=%S|rC)(l`(11(N` ziH?K9ejb3UQsgEJ@cSSFx##(?hCl|Dif=T3Dr|5Fvs{nfF${le-<<+KW~m72T;d`; zBRKed8a%-|G+JmpKicY#^uyU0v|!~Y@NjzG<>SQgNn9xDo`4D90*&YoN>YNMgv_Q# z;Hq}*G_q;JaU$4z2_LriF0sqo#Z#^uK*X`f>~hqVYt|iNe~n{P3)}(r!CANy&vGluZl;=e&agC?ZwVWnz%Xw?qEEK#JU&r@JPS~B0RjJg sLcC2KaIw74;UaFrDic#!)fk$)K*y!;_tZZ7B;e=5Pt@#_(zUAp0pB?Id;kCd