コード例 #1
0
ファイル: Game.cs プロジェクト: squens/ld36
 private void SetupUpgrades()
 {
     FabricatorUpgrades = new FabricatorUpgrade[] {
         new FabricatorUpgrade("Improved Impact Dampening (+10 Max Health)", (pc) => { pc.MaxHealth += 10; pc.Health += 10; }),
         new FabricatorUpgrade("Wiring Improvements (10% More Energy from Batteries)", (pc) => {
             pc.MaxEnergy          = (int)(pc.MaxEnergy * 1.1);
             pc.batteryEfficiency += 0.1;
         }),
         new FabricatorUpgrade("Upgrade Sensors (+1 Vision Range)", (pc) => { pc.VisionRadius += 1; }),
         new FabricatorUpgrade("Add Armor Plating (+1 Damage Reduction)", (pc) => { pc.DamageReduction += 1; }),
         new FabricatorUpgrade("Servo Actuator Replacement (+1 to Dodging)", (pc) => { pc.DodgeBonus += 1; }),
         new FabricatorUpgrade("Targetting CPU Over-Clocking (+1 to Accuracy)", (pc) => { pc.ToHitBonus += 1; }),
         new FabricatorUpgrade("Myomer Strengthening (+1 Melee Damage)", (pc) => { pc.MeleeDamage += 1; }),
         new FabricatorUpgrade("Kinetic Accelerator Boost (+1 Ranged Damage)", (pc) => { pc.RangedDamage += 1; }),
     };
 }
コード例 #2
0
        static void Update_Keyboard_Fabricator(ConsoleKeyInfo cki)
        {
            FrameBuffer.Instance.Clear();
            if (cki.Key == ConsoleKey.Escape)
            {
                Game.Instance.InputMode = InputMode.Normal;
                RedrawRequests.FullRedraw();
            }
            else
            {
                // Try to map to an inventory item
                int i = (int)cki.KeyChar - 'a';

                if (i < 0 || i >= Game.Instance.FabricatorUpgrades.Length)
                {
                    // Out of bounds for upgrades.
                    return;
                }

                FabricatorUpgrade fu = Game.Instance.FabricatorUpgrades[i];
                PlayerCharacter   pc = PlayerCharacter.Instance;

                if (fu.NextUpgradeCost > pc.Money)
                {
                    Game.Instance.Message("Insufficient metal scraps for upgrade.");
                    return;
                }

                Game.Instance.Message("PURCHASED: " + fu.Name);
                Console.Beep();

                pc.Money -= fu.NextUpgradeCost;

                fu.OnPurchase(pc);

                fu.NextUpgradeCost = (int)(fu.NextUpgradeCost * 2);
            }
        }