Skip to content

CompanionMod

src.templates._cosmetic.CompanionMod

Bases: BaseTemplate

Modifier for 'Companion' supported templates.

Modifies
  • 'is_hollow_crown': Enabled for Companion cards
Adds
  • 'companion_layer': Defines the Companion texture layer if card is Companion
  • 'enable_companion_layers': Called when card is a Companion
Source code in src\templates\_cosmetic.py
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
class CompanionMod (BaseTemplate):
    """
    Modifier for 'Companion' supported templates.

    Modifies:
        - 'is_hollow_crown': Enabled for Companion cards

    Adds:
        - 'companion_layer': Defines the Companion texture layer if card is Companion
        - 'enable_companion_layers': Called when card is a Companion
    """

    @auto_prop_cached
    def frame_layer_methods(self) -> list[Callable]:
        """Add companion layers step."""
        funcs = [self.enable_companion_layers] if self.is_companion else []
        return [*super().frame_layer_methods, *funcs]

    """
    * Bool
    """

    @auto_prop_cached
    def is_hollow_crown(self) -> bool:
        """Enable hollow crown for Companion cards."""
        if self.is_companion:
            return True
        return super().is_hollow_crown

    """
    * Layers
    """

    @auto_prop_cached
    def companion_layer(self) -> Optional[ArtLayer]:
        """Companion inner crown layer."""
        return psd.getLayer(self.pinlines, LAYERS.COMPANION)

    """
    * Companion Methods
    """

    def enable_companion_layers(self) -> None:
        """Enable Hollow Crown companion texture."""
        if self.is_legendary and self.companion_layer:
            self.companion_layer.visible = True

Functions

companion_layer() -> Optional[ArtLayer]

Companion inner crown layer.

Source code in src\templates\_cosmetic.py
179
180
181
182
@auto_prop_cached
def companion_layer(self) -> Optional[ArtLayer]:
    """Companion inner crown layer."""
    return psd.getLayer(self.pinlines, LAYERS.COMPANION)

enable_companion_layers() -> None

Enable Hollow Crown companion texture.

Source code in src\templates\_cosmetic.py
188
189
190
191
def enable_companion_layers(self) -> None:
    """Enable Hollow Crown companion texture."""
    if self.is_legendary and self.companion_layer:
        self.companion_layer.visible = True

frame_layer_methods() -> list[Callable]

Add companion layers step.

Source code in src\templates\_cosmetic.py
158
159
160
161
162
@auto_prop_cached
def frame_layer_methods(self) -> list[Callable]:
    """Add companion layers step."""
    funcs = [self.enable_companion_layers] if self.is_companion else []
    return [*super().frame_layer_methods, *funcs]

is_hollow_crown() -> bool

Enable hollow crown for Companion cards.

Source code in src\templates\_cosmetic.py
168
169
170
171
172
173
@auto_prop_cached
def is_hollow_crown(self) -> bool:
    """Enable hollow crown for Companion cards."""
    if self.is_companion:
        return True
    return super().is_hollow_crown