public override void DoByte()
    {
        Rigidbody2D parentRigid = ParentSkill.SkillOwner.NPCRigidBody2D;

        ApplyOnCastBuffs();

        // Whenever we're roughly where we started
        float absoluteDistance = Mathf.Abs(parentRigid.transform.position.sqrMagnitude -
                                           m_TargetPosition.sqrMagnitude);

        if (absoluteDistance < V3_EQUALS_THRESHOLD)
        {
            ParentSkill.SkillOwner.FlipBattleNPCSpriteX();
            ParentSkill.AdvanceToNextByte();
        }
        else
        {
            BattleGlobals.HomingMovement(parentRigid, m_TargetPosition,
                                         (ParentSkill.SkillOwner.NPCMoveSpeedMultiplier.GetBuffAffectedValue() * ByteSpeed));
        }
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        if (m_ParentSkillByte.Homing)
        {
            BattleGlobals.HomingMovement(m_Rigid2d, m_mainTarget.transform.position,
                                         m_ParentSkillByte.ParentSkill.SkillOwner.NPCProjSpeedMultiplier.GetBuffAffectedValue() *
                                         m_ParentSkillByte.ByteSpeed);
        }
        else
        {
            BattleGlobals.NonHomingMovement(m_Rigid2d,
                                            m_ProjDirection *
                                            m_ParentSkillByte.ParentSkill.SkillOwner.NPCProjSpeedMultiplier.GetBuffAffectedValue() *
                                            m_ParentSkillByte.ByteSpeed);

            // When we are out of sight, we missed
            if (!m_SpriteRenderer.isVisible)
            {
                m_ParentSkillByte.DeRegisterProjectile(this);
            }
        }
    }
Beispiel #3
0
    public override void DoByte()
    {
        AnimateOwner(BattleGlobals.ANIMATE_NPC_ATTACK);

        ApplyOnCastBuffs();

        if (Homing)
        {
            BattleGlobals.HomingMovement(ParentSkill.SkillOwner.NPCRigidBody2D,
                                         NPCTargets[MELEE_ATTACK_PRIMARY_TARGET_INDEX].Focus.transform.position,
                                         (ParentSkill.SkillOwner.NPCMoveSpeedMultiplier.GetBuffAffectedValue() * ByteSpeed));
        }
        else
        {
            BattleGlobals.NonHomingMovement(ParentSkill.SkillOwner.NPCRigidBody2D,
                                            m_SkillDirection * (NON_HOMING_SPEED_MULTIPLIER *
                                                                ParentSkill.SkillOwner.NPCMoveSpeedMultiplier.GetBuffAffectedValue() * ByteSpeed));

            if (!ParentSkill.SkillOwner.NPCSpriteRender.isVisible)
            {
                OnSkillByteHit(null);
            }
        }
    }