private Position AddResourcePatch(int size, int mapsize, Position center, TileItemType tileType) { var square = tileType == TileItemType.RESOURCE_COMMON_SOUL; var mazeness = 0.5; mazeness = (tileType == TileItemType.RESOURCE_COMMON_BODY) ? 1 : mazeness; mazeness = (tileType == TileItemType.RESOURCE_RARE_BODY) ? 10 : mazeness; mazeness = (tileType == TileItemType.RESOURCE_COMMON_SOUL) ? 10 : mazeness; mazeness = (tileType == TileItemType.RESOURCE_RARE_SOUL) ? 0.1 : mazeness; var patch = GenUtils.MazeGen(size, mazeness, square, 1, 1, 1, 1); Position furthestPos = center; foreach (Position pos in patch) { Position newpos = new Position(center.X + pos.X, center.Y + pos.Y); if (newpos.IsInMap(mapsize)) { tiles[newpos.X, newpos.Y].Item = TileItemInfo.GetClone(tileType); } if (newpos.Dist(center) > furthestPos.Dist(center)) { furthestPos = newpos; } } return(furthestPos); }
public Tile() { Influence = 0; Contructable = false; Radiance = false; Item = TileItemInfo.GetClone(TileItemType.NONE); }
public void SelectForBuild(TileItemType type) { MainCamera.cullingMask |= 1 << LayerMask.NameToLayer("TileConstr"); TileItem item = TileItemInfo.Get(type); SelectImage.GetComponent <Image>().sprite = MainController.TileItemSprites[(int)item.Fonction]; Color col = MainController.TileItemColors[(int)item.Synergy]; col.a = 0.2f; SelectImage.GetComponent <Image>().color = col; SelectedBuildItem = type; }
public void FromMessage(String message) { string[] splitargs = message.Split(';'); Type = (TileType)int.Parse(splitargs[0]); Influence = int.Parse(splitargs[1]); Contructable = Utils.StringToBool(splitargs[2]); Radiance = Utils.StringToBool(splitargs[3]); string[] itemargs = splitargs[4].Split(','); TileItemType itemtype = (TileItemType)(int.Parse(itemargs[0])); Item = TileItemInfo.GetClone(itemtype); Item.FromMessage(splitargs[4]); }
private void ClearObstacle(int radius, int mapsize, Position center) { for (int i = center.X - radius; i <= center.X + radius; i++) { for (int j = center.Y - radius; j <= center.Y + radius; j++) { Position pos = new Position(i, j); if (pos.IsInMap(mapsize) && center.Dist(pos) <= radius) { if (tiles[pos.X, pos.Y].Item.ItemType == TileItemType.OBSTACLE) { tiles[pos.X, pos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); } } } } }
void UpdateUI() { if (currentTileUI == null) { TileUICanvas = GameObject.FindGameObjectWithTag("TileUICanvas").transform; GameObject tileUIObj = Instantiate <GameObject>(MainController.TileUIPrefab, transform.localPosition, Quaternion.identity, TileUICanvas); currentTileUI = tileUIObj.GetComponent <TileUI>(); } TileItem item = null; if (currentTile != null && currentTile.Type != TileType.NONE && currentTile.Item != null && currentTile.Item.ItemType != TileItemType.NONE) { item = TileItemInfo.Get(currentTile.Item.ItemType); } currentTileUI.UpdateDisplay(item); }
private void AddVirus(WorldMap map) { var virusPosList = new List <Position>(); for (int j = 0; j < map.GetTiles().GetLength(1); j++) { for (int i = 0; i < map.GetTiles().GetLength(0); i++) { if (map.GetTiles()[i, j].Influence <-5 && map.GetTiles()[i, j].Influence> -15 && map.GetTiles()[i, j].Item.ItemType == TileItemType.NONE) { virusPosList.Add(new Position(i, j)); } } } if (virusPosList.Count > 0) { var viruspos = virusPosList[random.Next(virusPosList.Count)]; map.GetTiles()[viruspos.X, viruspos.Y].Item = TileItemInfo.GetClone(TileItemType.VIRUS); } }
private void AddNightmare(WorldMap map) { var nightmarePosList = new List <Position>(); for (int j = 0; j < map.GetTiles().GetLength(1); j++) { for (int i = 0; i < map.GetTiles().GetLength(0); i++) { if (map.GetTiles()[i, j].Influence <= 0 && map.GetTiles()[i, j].Influence >= -5 && map.GetTiles()[i, j].Item.ItemType == TileItemType.NONE) { nightmarePosList.Add(new Position(i, j)); } } } if (nightmarePosList.Count > 0) { var nightmarepos = nightmarePosList[random.Next(nightmarePosList.Count)]; map.GetTiles()[nightmarepos.X, nightmarepos.Y].Item = TileItemInfo.GetClone(TileItemType.NIGHTMARE); } }
public void UpdateDisplay() { Init(); if (Item == null) { Item = TileItemInfo.Get(ItemType); } ButtonImage.sprite = MainController.TileItemSprites[(int)Item.Fonction]; ButtonImage.color = MainController.TileItemColors[(int)Item.Synergy]; string cost = ""; if (Item.CostCells > 0) { cost += Item.CostCells + "C "; } if (Item.CostThoughts > 0) { cost += Item.CostThoughts + "T"; } if (cost != "") { cost = cost.Trim() + "\n"; } if (Item.CostNutrients > 0) { cost += Item.CostNutrients + "N "; } if (Item.CostIdeas > 0) { cost += Item.CostIdeas + "I"; } Text.text = cost.Trim(); }
public void UpdateDisplay() { TileItem item = null; TileRenderer.sprite = MainController.TileSprites[(int)currentTile.Type]; TileRenderer.color = MainController.PlayerIsBody ? TileColorBody : TileColorSoul; if (currentTile == null || currentTile.Type == TileType.NONE) { // Erase all TileItemRenderer.sprite = null; Color consColor = TileConstructRenderer.color; consColor.a = 0; TileConstructRenderer.color = consColor; Color influColor = TileInfluCoverRenderer.color; influColor.a = 0; TileInfluCoverRenderer.color = influColor; TileInfluValueRenderer.color = Color.clear; empty = true; } else { if (currentTile.Item == null || currentTile.Item.ItemType == TileItemType.NONE) { empty = true; if (SynergyMarker != null) { Destroy(SynergyMarker); } // Remove Tileitem sprites if (TileItemRenderer.sprite != null) { TileItemRenderer.DOFade(0f, 0.5f).onComplete = () => { TileItemRenderer.sprite = null; }; } else { //Debug.Log("Sprite null 3"); TileItemRenderer.sprite = null; } } else { // Replace with constant TileItem item = TileItemInfo.Get(currentTile.Item.ItemType); //bool wasEmpty = TileItemRenderer.sprite == null; Color color = Color.white; TileItemRenderer.sprite = MainController.TileItemSprites[(int)item.Fonction]; Tweener fade = null; if (empty) { //color.a = 0f; TileItemRenderer.color = color; fade = TileItemRenderer.DOFade(1f, 0.5f); empty = false; } if (currentTile.Item.Synergy > 0 && SynergyMarker == null) { //DoTween + Instantiate marker color.a = 1f; if (fade == null) { SynergyTween = TileItemRenderer.DOColor(MainController.PlayerIsBody ? TileColorSynergyBody : TileColorSynergySoul, 1f).SetLoops(-1, LoopType.Yoyo); } else { fade.OnComplete(() => { SynergyTween = TileItemRenderer.DOColor(MainController.PlayerIsBody ? TileColorSynergyBody : TileColorSynergySoul, 1f).SetLoops(-1, LoopType.Yoyo); }); } SynergyMarker = Instantiate <GameObject>(SynergyMarkerPrefab, transform); SynergyMarker.GetComponent <SynergyMarker>().SynergyMode = item.SynergyMode; //Debug.Log(item.SynergyMode); } if (currentTile.Item.Synergy > 0 && SynergyMarker != null && SynergyTween != null) { SynergyTween.timeScale = currentTile.Item.Synergy; } if (currentTile.Item.Synergy == 0 && SynergyMarker != null) { // Stop Tweening + Destroy marker SynergyTween.Kill(); Destroy(SynergyMarker); TileItemRenderer.color = color; } /*if (currentTile.Item.Synergy > 0 && SynergyMarker != null) * { * SynergyTween.timeScale = currentTile.Item.Synergy; * }*/ } Color consColor = TileConstructRenderer.color; consColor.a = currentTile.Contructable ? 0.25f : 0; TileConstructRenderer.color = consColor; Color influColor = TileInfluCoverRenderer.color; influColor.a = currentTile.Radiance ? 0.25f : 0; TileInfluCoverRenderer.color = influColor; Color influValueColor = Color.black; float alpha = 0; if (currentTile.Influence > 0) { influValueColor = MainController.PlayerIsBody ? TileColorInfluOKBody : TileColorInfluOKSoul; alpha = 0.05f + 0.85f * Mathf.Min(1f, Mathf.Abs(currentTile.Influence / ColorCapValue)); } else if (currentTile.Influence < 0) { influValueColor = MainController.PlayerIsBody ? TileColorInfluKOBody : TileColorInfluKOSoul; alpha = 0.35f + 0.5f * Mathf.Min(1f, Mathf.Abs(currentTile.Influence / ColorCapValue)); } influValueColor.a = alpha; TileInfluValueRenderer.DOColor(influValueColor, 0.5f); } if (TileItemRenderer.isVisible && currentTileUI != null && MainController.IsTileUIVisible) { currentTileUI.UpdateDisplay(item); } }
public override void RunWithCast(Player player, BuildParam param) { var cellcost = TileItemInfo.Get(param.Id).CostCells; var nutrientcost = TileItemInfo.Get(param.Id).CostNutrients; var thoughtcost = TileItemInfo.Get(param.Id).CostThoughts; var ideacost = TileItemInfo.Get(param.Id).CostIdeas; if (GameModel.Instance.Bank.Cells < cellcost) { return; } if (GameModel.Instance.Bank.Nutrients < nutrientcost) { return; } if (GameModel.Instance.Bank.Thoughts < thoughtcost) { return; } if (GameModel.Instance.Bank.Ideas < ideacost) { return; } WorldMap map = null; if (player.Type == PlayerType.BODY) { map = GameModel.Instance.BodyMap; } if (player.Type == PlayerType.SOUL) { map = GameModel.Instance.SoulMap; } if (param.Id == TileItemType.NONE) { switch (map.GetTiles()[param.Position.X, param.Position.Y].Item.ItemType) { case TileItemType.GENERATOR_SOUL: case TileItemType.GENERATOR_BODY: case TileItemType.BUILD_AREA_BODY: case TileItemType.BUILD_AREA_SOUL: case TileItemType.HARVESTOR_BODY: case TileItemType.HARVESTOR_SOUL: case TileItemType.RADIANCE_AREA_BODY: case TileItemType.RADIANCE_AREA_SOUL: map.GetTiles()[param.Position.X, param.Position.Y].Item = TileItemInfo.GetClone(param.Id); return; default: return; } } if (map.GetTiles()[param.Position.X, param.Position.Y].Contructable && map.GetTiles()[param.Position.X, param.Position.Y].Item.ItemType == TileItemType.NONE) { map.GetTiles()[param.Position.X, param.Position.Y].Item = TileItemInfo.GetClone(param.Id); GameModel.Instance.Bank.Cells -= cellcost; GameModel.Instance.Bank.Nutrients -= nutrientcost; GameModel.Instance.Bank.Thoughts -= thoughtcost; GameModel.Instance.Bank.Ideas -= ideacost; } }
public WorldMap(int mapsize, PlayerType playerType) { random = new Random(); tiles = new Tile[mapsize, mapsize]; for (int j = 0; j < mapsize; j++) { for (int i = 0; i < mapsize; i++) { tiles[i, j] = new Tile(); tiles[i, j].Type = TileType.NORMAL; } } //Body if (playerType == PlayerType.BODY) { //tiles for (int n = 0; n < 15; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); for (int k = 0; k < 8; k++) { patchCenter = AddResourcePatch(40, mapsize, patchCenter, TileItemType.OBSTACLE); } } for (int n = 0; n < 25; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); for (int k = 0; k < 3; k++) { AddResourcePatch(20, mapsize, patchCenter, TileItemType.RESOURCE_COMMON_BODY); } } for (int n = 0; n < 10; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); AddResourcePatch(18, mapsize, patchCenter, TileItemType.RESOURCE_RARE_BODY); } //start var startX = 10 + random.Next(mapsize / 4); var startY = 10 + random.Next(mapsize / 4); /*tiles[0, 0].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[0, mapsize - 1].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[mapsize - 1, 0].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[mapsize - 1, mapsize - 1].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[mapsize/2, 0].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[0, mapsize / 2].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[mapsize - 1, mapsize / 2].Item = TileItemInfo.GetClone(TileItemType.VIRUS); * tiles[mapsize / 2, mapsize - 1].Item = TileItemInfo.GetClone(TileItemType.VIRUS);*/ Position startResource1 = new Position(startX - 10 + random.Next(20), startY - 10 + random.Next(20)); AddResourcePatch(10, mapsize, startResource1, TileItemType.RESOURCE_COMMON_BODY); Position startResource2 = new Position(startX - 10 + random.Next(20), startY - 10 + random.Next(20)); AddResourcePatch(5, mapsize, startResource1, TileItemType.RESOURCE_RARE_BODY); tiles[startX, startY].Item = TileItemInfo.GetClone(TileItemType.ORGAN); ClearObstacle(10, mapsize, new Position(startX, startY)); //objective var endX = startX + 5 + random.Next(10); var endY = startY + 50 + random.Next(10); tiles[endX, endY].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_ORGAN); ClearObstacle(10, mapsize, new Position(endX, endY)); endX = startX + 50 + random.Next(10); endY = startY + 5 + random.Next(10); tiles[endX, endY].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_ORGAN); ClearObstacle(10, mapsize, new Position(endX, endY)); Start = new Position(startX, startY); } //Soul if (playerType == PlayerType.SOUL) { //tiles for (int n = 0; n < 50; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); AddResourcePatch(35, mapsize, patchCenter, TileItemType.RESOURCE_COMMON_SOUL); } for (int n = 0; n < 15; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); for (int k = 0; k < 4; k++) { patchCenter = AddResourcePatch(40, mapsize, patchCenter, TileItemType.OBSTACLE); } } for (int n = 0; n < 20; n++) { Position patchCenter = new Position(random.Next(mapsize), random.Next(mapsize)); AddResourcePatch(10, mapsize, patchCenter, TileItemType.RESOURCE_RARE_SOUL); } //Start var startX = 10 + random.Next(mapsize / 4); var startY = 10 + random.Next(mapsize / 4); Position startResource1 = new Position(startX - 10 + random.Next(20), startY - 10 + random.Next(20)); AddResourcePatch(10, mapsize, startResource1, TileItemType.RESOURCE_COMMON_SOUL); Position startResource2 = new Position(startX - 10 + random.Next(20), startY - 10 + random.Next(20)); AddResourcePatch(5, mapsize, startResource1, TileItemType.RESOURCE_RARE_SOUL); tiles[startX, startY].Item = TileItemInfo.GetClone(TileItemType.FEELING); ClearObstacle(10, mapsize, new Position(startX, startY)); //objectives var endX = startX + 5 + random.Next(10); var endY = startY + 50 + random.Next(10); tiles[endX, endY].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_FEELING); ClearObstacle(10, mapsize, new Position(endX, endY)); endX = startX + 50 + random.Next(10); endY = startY + 5 + random.Next(10); tiles[endX, endY].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_FEELING); ClearObstacle(10, mapsize, new Position(endX, endY)); Start = new Position(startX, startY); } }
public override void Execute(PlayerType mapType, Position pos, int synergy) { WorldMap map = GameModel.Instance.GetMap(mapType); for (int i = pos.X - Radius; i <= pos.X + Radius; i++) { for (int j = pos.Y - Radius; j <= pos.Y + Radius; j++) { var tmpPos = new Position(i, j); if (tmpPos.IsInMap(map.GetTiles().GetLength(0))) { var dist = tmpPos.Dist(pos); if (dist <= Radius) { var tileType = map.GetTiles()[tmpPos.X, tmpPos.Y].Item.ItemType; var bank = GameModel.Instance.Bank; switch (tileType) { case TileItemType.RESOURCE_COMMON_BODY: ResourceBodyItem item1 = map.GetTiles()[tmpPos.X, tmpPos.Y].Item as ResourceBodyItem; item1.Count -= Rate; bank.Cells += Rate; if (item1.Count < 0) { bank.Cells += item1.Count; map.GetTiles()[tmpPos.X, tmpPos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); } break; case TileItemType.RESOURCE_COMMON_SOUL: ResourceSoulItem item2 = map.GetTiles()[tmpPos.X, tmpPos.Y].Item as ResourceSoulItem; item2.Count -= Rate; bank.Thoughts += Rate; if (item2.Count < 0) { bank.Thoughts += item2.Count; map.GetTiles()[tmpPos.X, tmpPos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); } break; case TileItemType.RESOURCE_RARE_BODY: ResourceBodyRareItem item3 = map.GetTiles()[tmpPos.X, tmpPos.Y].Item as ResourceBodyRareItem; item3.Count -= Rate; bank.Nutrients += Rate; bank.Ideas += Rate; if (item3.Count < 0) { bank.Nutrients += item3.Count; map.GetTiles()[tmpPos.X, tmpPos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); } break; case TileItemType.RESOURCE_RARE_SOUL: ResourceSoulRareItem item4 = map.GetTiles()[tmpPos.X, tmpPos.Y].Item as ResourceSoulRareItem; item4.Count -= Rate; bank.Ideas += Rate; bank.Nutrients += Rate; if (item4.Count < 0) { bank.Ideas += item4.Count; map.GetTiles()[tmpPos.X, tmpPos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); } break; default: break; } } } } } }
private void UpdateTiles(PlayerType mapType) { var map = GameModel.Instance.GetMap(mapType); var listConsoCells = new List <Position>(); var listConsoThoughts = new List <Position>(); var listConsoNutrients = new List <Position>(); var listConsoIdeas = new List <Position>(); //execution fonctions for (int j = 0; j < map.GetTiles().GetLength(1); j++) { for (int i = 0; i < map.GetTiles().GetLength(0); i++) { var tmppos = new Position(i, j); if (tmppos.IsInMap(map.GetTiles().GetLength(1))) { FunctionInfo fonctions = TileItemFunctionInfo.Get(map.GetTiles()[i, j].Item.ItemType); fonctions.MainFunction.Execute(mapType, tmppos); fonctions.SecondaryFunction.Execute(mapType, tmppos); if (TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceCellCostRate > 0) { listConsoCells.Add(tmppos); } if (TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceThoughtCostRate > 0) { listConsoThoughts.Add(tmppos); } if (TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceNutrientCostRate > 0) { listConsoNutrients.Add(tmppos); } if (TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceIdeaCostRate > 0) { listConsoIdeas.Add(tmppos); } //synergy if (TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).SynergyMode != TileItemSynergyMode.NONE) { int nbSynergy = Synergy.CheckSynergyTrigger(map, tmppos, TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).SynergyMode, TileItemFunctionInfo.Get(map.GetTiles()[i, j].Item.ItemType).SynergyTrigger); if (nbSynergy > 0) { fonctions.SynergyFunction.Execute(mapType, tmppos, nbSynergy); map.GetTiles()[i, j].Item.Synergy = nbSynergy; } } //maintenance GameModel.Instance.Bank.Cells -= TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceCellCostRate; GameModel.Instance.Bank.Thoughts -= TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceThoughtCostRate; GameModel.Instance.Bank.Nutrients -= TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceNutrientCostRate; GameModel.Instance.Bank.Ideas -= TileItemInfo.Get(map.GetTiles()[i, j].Item.ItemType).MaintenanceIdeaCostRate; } } } if (GameModel.Instance.Bank.Cells < 0 && listConsoCells.Count > 0) { var removePos = listConsoCells[random.Next(listConsoCells.Count)]; map.GetTiles()[removePos.X, removePos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); GameModel.Instance.Bank.Cells = 0; } if (GameModel.Instance.Bank.Thoughts < 0 && listConsoThoughts.Count > 0) { var removePos = listConsoThoughts[random.Next(listConsoThoughts.Count)]; map.GetTiles()[removePos.X, removePos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); GameModel.Instance.Bank.Thoughts = 0; } if (GameModel.Instance.Bank.Nutrients < 0 && listConsoNutrients.Count > 0) { var removePos = listConsoNutrients[random.Next(listConsoNutrients.Count)]; map.GetTiles()[removePos.X, removePos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); GameModel.Instance.Bank.Nutrients = 0; } if (GameModel.Instance.Bank.Ideas < 0 && listConsoIdeas.Count > 0) { var removePos = listConsoIdeas[random.Next(listConsoIdeas.Count)]; map.GetTiles()[removePos.X, removePos.Y].Item = TileItemInfo.GetClone(TileItemType.NONE); GameModel.Instance.Bank.Ideas = 0; } }
private void ResolveDestructions(PlayerType mapType) { var map = GameModel.Instance.GetMap(mapType); for (int j = 0; j < map.GetTiles().GetLength(1); j++) { for (int i = 0; i < map.GetTiles().GetLength(0); i++) { if (map.GetTiles()[i, j].Influence < 0) { //toi pas construire map.GetTiles()[i, j].Contructable = false; // switch (map.GetTiles()[i, j].Item.ItemType) { case TileItemType.GENERATOR_SOUL: case TileItemType.GENERATOR_BODY: case TileItemType.HARVESTOR_BODY: case TileItemType.HARVESTOR_SOUL: case TileItemType.BUILD_AREA_BODY: case TileItemType.BUILD_AREA_SOUL: case TileItemType.RADIANCE_AREA_BODY: case TileItemType.RADIANCE_AREA_SOUL: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.NONE); break; case TileItemType.ORGAN: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_ORGAN); break; case TileItemType.FEELING: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.CORRUPTED_FEELING); break; default: break; } } if (map.GetTiles()[i, j].Influence > 0) { switch (map.GetTiles()[i, j].Item.ItemType) { case TileItemType.VIRUS: case TileItemType.NIGHTMARE: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.NONE); break; case TileItemType.CORRUPTED_ORGAN: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.ORGAN); break; case TileItemType.CORRUPTED_FEELING: map.GetTiles()[i, j].Item = TileItemInfo.GetClone(TileItemType.FEELING); break; default: break; } } } } }