protected PlayerShield(Game1 Game, ItemVariety variety) :
     base(Game, variety)
 {
     this.spriteSheet = Game.spriteSheetVerticalShooter;
     SetDefaultValues();
     Kind = "Shield";
 }
 protected PlayerPlating(Game1 Game, ItemVariety variety) :
     base(Game, variety)
 {
     this.spriteSheet       = Game.spriteSheetVerticalShooter;
     Kind                   = "Plating";
     CurrentOverworldHealth = Armor;
 }
Example #3
0
 public ShopInventoryEntry(ShipPartType shipPartType, ShipPartAvailability shipPartAvailability, ItemVariety itemVariety)
 {
     this.shipPartType = shipPartType;
     this.itemVariety  = itemVariety;
     this.availability = shipPartAvailability;
     id = shipPartType.ToString() + " " + shipPartAvailability.ToString() + " " + itemVariety.ToString();
 }
Example #4
0
        public void SetShipPartVariety(ItemVariety new_variety = ItemVariety.None)
        {
            // Hack-around here to not break the parts of the code that directly
            // applies item variety to the ship part. I hope to rebuild the system
            // further later on so that variety only is set in the constructor. // Jakob 150319

            if (new_variety != ItemVariety.None)
            {
                this.variety = new_variety;
            }

            if (!isVarietySet)
            {
                isVarietySet = true;
            }
            else
            {
                return;
            }

            switch (variety)
            {
            case ItemVariety.Regular:
            {
                SetShipPartVariety(ShipPart.regularItemSpreadFactor, ShipPart.regularQuality);
                break;
            }

            case ItemVariety.Low:
            {
                SetShipPartVariety(ShipPart.regularItemSpreadFactor, ShipPart.lowQuality);
                break;
            }

            case ItemVariety.High:
            {
                SetShipPartVariety(ShipPart.regularItemSpreadFactor, ShipPart.greatQuality);
                break;
            }

            case ItemVariety.Random:
            {
                // Recursive call with the obtained proper quality
                ItemVariety var = GetRandomVariety();
                SetShipPartVariety(var);
                break;
            }

            case ItemVariety.None:
            {
                break;
            }

            default:
            {
                throw new ArgumentException("Not implemented!");
            }
            }
        }
Example #5
0
 public EmptyWeapon(Game1 Game, ItemVariety variety = ItemVariety.None) :
     base(Game, variety)
 {
     Name = "---";
     Kind = "Empty";
     energyCostPerSecond = 0;
     delay = 0;
 }
Example #6
0
 public EmptyItem(Game1 Game, ItemVariety variety = ItemVariety.None) :
     base(Game)
 {
     Name   = "---";
     Kind   = "Empty";
     Weight = 0;
     Value  = 0;
 }
 public EmptyShield(Game1 Game, ItemVariety variety = ItemVariety.None) :
     base(Game, variety)
 {
     Name             = "---";
     Kind             = "Empty";
     Capacity         = 0;
     ConversionFactor = 0;
 }
Example #8
0
        public ShopInventoryEntry(String id)
        {
            MatchCollection matches = Regex.Matches(id, @"\w+");

            shipPartType = MathFunctions.ParseEnum <ShipPartType>(matches[0].ToString());
            availability = MathFunctions.ParseEnum <ShipPartAvailability>(matches[1].ToString());
            itemVariety  = MathFunctions.ParseEnum <ItemVariety>(matches[2].ToString());
            this.id      = id;
        }
        private Item GetProgressBasedRandomItem(Game1 Game)
        {
            var currentPhase = MissionManager.GetCurrentGamePhase();

            ShipPartType        progressRandomShipPart;
            List <ShipPartType> pickingPool = new List <ShipPartType>();

            pickingPool.AddRange(beginningItems);

            switch (currentPhase)
            {
            case GamePhase.beginning:
            {
                progressRandomShipPart = MathFunctions.PickRandomFromList(pickingPool);
                break;
            }

            case GamePhase.withAlliance:
            {
                pickingPool.AddRange(alliancePhaseItems);
                progressRandomShipPart = MathFunctions.PickRandomFromList(pickingPool);
                break;
            }

            case GamePhase.withRebels:
            {
                pickingPool.AddRange(alliancePhaseItems);
                pickingPool.AddRange(rebelPhaseItems);
                progressRandomShipPart = MathFunctions.PickRandomFromList(pickingPool);
                break;
            }

            case GamePhase.ending:
            {
                pickingPool.AddRange(alliancePhaseItems);
                pickingPool.AddRange(rebelPhaseItems);
                pickingPool.AddRange(endingItems);
                progressRandomShipPart = MathFunctions.PickRandomFromList(pickingPool);
                break;
            }

            default:
            {
                throw new ArgumentException(string.Format("Unknown argument given: {0}", currentPhase.ToString()));
            }
            }

            ItemVariety variety = GetRandomVariety();

            return(Shop.RetrievePartFromEnum(progressRandomShipPart, Game, variety));
        }
Example #10
0
 public RegularBombWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
 public PunyTurretWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
 public AdvancedPlating(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #13
0
 public AdvancedLaserWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #14
0
        public static ShipPart RetrievePartFromEnum(ShipPartType shipPartEnum, Game1 Game, ItemVariety variety = ItemVariety.Regular)
        {
            switch (shipPartEnum)
            {
            case ShipPartType.LongShot:                 return(new LongShotWeapon(Game, variety));

            case ShipPartType.BasicLaser:               return(new BasicLaserWeapon(Game, variety));

            case ShipPartType.DualLaser:                return(new DualLaserWeapon(Game, variety));

            case ShipPartType.SpreadBullet:             return(new SpreadBulletWeapon(Game, variety));

            case ShipPartType.Beam:                     return(new BeamWeapon(Game, variety));

            case ShipPartType.MultipleShot:             return(new MultipleShotWeapon(Game, variety));

            case ShipPartType.WaveBeam:                 return(new WaveBeamWeapon(Game, variety));

            case ShipPartType.BallisticLaser:           return(new BallisticLaserWeapon(Game, variety));

            case ShipPartType.FragmentMissile:          return(new FragmentMissileWeapon(Game, variety));

            case ShipPartType.Burster:                  return(new BursterWeapon(Game, variety));

            case ShipPartType.AdvancedLaser:            return(new AdvancedLaserWeapon(Game, variety));

            case ShipPartType.ProximityLaser:           return(new ProximityLaserWeapon(Game, variety));

            case ShipPartType.AdvancedBeam:             return(new AdvancedBeamWeapon(Game, variety));

            case ShipPartType.FlameShot:                return(new FlameShotWeapon(Game, variety));

            case ShipPartType.Turret:                   return(new TurretWeapon(Game, variety));

            case ShipPartType.FieldDamage:              return(new FieldDamageWeapon(Game, variety));

            case ShipPartType.SideMissiles:             return(new SideMissilesWeapon(Game, variety));

            case ShipPartType.HomingMissile:            return(new HomingMissileWeapon(Game, variety));

            case ShipPartType.Disruptor:                return(new DisruptorWeapon(Game, variety));

            case ShipPartType.MineLayer:                return(new MineLayerWeapon(Game, variety));

            case ShipPartType.RegularBomb:              return(new RegularBombWeapon(Game, variety));

            case ShipPartType.PunyTurret:               return(new PunyTurretWeapon(Game, variety));

            case ShipPartType.BasicPlating:             return(new BasicPlating(Game, variety));

            case ShipPartType.RegularPlating:           return(new RegularPlating(Game, variety));

            case ShipPartType.AdvancedPlating:          return(new AdvancedPlating(Game, variety));

            case ShipPartType.HeavyPlating:             return(new HeavyPlating(Game, variety));

            case ShipPartType.LightPlating:             return(new LightPlating(Game, variety));

            case ShipPartType.BasicEnergyCell:          return(new BasicEnergyCell(Game, variety));

            case ShipPartType.RegularEnergyCell:        return(new RegularEnergyCell(Game, variety));

            case ShipPartType.AdvancedEnergyCell:       return(new AdvancedEnergyCell(Game, variety));

            case ShipPartType.WeaponBoostEnergyCell:    return(new WeaponBoostEnergyCell(Game, variety));

            case ShipPartType.ShieldBoostEnergyCell:    return(new ShieldBoostEnergyCell(Game, variety));

            case ShipPartType.BasicShield:              return(new BasicShield(Game, variety));

            case ShipPartType.RegularShield:            return(new RegularShield(Game, variety));

            case ShipPartType.AdvancedShield:           return(new AdvancedShield(Game, variety));

            case ShipPartType.CollisionShield:          return(new CollisionShield(Game, variety));

            case ShipPartType.BulletShield:             return(new BulletShield(Game, variety));

            default:
                throw new ArgumentException("Undefined enum value! Check enum in DataEnums-class");
            }
        }
 public BasicShield(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #16
0
 protected PlayerEnergyCell(Game1 Game, ItemVariety variety) :
     base(Game, variety)
 {
     this.spriteSheet = Game.spriteSheetVerticalShooter;
     Kind             = "EnergyCell";
 }
 public WeaponBoostEnergyCell(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #18
0
 public FlameShotWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
 }
Example #19
0
 public ProximityLaserWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular)
     : base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
 public AdvancedEnergyCell(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #21
0
 protected ShipPart(Game1 Game, ItemVariety variety)
     : base(Game)
 {
     this.variety = variety;
 }
 public MultipleShotWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #23
0
 public DrillBeamWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
 }
Example #24
0
 public SpreadBulletWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
 public FieldDamageWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
 public BallisticLaserWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #27
0
 public HomingMissileWeapon(Game1 Game, ItemVariety variety = ItemVariety.Regular) :
     base(Game, variety)
 {
     Setup();
     SetShipPartVariety();
 }
Example #28
0
 protected PlayerWeapon(Game1 Game, ItemVariety variety)
     : base(Game, variety)
 {
     this.spriteSheet = Game.spriteSheetVerticalShooter;
     random           = new Random();
 }