public virtual float GetXActs(AttackTableSelector i, float acts, bool isMH) { AttackTable table = (isMH ? MHAtkTable : OHAtkTable); float retVal = 0f; switch (i) { case AttackTableSelector.Missed: { retVal = acts * table.Miss; break; } case AttackTableSelector.Dodged: { retVal = acts * table.Dodge; break; } case AttackTableSelector.Parried: { retVal = acts * table.Parry; break; } case AttackTableSelector.Blocked: { retVal = acts * table.Block; break; } case AttackTableSelector.Crit: { retVal = acts * table.Crit; break; } case AttackTableSelector.Glance: { retVal = acts * table.Glance; break; } case AttackTableSelector.Hit: { retVal = acts * table.Hit; break; } default: { break; } } return(retVal); }
protected void Initialize() { if (!UseSpellHit && UseHitTable && /*CanBeDodged &&*/ CanCrit && BonusCritChance == 0f) { RWAtkTable = combatFactors.AttackTableBasicRW; } else { RWAtkTable = new AttackTable(Char, StatS, combatFactors, CalcOpts, this, UseSpellHit, !UseHitTable); } }
protected void Initialize() { if (!UseSpellHit && UseHitTable && CanBeDodged && CanCrit && BonusCritChance == 0f) { MHAtkTable = combatFactors.AttackTableBasicMH; OHAtkTable = combatFactors.AttackTableBasicOH; } else { MHAtkTable = new AttackTable(Char, StatS, combatFactors, CalcOpts, BossOpts, this, true, UseSpellHit, !UseHitTable); OHAtkTable = new AttackTable(Char, StatS, combatFactors, CalcOpts, BossOpts, this, false, UseSpellHit, !UseHitTable); } setValidation(); }
// Constructors public WhiteAttacks(DPSWarrCharacter dpswarrchar) { DPSWarrChar = dpswarrchar; //Char = character; //StatS = stats; //Talents = Char.WarriorTalents == null ? new WarriorTalents() : Char.WarriorTalents; //DPSWarrChar.CombatFactors = cf; //CalcOpts = calcOpts; //BossOpts = bossOpts; MHAtkTable = new AttackTable(DPSWarrChar.Char, DPSWarrChar.StatS, DPSWarrChar.CombatFactors, DPSWarrChar.BossOpts, true, false, false, false); OHAtkTable = new AttackTable(DPSWarrChar.Char, DPSWarrChar.StatS, DPSWarrChar.CombatFactors, DPSWarrChar.BossOpts, false, false, false, false); // SlamActsOverDurO20 = SlamActsOverDurU20 = 0f; }
// Constructors public WhiteAttacks(Character character, StatsHunter stats, CombatFactors cf, CalculationOptionsHunter calcOpts, BossOptions bossOpts) { Char = character; StatS = stats; Talents = Char.HunterTalents == null ? new HunterTalents() : Char.HunterTalents; combatFactors = cf; CalcOpts = calcOpts; BossOpts = bossOpts; RWAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, false, false); FightDuration = BossOpts.BerserkTimer; Targets = BossOpts.Targets.Count; // Should update to better handle Target objects HSOverridesOverDur = 0f; CLOverridesOverDur = 0f; Steady_Freq = 0f; }
public virtual float GetXActs(AttackTableSelector i, float acts) { AttackTable table = RWAtkTable; float retVal = 0f; switch (i) { case AttackTableSelector.Missed: { retVal = acts * table.Miss; break; } case AttackTableSelector.Crit: { retVal = acts * table.Crit; break; } case AttackTableSelector.Hit: { retVal = acts * table.Hit; break; } default: { break; } } return(retVal); }
//IEnumeratorを渡す関数 public IEnumerator SetParamete(AttackTable paramete, GameObject attackCollider, SpriteRenderer player, int playerNum, int direciton) { int[] attackFlame = { 20, 20, 20 }; attackFlame[0] = paramete.oFlame; attackFlame[1] = paramete.cFlame; attackFlame[2] = paramete.sFlame; float time = paramete.flyTime; pow = paramete.power; db = paramete.deathblow; msl = paramete.missile; if (paramete.AttackSprite.Length != 8) { Debug.LogError("攻撃のスプライトの数が違います。"); return(null); } Sprite[] Sprites = paramete.AttackSprite; return(Technique(attackFlame, attackCollider, player, Sprites, time, direciton)); }
// Constructors public WhiteAttacks(Character character, Stats stats, CombatFactors cf, CalculationOptionsHunter calcOpts, BossOptions bossOpts) { Char = character; StatS = stats; Talents = Char.HunterTalents == null ? new HunterTalents() : Char.HunterTalents; combatFactors = cf; CalcOpts = calcOpts; BossOpts = bossOpts; RWAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, false, false); #if RAWR3 || SILVERLIGHT FightDuration = BossOpts.BerserkTimer; #else FightDuration = CalcOpts.Duration; #endif // Targets = 1f; HSOverridesOverDur = 0f; CLOverridesOverDur = 0f; Steady_Freq = 0f; }
// Constructors public WhiteAttacks(Character character, Stats stats, CombatFactors cf, CalculationOptionsDPSWarr calcOpts, BossOptions bossOpts) { Char = character; StatS = stats; Talents = Char.WarriorTalents == null ? new WarriorTalents() : Char.WarriorTalents; //TalentsCata = Char.WarriorTalentsCata == null ? new WarriorTalentsCata() : Char.WarriorTalentsCata; combatFactors = cf; CalcOpts = calcOpts; BossOpts = bossOpts; MHAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, bossOpts, true, false, false); OHAtkTable = new AttackTable(Char, StatS, combatFactors, calcOpts, bossOpts, false, false, false); FightDuration = #if RAWR3 || SILVERLIGHT BossOpts.BerserkTimer; #else CalcOpts.Duration; #endif // HSOverridesOverDur = 0f; CLOverridesOverDur = 0f; Slam_ActsOverDur = 0f; _uwProcValue_mh = combatFactors._c_mhItemSpeed * Talents.UnbridledWrath / 20.0f; _uwProcValue_oh = combatFactors._c_ohItemSpeed * Talents.UnbridledWrath / 20.0f; }
protected void Initialize() { if (!UseSpellHit && !UseRangedHit && UseHitTable && CanBeDodged && CanCrit && BonusCritChance == 0f) { MHAtkTable = DPSWarrChar.CombatFactors.AttackTableBasicMH; OHAtkTable = DPSWarrChar.CombatFactors.AttackTableBasicOH; } else { MHAtkTable = new AttackTable(DPSWarrChar.Char, DPSWarrChar.StatS, DPSWarrChar.CombatFactors, DPSWarrChar.BossOpts, this, true, UseSpellHit, UseRangedHit, !UseHitTable); OHAtkTable = new AttackTable(DPSWarrChar.Char, DPSWarrChar.StatS, DPSWarrChar.CombatFactors, DPSWarrChar.BossOpts, this, false, UseSpellHit, UseRangedHit, !UseHitTable); } setValidation(); }