public override void InitSkill() { //SetNameAndExplanation("오버부스트", "공격대상의 체력이 30% 이하일 때 공격력이 25% 증가합니다."); SetMyBattleStat(); atkModStat = new StatModContinuous(StatType.Attack, ModType.Mult, ATK_BONUS_RATE); }
public override void InitSkill() { //SetNameAndExplanation("산탄", "사정거리가 1 증가합니다. 가까이 있는 적을 공격할 때 추가 공격력을 얻습니다."); SetMyBattleStat(); atkStatMod = new StatModContinuous(StatType.Attack, ModType.Mult, 0.0f); rangeStatMod = new StatModDiscrete(StatType.AttackRange, ModType.Fixed, 1); }
public override void InitSkill() { SetMyBattleStat(); myMod = new StatModContinuous(StatType.Attack, ModType.Mult, 3.0f); //SetNameAndExplanation("선수필승!", "비 전투 상태의 적을 공격할 때 공격력이 200% 증가합니다."); }
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); }
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); }
public override void InitSkill() { //SetNameAndExplanation("자기 방어", "방어력의 20%만큼 공격력이 증가합니다."); SetMyBattleStat(); atkMod = new StatModContinuous(StatType.Attack, ModType.Fixed, 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); }
public bool ContainsStatMod(StatModContinuous mod) { if (battleStatContinuous[mod.StatType].GetModList().Contains(mod)) { return(true); } else { return(false); } }
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; } } }
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%에 해당하는 방어막을 얻습니다. 방어막은 중첩되지 않습니다."); }
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; } } }
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; }
public override void RemoveStatMod(StatModContinuous mod) { base.RemoveStatMod(mod); notifyHealthMaxChanged(GetCalculatedValue()); }
public override void InitSkill() { //SetNameAndExplanation("반발력", "방어력이 35% 증가합니다. 공격을 받을 때마다, 방어력의 20%만큼의 피해를 공격자에게 줍니다."); myBattleStat = owner.GetBattleStat(); defenceStatMod = new StatModContinuous(StatType.Defence, ModType.Mult, DEF_BONUS_RATE); }
public void AddStatModContinous(StatModContinuous statMod) { //Debug.Log("[AddStatModContinous] " + statMod.StatType + " : " + statMod.ModValue); continuousMods.Add(statMod); }
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); }
public override void InitSkill() { //SetNameAndExplanation("위기 대처", "체력이 20% 이하일 때, 방어력이 75 증가합니다."); SetMyBattleStat(); defBuff = new StatModContinuous(StatType.Defence, ModType.Fixed, DEF_BONUS); }
public void AddContinuousMod(StatModContinuous mod) { continuousMods.Add(mod); }