/// <summary> /// Constructor for loading an already created god from a save state /// </summary> /// <param name="savedFaction"></param> public Faction(GameInfo.SavedFaction savedFaction) { GodName = savedFaction.GodName; Type = savedFaction.Type; GodTier = savedFaction.GodTier; MaterialCount = savedFaction.MatieralCount; Morale = savedFaction.Morale > 0.2f ? savedFaction.Morale : 0.2f; WorshipperCount = savedFaction.WorshipperCount; FactionArea = new List <float[]>(); foreach (GameInfo.SavedArea musSavedArea in savedFaction.FactionArea) { FactionArea.Add( new float[] { musSavedArea.StartingRad, musSavedArea.EndingRad, musSavedArea.StartingAngle, musSavedArea.EndingAngle }); } CurrentAbilites = new List <Ability>(); CurrentUpgrades = new List <WorshipperUpgrade>(); foreach (string strAbilityName in savedFaction.Abilities) { CurrentAbilites.Add(Ability.LoadAbilityFromName(strAbilityName)); } }
/// <summary> /// Contructor for creating a new god /// </summary> /// <param name="pstrGodName"></param> /// <param name="penumGodType"></param> /// <param name="pintTier"></param> public Faction(string pstrGodName, GodType penumGodType, int pintTier) { GodName = pstrGodName; CurrentAbilites = new List <Ability>(); CurrentUpgrades = new List <WorshipperUpgrade>(); Type = penumGodType; GodTier = pintTier; }
/// <summary> /// Creates an instance of an Item /// </summary> /// <param name="_name">Name of the Item</param> /// <param name="_godItemType">The type Gods that are allowed to use this Item</param> /// <param name="_itemColorType">The damage color of the Item. Can be Damage/Hybrid/Defense/NoColor</param> /// <param name="_mapType">The maps the Item are allowed</param> public Item(string _name, string _fileName, GodType _godItemType, ItemColorType _itemColorType, MapTypes _mapType) { this.name = _name; this.fileName = _fileName; this.godItemType = new List <GodType>() { _godItemType }; this.itemColorType = _itemColorType; this.mapTypes = new List <MapTypes>() { _mapType }; }
public God GetGod(GodType type) { God result; if (GodDictionary.TryGetValue(type, out result)) { return(result); } else { Debug.LogError("God type not found: " + type); return(null); } }
/// <summary> /// Retrieves all boots for the chosen god damage type. There is no differentiation between dmg, hyb or def boots. /// </summary> /// <param name="legalItemColors">Legal items seleceted with the Checkboxes</param> /// <param name="godType">Curent God's type</param> /// <returns></returns> public List <Item> RetrieveLegalBoots(List <ItemColorType> legalItemColors, GodType godType) { List <Item> legalItems = new List <Item> { }; foreach (Item currentItem in allBoots) { if (currentItem.godItemType.Contains(godType) && currentItem.mapTypes.Contains(selectedMapType)) { legalItems.Add(currentItem); } } return(legalItems); }
private void RemoveSacrifice(GodType type) { switch (type) { case GodType.Frog: Maidens--; break; case GodType.Goat: Goats--; break; case GodType.Rabbit: YoungLads--; break; } }
private bool CanSacrifice(GodType type) { switch (type) { case GodType.Frog: return(Maidens > 0); case GodType.Goat: return(Goats > 0); case GodType.Rabbit: return(YoungLads > 0); default: return(false); } }
/// <summary> /// Retrieves all items for the chosen god type. Does not consider Katanas for hunters. /// </summary> /// <param name="legalItemColors">Legal items seleceted with the Checkboxes</param> /// <param name="godType">Curent God's type</param> /// <returns></returns> public List <Item> RetrieveLegalItems(List <ItemColorType> legalItemColors, GodType godType) { List <Item> legalItems = new List <Item> { }; foreach (Item currentItem in allItems) { //Check if an items legal gods contains the current god //And checks if the item is of legal color, as selected from Checkboxes if (currentItem.godItemType.Contains(godType) && legalItemColors.Contains(currentItem.itemColorType) && currentItem.mapTypes.Contains(selectedMapType)) { legalItems.Add(currentItem); } } return(legalItems); }
internal override void Export(string table) { var vals = new List <object> { Id, Name.DBExport(), GodType.DBExport(), Hf.DBExport(), RaceName.DBExport() }; Database.ExportWorldItem(table, vals); foreach (var sphere in Spheres) { Database.ExportWorldItem("God_Sphere", new List <object> { Id, HistoricalFigure.Spheres[sphere] }); } }
/// <summary> /// Helper method to get the predefined abilities based on the given god type /// Used to load the abilities of a god on new game. /// </summary> /// <param name="penumGodType"></param> /// <returns></returns> public static List <Ability> GetGodAbilities(GodType penumGodType) { List <Ability> arrGodAbilities = new List <Ability>(); switch (penumGodType) { case GodType.Ducks: arrGodAbilities.Add(Ability.LoadAbilityFromName("Quack")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Quack!!")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Quack?")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Quack¿")); break; case GodType.Lightning: arrGodAbilities.Add(Ability.LoadAbilityFromName("Smite")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Electric Field")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Stun")); break; case GodType.Fire: arrGodAbilities.Add(Ability.LoadAbilityFromName("FireBall")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Lava River")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Ignite Weapons")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Burn")); break; case GodType.Forks: arrGodAbilities.Add(Ability.LoadAbilityFromName("Throw Fork")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Fork Sweep")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Eat Spaghett")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Fork Flash")); break; case GodType.Robots: arrGodAbilities.Add(Ability.LoadAbilityFromName("Electrocute")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Eye Laser")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Analyze")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Better Programming")); break; case GodType.Smiths: arrGodAbilities.Add(Ability.LoadAbilityFromName("Hammer Slap")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Drop Anvil")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Sharpen Arms")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Armor Break")); break; case GodType.Love: arrGodAbilities.Add(Ability.LoadAbilityFromName("Blow A Kiss")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Giant Heart Slap")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Slap Ass")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Charm")); break; case GodType.Mushrooms: arrGodAbilities.Add(Ability.LoadAbilityFromName("Throw Mushroom")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Eat Mushroom")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Spread Spores")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Mushroom Laser")); break; case GodType.Shoes: arrGodAbilities.Add(Ability.LoadAbilityFromName("Kick")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Yeezys")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Leg Sweep")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Broken Ankles")); break; case GodType.Water: arrGodAbilities.Add(Ability.LoadAbilityFromName("Drown")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Tsunami")); arrGodAbilities.Add(Ability.LoadAbilityFromName("Stay Hydrated")); break; } return(arrGodAbilities); }
public God(string _name, string _godType, string _fileName) { this.name = _name; this.godType = GodTypeFromString(_godType); this.fileName = _fileName; }
public God(string _name, GodType _godType, string fileName) { this.name = _name; this.godType = _godType; }