Exemplo n.º 1
0
        /// <summary>
        /// 与えられたボーナスを追加します
        /// 引数がBattleAbilityBonusかSubBattleAbilityBonusかでオーバーロードします
        /// </summary>
        /// <param name="bonus">追加したいボーナス</param>
        public void setBonus(BattleAbilityBonus bonus)
        {
            UnityEngine.Debug.Log("setted bonus");
            BattleAbility bonusAbility = bonus.getBonusAbility();

            battleAbilityBonusList [bonusAbility].Add(bonus);
        }
Exemplo n.º 2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="name">ボーナス名</param>
 /// <param name="ability">ボーナスするBattleAbiltiy</param>
 /// <param name="limit">ボーナスの効果時間</param>
 /// <param name="bonusValue">ボーナス量</param>
 public BattleAbilityBonus(string name, BattleAbility ability, float limit, int bonusValue)
 {
     this.name          = name;
     this.BONUS_ABILITY = ability;
     this.limit         = limit;
     this.bonusValue    = bonusValue;
 }
Exemplo n.º 3
0
        public AttackSkill(string[] datas)
        {
            ID           = int.Parse(datas [0]);
            NAME         = datas [1];
            LEVEL        = int.Parse(datas[2]);
            atk          = int.Parse(datas [3]);
            RAW_ATK      = atk;
            RANGE        = int.Parse(datas [4]);
            hit          = int.Parse(datas [5]);
            RAW_HIT      = hit;
            delay        = float.Parse(datas [6]);
            RAW_DELAY    = delay;
            cost         = int.Parse(datas[7]);
            RAW_COST     = cost;
            DEPEND_ATK   = (datas[8] == "TRUE");
            DEPEND_HIT   = (datas [9] == "TRUE");
            DEPEND_RANGE = (datas [10] == "TRUE");
            DEPEND_DELAY = (datas[11] == "TRUE");
            ATTRIBUTE    = (AttackSkillAttribute)Enum.Parse(typeof(AttackSkillAttribute), datas[12]);

            if (datas[13] == "DEPEND")
            {
                DEPEND_ABILITY = true;
            }
            else
            {
                USE_ABILITY = (BattleAbility)Enum.Parse(typeof(BattleAbility), datas [13]);
            }

            EXTENT      = (Extent)Enum.Parse(typeof(Extent), datas[14]);
            DESCRIPTON  = datas [15];
            FLAVOR_TEXT = datas[16];

            observer = new AttackSkillObserver(ID);
        }
Exemplo n.º 4
0
        public int getAtk(AttackSkillAttribute attribute, BattleAbility useAbility, bool useWepon)
        {
            int atk = battleAbilities [useAbility] + UnityEngine.Random.Range(0, level);

            if (useWepon && weapon != null)
            {
                atk += this.weapon.attackWith();
            }
            return(atk);
        }
Exemplo n.º 5
0
        public int getAtk(AttackSkillAttribute attribute, BattleAbility useAbility, bool useWepon)
        {
            int atk = getAbilityContainsBonus(useAbility) + UnityEngine.Random.Range(0, LV) + bonusKeeper.getBonus(SubBattleAbility.ATK);

            if (useWepon)
            {
                atk += (equipedWeapon != null) ? equipedWeapon.attackWith() : 0;
            }
            return(atk);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 与えられたbattleAbilityからボーナスを返します
        /// 引数がBattleAbilityかSubBattleAbilityかでオーバーロードします
        /// </summary>
        /// <returns> 補正値 </returns>
        /// <param name="ability"> 補正したいBattleAbility </param>
        public int getBonus(BattleAbility ability)
        {
            var bonuses  = battleAbilityBonusList [ability];
            int sumBonus = 0;

            foreach (BattleAbilityBonus bonus in bonuses)
            {
                sumBonus += bonus.getBonusValue();
            }
            return(sumBonus);
        }
Exemplo n.º 7
0
    /// <summary>
    /// 能力値のボーナス倍率を取得します
    /// </summary>
    /// <returns>ボーナス倍率</returns>
    /// <param name="ability">取得したい能力値</param>
    public int getAbilityBonus(BattleAbility ability)
    {
        var applyObjects = battleAbilityAplies[ability];
        int sum          = applyList[ApplyObject.ALL];

        foreach (ApplyObject applyObject in applyObjects)
        {
            sum += applyList[applyObject];
        }
        return(sum);
    }
Exemplo n.º 8
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="datas">csvによるstring配列データ</param>
 public MoveSkill(string[] datas)
 {
     ID          = int.Parse(datas[0]);
     NAME        = datas [1];
     LEVEL       = int.Parse(datas[2]);
     MOVE        = int.Parse(datas [3]);
     DELAY       = float.Parse(datas [4]);
     COST        = int.Parse(datas [5]);
     USE_ABILITY = (BattleAbility)Enum.Parse(typeof(BattleAbility), datas[6]);
     DESCRIPTION = datas[7];
     FLAVOR_TEXT = datas[8];
 }
Exemplo n.º 9
0
 /// <summary>
 /// AbilityかSubのどっちかを判断して初期化します
 /// </summary>
 /// <param name="data"> AbilityもしかはSubAblitiyのstringデータ </param>
 protected void setBonusParameter(string data)
 {
     if (Enum.IsDefined(typeof(BattleAbility), data))
     {
         bonusAbility           = (BattleAbility)Enum.Parse(typeof(BattleAbility), data);
         this.isBonusForAbility = true;
     }
     else if (Enum.IsDefined(typeof(SubBattleAbility), data))
     {
         bonusSubAbility        = (SubBattleAbility)Enum.Parse(typeof(SubBattleAbility), data);
         this.isBonusForAbility = false;
     }
 }
Exemplo n.º 10
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 public Weapon(WeaponShape shape, ItemMaterial material, float quality)
 {
     CLASSIFICATION_CODE = shape.getId() + material.getId();
     BASE_ATTACK         = shape.getAttack();
     RANGE          = shape.getRange();
     BASE_VALUE     = material.getItemValue() + shape.getValue();
     MASS           = shape.getMass() + material.getMass();
     BASE_HIT       = shape.getHit();
     NAME           = material.getName() + "の" + shape.getName();
     BASE_DELAY     = shape.getDelay();
     TYPE           = shape.getWeaponType();
     CONSUMABILITY  = material.getConsumability();
     this.quality   = quality;
     DESCRIPTION    = material.getAdditionalDescription() + shape.getAdditionalDescription();
     FLAVOR_TEXT    = material.getAdditionalFlavor() + shape.getAdditionalFlavor();
     WEAPON_ABILITY = WeaponTypeHelper.getTypeAbility(TYPE);
 }
Exemplo n.º 11
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="datas">csvによるstring配列データ</param>
        public HealSkill(string[] datas)
        {
            ID             = int.Parse(datas[0]);
            NAME           = datas [1];
            LEVEL          = int.Parse(datas[2]);
            RAW_HEAL_VALUE = int.Parse(datas[3]);
            healValue      = RAW_HEAL_VALUE;
            RANGE          = int.Parse(datas[4]);
            RAW_DELAY      = float.Parse(datas[5]);
            delay          = RAW_DELAY;
            RAW_COST       = int.Parse(datas[6]);
            cost           = RAW_COST;
            ATTRIBUTE      = (HealAttribute)Enum.Parse(typeof(HealAttribute), datas [7]);
            EXTENT         = (Extent)Enum.Parse(typeof(Extent), datas [8]);
            USE_ABILITY    = (BattleAbility)Enum.Parse(typeof(BattleAbility), datas[9]);
            DESCRIPTION    = datas [10];
            FLAVOR_TEXT    = datas[11];

            observer = new HealSkillObserver(ID);
        }
Exemplo n.º 12
0
 public int getHeal(BattleAbility useAbility)
 {
     return(getAbilityContainsBonus(useAbility) + UnityEngine.Random.Range(0, level));
 }
Exemplo n.º 13
0
        public int getHit(BattleAbility useAbility, bool useWeapon)
        {
            int hitBonus = (useWeapon) ? (weapon != null) ? weapon.getHit() : 0 : 0;

            return(getAbilityContainsBonus(useAbility) + UnityEngine.Random.Range(1, 11) + hitBonus);
        }
Exemplo n.º 14
0
        public int getAbilityContainsBonus(BattleAbility ability)
        {
            float probality = (armor != null && ability == BattleAbility.MGP) ? armor.getMagicDistaubeMag() : 1.0f;

            return((int)((battleAbilities[ability] + bonusKeeper.getBonus(ability)) * probality));
        }
Exemplo n.º 15
0
 public int getRawAbility(BattleAbility ability)
 {
     return(battleAbilities[ability]);
 }
Exemplo n.º 16
0
 public int getHeal(BattleAbility useAbility)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 17
0
 public int getAbilityContainsBonus(BattleAbility ability)
 {
     return(abilities[ability] + bonusKeeper.getBonus(ability));
 }