예제 #1
0
    public override void SetUp()
    {
        //Building cost and update income costs on UI
        cost_build_dwelling   = new int[] { 2, 1 };
        cost_build_TP         = new int[] { 3, 2 };
        cost_build_stronghold = new int[] { 6, 4 };
        cost_build_temple     = new int[] { 6, 4 };
        cost_build_sanctuary  = new int[] { 6, 4 };

        defaultShipping = 0;
        defaultCult     = new int[] { 0, 2, 0, 0 };

        magic_default = new Magic(7, 5, 0);

        habitat = Terrain.TerrainType.Lakes;

        max_upgrade_terraform = 3;

        cost_upgrade_shipping     = new SingleIncome(4, 0, 1, 0, 0);
        cost_upgrade_terraforming = new SingleIncome(5, 2, 1, 0, 0);

        starting_dwellings = 2;

        Starting_gold    = 15;
        Starting_worker  = 3;
        Starting_priest  = 0;
        Starting_shovels = 0;

        SetIncomeMap();
    }
예제 #2
0
 //Adds income as a one time only
 public void AddSingleIncome(SingleIncome income)
 {
     int[] incomes = income.IncomeAsArray();
     publicPlayerAttributes.CmdSetGold(publicPlayerAttributes.PlayerGold       += incomes[0]);
     publicPlayerAttributes.CmdSetWorkers(publicPlayerAttributes.PlayerWorkers += incomes[1]);
     publicPlayerAttributes.CmdSetPriests(publicPlayerAttributes.PlayerPriests += incomes[2]);
     tierMagic.AddMagic(incomes[3]); UpdateMagicPublicVariables();
     shovel_count += incomes[4];
     UpdateResourceText();
 }
예제 #3
0
    //Upgrading Terraforming and Shipping
    //Split up in case they will be expanded upon later
    public bool UpgradeShipping()
    {
        SingleIncome cost = faction.cost_upgrade_shipping;

        //First check if it can be done
        if (publicPlayerAttributes.PlayerGold >= cost.Gold &&
            publicPlayerAttributes.PlayerWorkers >= cost.Worker &&
            publicPlayerAttributes.PlayerPriests >= cost.Priest &&
            tierMagic.GetTiers()[2] >= cost.Magic && shipping != 4)   //and its not at max shipping
        {
            AddSingleIncome(cost.Reciprocal());
            shipping++;
            return(true);
        }
        return(false);
    }
 public RoundEndBonus(PointBonus pb, CultIncome ci, SingleIncome si)
 {
     RoundEndPointBonus = pb;
     cultCostPer        = ci;
     cultPerBonus       = si;
 }
 /**For town tiles */
 public FavourBonus(SingleIncome i_, int points_, CultIncome ci_)
 {
     income      = i_;
     Points      = points_;
     cult_income = ci_;
 }
 /**For favour tiles */
 public FavourBonus(SingleIncome i_, PointBonus pb_, CultIncome ci_)
 {
     income      = i_;
     pointBonus  = pb_;
     cult_income = ci_;
 }
예제 #7
0
 internal bool CheckPlayerCanAfford(SingleIncome price)
 {
     return(publicPlayerAttributes.PlayerGold >= price.Gold && publicPlayerAttributes.PlayerWorkers >= price.Worker && publicPlayerAttributes.PlayerPriests >= price.Priest);
 }
 public void AddIncome(SingleIncome si)
 {
     building_income_map[current_index] = si;
     current_index++;
 }
예제 #9
0
 public Spell(int gold, int worker, int priest, int magic, int cost, int shovels)
 {
     spell_income = new SingleIncome(gold, worker, priest, magic, shovels);
     mana_cost    = cost;
 }
 public Round_Bonus(PointBonus pb_, SingleIncome income_, RoundBonusManager.RoundBonusType type_)
 {
     RoundPointbonus = pb_;
     Round_Income    = income_;
     Type            = type_;
 }
 //Checks if player can afford a certain price before going through with an action
 public bool CheckPlayerCanAfford(SingleIncome price)
 {
     return(localPlayer.CheckPlayerCanAfford(price));
 }
 internal void AddSingleIncome(SingleIncome singleIncome)
 {
     localPlayer.AddSingleIncome(singleIncome);
 }