Source code for VegansDeluxe.rebuild.Skills.Ninja

import math

from VegansDeluxe.core import RegisterState, RegisterEvent
from VegansDeluxe.core import Session
from VegansDeluxe.core import StateContext, EventContext
from VegansDeluxe.core.Skills.Skill import Skill
from VegansDeluxe.core.Translator.LocalizedString import ls
from VegansDeluxe.rebuild.States.Dodge import DodgeGameEvent


[docs]class Ninja(Skill): id = 'ninja' name = ls("rebuild.skill.ninja.name") description = ls("rebuild.skill.ninja.description")
@RegisterState(Ninja) async def register(root_context: StateContext[Ninja]): session: Session = root_context.session source = root_context.entity @RegisterEvent(session.id, DodgeGameEvent) async def pre_actions(context: EventContext[DodgeGameEvent]): if context.event.entity.id != source.id: return context.event.bonus = -math.inf