Esempio n. 1
0
 public virtual AttackInfo AttackTarget(SkillAttackDamage atkAttackDamage, CharacterEntity targetEntity = null)
 {
     if (targetEntity == null)
     {
         targetEntity = selfOnly.ActionTarget;
     }
     return(selfOnly.Attack(targetEntity, atkAttackDamage.GetPAtkDamageRate(), atkAttackDamage.GetMAtkDamageRate(), atkAttackDamage.hitCount, (int)atkAttackDamage.GetFixDamage()));
 }
Esempio n. 2
0
 /// <summary>
 /// 直接攻击目标,不需要移动过去
 /// </summary>
 /// <param name="atkAttackDamage"></param>
 /// <param name="targetEntity"></param>
 /// <returns></returns>
 public virtual IEnumerator PatkImmediate(SkillAttackDamage atkAttackDamage, CharacterEntity targetEntity = null)
 {
     if (targetEntity == null)
     {
         targetEntity = selfOnly.ActionTarget;
     }
     selfOnly.Attack(targetEntity, atkAttackDamage.GetPAtkDamageRate(), atkAttackDamage.GetMAtkDamageRate(), atkAttackDamage.hitCount, (int)atkAttackDamage.GetFixDamage());
     yield return(null);
 }
Esempio n. 3
0
    /// <summary>
    /// 移动到指定目标旁边并攻击
    /// </summary>
    /// <param name="atkAttackDamage"></param>
    /// <param name="targetEntity"></param>
    /// <returns></returns>
    public virtual IEnumerator Patk(SkillAttackDamage atkAttackDamage, CharacterEntity targetEntity = null)
    {
        if (targetEntity == null)
        {
            targetEntity = selfOnly.ActionTarget;
        }
        yield return(selfOnly.MoveTo(targetEntity.CastedFormation.GetTarget2Position(targetEntity.Position), 1));

        selfOnly.Attack(targetEntity, atkAttackDamage.GetPAtkDamageRate(), atkAttackDamage.GetMAtkDamageRate(), atkAttackDamage.hitCount, (int)atkAttackDamage.GetFixDamage());
        yield return(selfOnly.MoveTo(targetEntity.CastedFormation.GetTarget1Position(targetEntity.Position), 1));
    }
Esempio n. 4
0
    public override IEnumerator DoSkillLogic()
    {
        selfOnly.Manager.SpawnCombatCustomText(selfOnly, skillName);
        yield return(MoveToTarget());

        var attackDamage = new SkillAttackDamage(0, 1, 0);

        selfOnly.Attack(selfOnly.ActionTarget, attackDamage.GetPAtkDamageRate(), attackDamage.GetMAtkDamageRate(), attackDamage.hitCount, (int)attackDamage.GetFixDamage());
        //消耗0能量,增加8能量就可了,不需要修改那个值,在这里灵活一点,可以根据情况决定恢复程度
        GamePlayManager.Singleton.uiUseSkillManager.sikllPower.AddPower(8);
        yield return(MoveToSelfPos());
    }
Esempio n. 5
0
    public override IEnumerator DoSkillLogic()
    {
        selfOnly.Manager.SpawnCombatCustomText(selfOnly, skillName);
        yield return(MoveToTarget());

        var attackDamage = new SkillAttackDamage();

        selfOnly.Attack(selfOnly.ActionTarget, attackDamage.GetPAtkDamageRate(), attackDamage.GetMAtkDamageRate(), attackDamage.hitCount, (int)attackDamage.GetFixDamage());
        yield return(ApplyBuffLogic());

        yield return(MoveToSelfPos());

        yield return(null);
    }