Example #1
0
    public game_item RandomItem(SpriteGender gender, item_rarity.rarity rarity)
    {
        item_type t      = item_type.consumable;
        int       chance = 0;

        foreach (item_type type in Enum.GetValues(typeof(item_type)))
        {
            try
            {
                if (Game_Items[gender][type].Count <= 0)
                {
                    continue;
                }


                int temp = InGameData.random_int(0, 100);
                if (temp > chance)
                {
                    chance = temp;
                    t      = type;
                }
            }
            catch
            {
            }
        }

        return(GetItemFrom(gender, t, rarity).CopyItem());
    }
    public void LoadJson()
    {
        GetDataPath();
        string basicData = System.IO.File.ReadAllText(path);

        data  = JsonUtility.FromJson <InGameData>(basicData);
        lists = data.lists;
    }
Example #3
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
         Init();
     }
     else
     {
         Destroy(this.gameObject);
     }
 }
Example #4
0
    public List <Body_part> GetPerson(SpriteGender gender, Skin_type type)
    {
        List <Body_part> ret = new List <Body_part>();

        foreach (body_part p in Enum.GetValues(typeof(body_part)))
        {
            int random = InGameData.random_int(0, body_parts[gender][type][p].Count);
            try
            {
                ret.Add(body_parts[gender][type][p][random]);
            }
            catch {}
        }
        return(ret);
    }
Example #5
0
    public game_item GetItemFrom(SpriteGender gender, item_type type, item_rarity.rarity rarity)
    {
        int       chance = 0;
        game_item ret    = null;

        foreach (game_item item in Game_Items[gender][type].Values)
        {
            if (item.rarity.Rarity == rarity)
            {
                int temp = InGameData.random_int(0, 100);
                if (temp >= chance)
                {
                    chance = temp;
                    ret    = item;
                }
            }
        }
        if (ret == null)
        {
            Debug.Log(" No Items in " + gender + " ," + type + " with rarity " + rarity);
        }
        return(ret);
    }
Example #6
0
 private void Awake()
 {
     Instance   = this;
     playerData = new PlayerData();
     LocalSave.Instance.LoadGame();
 }
Example #7
0
    private void CreateItems(SpriteData sd)
    {
        bool IsArmor  = (sd.path.Contains("armor")) ? true : false;
        bool IsWeapon = (sd.path.Contains("weapons")) ? true : false;
        int  MaxValue = (IsArmor) ? 14 : IsArmor ? 20 : 6;


        if (sd.path.Contains("walk_melee_weapons"))
        {
            walk_anim = new game_item(item_type.none, sd.id, sd.sg,
                                      0, sd.name, Basic_Stats.zero, UseBoost.zero, item_rarity.rarity.normal, false);
            return;
        }
        foreach (item_type type in Enum.GetValues(typeof(item_type)))
        {
            if (sd.key.Contains(type.ToString()))
            {
                foreach (item_rarity.rarity rare in Enum.GetValues(typeof(item_rarity.rarity)))
                {
                    if (!IsWeapon && !IsArmor && rare != item_rarity.rarity.normal)
                    {
                        continue;
                    }

                    Basic_Stats stats  = new Basic_Stats();
                    UseBoost    pstats = UseBoost.zero;
                    stats.agility   = InGameData.rand(0, MaxValue);
                    stats.endurance = InGameData.rand(0, MaxValue);
                    stats.strength  = InGameData.rand(0, MaxValue);


                    if (sd.path.Contains("small_range"))
                    {
                        pstats.range = 2f;
                    }
                    else if (sd.path.Contains("normal_range"))
                    {
                        pstats.range = 10f;
                    }
                    else if (sd.path.Contains("large_range"))
                    {
                        pstats.range = 15f;
                    }
                    else if (type == item_type.wand)
                    {
                        pstats.range = 75.0f;
                    }
                    else if (type == item_type.bow)
                    {
                        pstats.range = 75.0f;
                    }
                    else
                    {
                        pstats.range = 0;
                    }
                    stats.intelligence = InGameData.rand(0, MaxValue);
                    pstats.walk_speed  = InGameData.rand(0, MaxValue);
                    game_item NEW_item = new game_item(type, sd.id, sd.sg,
                                                       Game_Items[sd.sg][type].Count, sd.name, stats, pstats, rare, IsArmor);
                    if (sd.sg == SpriteGender.none)
                    {
                        Game_Items[SpriteGender.male][type].Add(NEW_item.Order_ID, NEW_item);
                        Game_Items[SpriteGender.female][type].Add(NEW_item.Order_ID, NEW_item);
                    }
                    Game_Items[sd.sg][type].Add(NEW_item.Order_ID, NEW_item);
                }
                break;
            }
        }
    }
Example #8
0
 public int getRandomFromCatergory(string catergory)
 {
     int[] ret = ct_to_id[catergory];
     return(InGameData.random_int(ret[0], ret[1]));
 }
Example #9
0
    public List <game_item> GetRandomGear(SpriteGender gender, item_rarity.rarity rarity)
    {
        List <game_item> ret = new List <game_item>();

        float     Weapon = 0;
        item_type weap   = item_type.none;

        foreach (item_type type in Enum.GetValues(typeof(item_type)))
        {
            if ((int)type <= 0)
            {
                continue;
            }
            try
            {
                if (type == item_type.melee_weapons || type == item_type.spears || type == item_type.wand || type == item_type.bow)
                {
                    float t = InGameData.rand(0, 100);
                    if (t > Weapon)
                    {
                        Weapon = t;
                        weap   = type;
                    }
                    continue;
                }
                else if (type == item_type.shilds || type == item_type.arrows)
                {
                    continue;
                }

                if (InGameData.random_int(0, 32) % 8 == 3)
                {
                    continue;
                }

                game_item ti = GetItemFrom(gender, type, rarity);
                if (ti != null)
                {
                    ret.Add(GetItemFrom(gender, type, rarity).CopyItem());
                }
            }
            catch
            {
            }
        }

        int temp2 = Game_Items[gender][weap].Count;
        int rand2 = InGameData.random_int(0, temp2);

        ret.Add(GetItemFrom(gender, weap, rarity).CopyItem());
        if (weap == item_type.bow)
        {
            ret.Add(GetItemFrom(gender, item_type.arrows, rarity).CopyItem());
        }
        else if (weap == item_type.melee_weapons || weap == item_type.spears)
        {
            if (InGameData.random_int(0, 32) % 8 == 3)
            {
                return(ret);
            }

            ret.Add(GetItemFrom(gender, item_type.shilds, rarity).CopyItem());
        }

        return(ret);
    }
Example #10
0
    public List <game_item> GetRandomGear(SpriteGender gender)
    {
        List <game_item> ret = new List <game_item>();

        float     Weapon = 0;
        item_type weap   = item_type.none;

        foreach (item_type type in Enum.GetValues(typeof(item_type)))
        {
            if ((int)type <= 0)
            {
                continue;
            }
            try
            {
                if (type == item_type.melee_weapons || type == item_type.spears || type == item_type.wand || type == item_type.bow)
                {
                    float t = InGameData.rand(0, 100);
                    if (t > Weapon)
                    {
                        Weapon = t;
                        weap   = type;
                    }
                    continue;
                }
                else if (type == item_type.shilds || type == item_type.arrows)
                {
                    continue;
                }

                int temp = Game_Items[gender][type].Count;
                int rand = InGameData.random_int(0, (int)(temp * 1.5f));
                if (rand > temp)
                {
                    continue;
                }


                ret.Add(Game_Items[gender][type][rand].CopyItem());
            }
            catch
            {
            }
        }

        int temp2 = Game_Items[gender][weap].Count;
        int rand2 = InGameData.random_int(0, temp2);

        ret.Add(Game_Items[gender][weap][rand2].CopyItem());
        if (weap == item_type.bow)
        {
            ret.Add(Game_Items[gender][item_type.arrows][0].CopyItem());
        }
        else if (weap == item_type.melee_weapons || weap == item_type.spears)
        {
            temp2 = Game_Items[gender][item_type.shilds].Count;
            rand2 = InGameData.random_int(0, temp2 * 2);
            if (rand2 > temp2)
            {
                return(ret);
            }

            ret.Add(Game_Items[gender][weap][rand2].CopyItem());
        }

        return(ret);
    }
Example #11
0
    public List <Body_part> GetRandomPerson(SpriteGender gender)
    {
        Skin_type skin = (Skin_type)InGameData.random_int(0, 9);

        return(GetPerson(gender, skin));
    }