Exemple #1
0
    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));
    }
Exemple #2
0
    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);
    }