diff --git a/.data/custom/WebsiteText@cht.json b/.data/custom/WebsiteText@cht.json index b61dd7e6..7deda9a3 100644 --- a/.data/custom/WebsiteText@cht.json +++ b/.data/custom/WebsiteText@cht.json @@ -728,31 +728,31 @@ "text": "自身 50 個 Buff" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_0", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_0", "text": "自建 0 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_1", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_1", "text": "自建 1 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_2", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_2", "text": "自建 2 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_0", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_0", "text": "友建 0 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_1", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_1", "text": "友建 1 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_2", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_2", "text": "友建 2 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_3", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_3", "text": "友建 3 Buff 區內" }, { @@ -1032,7 +1032,7 @@ "text": "活力上升時" }, { - "id": "ENUM_COND_ON_ENTERED_BUFF_ZONE", + "id": "ENUM_COND_ON_ENTERED_BUFF_FIELD", "text": "進入 Buff 區時" }, { @@ -1648,7 +1648,7 @@ "text": "敵人" }, { - "id": "ENUM_TARGET_AREA", + "id": "ENUM_TARGET_FIELD", "text": "區域" }, { diff --git a/.data/custom/WebsiteText@en.json b/.data/custom/WebsiteText@en.json index 08772538..a9ebf58b 100644 --- a/.data/custom/WebsiteText@en.json +++ b/.data/custom/WebsiteText@en.json @@ -728,32 +728,32 @@ "text": "Self 50 Buff" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_0", - "text": "In 0 Self Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_0", + "text": "In 0 Self Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_1", - "text": "In 1 Self Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_1", + "text": "In 1 Self Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_2", - "text": "In 2 Self Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_2", + "text": "In 2 Self Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_0", - "text": "In 0 Ally Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_0", + "text": "In 0 Ally Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_1", - "text": "In 1 Ally Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_1", + "text": "In 1 Ally Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_2", - "text": "In 2 Ally Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_2", + "text": "In 2 Ally Buff Field" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_3", - "text": "In 3 Ally Buff Zone" + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_3", + "text": "In 3 Ally Buff Field" }, { "id": "ENUM_COND_WEAPON_SWORD", @@ -1032,8 +1032,8 @@ "text": "Upon Energy lv up" }, { - "id": "ENUM_COND_ON_ENTERED_BUFF_ZONE", - "text": "Upon entering buff zone" + "id": "ENUM_COND_ON_ENTERED_BUFF_FIELD", + "text": "Upon entering buff field" }, { "id": "ENUM_COND_ON_HEALED", @@ -1648,7 +1648,7 @@ "text": "Enemy" }, { - "id": "ENUM_TARGET_AREA", + "id": "ENUM_TARGET_FIELD", "text": "Field" }, { diff --git a/.data/custom/WebsiteText@jp.json b/.data/custom/WebsiteText@jp.json index a9ec562b..9ae64cd5 100644 --- a/.data/custom/WebsiteText@jp.json +++ b/.data/custom/WebsiteText@jp.json @@ -728,31 +728,31 @@ "text": "自身 50 個 Buff" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_0", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_0", "text": "自建 0 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_1", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_1", "text": "自建 1 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_SELF_2", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_SELF_2", "text": "自建 2 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_0", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_0", "text": "友建 0 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_1", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_1", "text": "友建 1 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_2", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_2", "text": "友建 2 Buff 區內" }, { - "id": "ENUM_COND_IN_BUFF_ZONE_BY_ALLY_3", + "id": "ENUM_COND_IN_BUFF_FIELD_BY_ALLY_3", "text": "友建 3 Buff 區內" }, { @@ -1032,7 +1032,7 @@ "text": "活力上升時" }, { - "id": "ENUM_COND_ON_ENTERED_BUFF_ZONE", + "id": "ENUM_COND_ON_ENTERED_BUFF_FIELD", "text": "進入 Buff 區時" }, { @@ -1648,7 +1648,7 @@ "text": "敵人" }, { - "id": "ENUM_TARGET_AREA", + "id": "ENUM_TARGET_FIELD", "text": "區域" }, { diff --git a/dlparse/enums/ability_condition.py b/dlparse/enums/ability_condition.py index 217d908f..4e308b98 100644 --- a/dlparse/enums/ability_condition.py +++ b/dlparse/enums/ability_condition.py @@ -53,7 +53,7 @@ class AbilityCondition(Enum): TRG_SELF_HP_LTE = 59 EFF_SELF_HP_GTE_2 = 60 EFF_SELF_HP_LT_2 = 61 - EFF_IN_BUFF_ZONE = 88 + EFF_IN_BUFF_FIELD = 88 TRG_HEALED = 92 TRG_COMBO_COUNT_DIV_LIMITED = 95 TRG_DODGE_SUCCESS = 96 diff --git a/dlparse/enums/ability_variant.py b/dlparse/enums/ability_variant.py index a4e13bf8..b7a0eabf 100644 --- a/dlparse/enums/ability_variant.py +++ b/dlparse/enums/ability_variant.py @@ -59,7 +59,7 @@ class AbilityVariantType(Enum): If the variant is inside an EX ability entry, the effect is team-wide. This only applies to the buffs that are directly applied to the user. - Zoned buff like Gala Euden S1 (`10150403`) will not be affected by this. + Buff fields like Gala Euden S1 (`10150403`) will not be affected by this. """ AFFLICTION_PUNISHER = 20 diff --git a/dlparse/enums/buff_parameter.py b/dlparse/enums/buff_parameter.py index f6a42fc9..9f2031fc 100644 --- a/dlparse/enums/buff_parameter.py +++ b/dlparse/enums/buff_parameter.py @@ -67,7 +67,7 @@ class BuffParameter(TranslatableEnumMixin, Enum): Note that the "targeted" here means that the extension is only effective to the buff that targets the players, such as ATK up buffs. - The duration of the zoned buffs like the one built by Gala Euden S1 (101504031) will **not** be affected by this. + The duration of the buff field like the one built by Gala Euden S1 (101504031) will **not** be affected by this. """ COMBO_TIME = 112 """ diff --git a/dlparse/enums/condition/category.py b/dlparse/enums/condition/category.py index 6ccfe0d0..76c1717e 100644 --- a/dlparse/enums/condition/category.py +++ b/dlparse/enums/condition/category.py @@ -27,8 +27,8 @@ class ConditionCheckResult(ConditionCheckResultMixin, Enum): MULTIPLE_HP_STATUS = auto() MULTIPLE_COMBO_COUNT = auto() MULTIPLE_BUFF_COUNT = auto() - MULTIPLE_BUFF_ZONE_SELF = auto() - MULTIPLE_BUFF_ZONE_ALLY = auto() + MULTIPLE_BUFF_FIELD_SELF = auto() + MULTIPLE_BUFF_FIELD_ALLY = auto() MULTIPLE_WEAPON_TYPE = auto() MULTIPLE_BULLET_HIT = auto() MULTIPLE_TEAMMATE_COVERAGE = auto() @@ -53,8 +53,8 @@ class ConditionCheckResult(ConditionCheckResultMixin, Enum): INTERNAL_NOT_HP_CONDITION = auto() INTERNAL_NOT_COMBO_COUNT = auto() INTERNAL_NOT_BUFF_COUNT = auto() - INTERNAL_NOT_BUFF_ZONE_SELF = auto() - INTERNAL_NOT_BUFF_ZONE_ALLY = auto() + INTERNAL_NOT_BUFF_FIELD_SELF = auto() + INTERNAL_NOT_BUFF_FIELD_ALLY = auto() INTERNAL_NOT_WEAPON_TYPE = auto() INTERNAL_NOT_BULLET_HIT_COUNT = auto() INTERNAL_NOT_TEAMMATE_COVERAGE = auto() @@ -377,26 +377,26 @@ class ConditionCategories: "Self - buff count", ConditionCheckResult.MULTIPLE_BUFF_COUNT ) - self_in_buff_zone_self = ConditionCategoryTargetNumber( + self_in_buff_field_self = ConditionCategoryTargetNumber( { - Condition.IN_BUFF_ZONE_BY_SELF_0: 0, - Condition.IN_BUFF_ZONE_BY_SELF_1: 1, - Condition.IN_BUFF_ZONE_BY_SELF_2: 2, + Condition.IN_BUFF_FIELD_BY_SELF_0: 0, + Condition.IN_BUFF_FIELD_BY_SELF_1: 1, + Condition.IN_BUFF_FIELD_BY_SELF_2: 2, }, ConditionMaxCount.SINGLE, - "Self - count of self-built buff zones inside", - ConditionCheckResult.MULTIPLE_BUFF_ZONE_SELF + "Self - count of self-built buff fields inside", + ConditionCheckResult.MULTIPLE_BUFF_FIELD_SELF ) - self_in_buff_zone_ally = ConditionCategoryTargetNumber( + self_in_buff_field_ally = ConditionCategoryTargetNumber( { - Condition.IN_BUFF_ZONE_BY_ALLY_0: 0, - Condition.IN_BUFF_ZONE_BY_ALLY_1: 1, - Condition.IN_BUFF_ZONE_BY_ALLY_2: 2, - Condition.IN_BUFF_ZONE_BY_ALLY_3: 3, + Condition.IN_BUFF_FIELD_BY_ALLY_0: 0, + Condition.IN_BUFF_FIELD_BY_ALLY_1: 1, + Condition.IN_BUFF_FIELD_BY_ALLY_2: 2, + Condition.IN_BUFF_FIELD_BY_ALLY_3: 3, }, ConditionMaxCount.SINGLE, - "Self - count of ally-built buff zones inside", - ConditionCheckResult.MULTIPLE_BUFF_ZONE_ALLY + "Self - count of ally-built buff fields inside", + ConditionCheckResult.MULTIPLE_BUFF_FIELD_ALLY ) self_weapon_type = ConditionCategory[Weapon]( { @@ -562,7 +562,7 @@ class ConditionCategories: Condition.ON_BUFFED_DEF, Condition.ON_REVIVED, Condition.ON_ENERGY_LV_UP, - Condition.ON_ENTERED_BUFF_ZONE, + Condition.ON_ENTERED_BUFF_FIELD, Condition.ON_HEALED, Condition.ON_DODGE_SUCCESS, Condition.ON_HP_LT_30, diff --git a/dlparse/enums/condition/composite.py b/dlparse/enums/condition/composite.py index 8d2de07f..995cea0f 100644 --- a/dlparse/enums/condition/composite.py +++ b/dlparse/enums/condition/composite.py @@ -63,10 +63,10 @@ class ConditionComposite(ConditionCompositeBase[Condition]): combo_count_converted: int = field(init=False) buff_count: Optional[Condition] = field(init=False) buff_count_converted: int = field(init=False) - buff_zone_self: Optional[Condition] = field(init=False) - buff_zone_self_converted: int = field(init=False) - buff_zone_ally: Optional[Condition] = field(init=False) - buff_zone_ally_converted: int = field(init=False) + buff_field_self: Optional[Condition] = field(init=False) + buff_field_self_converted: int = field(init=False) + buff_field_ally: Optional[Condition] = field(init=False) + buff_field_ally_converted: int = field(init=False) weapon_type: Optional[Condition] = field(init=False) weapon_type_converted: Weapon = field(init=False) action_cond: Optional[Condition] = field(init=False) @@ -144,13 +144,13 @@ def _init_validate_self_general(self): if self.bullet_hit_count and self.bullet_hit_count not in CondCat.skill_bullet_hit: raise ConditionValidationFailedError(ConditionCheckResult.INTERNAL_NOT_BULLET_HIT_COUNT) - # Check `self.buff_zone_self` - if self.buff_zone_self and self.buff_zone_self not in CondCat.self_in_buff_zone_self: - raise ConditionValidationFailedError(ConditionCheckResult.INTERNAL_NOT_BUFF_ZONE_SELF) + # Check `self.buff_field_self` + if self.buff_field_self and self.buff_field_self not in CondCat.self_in_buff_field_self: + raise ConditionValidationFailedError(ConditionCheckResult.INTERNAL_NOT_BUFF_FIELD_SELF) - # Check `self.buff_zone_ally` - if self.buff_zone_ally and self.buff_zone_ally not in CondCat.self_in_buff_zone_ally: - raise ConditionValidationFailedError(ConditionCheckResult.INTERNAL_NOT_BUFF_ZONE_ALLY) + # Check `self.buff_field_ally` + if self.buff_field_ally and self.buff_field_ally not in CondCat.self_in_buff_field_ally: + raise ConditionValidationFailedError(ConditionCheckResult.INTERNAL_NOT_BUFF_FIELD_ALLY) def _init_validate_self_special(self): # Check `self.action_cond` @@ -223,8 +223,8 @@ def __post_init__(self, conditions: Optional[Union[Iterable[Condition], Conditio self.hp_condition = CondCat.self_hp_cond.extract(conditions) self.combo_count = CondCat.self_combo_count.extract(conditions) self.buff_count = CondCat.self_buff_count.extract(conditions) - self.buff_zone_self = CondCat.self_in_buff_zone_self.extract(conditions) - self.buff_zone_ally = CondCat.self_in_buff_zone_ally.extract(conditions) + self.buff_field_self = CondCat.self_in_buff_field_self.extract(conditions) + self.buff_field_ally = CondCat.self_in_buff_field_ally.extract(conditions) self.weapon_type = CondCat.self_weapon_type.extract(conditions) self.action_cond = CondCat.action_condition.extract(conditions) self.gauge_filled = CondCat.self_gauge_filled.extract(conditions) @@ -265,8 +265,8 @@ def __post_init__(self, conditions: Optional[Union[Iterable[Condition], Conditio self.hp_status_converted = CondCat.self_hp_status.convert(self.hp_status, on_missing=1) self.combo_count_converted = CondCat.self_combo_count.convert(self.combo_count, on_missing=0) self.buff_count_converted = CondCat.self_buff_count.convert(self.buff_count, on_missing=0) - self.buff_zone_self_converted = CondCat.self_in_buff_zone_self.convert(self.buff_zone_self, on_missing=0) - self.buff_zone_ally_converted = CondCat.self_in_buff_zone_ally.convert(self.buff_zone_ally, on_missing=0) + self.buff_field_self_converted = CondCat.self_in_buff_field_self.convert(self.buff_field_self, on_missing=0) + self.buff_field_ally_converted = CondCat.self_in_buff_field_ally.convert(self.buff_field_ally, on_missing=0) self.weapon_type_converted = CondCat.self_weapon_type.convert(self.weapon_type, on_missing=None) self.action_cond_id = CondCat.action_condition.convert(self.action_cond, on_missing=None) self.gauge_filled_converted = CondCat.self_gauge_filled.convert(self.gauge_filled, on_missing=0) @@ -327,11 +327,11 @@ def _cond_sorted_self_general(self) -> tuple[Condition]: if self.buff_count: ret += (self.buff_count,) - if self.buff_zone_self: - ret += (self.buff_zone_self,) + if self.buff_field_self: + ret += (self.buff_field_self,) - if self.buff_zone_ally: - ret += (self.buff_zone_ally,) + if self.buff_field_ally: + ret += (self.buff_field_ally,) return ret @@ -403,7 +403,7 @@ def conditions_sorted(self) -> tuple[Condition, ...]: - [Self] HP status / condition - [Self] Combo count - [Self] Buff count - - [Self] Buff zone built by self / ally + - [Self] Buff field built by self / ally - [Self] Self action condition - [Self] Gauge status - [Self] Shapeshift diff --git a/dlparse/enums/condition/items.py b/dlparse/enums/condition/items.py index 26307138..1d32bee7 100644 --- a/dlparse/enums/condition/items.py +++ b/dlparse/enums/condition/items.py @@ -143,14 +143,14 @@ class Condition(TranslatableEnumMixin, Enum): SELF_BUFF_50 = 268 # endregion - # region In buff zone - IN_BUFF_ZONE_BY_SELF_0 = 270 - IN_BUFF_ZONE_BY_SELF_1 = 271 - IN_BUFF_ZONE_BY_SELF_2 = 272 - IN_BUFF_ZONE_BY_ALLY_0 = 273 - IN_BUFF_ZONE_BY_ALLY_1 = 274 - IN_BUFF_ZONE_BY_ALLY_2 = 275 - IN_BUFF_ZONE_BY_ALLY_3 = 276 + # region In buff field + IN_BUFF_FIELD_BY_SELF_0 = 270 + IN_BUFF_FIELD_BY_SELF_1 = 271 + IN_BUFF_FIELD_BY_SELF_2 = 272 + IN_BUFF_FIELD_BY_ALLY_0 = 273 + IN_BUFF_FIELD_BY_ALLY_1 = 274 + IN_BUFF_FIELD_BY_ALLY_2 = 275 + IN_BUFF_FIELD_BY_ALLY_3 = 276 # endregion # region Weapon type @@ -268,7 +268,7 @@ class Condition(TranslatableEnumMixin, Enum): ON_BUFFED_DEF = 801 ON_REVIVED = 802 ON_ENERGY_LV_UP = 803 - ON_ENTERED_BUFF_ZONE = 804 + ON_ENTERED_BUFF_FIELD = 804 ON_HEALED = 805 ON_DODGE_SUCCESS = 806 # endregion diff --git a/dlparse/enums/target.py b/dlparse/enums/target.py index 208be716..e0581f61 100644 --- a/dlparse/enums/target.py +++ b/dlparse/enums/target.py @@ -24,7 +24,7 @@ class HitTargetSimple(TranslatableEnumMixin, Enum): SELF = 1 SELF_SURROUNDING = 2 ENEMY = 3 - AREA = 4 + FIELD = 4 TEAM = 6 @property @@ -37,7 +37,7 @@ def get_all_translatable_members() -> list["HitTargetSimple"]: HitTargetSimple.SELF, HitTargetSimple.SELF_SURROUNDING, HitTargetSimple.ENEMY, - HitTargetSimple.AREA, + HitTargetSimple.FIELD, HitTargetSimple.TEAM ] @@ -56,12 +56,12 @@ class HitTarget(Enum): SELF = 1 """The effect will be applied to the user themselves only.""" - SELF_SKILL_AREA = 2 + SELF_SKILL_FIELD = 2 """ - The effect will be applied to every ally who stays within the skill effect range. + The effect will be applied to every ally who stays within the skill field range. This includes some skills that centers at the user (for example, Summer Cleo S2 ``106504012``), - and the skills that creates an area (for example, Wedding Elisanne S1 ``101503021``). + and the skills that creates a field (for example, Wedding Elisanne S1 ``101503021``). """ ENEMY = 3 """The effect will be applied to the enemy.""" @@ -92,7 +92,7 @@ def _missing_(cls, _): TRANS_DICT_TO_SIMPLE: dict[HitTarget, HitTargetSimple] = { HitTarget.UNKNOWN: HitTargetSimple.UNKNOWN, HitTarget.SELF: HitTargetSimple.SELF, - HitTarget.SELF_SKILL_AREA: HitTargetSimple.SELF_SURROUNDING, + HitTarget.SELF_SKILL_FIELD: HitTargetSimple.SELF_SURROUNDING, HitTarget.ENEMY: HitTargetSimple.ENEMY, HitTarget.TEAM: HitTargetSimple.TEAM, HitTarget.HIT_DEPENDENT_SELF: HitTargetSimple.SELF diff --git a/dlparse/export/entry/skill_atk.py b/dlparse/export/entry/skill_atk.py index 8199f877..355730ed 100644 --- a/dlparse/export/entry/skill_atk.py +++ b/dlparse/export/entry/skill_atk.py @@ -29,8 +29,8 @@ def to_json_entry(self) -> dict[str, Any]: @dataclass -class SkillBuffZoneBoostEntry(JsonExportableEntryBase): - """A single entry representing the mods increment according to the user's buff zone.""" +class SkillBuffFieldBoostEntry(JsonExportableEntryBase): + """A single entry representing the mods increment according to the user's buff field.""" rate_by_self: float rate_by_ally: float @@ -81,7 +81,7 @@ class CharaAttackingSkillEntry(SkillExportEntryBase[AttackingSkillDataEntry]): dispel_timing_max: list[float] = field(init=False) buff_count_data_max: list[SkillBuffCountBoostEntry] = field(init=False) - buff_zone_data_max: SkillBuffZoneBoostEntry = field(init=False) + buff_field_data_max: SkillBuffFieldBoostEntry = field(init=False) def __post_init__( self, skill_data: SkillDataEntry, skill_id_entry: SkillIdEntry, @@ -127,8 +127,8 @@ def __post_init__( ) for buff_count_data in skill_data_to_parse.buff_count_boost_mtx[-1] ] - buff_zone_data = skill_data_to_parse.buff_zone_boost_mtx[-1] - self.buff_zone_data_max = SkillBuffZoneBoostEntry(buff_zone_data.rate_by_self, buff_zone_data.rate_by_ally) + buff_field_data = skill_data_to_parse.buff_field_boost_mtx[-1] + self.buff_field_data_max = SkillBuffFieldBoostEntry(buff_field_data.rate_by_self, buff_field_data.rate_by_ally) def to_json_entry(self) -> dict[str, Any]: # Used by the website, DO NOT CHANGE @@ -140,7 +140,7 @@ def to_json_entry(self) -> dict[str, Any]: "hitsMax": self.skill_total_hits_max, "afflictions": [affliction_data.to_json_entry() for affliction_data in self.affliction_data_max], "buffCountBoost": [buff_count_data.to_json_entry() for buff_count_data in self.buff_count_data_max], - "buffZoneBoost": self.buff_zone_data_max.to_json_entry(), + "buffZoneBoost": self.buff_field_data_max.to_json_entry(), "dispelMax": self.dispel_max, "dispelTimingMax": self.dispel_timing_max }) diff --git a/dlparse/model/__init__.py b/dlparse/model/__init__.py index 147530d9..4d67baf8 100644 --- a/dlparse/model/__init__.py +++ b/dlparse/model/__init__.py @@ -5,7 +5,7 @@ from .action_cond_conv import ActionCondEffectConvertPayload, ActionCondEffectConvertible from .action_cond_effect import HitActionConditionEffectUnit, HitAfflictionEffectUnitHit from .base import EffectUnitBase, HitData, SkillDataBase, SkillEntryBase -from .buff_boost import BuffCountBoostData, BuffZoneBoostData +from .buff_boost import BuffCountBoostData, BuffFieldBoostData from .chained_ex_ability import ChainedExAbilityData from .ex_ability import ExAbilityData from .hit_buff import BuffingHitData diff --git a/dlparse/model/base/hit.py b/dlparse/model/base/hit.py index 71352cfc..e72606d8 100644 --- a/dlparse/model/base/hit.py +++ b/dlparse/model/base/hit.py @@ -47,7 +47,7 @@ def target_simple(self) -> HitTargetSimple: ret: HitTargetSimple = self.hit_attr.target_group.to_simple() if isinstance(self.action_component, ActionSettingHit) and ret == HitTargetSimple.SELF_SURROUNDING: - return HitTargetSimple.AREA + return HitTargetSimple.FIELD return ret @@ -83,8 +83,8 @@ def get_duration(self, cond_entry: Optional[ActionConditionEntry]) -> float: if cond_entry and cond_entry.duration_sec: return cond_entry.duration_sec - # If the action component sets an area, return its lifetime + # If the action component deploys a field, return its lifetime if isinstance(self.action_component, ActionSettingHit): - return self.action_component.area_lifetime + return self.action_component.field_lifetime return 0 diff --git a/dlparse/model/buff_boost.py b/dlparse/model/buff_boost.py index 9fc1962e..298f6dc3 100644 --- a/dlparse/model/buff_boost.py +++ b/dlparse/model/buff_boost.py @@ -9,7 +9,7 @@ from .hit_dmg import DamagingHitData from dlparse.mono.asset import ActionConditionAsset, BuffCountAsset, HitAttrEntry -__all__ = ("BuffCountBoostData", "BuffZoneBoostData") +__all__ = ("BuffCountBoostData", "BuffFieldBoostData") @dataclass @@ -86,8 +86,8 @@ def __hash__(self): @dataclass(eq=False) -class BuffZoneBoostData(BuffBoostData): - """Data used for calculating the damage boost according to the buff zone.""" +class BuffFieldBoostData(BuffBoostData): + """Data used for calculating the damage boost according to the buff field count.""" rate_by_self: float rate_by_ally: float @@ -97,9 +97,9 @@ def __hash__(self): return hash((self.rate_by_self * 1E5, self.rate_by_ally * 1E5,)) @staticmethod - def from_hit_units(hit_data_list: list["DamagingHitData"]) -> "BuffZoneBoostData": - """``hit_data_list`` to a buff zone boosting data.""" - rate_by_self = sum(hit_data.mod_on_self_buff_zone for hit_data in hit_data_list) - rate_by_ally = sum(hit_data.mod_on_ally_buff_zone for hit_data in hit_data_list) + def from_hit_units(hit_data_list: list["DamagingHitData"]) -> "BuffFieldBoostData": + """``hit_data_list`` to a buff field boosting data.""" + rate_by_self = sum(hit_data.mod_on_self_buff_field for hit_data in hit_data_list) + rate_by_ally = sum(hit_data.mod_on_ally_buff_field for hit_data in hit_data_list) - return BuffZoneBoostData(rate_by_self, rate_by_ally) + return BuffFieldBoostData(rate_by_self, rate_by_ally) diff --git a/dlparse/model/hit_dmg.py b/dlparse/model/hit_dmg.py index fb00b4e0..c44e5466 100644 --- a/dlparse/model/hit_dmg.py +++ b/dlparse/model/hit_dmg.py @@ -59,9 +59,9 @@ class DamagingHitData(HitDataEffectConvertible[ActionComponentHasHitLabels]): # max_hit_count: int = 0 # endregion - # region Damage modifiers when inside the buff zones - mod_on_self_buff_zone: float = 0 - mod_on_ally_buff_zone: float = 0 + # region Damage modifiers when inside the buff fields + mod_on_self_buff_field: float = 0 + mod_on_ally_buff_field: float = 0 # endregion # region Flags of bullets having special patterns @@ -102,12 +102,12 @@ def __post_init__(self): and self.action_component.is_special_pattern): self.max_hit_count = self.action_component.max_hit_count - # Buff zone specific damage mod + # Buff field specific damage mod if isinstance(self.action_component, ActionBuffField): if self.action_component.count_for_self_built: - self.mod_on_self_buff_zone = self.hit_attr.damage_modifier + self.mod_on_self_buff_field = self.hit_attr.damage_modifier else: - self.mod_on_ally_buff_zone = self.hit_attr.damage_modifier + self.mod_on_ally_buff_field = self.hit_attr.damage_modifier # Other attributes if self.ability_data: @@ -121,9 +121,9 @@ def __post_init__(self): self._init_validity_check() @property - def is_effective_inside_buff_zone(self) -> bool: - """Check if the hit is only effective if the user is inside buff zones.""" - return bool(self.mod_on_self_buff_zone or self.mod_on_ally_buff_zone) + def is_effective_inside_buff_field(self) -> bool: + """Check if the hit is only effective if the user is inside buff fields.""" + return bool(self.mod_on_self_buff_field or self.mod_on_ally_buff_field) def damage_modifier_at_hit(self, hit_count: int) -> float: """ @@ -144,13 +144,13 @@ def damage_modifier_at_hit(self, hit_count: int) -> float: # - 1 for hit count here because the 1st hit deals the base damage (no deterioration) return self.hit_attr.damage_modifier * self.deterioration_rate ** (hit_count - 1) - def mods_in_self_buff_zone(self, count: int) -> list[float]: - """Get the damage modifiers if standing on ``count`` buff zones created by the user.""" - return [self.mod_on_self_buff_zone] * count + def mods_in_self_buff_field(self, count: int) -> list[float]: + """Get the damage modifiers if standing on ``count`` buff fields created by the user.""" + return [self.mod_on_self_buff_field] * count - def mods_in_ally_buff_zone(self, count: int) -> list[float]: - """Get the damage modifiers if standing on ``count`` buff zones created by the allies.""" - return [self.mod_on_ally_buff_zone] * count + def mods_in_ally_buff_field(self, count: int) -> list[float]: + """Get the damage modifiers if standing on ``count`` buff fields created by the allies.""" + return [self.mod_on_ally_buff_field] * count def _damage_units_get_base_attributes( self, condition_comp: ConditionComposite, unit_affliction: HitAfflictionEffectUnitHit, @@ -173,10 +173,10 @@ def _damage_units_get_base_attributes( for hit_count in range(1, condition_comp.bullet_hit_count_converted + 1) ] - if self.is_effective_inside_buff_zone: - # Damage mods inside buff zones i.e. no damage mod if not in buff zone - mods = self.mods_in_self_buff_zone(condition_comp.buff_zone_self_converted or 0) - mods += self.mods_in_ally_buff_zone(condition_comp.buff_zone_ally_converted or 0) + if self.is_effective_inside_buff_field: + # Damage mods inside buff fields i.e. no damage mod if not in buff field + mods = self.mods_in_self_buff_field(condition_comp.buff_field_self_converted or 0) + mods += self.mods_in_ally_buff_field(condition_comp.buff_field_ally_converted or 0) return [DamageUnit(self.action_time, mod, unit_affliction, units_debuff, hit_attr) for mod in mods] diff --git a/dlparse/model/skill_atk.py b/dlparse/model/skill_atk.py index 2f1f75f2..014c3cf0 100644 --- a/dlparse/model/skill_atk.py +++ b/dlparse/model/skill_atk.py @@ -6,7 +6,7 @@ from dlparse.mono.asset import ActionConditionAsset, BuffCountAsset, PlayerActionInfoAsset from .action_cond_effect import HitActionConditionEffectUnit from .base import SkillDataBase, SkillEntryBase -from .buff_boost import BuffCountBoostData, BuffZoneBoostData +from .buff_boost import BuffCountBoostData, BuffFieldBoostData from .hit_dmg import DamageUnit, DamagingHitData from .unit_cancel import SkillCancelActionUnit from .unit_mod import DamageModifierUnit @@ -39,7 +39,7 @@ class AttackingSkillDataEntry(SkillEntryBase): cancel_unit_mtx: list[list[SkillCancelActionUnit]] - buff_zone_boost_mtx: list[BuffZoneBoostData] + buff_field_boost_mtx: list[BuffFieldBoostData] mod_unit_mtx: list[list[DamageModifierUnit]] = field(init=False) @@ -294,7 +294,7 @@ class AttackingSkillData(SkillDataBase[DamagingHitData, AttackingSkillDataEntry] cancel_unit_mtx: list[list[SkillCancelActionUnit]] _unit_mtx_base: list[list[DamageUnit]] = field(init=False) - _buff_zone_boost_mtx: list[BuffZoneBoostData] = field(init=False) + _buff_field_boost_mtx: list[BuffFieldBoostData] = field(init=False) _max_level: int = field(init=False) _has_non_zero_mods: bool = field(init=False) @@ -404,13 +404,13 @@ def _init_all_possible_conditions_self_others(self, is_exporting: bool): if gauge_boost_available: cond_elems.append({(combo_cond,) for combo_cond in ConditionCategories.self_gauge_filled.members}) - # In buff zone boosts available + # In buff field boosts available if not is_exporting and any( - hit_data.is_effective_inside_buff_zone + hit_data.is_effective_inside_buff_field for hit_data_lv in self.hit_data_mtx for hit_data in hit_data_lv ): - cond_elems.append({(buff_cond,) for buff_cond in ConditionCategories.self_in_buff_zone_self.members}) - cond_elems.append({(buff_cond,) for buff_cond in ConditionCategories.self_in_buff_zone_ally.members}) + cond_elems.append({(buff_cond,) for buff_cond in ConditionCategories.self_in_buff_field_self.members}) + cond_elems.append({(buff_cond,) for buff_cond in ConditionCategories.self_in_buff_field_ally.members}) return cond_elems @@ -482,9 +482,9 @@ def _init_all_possible_conditions(self, /, is_exporting: bool): for item_combination in product(*cond_elems) } - def _init_buff_zone_boost_mtx(self): - self._buff_zone_boost_mtx = [ - BuffZoneBoostData.from_hit_units(hit_data_lv) + def _init_buff_field_boost_mtx(self): + self._buff_field_boost_mtx = [ + BuffFieldBoostData.from_hit_units(hit_data_lv) for hit_data_lv in self.hit_data_mtx ] @@ -504,7 +504,7 @@ def __post_init__(self, is_exporting: bool): key=lambda item: item[0])[1] self._has_non_zero_mods = any(sum(unit.mod for unit in units) > 0 for units in self._unit_mtx_base) - self._init_buff_zone_boost_mtx() + self._init_buff_field_boost_mtx() def calculate_units_matrix( self, condition_comp: ConditionComposite @@ -582,7 +582,7 @@ def with_conditions(self, condition_comp: ConditionComposite = None) -> Attackin return AttackingSkillDataEntry( asset_action_cond=self.asset_action_cond, asset_buff_count=self.asset_buff_count, - buff_zone_boost_mtx=self._buff_zone_boost_mtx, + buff_field_boost_mtx=self._buff_field_boost_mtx, condition_comp=condition_comp, hit_unit_mtx=hit_unit_mtx, cancel_unit_mtx=self.cancel_unit_mtx, diff --git a/dlparse/mono/asset/base/ability.py b/dlparse/mono/asset/base/ability.py index fbfda877..0ef46cd3 100644 --- a/dlparse/mono/asset/base/ability.py +++ b/dlparse/mono/asset/base/ability.py @@ -58,10 +58,10 @@ def __post_init__(self): AbilityCondition.TRG_ENERGY_LV_UP: Condition.ON_ENERGY_LV_UP, AbilityCondition.TRG_ENERGIZED: Condition.SELF_ENERGIZED, # Despite the ability condition seems to be effective instead of triggering, - # mapping to a triggering condition (``ON_INTO_BUFF_ZONE``) - # makes more sense (the effect is granted once the user gets into the buff zone) and + # mapping to a triggering condition (``ON_INTO_BUFF_FIELD``) + # makes more sense (the effect is granted once the user gets into a buff field) and # gives easier categorization (no need to mess with the sectioned conditions or to create a new category) - AbilityCondition.EFF_IN_BUFF_ZONE: Condition.ON_ENTERED_BUFF_ZONE, + AbilityCondition.EFF_IN_BUFF_FIELD: Condition.ON_ENTERED_BUFF_FIELD, AbilityCondition.TRG_SHAPESHIFT_COMPLETED: Condition.SELF_SHAPESHIFT_COMPLETED, AbilityCondition.TRG_GOT_HIT: Condition.ON_HIT, AbilityCondition.TRG_HEALED: Condition.ON_HEALED, diff --git a/dlparse/mono/asset/player_action/set_hit.py b/dlparse/mono/asset/player_action/set_hit.py index 214b41e0..b5d8b3c8 100644 --- a/dlparse/mono/asset/player_action/set_hit.py +++ b/dlparse/mono/asset/player_action/set_hit.py @@ -11,7 +11,7 @@ class ActionSettingHit(ActionComponentHasHitLabels): """Class of ``ActionPartsSettingHit`` component in the player action asset.""" - area_lifetime: float + field_lifetime: float @classmethod def parse_raw(cls, data: dict[str, Union[str, float]]) -> "ActionSettingHit": @@ -19,6 +19,6 @@ def parse_raw(cls, data: dict[str, Union[str, float]]) -> "ActionSettingHit": return ActionSettingHit( hit_labels=[data["_hitAttrLabel"]], - area_lifetime=data["_lifetime"], + field_lifetime=data["_lifetime"], **kwargs ) diff --git a/notes/assets/ActionComponents.md b/notes/assets/ActionComponents.md index 26448a21..492320e6 100644 --- a/notes/assets/ActionComponents.md +++ b/notes/assets/ActionComponents.md @@ -150,7 +150,7 @@ Add a damaging hit if according to the buff field count. ### `ActionSettingHit` -An action which sets an area. +An action which sets a buff field. #### Apperance notes @@ -212,13 +212,13 @@ This acts as a connector to check if the action should be the next action ### `ActionPartsSettingHit` -Sets an area with some special effects. (Wedding Elisanne S1 / S2) +Sets a buff field with some special effects. (Wedding Elisanne S1 / S2) This does **not** deal damage. #### Attribute notes -- `_lifetime` is the duration of the area. +- `_lifetime` is the duration of the buff field. ## Unit Action Controlling Components diff --git a/notes/enums/AbilityCondition.md b/notes/enums/AbilityCondition.md index 255f945e..fd4efd70 100644 --- a/notes/enums/AbilityCondition.md +++ b/notes/enums/AbilityCondition.md @@ -422,7 +422,7 @@ Effective if the butterflies on the map is over a certain threshold. ### `88` - `ON_BUFF_FIELD` -Effective if the user is inside a buff zone. +Effective if the user is inside a buff field. - **Val 1**: *Used but meaning unknown. Could be the minimum count of the buff fields.* diff --git a/notes/enums/AbilityVariant.md b/notes/enums/AbilityVariant.md index c9a485c9..69f915c9 100644 --- a/notes/enums/AbilityVariant.md +++ b/notes/enums/AbilityVariant.md @@ -330,7 +330,7 @@ A value of `100` means to charge all skills with 100% SP (immediately ready the Extend the buff effective time. If the variant is inside an EX ability entry, the effect is team-wide. -This only applies to the buffs that are directly applied to the user. Zoned buff like Gala Euden S1 (`10150403`) will +This only applies to the buffs that are directly applied to the user. Buff field like Gala Euden S1 (`10150403`) will not be affected by this. #### Variant Up Value diff --git a/tests/test_export/test_skill_atk.py b/tests/test_export/test_skill_atk.py index a71063cd..7825fc63 100644 --- a/tests/test_export/test_skill_atk.py +++ b/tests/test_export/test_skill_atk.py @@ -77,9 +77,9 @@ def test_exported_json(asset_manager: AssetManager): for buff_count_data in json_entry["skill"]["buffCountBoost"]: assert buff_count_key in buff_count_data - # Check for buff zone boost keys - for buff_zone_key in ("self", "ally"): - assert buff_zone_key in json_entry["skill"]["buffZoneBoost"] + # Check for buff field boost keys + for buff_field_key in ("self", "ally"): + assert buff_field_key in json_entry["skill"]["buffZoneBoost"] # Check for the keys in the names for lang_key in ("cht", "en", "jp"): diff --git a/tests/test_transformer/test_chained_ex/test_main.py b/tests/test_transformer/test_chained_ex/test_main.py index 9c8ff20b..a9a1447f 100644 --- a/tests/test_transformer/test_chained_ex/test_main.py +++ b/tests/test_transformer/test_chained_ex/test_main.py @@ -179,15 +179,15 @@ def test_elem_res_on_combo_count_above(transformer_ability: AbilityTransformer): check_ability_effect_unit_match(ex_ability_data.effect_units, expected_info) -def test_elem_res_in_buff_zone(transformer_ability: AbilityTransformer): +def test_elem_res_in_buff_field(transformer_ability: AbilityTransformer): # Opera Karina - 10650504 # https://dragalialost.gamepedia.com/Opera_Karina ex_ability_data = transformer_ability.transform_chained_ex_ability(400000799) expected_info = { - # The effect of clearing the action condition when leaving the buff zone is omitted + # The effect of clearing the action condition when leaving the buff field is omitted AbilityEffectInfo( - 400000799, ConditionComposite([Condition.TARGET_SHADOW, Condition.ON_ENTERED_BUFF_ZONE]), + 400000799, ConditionComposite([Condition.TARGET_SHADOW, Condition.ON_ENTERED_BUFF_FIELD]), BuffParameter.RESISTANCE_LIGHT_BUFF, 0.07, duration_sec=0 ), } diff --git a/tests/test_transformer/test_skill/test_atk/test_buff_zone.py b/tests/test_transformer/test_skill/test_atk/test_buff_zone.py index 8741f310..71af56cf 100644 --- a/tests/test_transformer/test_skill/test_atk/test_buff_zone.py +++ b/tests/test_transformer/test_skill/test_atk/test_buff_zone.py @@ -1,4 +1,4 @@ -from dlparse.model import BuffZoneBoostData +from dlparse.model import BuffFieldBoostData from dlparse.transformer import SkillTransformer @@ -7,7 +7,7 @@ def test_self_ally_diff(transformer_skill: SkillTransformer): # https://dragalialost.gamepedia.com/Nevin skill_data = transformer_skill.transform_attacking(103505044, is_exporting=True).with_conditions() - assert skill_data.buff_zone_boost_mtx == [BuffZoneBoostData(2.7, 0.9), BuffZoneBoostData(3, 1)] + assert skill_data.buff_field_boost_mtx == [BuffFieldBoostData(2.7, 0.9), BuffFieldBoostData(3, 1)] def test_self_ally_same(transformer_skill: SkillTransformer): @@ -15,4 +15,4 @@ def test_self_ally_same(transformer_skill: SkillTransformer): # https://dragalialost.gamepedia.com/Dragonyule_Victor skill_data = transformer_skill.transform_attacking(104505032, is_exporting=True).with_conditions() - assert skill_data.buff_zone_boost_mtx == [BuffZoneBoostData(4.5, 4.5), BuffZoneBoostData(5, 5)] + assert skill_data.buff_field_boost_mtx == [BuffFieldBoostData(4.5, 4.5), BuffFieldBoostData(5, 5)] diff --git a/tests/test_transformer/test_skill/test_atk/test_debuff.py b/tests/test_transformer/test_skill/test_atk/test_debuff.py index fac7da4e..804eb3ae 100644 --- a/tests/test_transformer/test_skill/test_atk/test_debuff.py +++ b/tests/test_transformer/test_skill/test_atk/test_debuff.py @@ -142,7 +142,7 @@ def test_def_down_elemental_restricted(transformer_skill: SkillTransformer): check_debuff_unit_match(actual_buffs, expected_buffs) -def test_def_down_area(transformer_skill: SkillTransformer): +def test_def_down_field(transformer_skill: SkillTransformer): # Wedding Elisanne S2 # https://dragalialost.gamepedia.com/Wedding_Elisanne skill_data = transformer_skill.transform_attacking(101503022).with_conditions() @@ -161,7 +161,7 @@ def test_def_down_area(transformer_skill: SkillTransformer): check_debuff_unit_match(actual_buffs, expected_buffs) -def test_def_down_area_2(transformer_skill: SkillTransformer): +def test_def_down_field_2(transformer_skill: SkillTransformer): # Sha Wujing S2 # https://dragalialost.gamepedia.com/Sha_Wujing skill_data = transformer_skill.transform_attacking(105404022).with_conditions() diff --git a/tests/test_transformer/test_skill/test_atk_chara/test_nevin.py b/tests/test_transformer/test_skill/test_atk_chara/test_nevin.py index fcfe5282..cd76385f 100644 --- a/tests/test_transformer/test_skill/test_atk_chara/test_nevin.py +++ b/tests/test_transformer/test_skill/test_atk_chara/test_nevin.py @@ -3,7 +3,7 @@ import pytest from dlparse.enums import Condition, ConditionComposite, SkillNumber -from dlparse.model import BuffZoneBoostData +from dlparse.model import BuffFieldBoostData from dlparse.mono.asset import SkillIdEntry, SkillIdentifierLabel from dlparse.mono.manager import AssetManager from dlparse.transformer import SkillTransformer @@ -60,30 +60,30 @@ def test_iter_entries_s2_released(transformer_skill: SkillTransformer): possible_entries = skill_data.get_all_possible_entries() expected_addl_at_max = { - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_0, - Condition.IN_BUFF_ZONE_BY_ALLY_0]): 0, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_0, - Condition.IN_BUFF_ZONE_BY_ALLY_1]): 1, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_0, - Condition.IN_BUFF_ZONE_BY_ALLY_2]): 2, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_0, - Condition.IN_BUFF_ZONE_BY_ALLY_3]): 3, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_1, - Condition.IN_BUFF_ZONE_BY_ALLY_0]): 3, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_1, - Condition.IN_BUFF_ZONE_BY_ALLY_1]): 4, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_1, - Condition.IN_BUFF_ZONE_BY_ALLY_2]): 5, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_1, - Condition.IN_BUFF_ZONE_BY_ALLY_3]): 6, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_2, - Condition.IN_BUFF_ZONE_BY_ALLY_0]): 6, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_2, - Condition.IN_BUFF_ZONE_BY_ALLY_1]): 7, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_2, - Condition.IN_BUFF_ZONE_BY_ALLY_2]): 8, - ConditionComposite([Condition.IN_BUFF_ZONE_BY_SELF_2, - Condition.IN_BUFF_ZONE_BY_ALLY_3]): 9, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_0, + Condition.IN_BUFF_FIELD_BY_ALLY_0]): 0, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_0, + Condition.IN_BUFF_FIELD_BY_ALLY_1]): 1, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_0, + Condition.IN_BUFF_FIELD_BY_ALLY_2]): 2, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_0, + Condition.IN_BUFF_FIELD_BY_ALLY_3]): 3, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_1, + Condition.IN_BUFF_FIELD_BY_ALLY_0]): 3, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_1, + Condition.IN_BUFF_FIELD_BY_ALLY_1]): 4, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_1, + Condition.IN_BUFF_FIELD_BY_ALLY_2]): 5, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_1, + Condition.IN_BUFF_FIELD_BY_ALLY_3]): 6, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_2, + Condition.IN_BUFF_FIELD_BY_ALLY_0]): 6, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_2, + Condition.IN_BUFF_FIELD_BY_ALLY_1]): 7, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_2, + Condition.IN_BUFF_FIELD_BY_ALLY_2]): 8, + ConditionComposite([Condition.IN_BUFF_FIELD_BY_SELF_2, + Condition.IN_BUFF_FIELD_BY_ALLY_3]): 9, } expected = set(expected_addl_at_max.keys()) @@ -122,20 +122,20 @@ def test_iter_entries_s2_released(transformer_skill: SkillTransformer): assert len(expected_addl_at_max) == 0, f"Conditions not tested: {set(expected_addl_at_max.keys())}" -def test_buff_zone_boost_s2_locked(transformer_skill: SkillTransformer): +def test_buff_field_boost_s2_locked(transformer_skill: SkillTransformer): # Nevin S2 @ Sigil Locked # https://dragalialost.gamepedia.com/Nevin skill_data = transformer_skill.transform_attacking(103505042, is_exporting=True).with_conditions() - assert skill_data.buff_zone_boost_mtx == [BuffZoneBoostData(0, 0)] * 2 + assert skill_data.buff_field_boost_mtx == [BuffFieldBoostData(0, 0)] * 2 -def test_buff_zone_boost_s2_released(transformer_skill: SkillTransformer): +def test_buff_field_boost_s2_released(transformer_skill: SkillTransformer): # Nevin S2 @ Sigil Released # https://dragalialost.gamepedia.com/Nevin skill_data = transformer_skill.transform_attacking(103505044, is_exporting=True).with_conditions() - assert skill_data.buff_zone_boost_mtx == [BuffZoneBoostData(2.7, 0.9), BuffZoneBoostData(3, 1)] + assert skill_data.buff_field_boost_mtx == [BuffFieldBoostData(2.7, 0.9), BuffFieldBoostData(3, 1)] def test_s2_locked(transformer_skill: SkillTransformer): @@ -190,11 +190,11 @@ def test_s2_released(transformer_skill: SkillTransformer): [], [] ], - ConditionComposite(Condition.IN_BUFF_ZONE_BY_SELF_1): [ + ConditionComposite(Condition.IN_BUFF_FIELD_BY_SELF_1): [ [2.7], [3] ], - ConditionComposite(Condition.IN_BUFF_ZONE_BY_SELF_2): [ + ConditionComposite(Condition.IN_BUFF_FIELD_BY_SELF_2): [ [2.7] * 2, [3] * 2 ], @@ -204,15 +204,15 @@ def test_s2_released(transformer_skill: SkillTransformer): [], [] ], - ConditionComposite(Condition.IN_BUFF_ZONE_BY_ALLY_1): [ + ConditionComposite(Condition.IN_BUFF_FIELD_BY_ALLY_1): [ [0.9], [1] ], - ConditionComposite(Condition.IN_BUFF_ZONE_BY_ALLY_2): [ + ConditionComposite(Condition.IN_BUFF_FIELD_BY_ALLY_2): [ [0.9] * 2, [1] * 2 ], - ConditionComposite(Condition.IN_BUFF_ZONE_BY_ALLY_3): [ + ConditionComposite(Condition.IN_BUFF_FIELD_BY_ALLY_3): [ [0.9] * 3, [1] * 3 ], diff --git a/tests/test_transformer/test_skill/test_rcv/test_main.py b/tests/test_transformer/test_skill/test_rcv/test_main.py index 206f42db..62f11f96 100644 --- a/tests/test_transformer/test_skill/test_rcv/test_main.py +++ b/tests/test_transformer/test_skill/test_rcv/test_main.py @@ -1,7 +1,7 @@ from dlparse.transformer import SkillTransformer -def test_single_recovery_area(transformer_skill: SkillTransformer): +def test_single_recovery_field(transformer_skill: SkillTransformer): # Wedding Elisanne S1 # https://dragalialost.gamepedia.com/Wedding_Elisanne # skill_data_base = transformer_skill.transform_recovery(101503021) diff --git a/tests/test_transformer/test_skill/test_sup/test_main.py b/tests/test_transformer/test_skill/test_sup/test_main.py index e808c716..ea60072f 100644 --- a/tests/test_transformer/test_skill/test_sup/test_main.py +++ b/tests/test_transformer/test_skill/test_sup/test_main.py @@ -84,7 +84,7 @@ def test_single_effect_to_team_limited(transformer_skill: SkillTransformer): assert skill_data.buffs == [set()] * skill_data_base.max_level -def test_single_effect_area(transformer_skill: SkillTransformer): +def test_single_effect_field(transformer_skill: SkillTransformer): # Gala Euden S1 # https://dragalialost.gamepedia.com/Gala_Prince skill_data_base = transformer_skill.transform_supportive(101504031) @@ -92,13 +92,13 @@ def test_single_effect_area(transformer_skill: SkillTransformer): assert skill_data_base.max_level == 3 expected_buffs_lv_1 = { - BuffEffectInfo("SWD_115_04_ATK_FLD_LV01", HitTargetSimple.AREA, BuffParameter.ATK_BUFF, 0.10, 10, 0) + BuffEffectInfo("SWD_115_04_ATK_FLD_LV01", HitTargetSimple.FIELD, BuffParameter.ATK_BUFF, 0.10, 10, 0) } expected_buffs_lv_2 = { - BuffEffectInfo("SWD_115_04_ATK_FLD_LV02", HitTargetSimple.AREA, BuffParameter.ATK_BUFF, 0.15, 10, 0) + BuffEffectInfo("SWD_115_04_ATK_FLD_LV02", HitTargetSimple.FIELD, BuffParameter.ATK_BUFF, 0.15, 10, 0) } expected_buffs_lv_3 = { - BuffEffectInfo("SWD_115_04_ATK_FLD_LV03", HitTargetSimple.AREA, BuffParameter.ATK_BUFF, 0.20, 10, 0) + BuffEffectInfo("SWD_115_04_ATK_FLD_LV03", HitTargetSimple.FIELD, BuffParameter.ATK_BUFF, 0.20, 10, 0) } expected_base_buffs = [expected_buffs_lv_1, expected_buffs_lv_2, expected_buffs_lv_3]