public void BuildPlayer() { int total_attack = 0; int total_speed = 0; int total_hp = 0; int total_def = 0; int total_mind = 0; int total_luck = 0; int total_move = 100; int total_heal = 100; int total_coin = 100; DataWeaponParam data_equip_weapon = DataManager.Instance.dataWeapon.list.Find(p => 0 < p.equip); MasterWeaponParam master_equip_weapon = DataManager.Instance.masterWeapon.list.Find(p => p.weapon_id == data_equip_weapon.weapon_id); // レベルの校正 MasterWeaponParam master_equip_weapon_level = master_equip_weapon.GetParam(data_equip_weapon.level); total_attack = master_equip_weapon_level.attack; total_speed = master_equip_weapon_level.speed; for (int i = 0; i < MasterArmor.ArmorPositionArr.Length; i++) { DataArmorParam data = DataManager.Instance.dataArmor.list.Find(p => p.position == MasterArmor.ArmorPositionArr[i]); MasterArmorParam master = DataManager.Instance.masterArmor.list.Find(p => p.armor_id == data.armor_id); total_hp += master.hp; total_def += master.def; total_mind += master.mind; total_luck += master.luck; } List <DataTreasureParam> data_treasure_list = DataManager.Instance.dataTreasure.list.FindAll(p => 0 < p.equip); TreasureAssist assist = TreasureAssist.GetTreasureAssist(data_treasure_list); total_hp = Mathf.CeilToInt((float)total_hp * (float)((float)assist.hp / 100.0f)); total_attack = Mathf.CeilToInt((float)total_attack * (float)((float)assist.attack / 100.0f)); total_def = Mathf.CeilToInt((float)total_def * (float)((float)assist.def / 100.0f)); total_mind = Mathf.CeilToInt((float)total_mind * (float)((float)assist.mind / 100.0f)); total_move = Mathf.CeilToInt((float)total_move * (float)((float)assist.move / 100.0f)); total_heal = Mathf.CeilToInt((float)total_heal * (float)((float)assist.heal / 100.0f)); total_luck = Mathf.CeilToInt((float)total_luck * (float)((float)assist.luck / 100.0f)); total_coin = Mathf.CeilToInt((float)total_coin * (float)((float)assist.coin / 100.0f)); hp = total_hp; hp_max = total_hp; attack = total_attack; speed = total_speed; def = total_def; mind = total_mind; luck = total_luck; move = total_move; heal = total_heal; coin = total_coin; //Debug.Log(string.Format("HP:{0} atk:{1} def:{2}", hp_max, attack, def)); }
public static TreasureAssist GetTreasureAssist(List <DataTreasureParam> _data_treasure_list) { TreasureAssist ret = new TreasureAssist(); ret.coin = 100; ret.hp = 100; ret.def = 100; ret.mind = 100; ret.move = 100; ret.attack = 100; ret.heal = 100; ret.luck = 100; foreach (DataTreasureParam data in _data_treasure_list) { MasterTreasureParam master = DataManager.Instance.masterTreasure.list.Find(p => p.treasure_id == data.treasure_id); ret.add_treasure_assist(master, data.level); } return(ret); }