Exemple #1
0
 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;
 }
Exemple #2
0
    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);
        }
    }
Exemple #3
0
    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);
    }
Exemple #4
0
    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);
        }
    }