Ejemplo n.º 1
0
    public override void InitSkill()
    {
        //SetNameAndExplanation("오버부스트", "공격대상의 체력이 30% 이하일 때 공격력이 25% 증가합니다.");
        SetMyBattleStat();

        atkModStat = new StatModContinuous(StatType.Attack, ModType.Mult, ATK_BONUS_RATE);
    }
Ejemplo n.º 2
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("산탄", "사정거리가 1 증가합니다. 가까이 있는 적을 공격할 때 추가 공격력을 얻습니다.");
     SetMyBattleStat();
     atkStatMod   = new StatModContinuous(StatType.Attack, ModType.Mult, 0.0f);
     rangeStatMod = new StatModDiscrete(StatType.AttackRange, ModType.Fixed, 1);
 }
Ejemplo n.º 3
0
    public override void InitSkill()
    {
        SetMyBattleStat();
        myMod = new StatModContinuous(StatType.Attack, ModType.Mult, 3.0f);

        //SetNameAndExplanation("선수필승!", "비 전투 상태의 적을 공격할 때 공격력이 200% 증가합니다.");
    }
Ejemplo n.º 4
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("균열", "적을 공격할 때마다 방어력을 6% 감소시키는 디버프를 남깁니다. 디버프는 최대 5번까지 중첩되며 2초간 지속됩니다.");
     defDebuff = new TemporaryEffect(skillName, 2, STACK_LIMIT);
     defMod    = new StatModContinuous(StatType.Defence, ModType.Mult, DEF_PENALTY_RATE);
     defDebuff.AddContinuousMod(defMod);
 }
Ejemplo n.º 5
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("쌍수무기", "공격속도가 100% 증가하지만 공격력이 50% 감소합니다.");
     SetMyBattleStat();
     atkMod    = new StatModContinuous(StatType.Attack, ModType.Mult, ATK_PENALTY);
     atkSpdMod = new StatModContinuous(StatType.AttackSpeed, ModType.Mult, ATKSPD_BONUS);
 }
Ejemplo n.º 6
0
    public override void InitSkill()
    {
        //SetNameAndExplanation("자기 방어", "방어력의 20%만큼 공격력이 증가합니다.");
        SetMyBattleStat();

        atkMod = new StatModContinuous(StatType.Attack, ModType.Fixed, 0);
    }
Ejemplo n.º 7
0
    public override void InitSkill()
    {
        //SetNameAndExplanation("생명력 전환", "최대 체력이 20% 감소합니다. 감소한 최대 체력의 15%만큼 공격력이 증가합니다.");
        SetMyBattleStat();

        hpMod  = new StatModContinuous(StatType.HealthMax, ModType.Mult, MAXHP_PENALTY_RATE);
        atkMod = new StatModContinuous(StatType.Attack, ModType.Fixed, 0);
    }
Ejemplo n.º 8
0
 public bool ContainsStatMod(StatModContinuous mod)
 {
     if (battleStatContinuous[mod.StatType].GetModList().Contains(mod))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Ejemplo n.º 9
0
    public void RemoveStatModContinuous(StatModContinuous mod)
    {
        if (battleStatContinuous[mod.StatType].GetModList().Contains(mod))
        {
            battleStatContinuous[mod.StatType].RemoveStatMod(mod);

            if (mod.StatType == StatType.HealthMax && Health > HealthMax)
            {
                Health = HealthMax;
            }
        }
    }
Ejemplo n.º 10
0
    public override void InitSkill()
    {
        myBattleStat = owner.GetBattleStat();
        shieldMod    = new StatModContinuous(StatType.Shield, ModType.Fixed, 0);
        shieldBuff   = new TemporaryEffect("파비스", DURATION);
        shieldBuff.AddContinuousMod(shieldMod);

        atkMod    = new StatModContinuous(StatType.Attack, ModType.Mult, ATK_BONUS_RATE);
        atkSpdMod = new StatModContinuous(StatType.AttackSpeed, ModType.Mult, ATKSPD_PENALTY_RATE);

        skillEffect = Instantiate((GameObject)Resources.Load("EffectPrefabs/ShieldGaining_BuffEffect"));
        skillEffect.transform.SetParent(owner.GetTransform());
        skillEffect.transform.position = owner.GetPosition();

        //SetNameAndExplanation("파비스 석궁병", "공격력이 40% 증가하는 대신 공격속도가 33% 감소합니다. 매 사격마다 최대체력의 3%에 해당하는 방어막을 얻습니다. 방어막은 중첩되지 않습니다.");
    }
Ejemplo n.º 11
0
    public void AddStatModContinuous(StatModContinuous mod)
    {
        if (!battleStatContinuous[mod.StatType].GetModList().Contains(mod))
        {
            //Debug.Log("[AddStatModContinuous] " + mod.StatType + " : " + mod.ModValue);
            //Debug.Log("[AddStatModContinuous] Def before : " + Defence + ", " + "Hp before : " + HealthMax);
            battleStatContinuous[mod.StatType].AddStatMod(mod);
            //Debug.Log("[AddStatModContinuous] Def after : " + Defence + ", " + "Hp after : " + HealthMax);

            // 아이템 탈착을 통한 글리치 방지
            if (mod.StatType == StatType.HealthMax && Health > HealthMax)
            {
                Health = HealthMax;
            }
        }
    }
Ejemplo n.º 12
0
    public override void InitSkill()
    {
        //SetNameAndExplanation("힘 흡수", "주위 1칸 내의 모든 적 공격력의 10%를 흡수합니다.");
        SetMyBattleStat();

        siphonStrengthDebuff = new TemporaryEffect("빠져나간 힘", DURATION);

        siphonStrengthBuff = new TemporaryEffect("흡수한 힘", DURATION);
        atkMod             = new StatModContinuous(StatType.Attack, ModType.Fixed, 0.0f);
        siphonStrengthBuff.AddContinuousMod(atkMod);

        skillEffect = Instantiate((GameObject)Resources.Load("EffectPrefabs/SiphonStrength_SkillEffect"));
        skillEffect.transform.SetParent(owner.GetTransform());
        skillEffect.transform.position = owner.GetPosition() + new Vector3(0, -0.11f, 0);
        //SetCoverage();
    }
 public virtual void AddStatMod(StatModContinuous mod)
 {
     modList.Add(mod);
 }
 public StatModContinuous(StatModContinuous statMod)
 {
     StatType = statMod.StatType;
     ModType  = statMod.ModType;
     ModValue = statMod.ModValue;
 }
Ejemplo n.º 15
0
 public override void RemoveStatMod(StatModContinuous mod)
 {
     base.RemoveStatMod(mod);
     notifyHealthMaxChanged(GetCalculatedValue());
 }
Ejemplo n.º 16
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("반발력", "방어력이 35% 증가합니다. 공격을 받을 때마다, 방어력의 20%만큼의 피해를 공격자에게 줍니다.");
     myBattleStat   = owner.GetBattleStat();
     defenceStatMod = new StatModContinuous(StatType.Defence, ModType.Mult, DEF_BONUS_RATE);
 }
Ejemplo n.º 17
0
 public void AddStatModContinous(StatModContinuous statMod)
 {
     //Debug.Log("[AddStatModContinous] " + statMod.StatType + " : " + statMod.ModValue);
     continuousMods.Add(statMod);
 }
Ejemplo n.º 18
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("상흔", "잃은 체력 50당 공격 속도가 1% 증가합니다. 최대치는 20%입니다.");
     SetMyBattleStat();
     atkspdMod = new StatModContinuous(StatType.AttackSpeed, ModType.Mult, 0.0f);
 }
 public virtual void RemoveStatMod(StatModContinuous mod)
 {
     modList.Remove(mod);
 }
Ejemplo n.º 20
0
 public override void InitSkill()
 {
     //SetNameAndExplanation("위기 대처", "체력이 20% 이하일 때, 방어력이 75 증가합니다.");
     SetMyBattleStat();
     defBuff = new StatModContinuous(StatType.Defence, ModType.Fixed, DEF_BONUS);
 }
Ejemplo n.º 21
0
 public void AddContinuousMod(StatModContinuous mod)
 {
     continuousMods.Add(mod);
 }