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 static void AddKeys(SpriteGender sg, string name) { if (!Sprite_DataBase.Data.ContainsKey(name)) { Sprite_DataBase.AddKey(name); } }
public game_item(item_type _type, int _id_sprite, SpriteGender _gender, int _Order_ID, string _name, Basic_Stats stats, UseBoost pstats, item_rarity.rarity _rarity, bool Is_armor, int item_level = 0) { ID = ITEM_COUNTER; ITEM_COUNTER++; bstats = stats; this.pstats = pstats; IsArmor = Is_armor; NAME = _name; type = _type; id_sprite = _id_sprite; gender = _gender; ORD = _Order_ID; slot_pointer = null; count = 1; if (_id_sprite == -1) { id_sprite = CONSUMABLE_SP_ID; CONSUMABLE_SP_ID--; } if (ORD == -1) { ORD = CONSUMABLE_SP_ID; } rarity = new item_rarity(bstats, _rarity, item_level); }
void Stick(string path, int _id = 0) { id = _id; var files = Directory.GetFiles(path); //bool tt = false; foreach (var fileName in files) { if (fileName.Contains(".png") && !fileName.Contains(".meta")) { string pathSpl = fileName.Split(new string[] { InGameData.Sprite_path, ".png" }, StringSplitOptions.None)[1]; string[] temp = fileName.Split(new string[] { "/", "\\", ".png" }, StringSplitOptions.None); string sprite_name = temp[temp.Length - 2]; int ii = 0; foreach (string s in temp) { ii++; if (s.Contains("Sprite")) { break; } } string FolderKey = temp[ii]; if (FolderKey.Contains("sub_")) { FolderKey = temp[ii + 1]; } SpriteGender gender = SpriteGender.none; if (pathSpl.Contains("female")) { gender = SpriteGender.female; } else if (pathSpl.Contains("male")) { gender = SpriteGender.male; } //kek += gender + " // " + FolderKey + " // " + sprite_name + "\n"; DataSprites.AddKey(FolderKey); DataSprites.AddItem(FolderKey, sprite_name, pathSpl, gender); } } var subDirs = Directory.GetDirectories(path); foreach (var subDir in subDirs) { Stick(subDir, id + 1); } }
public static SpriteGender GetSpriteGender(string path) { SpriteGender sg = SpriteGender.none; if (path.Contains("female")) { sg = SpriteGender.female; } else if (path.Contains("male")) { sg = SpriteGender.male; } return(sg); }
private void LoadBodyParts(SpriteGender sg) { foreach (List <SpriteData> sdL in DataBase.Sprite_DataBase.Data.Values) { foreach (SpriteData sd in sdL) { if (sd.sg == sg && sd.path.Contains("body")) { Sprite_ld.Add(new ExternalS_loadData(sd.id, InGameData.Sprite_path + sd.path + ".png")); } } } DontDestroy.first.LoadAll(); }
public static void AddSpritePath(SpriteGender sg, string path, string file_name, string key) { AddKeys(sg, key); //Debug.Log(file_name); foreach (SpriteData s in Sprite_DataBase.Data[key]) { if (s.path == path) { return; } } Sprite_DataBase.AddItem(key, file_name, path, sg); }
public void AddItem(string key, string sprite_name, string path, SpriteGender sg) { SpriteData temp = new SpriteData(); temp.id = id; temp.key = key; temp.name = sprite_name; temp.path = path; temp.sg = sg; List <SpriteData> temp2 = sprite[key]; temp2.Add(temp); sprite[key] = temp2; id++; }
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); }
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); }
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); }
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); }
public List <Body_part> GetRandomPerson(SpriteGender gender) { Skin_type skin = (Skin_type)InGameData.random_int(0, 9); return(GetPerson(gender, skin)); }