private IEnumerable <Item> GetTemplates(IEnumerable <string> setTreasure, string size, string weaponSize) { var templates = new List <Item>(); var sizes = SizeConstants.GetOrdered(); foreach (var setItemTemplate in setTreasure) { var template = itemSelector.SelectFrom(setItemTemplate); if (!template.Traits.Intersect(sizes).Any()) { if (template.ItemType == ItemTypeConstants.Weapon) { template.Traits.Add(weaponSize); } else { template.Traits.Add(size); } } templates.Add(template); } return(templates); }
// Called when the node enters the scene tree for the first time. public override void _Ready() { _sizeConstants = GetNode <SizeConstants>("/root/SizeConstants"); _colorRect = GetNode <ColorRect>("ColorRect"); // set teh size of the cell to the one defined in the constants file _colorRect.SetSize(new Vector2(_sizeConstants.CellSize, _sizeConstants.CellSize)); }
// Called when the node enters the scene tree for the first time. public override void _Ready() { _sizeConstants = GetNode <SizeConstants>("/root/SizeConstants"); CellGrid = new Cell[_sizeConstants.Width, _sizeConstants.Height]; // set the number of columns to the constant's value this.Columns = _sizeConstants.Width; cell = ResourceLoader.Load("res://Cell.tscn") as PackedScene; for (int x = 0; x < CellGrid.GetLength(0); x++) { for (int y = 0; y < CellGrid.GetLength(1); y++) { var cell = this.cell.Instance() as Cell; // set the cells X and Y cell.X = x; cell.Y = y; // add the cell to the grid CellGrid[x, y] = cell; // add the cell to the GridContainer AddChild(cell); } } }
private int GetHideSkillSizeModifier(string size) { var sizes = SizeConstants.GetOrdered(); var mediumIndex = Array.IndexOf(sizes, SizeConstants.Medium); var sizeIndex = Array.IndexOf(sizes, size); return((mediumIndex - sizeIndex) * 4); }
private string GetBiggerSize(string size1, string size2) { var ordered = SizeConstants.GetOrdered(); var index1 = Array.IndexOf(ordered, size1); var index2 = Array.IndexOf(ordered, size2); if (index1 >= index2) { return(size1); } return(size2); }
private string GetAdjustedDamage(string originalDamage, string originalSize, string advancedSize) { var adjustedDamage = originalDamage; var orderedSizes = SizeConstants.GetOrdered(); var sizeDifference = Array.IndexOf(orderedSizes, advancedSize) - Array.IndexOf(orderedSizes, originalSize); while (sizeDifference-- > 0 && damageMaps.ContainsKey(adjustedDamage)) { adjustedDamage = damageMaps[adjustedDamage]; } return(adjustedDamage); }
public void OrderedSizes() { var orderedSizes = SizeConstants.GetOrdered(); Assert.That(orderedSizes[0], Is.EqualTo(SizeConstants.Fine)); Assert.That(orderedSizes[1], Is.EqualTo(SizeConstants.Diminutive)); Assert.That(orderedSizes[2], Is.EqualTo(SizeConstants.Tiny)); Assert.That(orderedSizes[3], Is.EqualTo(SizeConstants.Small)); Assert.That(orderedSizes[4], Is.EqualTo(SizeConstants.Medium)); Assert.That(orderedSizes[5], Is.EqualTo(SizeConstants.Large)); Assert.That(orderedSizes[6], Is.EqualTo(SizeConstants.Huge)); Assert.That(orderedSizes[7], Is.EqualTo(SizeConstants.Gargantuan)); Assert.That(orderedSizes[8], Is.EqualTo(SizeConstants.Colossal)); Assert.That(orderedSizes.Length, Is.EqualTo(9)); }
private void UpdateCreatureSpeeds(Creature creature) { var sizes = SizeConstants.GetOrdered(); var largeIndex = Array.IndexOf(sizes, SizeConstants.Large); var sizeIndex = Array.IndexOf(sizes, creature.Size); if (sizeIndex >= largeIndex && creature.Speeds.ContainsKey(SpeedConstants.Land) && !creature.Speeds.ContainsKey(SpeedConstants.Fly)) { var dragonSpeeds = speedsGenerator.Generate(DragonSpecies); var dragonFlySpeedValue = Math.Min(120, creature.Speeds[SpeedConstants.Land].Value * 2); creature.Speeds[SpeedConstants.Fly] = dragonSpeeds[SpeedConstants.Fly]; creature.Speeds[SpeedConstants.Fly].Value = dragonFlySpeedValue; } }
private string AdjustChallengeRating(string originalSize, string advancedSize, string originalChallengeRating) { var sizes = SizeConstants.GetOrdered(); var originalSizeIndex = Array.IndexOf(sizes, originalSize); var advancedIndex = Array.IndexOf(sizes, advancedSize); var largeIndex = Array.IndexOf(sizes, SizeConstants.Large); if (advancedIndex < largeIndex || originalSize == advancedSize) { return(originalChallengeRating); } var increase = advancedIndex - Math.Max(largeIndex - 1, originalSizeIndex); var adjustedChallengeRating = ChallengeRatingConstants.IncreaseChallengeRating(originalChallengeRating, increase); return(adjustedChallengeRating); }
public bool IsCompatible(string creature) { var types = collectionSelector.SelectFrom(TableNameConstants.Collection.CreatureTypes, creature); if (!creatureTypes.Contains(types.First())) { return(false); } var creatureData = creatureDataSelector.SelectFor(creature); var animalData = creatureDataSelector.SelectFor(AnimalSpecies); var sizes = SizeConstants.GetOrdered(); var creatureIndex = Array.IndexOf(sizes, creatureData.Size); var animalIndex = Array.IndexOf(sizes, animalData.Size); if (Math.Abs(creatureIndex - animalIndex) > 1) { return(false); } return(true); }
// Called when the node enters the scene tree for the first time. public override void _Ready() { _sizeConstants = GetNode <SizeConstants>("/root/SizeConstants"); _grid = GetNode <GridContainer>("Grid") as Grid; }
// Called when the node enters the scene tree for the first time. public override void _Ready() { _sizeConstants = GetNode <SizeConstants>("/root/SizeConstants"); _grid = GetNode <GridContainer>("Grid") as Grid; _epocheNumberLabel = GetNode <Label>("Label"); }