/// <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); }
/// <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; }
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); }
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); }
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); }
/// <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); }
/// <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); }
/// <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]; }
/// <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; } }
/// <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); }
/// <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); }
public int getHeal(BattleAbility useAbility) { return(getAbilityContainsBonus(useAbility) + UnityEngine.Random.Range(0, level)); }
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); }
public int getAbilityContainsBonus(BattleAbility ability) { float probality = (armor != null && ability == BattleAbility.MGP) ? armor.getMagicDistaubeMag() : 1.0f; return((int)((battleAbilities[ability] + bonusKeeper.getBonus(ability)) * probality)); }
public int getRawAbility(BattleAbility ability) { return(battleAbilities[ability]); }
public int getHeal(BattleAbility useAbility) { throw new NotImplementedException(); }
public int getAbilityContainsBonus(BattleAbility ability) { return(abilities[ability] + bonusKeeper.getBonus(ability)); }