Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 protected void Initialize()
 {
     if (!UseSpellHit && UseHitTable && /*CanBeDodged &&*/ CanCrit && BonusCritChance == 0f)
     {
         RWAtkTable = combatFactors.AttackTableBasicRW;
     }
     else
     {
         RWAtkTable = new AttackTable(Char, StatS, combatFactors, CalcOpts, this, UseSpellHit, !UseHitTable);
     }
 }
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
 // 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;
 }
Exemplo n.º 5
0
        // 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;
        }
Exemplo n.º 6
0
        // 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;
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
    //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));
    }
Exemplo n.º 9
0
        // 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;
        }
Exemplo n.º 10
0
        // 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;
        }
Exemplo n.º 11
0
 protected void Initialize()
 {
     if (!UseSpellHit && UseHitTable && /*CanBeDodged &&*/ CanCrit && BonusCritChance == 0f) {
         RWAtkTable = combatFactors.AttackTableBasicRW;
     } else {
         RWAtkTable = new AttackTable(Char, StatS, combatFactors, CalcOpts, this, UseSpellHit, !UseHitTable);
     }
 }
Exemplo n.º 12
0
 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();
 }