public ItemGenerator() { this.stuffGenerator = new StuffGenerator <TModuleType>(); this.goldGenerator = new GoldGenerator <TModuleType>(); this.consommableGenerator = new ConsommableGenerator <TModuleType>(); this.lootAttribute = new LootAttributes(); this.offset = Vector3.up; }
public void Gold() { // Gold if (tpd.RollPercent(currentMob.goldChance)) { var goldGenerator = new GoldGenerator(sim.player, currentMob); var amount = goldGenerator.Mob(); var ev = PlayerEvent.Info(string.Format("{0} gold", amount)); var trigger = new Trigger(Trigger.Type.PlayerResourceChange); trigger.data[Trigger.resourceKey] = Constants.goldAttr; trigger.data[Trigger.resourceAmountKey] = amount; ev.Triggers.Add(trigger); sim.AddEvent(ev); } }
public void endTurn() { for (int i = 0; i < Map.instance.territories.Length; i++) { Territory t = Map.instance.territories[i]; if (t.selected()) { t.unselect(true); } if (t.getPlayer() != this) { continue; } if (t.hasEntity()) { Entity e = t.getEntity(); if (e != null) { if (e.GetType() == typeof(Unit)) { Unit u = (Unit)e; if (u.castSpellAtEndOfTurn) { unitQueue.Add(u); Game.instance.delay(); Debug.Log("Game delayed"); } u.reset(); Debug.Log("Unit reset..."); } if (e.GetType() == typeof(GoldGenerator)) { GoldGenerator g = (GoldGenerator)e; g.onGoldGeneration(); } } } } Map.instance.updateMapDensity(this); giveGold(capturedTerritories.Count); economics.onRoundEnd(this); }