Skip to content

Commit

Permalink
Added new svt card script
Browse files Browse the repository at this point in the history
  • Loading branch information
narumi147 committed Mar 1, 2025
1 parent 6c76b91 commit b11a571
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 1 deletion.
13 changes: 12 additions & 1 deletion app/core/nice/svt/card.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@

import orjson

from ....schemas.gameenums import COMMAND_CARD_ATK_TYPE_NAME
from ....schemas.gameenums import (
COMMAND_CARD_ATK_TYPE_NAME,
SVT_CARD_POSITION_DAMAGE_RATES_SLIDE_TYPE_NAME,
)
from ....schemas.nice import NiceCardDetail
from ....schemas.raw import MstSvtCard, MstSvtCardAdd
from ...utils import get_traits_list
Expand All @@ -20,4 +23,12 @@ def get_nice_card(
attackNpRate=script.get("attackNpRate"),
defenseNpRate=script.get("defenseNpRate"),
dropStarRate=script.get("dropStarRate"),
positionDamageRates=script.get("positionDamageRates"),
positionDamageRatesSlideType=(
SVT_CARD_POSITION_DAMAGE_RATES_SLIDE_TYPE_NAME[
script["positionDamageRatesSlideType"]
]
if "positionDamageRatesSlideType" in script
else None
),
)
23 changes: 23 additions & 0 deletions app/schemas/gameenums.py
Original file line number Diff line number Diff line change
Expand Up @@ -6565,3 +6565,26 @@ class NiceEventMissionCondDetailType(StrEnum):
41: NiceEventMissionCondDetailType.purchaseShopNum,
42: NiceEventMissionCondDetailType.itemUseQuestNum,
}


class SvtCardPositionDamageRatesSlideType(IntEnum):
NONE = 0
FRONT = 1
BACK = 2


class NiceSvtCardPositionDamageRatesSlideType(StrEnum):
"""Servant Card Position Damage Rates Slide Type"""

none = "none"
front = "front"
back = "back"


SVT_CARD_POSITION_DAMAGE_RATES_SLIDE_TYPE_NAME: dict[
int, NiceSvtCardPositionDamageRatesSlideType
] = {
0: NiceSvtCardPositionDamageRatesSlideType.none,
1: NiceSvtCardPositionDamageRatesSlideType.front,
2: NiceSvtCardPositionDamageRatesSlideType.back,
}
3 changes: 3 additions & 0 deletions app/schemas/nice.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@
NiceShopType,
NiceSpotOverwriteType,
NiceStatusRank,
NiceSvtCardPositionDamageRatesSlideType,
NiceSvtClassSupportGroupType,
NiceSvtDeadType,
NiceSvtFlag,
Expand Down Expand Up @@ -1000,6 +1001,8 @@ class NiceCardDetail(BaseModel):
attackNpRate: int | None = None
defenseNpRate: int | None = None
dropStarRate: int | None = None
positionDamageRates: list[int] | None = None
positionDamageRatesSlideType: NiceSvtCardPositionDamageRatesSlideType | None = None


AscensionAddData = TypeVar("AscensionAddData")
Expand Down
6 changes: 6 additions & 0 deletions scripts/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2250,3 +2250,9 @@ export enum NiceEventMissionCondDetailType {
PURCHASE_SHOP_NUM = "purchaseShopNum",
ITEM_USE_QUEST_NUM = "itemUseQuestNum",
}

export enum NiceSvtCardPositionDamageRatesSlideType {
NONE = "none",
FRONT = "front",
BACK = "back",
}
8 changes: 8 additions & 0 deletions scripts/extract_enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -724,6 +724,14 @@ def cs_enum_to_ts(cs_enums: list[str], raw_class: str, nice_class: str) -> list[
"Event Mission Cond Detail Type",
"EVENT_MISSION_COND_DETAIL_TYPE_NAME",
),
(
"ServantCardAddEntity.POSITION_DAMAGE_RATES_SLIDE_TYPE",
"SvtCardPositionDamageRatesSlideType",
"NiceSvtCardPositionDamageRatesSlideType",
"Servant Card Position Damage Rates Slide Type",
"SVT_CARD_POSITION_DAMAGE_RATES_SLIDE_TYPE_NAME",
),

]


Expand Down

0 comments on commit b11a571

Please # to comment.