package com.yaohun.demonskills.skills.attack;

import com.yaohun.demonskills.component.DelayComponent;
import com.yaohun.demonskills.component.SoundComponent;
import com.yaohun.demonskills.component.dragoncore.PlayerAnimationComponent;
import com.yaohun.demonskills.component.dragoncore.StandAnimationComponent;
import com.yaohun.demonskills.component.projectile.ProjectileAdvanceComponent;
import com.yaohun.demonskills.core.Skill;

import java.util.Arrays;

public class Skill_普通攻击 {

    private static final String skillName = "普通攻击";
    private static final double cooldownTime = 1;
    private static final int needMagic = 10;

    public static Skill getAttack1() {
        Skill skill = new Skill( // 技能 ID
                skillName,   // 技能名称
                needMagic,      // 魔力需求
                cooldownTime,      // 冷却时间
                0.2,
                Arrays.asList(
                        // 技能组件列表
                        new SoundComponent("挥舞.ogg", 0.6f, 1.0f),
                        new PlayerAnimationComponent("youling_attack1",25),
                        new StandAnimationComponent("@游灵普通攻击", "youling_attack1", 1, 25,0.1),
                        new DelayComponent(1L,Arrays.asList(
                                new ProjectileAdvanceComponent(0.1,0.0)
                        ))
                ));
        return skill;
    }

    public static Skill getAttack2() {
        Skill skill = new Skill( // 技能 ID
                skillName,   // 技能名称
                needMagic,      // 魔力需求
                cooldownTime,      // 冷却时间
                0.2,
                Arrays.asList(
                        // 技能组件列表
                        new SoundComponent("挥舞.ogg", 0.6f, 1.0f),
                        new PlayerAnimationComponent("youling_attack2",31),
                        new StandAnimationComponent("@游灵普通攻击", "youling_attack2", 1, 31,0.1),
                        new DelayComponent(1L,Arrays.asList(
                                new ProjectileAdvanceComponent(0.1,0.0)
                        ))
                ));
        return skill;
    }

    public static Skill getAttack3() {
        Skill skill = new Skill( // 技能 ID
                skillName,   // 技能名称
                needMagic,      // 魔力需求
                cooldownTime,      // 冷却时间
                0.2,
                Arrays.asList(
                        // 技能组件列表
                        new SoundComponent("挥舞.ogg", 0.6f, 1.2f),
                        new PlayerAnimationComponent("youling_attack3",18),
                        new StandAnimationComponent("@游灵普通攻击", "youling_attack3", 1, 18,0.1),
                        new DelayComponent(1L,Arrays.asList(
                                new ProjectileAdvanceComponent(0.1,0.0)
                        ))
                ));
        return skill;
    }

    public static Skill getAttack4() {
        Skill skill = new Skill( // 技能 ID
                skillName,   // 技能名称
                needMagic,      // 魔力需求
                cooldownTime,      // 冷却时间
                0.2,
                Arrays.asList(
                        // 技能组件列表
                        new SoundComponent("挥舞.ogg", 0.6f, 1.4f),
                        new PlayerAnimationComponent("youling_attac4",23),
                        new StandAnimationComponent("@游灵普通攻击", "youling_attack4", 1, 23,0.1),
                        new DelayComponent(1L,Arrays.asList(
                                new ProjectileAdvanceComponent(0.1,0.0)
                        ))
                ));
        return skill;
    }

}
