Exemple #1
0
 /// <summary>
 /// Create a new weapon
 /// </summary>
 /// <param name="name">name of the weapon</param>
 /// <param name="type">class of weapon</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="damage">damage of the weapon</param>
 /// <param name="crit">crit rating of the weapon</param>
 /// <param name="range">range of the weapon</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 /// <param name="turbo">Quality of turboweapon battery upgrade if applicable</param>
 public Weapon(string name, WeaponType type, HullType hulls, WeaponSlot slots, int power, int space, 
     int sp, int str, string damage, int crit, int range, RuleBook origin, byte page, Quality quality = Quality.Common,
     WeaponQuality wq = WeaponQuality.None, string special = null, Quality turbo = Quality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : this(name, type, hulls, slots, power, space, sp, str, new DiceRoll(damage), crit, range, 
     origin, page, quality, wq, special, turbo, comp, cond)
 {
 }
Exemple #2
0
 /// <summary>
 /// Create a new Landing Bay
 /// </summary>
 /// <param name="name">name of the landing bay</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="capacity">total ammo capacity of the torpedo tube</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 public LandingBay(string name, HullType hulls, WeaponSlot slots, int power, int space, int sp, int str,
                   RuleBook origin, byte page, Quality quality = Quality.Common, WeaponQuality wq = WeaponQuality.None,
                   string special = null, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, WeaponType.LandingBay, hulls, slots, power, space, sp, str, default(DiceRoll), 0, 0, origin, page, quality, wq, special, Quality.None, comp, cond)
 {
     Squadrons = new List <Squadron>(Strength * 3);
 }
Exemple #3
0
 public NovaCannon(String name, HullType hulls, int power, int space, int sp,
                   DiceRoll damage, int range, RuleBook origin, byte page, string special = null, Quality quality = Quality.Common,
                   WeaponQuality wq = WeaponQuality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact, int ammo = 0)
     : base(name, WeaponType.NovaCannon, hulls, WeaponSlot.Prow, power, space, sp, 0, damage, 0, range, origin, page, quality, wq, special, Quality.None, comp, cond)
 {
     this.Ammo = ammo;
 }
Exemple #4
0
 /// <summary>
 /// Create a new Crew Quarters or Life Sustainer
 /// </summary>
 /// <param name="name">name of teh life sustainer of crew quarters</param>
 /// <param name="types">classes of ship which can use this component</param>
 /// <param name="power">power used by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="morale">morale modifier of this component</param>
 /// <param name="origin">rulebook containing this component</param>
 /// <param name="page">page this component can be found on</param>
 /// <param name="special">special rules for this component</param>
 /// <param name="quality">quality of this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="loss">modifier to morale loss granted by this component</param>
 public CrewSustainer(string name, HullType types, int power, int space, int morale, RuleBook origin, byte page,
     string special = null, Quality quality = Quality.Common, int sp = 0, int loss = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Morale = morale;
     this.MoraleLoss = loss;
 }
Exemple #5
0
 /// <summary>
 /// Create a new Landing Bay
 /// </summary>
 /// <param name="name">name of the landing bay</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="capacity">total ammo capacity of the torpedo tube</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 public LandingBay(string name, HullType hulls, WeaponSlot slots, int power, int space, int sp, int str,
     RuleBook origin, byte page, Quality quality = Quality.Common, WeaponQuality wq = WeaponQuality.None,
     string special = null, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, WeaponType.LandingBay, hulls, slots, power, space, sp, str, default(DiceRoll), 0, 0, origin, page, quality, wq, special, Quality.None, comp, cond)
 {
     Squadrons = new List<Squadron>(Strength * 3);
 }
Exemple #6
0
 /// <summary>
 /// Create a new plasma drive
 /// </summary>
 /// <param name="name">name of the plasma drive</param>
 /// <param name="types">hull classes which can use this drive</param>
 /// <param name="power">power generated by this drive</param>
 /// <param name="space">space taken by this drive</param>
 /// <param name="special">special rules for this drive</param>
 /// <param name="origin">rulebook which contains this drive</param>
 /// <param name="page">page to find the drive on</param>
 /// <param name="sp">cost of this drive</param>
 /// <param name="quality">quality of this drive</param>
 /// <param name="speed">speed modifier of this drive</param>
 /// <param name="man">manoeuvrability modifier of this drive</param>
 public PlasmaDrive(string name, HullType types, int power, int space, string special, RuleBook origin, byte page, int sp = 0,
     Quality quality = Quality.Common, int speed = 0, int man = 0, ComponentOrigin comp = ComponentOrigin.Standard, bool modified = false, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Manoeuvrability = man;
     this.Speed = speed;
     Modified = modified;
 }
Exemple #7
0
 /// <summary>
 /// Create a new Torpedo Tube
 /// </summary>
 /// <param name="name">name of the torpedo tube</param>
 /// <param name="hulls">class of ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="capacity">total ammo capacity of the torpedo tube</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 public TorpedoTubes(string name, HullType hulls, int power, int space, int sp, int str,
     int capacity, RuleBook origin, byte page, Quality quality = Quality.Common, WeaponQuality wq = WeaponQuality.None,
     string special = null, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, WeaponType.TorpedoTube, hulls, WeaponSlot.Prow | WeaponSlot.Keel, power, space, sp, str, default(DiceRoll), 0, 0, origin, page, 
         quality, wq, special, Quality.None, comp, cond)
 {
     this.Capacity = capacity;
     Ammo = new List<Torpedo>(Capacity);
     Tubes = new Torpedo[Strength];
 }
Exemple #8
0
 /// <summary>
 /// Create a new Torpedo Tube
 /// </summary>
 /// <param name="name">name of the torpedo tube</param>
 /// <param name="hulls">class of ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="capacity">total ammo capacity of the torpedo tube</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 public TorpedoTubes(string name, HullType hulls, int power, int space, int sp, int str,
                     int capacity, RuleBook origin, byte page, Quality quality = Quality.Common, WeaponQuality wq = WeaponQuality.None,
                     string special = null, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, WeaponType.TorpedoTube, hulls, WeaponSlot.Prow | WeaponSlot.Keel, power, space, sp, str, default(DiceRoll), 0, 0, origin, page,
            quality, wq, special, Quality.None, comp, cond)
 {
     this.Capacity = capacity;
     Ammo          = new List <Torpedo>(Capacity);
     Tubes         = new Torpedo[Strength];
 }
Exemple #9
0
 /// <summary>
 /// Create a new supplemental Component
 /// </summary>
 /// <param name="name">name of the supplemental component</param>
 /// <param name="types">Classes of ship that can use this component</param>
 /// <param name="power">power used or granted by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="origin">rulebook this component is found in</param>
 /// <param name="page">page number to find this component</param>
 /// <param name="ramming">Additional damage dealt by ramming with this component</param>
 /// <param name="special">special rules of the component</param>
 /// <param name="quality">quality of the component</param>
 /// <param name="speed">speed modifier of the component</param>
 /// <param name="man">manoeuvrability modifier of the component</param>
 /// <param name="hullint">hull integrity modifier of the component</param>
 /// <param name="armour">armour modifier of the component</param>
 /// <param name="turrets">turret modifier of the component</param>
 /// <param name="morale">morale modifier of the component</param>
 /// <param name="crew">crew population modifier of the component</param>
 /// <param name="prowArmour">armour modifier to only the prow from this component</param>
 /// <param name="crewRating">Bonus or penalty to crew rating</param>
 /// <param name="mining">modifier to mining objectives</param>
 /// <param name="creed">modifier to creed objectives</param>
 /// <param name="military">modifier to military objectives</param>
 /// <param name="trade">modifier to trade objectives</param>
 /// <param name="criminal">modifier to criminal objectives</param>
 /// <param name="exploration">modifier to exploration objectives</param>
 /// <param name="generated">If the power listed is generated instead of used</param>
 /// <param name="detection">modifier to detection rating fromt he component</param>
 /// <param name="aux">Auxiliary weapons like hold landing bay granted by this component</param>
 /// <param name="macrodamage">damage modifier to macrobatteries such as from the munitorium</param>
 /// <param name="bs">ballistic skill modifier from this component</param>
 /// <param name="navigate">modifer to navigate the warp</param>
 /// <param name="crewLoss">modifier to crew losses</param>
 /// <param name="moraleLoss">modifier to morale losses</param>
 public Supplemental(string name, HullType types, int power, int space, int sp, RuleBook origin, byte page,
                     String ramming       = null, String special = null, Quality quality = Quality.Common, int speed = 0,
                     int man              = 0, int hullint        = 0, int armour      = 0, int turrets    = 0, int morale        = 0,
                     int crew             = 0, int prowArmour     = 0, int crewRating  = 0, int mining     = 0, int creed         = 0, int military = 0,
                     int trade            = 0, int criminal       = 0, int exploration = 0, bool generated = false, int detection = 0,
                     Weapon aux           = null, int macrodamage = 0, int bs          = 0, int navigate   = 0, int crewLoss      = 0, int moraleLoss = 0,
                     ComponentOrigin comp = ComponentOrigin.Standard, string replace = null, int max = 0, Condition cond = Condition.Intact)
     : this(name, types, power, space, sp, origin, page, new DiceRoll(ramming), special, quality, speed, man, hullint,
            armour, turrets, morale, crew, prowArmour, crewRating,
            mining, creed, military, trade, criminal, exploration, generated, detection, aux,
            macrodamage, bs, navigate, crewLoss, moraleLoss, comp, replace, max, cond)
 {
 }
Exemple #10
0
 /// <summary>
 /// Create a new weapon
 /// </summary>
 /// <param name="name">name of the weapon</param>
 /// <param name="type">class of weapon</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="damage">damage of the weapon</param>
 /// <param name="crit">crit rating of the weapon</param>
 /// <param name="range">range of the weapon</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 /// <param name="turbo">Quality of turboweapon battery upgrade if applicable</param>
 public Weapon(string name, WeaponType type, HullType hulls, WeaponSlot slots, int power, int space, int sp, int str,
     DiceRoll damage, int crit, int range, RuleBook origin, byte page, Quality quality = Quality.Common,
     WeaponQuality wq = WeaponQuality.None, string special = null, Quality turbo = Quality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, hulls, quality, comp, cond)
 {
     this.Type = type;
     this.Slots = slots;
     this.Strength = str;
     this.Damage = damage;
     this.Crit = crit;
     this.Range = range;
     this.WeaponQuality = wq;
     this.TurboWeapon = turbo;
 }
Exemple #11
0
 /// <summary>
 /// Create new augur array
 /// </summary>
 /// <param name="name">name of augur arrray</param>
 /// <param name="power">power used by this array</param>
 /// <param name="origin">rulebook containign this array</param>
 /// <param name="page">page this array can be found on</param>
 /// <param name="det">detection rating modifier of this array</param>
 /// <param name="special">special rules of this array</param>
 /// <param name="quality">quality of this array</param>
 /// <param name="sp">cost of this array</param>
 /// <param name="man">manoeuvrability modifier of this array</param>
 /// <param name="bs">ballistic skill modifier of this array</param>
 public Augur(string name, int power, RuleBook origin, byte page, int det = 0, String special = null,
     Quality quality = Quality.Common, int sp = 0, int man = 0, int bs = 0, int mining = 0, 
     int creed = 0, int military = 0, int trade = 0, int criminal = 0, int exploration = 0,
     ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, 0, special, origin, page, HullType.All, quality,comp,cond)
 {
     this.Manoeuvrability = man;
     this.DetectionRating = det;
     this.BSModifier = bs;
     this.MiningObjective = mining;
     this.CreedObjective = creed;
     this.MilitaryObjective = military;
     this.TradeObjective = trade;
     this.CriminalObjective = criminal;
     this.ExplorationObjective = exploration;
 }
Exemple #12
0
 /// <summary>
 /// Create new augur array
 /// </summary>
 /// <param name="name">name of augur arrray</param>
 /// <param name="power">power used by this array</param>
 /// <param name="origin">rulebook containign this array</param>
 /// <param name="page">page this array can be found on</param>
 /// <param name="det">detection rating modifier of this array</param>
 /// <param name="special">special rules of this array</param>
 /// <param name="quality">quality of this array</param>
 /// <param name="sp">cost of this array</param>
 /// <param name="man">manoeuvrability modifier of this array</param>
 /// <param name="bs">ballistic skill modifier of this array</param>
 public Augur(string name, int power, RuleBook origin, byte page, int det = 0, String special = null,
              Quality quality      = Quality.Common, int sp = 0, int man = 0, int bs       = 0, int mining      = 0,
              int creed            = 0, int military = 0, int trade      = 0, int criminal = 0, int exploration = 0,
              ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, 0, special, origin, page, HullType.All, quality, comp, cond)
 {
     this.Manoeuvrability      = man;
     this.DetectionRating      = det;
     this.BSModifier           = bs;
     this.MiningObjective      = mining;
     this.CreedObjective       = creed;
     this.MilitaryObjective    = military;
     this.TradeObjective       = trade;
     this.CriminalObjective    = criminal;
     this.ExplorationObjective = exploration;
 }
Exemple #13
0
 /// <summary>
 /// Create a new bridge
 /// </summary>
 /// <param name="name">name of teh component</param>
 /// <param name="types">ships which can use this bridge</param>
 /// <param name="power">power used by this bridge</param>
 /// <param name="space">space used by this bridge</param>
 /// <param name="origin">rulebook containing this bridge</param>
 /// <param name="page">page this bridge can be found on</param>
 /// <param name="special">special rules for this bridge</param>
 /// <param name="sp">cost of this bridge</param>
 /// <param name="quality">quality of this bridge</param>
 /// <param name="man">manoeuvrability modifier of this bridge</param>
 /// <param name="bs">ballistic skill modifier of this bridge</param>
 /// <param name="command">command modifier of this bridge</param>
 /// <param name="repair">modifier to repair tests from this bridge</param>
 /// <param name="pilot">modifier to pilot tests from this bridge</param>
 /// <param name="navigate">modifier to navigate the warp from this bridge</param>
 public Bridge(string name, HullType types, int power, int space, RuleBook origin, byte page, string special = null,
               int sp     = 0, Quality quality = Quality.Common, int man = 0, int bs               = 0, int command = 0,
               int repair = 0, int pilot       = 0, int navigate         = 0, ComponentOrigin comp = ComponentOrigin.Standard, int mining = 0,
               int creed  = 0, int military    = 0, int trade            = 0, int criminal         = 0, int exploration = 0, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Manoeuvrability      = man;
     this.BSModifier           = bs;
     this.Command              = command;
     this.Repair               = repair;
     this.Pilot                = pilot;
     this.Repair               = repair;
     this.MiningObjective      = mining;
     this.CreedObjective       = creed;
     this.MilitaryObjective    = military;
     this.TradeObjective       = trade;
     this.CriminalObjective    = criminal;
     this.ExplorationObjective = exploration;
 }
Exemple #14
0
 /// <summary>
 /// Create a new bridge
 /// </summary>
 /// <param name="name">name of teh component</param>
 /// <param name="types">ships which can use this bridge</param>
 /// <param name="power">power used by this bridge</param>
 /// <param name="space">space used by this bridge</param>
 /// <param name="origin">rulebook containing this bridge</param>
 /// <param name="page">page this bridge can be found on</param>
 /// <param name="special">special rules for this bridge</param>
 /// <param name="sp">cost of this bridge</param>
 /// <param name="quality">quality of this bridge</param>
 /// <param name="man">manoeuvrability modifier of this bridge</param>
 /// <param name="bs">ballistic skill modifier of this bridge</param>
 /// <param name="command">command modifier of this bridge</param>
 /// <param name="repair">modifier to repair tests from this bridge</param>
 /// <param name="pilot">modifier to pilot tests from this bridge</param>
 /// <param name="navigate">modifier to navigate the warp from this bridge</param>
 public Bridge(string name, HullType types, int power, int space, RuleBook origin, byte page, string special = null,
     int sp = 0, Quality quality = Quality.Common, int man = 0, int bs = 0, int command = 0,
     int repair = 0, int pilot = 0, int navigate = 0, ComponentOrigin comp = ComponentOrigin.Standard, int mining = 0,
     int creed = 0, int military = 0, int trade = 0, int criminal = 0, int exploration = 0, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Manoeuvrability = man;
     this.BSModifier = bs;
     this.Command = command;
     this.Repair = repair;
     this.Pilot = pilot;
     this.Repair = repair;
     this.MiningObjective = mining;
     this.CreedObjective = creed;
     this.MilitaryObjective = military;
     this.TradeObjective = trade;
     this.CriminalObjective = criminal;
     this.ExplorationObjective = exploration;
 }
Exemple #15
0
 /// <summary>
 /// Create a new supplemental Component
 /// </summary>
 /// <param name="name">name of the component</param>
 /// <param name="types">Classes of ship that can use this component</param>
 /// <param name="power">power used or granted by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="origin">rulebook this component is found in</param>
 /// <param name="page">page number to find this component</param>
 /// <param name="special">special rules of the component</param>
 /// <param name="quality">quality of the component</param>
 /// <param name="speed">speed modifier of the component</param>
 /// <param name="man">manoeuvrability modifier of the component</param>
 /// <param name="hullint">hull integrity modifier of the component</param>
 /// <param name="armour">armour modifier of the component</param>
 /// <param name="turrets">turret modifier of the component</param>
 /// <param name="morale">morale modifier of the component</param>
 /// <param name="crew">crew population modifier of the component</param>
 /// <param name="prowArmour">armour modifier to only the prow from this component</param>
 /// <param name="ramming">Additional damage dealt by ramming with this component</param>
 /// <param name="crewRating">Bonus or penalty to crew rating</param>
 /// <param name="mining">modifier to mining objectives</param>
 /// <param name="creed">modifier to creed objectives</param>
 /// <param name="military">modifier to military objectives</param>
 /// <param name="trade">modifier to trade objectives</param>
 /// <param name="criminal">modifier to criminal objectives</param>
 /// <param name="exploration">modifier to exploration objectives</param>
 /// <param name="generated">If the power listed is generated instead of used</param>
 /// <param name="detection">modifier to detection rating fromt he component</param>
 /// <param name="aux">Auxiliary weapons like hold landing bay granted by this component</param>
 /// <param name="macrodamage">damage modifier to macrobatteries such as from the munitorium</param>
 /// <param name="bs">ballistic skill modifier from this component</param>
 /// <param name="navigate">modifer to navigate the warp</param>
 /// <param name="crewLoss">modifier to crew losses</param>
 /// <param name="moraleLoss">modifier to morale losses</param>
 public Supplemental(string name, HullType types, int power, int space, int sp, RuleBook origin, byte page,
                     DiceRoll ramming, String special = null, Quality quality = Quality.Common, int speed = 0, int man = 0,
                     int hullint          = 0, int armour     = 0, int turrets = 0, int morale = 0, int crew = 0,
                     int prowArmour       = 0, int crewRating = 0,
                     int mining           = 0, int creed      = 0, int military = 0, int trade = 0, int criminal = 0,
                     int exploration      = 0, bool generated = false, int detection = 0, Weapon aux = null,
                     int macrodamage      = 0, int bs         = 0, int navigate = 0, int crewLoss    = 0, int moraleLoss = 0,
                     ComponentOrigin comp = ComponentOrigin.Standard, string replace = null, int max = 0, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Speed                = speed;
     this.Manoeuvrability      = man;
     this.HullIntegrity        = hullint;
     this.Armour               = armour;
     this.TurretRating         = turrets;
     this.Morale               = morale;
     this.CrewPopulation       = crew;
     this.ProwArmour           = prowArmour;
     this.RamDamage            = ramming;
     this.CrewRating           = crewRating;
     this.MiningObjective      = mining;
     this.CreedObjective       = creed;
     this.MilitaryObjective    = military;
     this.TradeObjective       = trade;
     this.CriminalObjective    = criminal;
     this.ExplorationObjective = exploration;
     this.PowerGenerated       = generated;
     this.DetectionRating      = detection;
     this.AuxiliaryWeapon      = aux;
     this.MacrobatteryModifier = macrodamage;
     this.BSModifier           = bs;
     this.NavigateWarp         = navigate;
     this.CrewLoss             = crewLoss;
     this.MoraleLoss           = moraleLoss;
     this.Replace              = replace;
     this.Max = max;
 }
Exemple #16
0
 /// <summary>
 /// Create a new supplemental Component
 /// </summary>
 /// <param name="name">name of the component</param>
 /// <param name="types">Classes of ship that can use this component</param>
 /// <param name="power">power used or granted by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="origin">rulebook this component is found in</param>
 /// <param name="page">page number to find this component</param>
 /// <param name="special">special rules of the component</param>
 /// <param name="quality">quality of the component</param>
 /// <param name="speed">speed modifier of the component</param>
 /// <param name="man">manoeuvrability modifier of the component</param>
 /// <param name="hullint">hull integrity modifier of the component</param>
 /// <param name="armour">armour modifier of the component</param>
 /// <param name="turrets">turret modifier of the component</param>
 /// <param name="morale">morale modifier of the component</param>
 /// <param name="crew">crew population modifier of the component</param>
 /// <param name="prowArmour">armour modifier to only the prow from this component</param>
 /// <param name="ramming">Additional damage dealt by ramming with this component</param>
 /// <param name="crewRating">Bonus or penalty to crew rating</param>
 /// <param name="mining">modifier to mining objectives</param>
 /// <param name="creed">modifier to creed objectives</param>
 /// <param name="military">modifier to military objectives</param>
 /// <param name="trade">modifier to trade objectives</param>
 /// <param name="criminal">modifier to criminal objectives</param>
 /// <param name="exploration">modifier to exploration objectives</param>
 /// <param name="generated">If the power listed is generated instead of used</param>
 /// <param name="detection">modifier to detection rating fromt he component</param>
 /// <param name="aux">Auxiliary weapons like hold landing bay granted by this component</param>
 /// <param name="macrodamage">damage modifier to macrobatteries such as from the munitorium</param>
 /// <param name="bs">ballistic skill modifier from this component</param>
 /// <param name="navigate">modifer to navigate the warp</param>
 /// <param name="crewLoss">modifier to crew losses</param>
 /// <param name="moraleLoss">modifier to morale losses</param>
 public Supplemental(string name, HullType types, int power, int space, int sp, RuleBook origin, byte page,
     DiceRoll ramming, String special = null, Quality quality = Quality.Common, int speed = 0, int man = 0,
     int hullint = 0, int armour = 0, int turrets = 0, int morale = 0, int crew = 0,
     int prowArmour = 0, int crewRating = 0,
     int mining = 0, int creed = 0, int military = 0, int trade = 0, int criminal = 0,
     int exploration = 0, bool generated = false, int detection = 0, Weapon aux = null, 
     int macrodamage = 0, int bs = 0, int navigate = 0, int crewLoss = 0, int moraleLoss = 0,
     ComponentOrigin comp = ComponentOrigin.Standard, string replace = null, int max = 0, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Speed = speed;
     this.Manoeuvrability = man;
     this.HullIntegrity = hullint;
     this.Armour = armour;
     this.TurretRating = turrets;
     this.Morale = morale;
     this.CrewPopulation = crew;
     this.ProwArmour = prowArmour;
     this.RamDamage = ramming;
     this.CrewRating = crewRating;
     this.MiningObjective = mining;
     this.CreedObjective = creed;
     this.MilitaryObjective = military;
     this.TradeObjective = trade;
     this.CriminalObjective = criminal;
     this.ExplorationObjective = exploration;
     this.PowerGenerated = generated;
     this.DetectionRating = detection;
     this.AuxiliaryWeapon = aux;
     this.MacrobatteryModifier = macrodamage;
     this.BSModifier = bs;
     this.NavigateWarp = navigate;
     this.CrewLoss = crewLoss;
     this.MoraleLoss = moraleLoss;
     this.Replace = replace;
     this.Max = max;
 }
Exemple #17
0
 /// <summary>
 /// Create a new Crew Quarters
 /// </summary>
 /// <param name="name">name of the crew quarters</param>
 /// <param name="types">classes of ship which can use this component</param>
 /// <param name="power">power used by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="morale">morale modifier of this component</param>
 /// <param name="origin">rulebook containing this component</param>
 /// <param name="page">page this component can be found on</param>
 /// <param name="special">special rules for this component</param>
 /// <param name="quality">quality of this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="loss">modifier to morale loss granted by this component</param>
 public CrewQuarters(string name, HullType types, int power, int space, int morale, RuleBook origin, byte page,
     string special = null, Quality quality = Quality.Common, int sp = 0, int loss = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, types, power, space, morale, origin, page, special, quality, sp, loss, comp, cond)
 {
 }
Exemple #18
0
 public NovaCannon(String name, HullType hulls, int power, int space, int sp,
                   int range, RuleBook origin, byte page, string damage = null, string special = null, Quality quality    = Quality.Common,
                   WeaponQuality wq = WeaponQuality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact, int ammo = 0)
     : this(name, hulls, power, space, sp, new DiceRoll(damage), range, origin, page, special, quality, wq, comp, cond, ammo)
 {
 }
Exemple #19
0
 /// <summary>
 /// Createa new void shield
 /// </summary>
 /// <param name="name">name of the void shields</param>
 /// <param name="types">ship classes which can use these shields</param>
 /// <param name="power">power these shield use</param>
 /// <param name="space">space that these shields use</param>
 /// <param name="str">shield strength of these shields</param>
 /// <param name="origin">rulebook containing these shields</param>
 /// <param name="page">page number to find these shields</param>
 /// <param name="special">special rules for these shields</param>
 /// <param name="quality">quality of these shields</param>
 /// <param name="sp">cost of these shields</param>
 public VoidShield(string name, HullType types, int power, int space, int str, RuleBook origin, byte page, string special = null,
     Quality quality = Quality.Common, int sp = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Strength = str;
 }
Exemple #20
0
 /// <summary>
 /// Create a new supplemental Component
 /// </summary>
 /// <param name="name">name of the supplemental component</param>
 /// <param name="types">Classes of ship that can use this component</param>
 /// <param name="power">power used or granted by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="origin">rulebook this component is found in</param>
 /// <param name="page">page number to find this component</param>
 /// <param name="ramming">Additional damage dealt by ramming with this component</param>
 /// <param name="special">special rules of the component</param>
 /// <param name="quality">quality of the component</param>
 /// <param name="speed">speed modifier of the component</param>
 /// <param name="man">manoeuvrability modifier of the component</param>
 /// <param name="hullint">hull integrity modifier of the component</param>
 /// <param name="armour">armour modifier of the component</param>
 /// <param name="turrets">turret modifier of the component</param>
 /// <param name="morale">morale modifier of the component</param>
 /// <param name="crew">crew population modifier of the component</param>
 /// <param name="prowArmour">armour modifier to only the prow from this component</param>
 /// <param name="crewRating">Bonus or penalty to crew rating</param>
 /// <param name="mining">modifier to mining objectives</param>
 /// <param name="creed">modifier to creed objectives</param>
 /// <param name="military">modifier to military objectives</param>
 /// <param name="trade">modifier to trade objectives</param>
 /// <param name="criminal">modifier to criminal objectives</param>
 /// <param name="exploration">modifier to exploration objectives</param>
 /// <param name="generated">If the power listed is generated instead of used</param>
 /// <param name="detection">modifier to detection rating fromt he component</param>
 /// <param name="aux">Auxiliary weapons like hold landing bay granted by this component</param>
 /// <param name="macrodamage">damage modifier to macrobatteries such as from the munitorium</param>
 /// <param name="bs">ballistic skill modifier from this component</param>
 /// <param name="navigate">modifer to navigate the warp</param>
 /// <param name="crewLoss">modifier to crew losses</param>
 /// <param name="moraleLoss">modifier to morale losses</param>
 public Supplemental(string name, HullType types, int power, int space, int sp, RuleBook origin, byte page,
     String ramming = null, String special = null, Quality quality = Quality.Common, int speed = 0,
     int man = 0, int hullint = 0, int armour = 0, int turrets = 0, int morale = 0,
     int crew = 0, int prowArmour = 0, int crewRating = 0, int mining = 0, int creed = 0, int military = 0,
     int trade = 0, int criminal = 0, int exploration = 0, bool generated = false, int detection = 0,
     Weapon aux = null, int macrodamage = 0, int bs = 0, int navigate = 0, int crewLoss = 0, int moraleLoss = 0,
     ComponentOrigin comp = ComponentOrigin.Standard, string replace = null, int max = 0, Condition cond = Condition.Intact)
     : this(name, types, power, space, sp, origin, page, new DiceRoll(ramming), special, quality, speed, man, hullint,
         armour, turrets, morale, crew, prowArmour, crewRating,
         mining, creed, military, trade, criminal, exploration, generated, detection, aux,
         macrodamage, bs, navigate, crewLoss, moraleLoss, comp, replace, max, cond)
 {
 }
Exemple #21
0
 /// <summary>
 /// Create a new weapon
 /// </summary>
 /// <param name="name">name of the weapon</param>
 /// <param name="type">class of weapon</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="damage">damage of the weapon</param>
 /// <param name="crit">crit rating of the weapon</param>
 /// <param name="range">range of the weapon</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 /// <param name="turbo">Quality of turboweapon battery upgrade if applicable</param>
 public Weapon(string name, WeaponType type, HullType hulls, WeaponSlot slots, int power, int space,
               int sp, int str, string damage, int crit, int range, RuleBook origin, byte page, Quality quality = Quality.Common,
               WeaponQuality wq = WeaponQuality.None, string special = null, Quality turbo = Quality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : this(name, type, hulls, slots, power, space, sp, str, new DiceRoll(damage), crit, range,
            origin, page, quality, wq, special, turbo, comp, cond)
 {
 }
Exemple #22
0
 /// <summary>
 /// Create a new weapon
 /// </summary>
 /// <param name="name">name of the weapon</param>
 /// <param name="type">class of weapon</param>
 /// <param name="hulls">class fo ship that can mount this weapon</param>
 /// <param name="slots">locatiosn where this weapon can be mounted</param>
 /// <param name="power">power used by this weapon</param>
 /// <param name="space">space used by this method</param>
 /// <param name="sp">cost of this weapon</param>
 /// <param name="str">strength of the weapon</param>
 /// <param name="damage">damage of the weapon</param>
 /// <param name="crit">crit rating of the weapon</param>
 /// <param name="range">range of the weapon</param>
 /// <param name="origin">rulebook containing this weapon</param>
 /// <param name="page">page this weapon can be found on</param>
 /// <param name="quality">quality of this weapon</param>
 /// <param name="wq">enum declaring which qualities to be adjusted</param>
 /// <param name="special">special rules of this weapon</param>
 /// <param name="turbo">Quality of turboweapon battery upgrade if applicable</param>
 public Weapon(string name, WeaponType type, HullType hulls, WeaponSlot slots, int power, int space, int sp, int str,
               DiceRoll damage, int crit, int range, RuleBook origin, byte page, Quality quality = Quality.Common,
               WeaponQuality wq = WeaponQuality.None, string special = null, Quality turbo = Quality.None, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, hulls, quality, comp, cond)
 {
     this.Type          = type;
     this.Slots         = slots;
     this.Strength      = str;
     this.Damage        = damage;
     this.Crit          = crit;
     this.Range         = range;
     this.WeaponQuality = wq;
     this.TurboWeapon   = turbo;
 }
Exemple #23
0
 /// <summary>
 /// Create a new plasma drive
 /// </summary>
 /// <param name="name">name of the plasma drive</param>
 /// <param name="types">hull classes which can use this drive</param>
 /// <param name="power">power generated by this drive</param>
 /// <param name="space">space taken by this drive</param>
 /// <param name="special">special rules for this drive</param>
 /// <param name="origin">rulebook which contains this drive</param>
 /// <param name="page">page to find the drive on</param>
 /// <param name="sp">cost of this drive</param>
 /// <param name="quality">quality of this drive</param>
 /// <param name="speed">speed modifier of this drive</param>
 /// <param name="man">manoeuvrability modifier of this drive</param>
 public PlasmaDrive(string name, HullType types, int power, int space, string special, RuleBook origin, byte page, int sp = 0,
                    Quality quality = Quality.Common, int speed = 0, int man = 0, ComponentOrigin comp = ComponentOrigin.Standard, bool modified = false, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Manoeuvrability = man;
     this.Speed           = speed;
     Modified             = modified;
 }
Exemple #24
0
 /// <summary>
 /// Createa new void shield
 /// </summary>
 /// <param name="name">name of the void shields</param>
 /// <param name="types">ship classes which can use these shields</param>
 /// <param name="power">power these shield use</param>
 /// <param name="space">space that these shields use</param>
 /// <param name="str">shield strength of these shields</param>
 /// <param name="origin">rulebook containing these shields</param>
 /// <param name="page">page number to find these shields</param>
 /// <param name="special">special rules for these shields</param>
 /// <param name="quality">quality of these shields</param>
 /// <param name="sp">cost of these shields</param>
 public VoidShield(string name, HullType types, int power, int space, int str, RuleBook origin, byte page, string special = null,
                   Quality quality = Quality.Common, int sp = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Strength = str;
 }
 public ModificationComponentAttribute(ComponentOrigin origin, string fileName) {
    this.origin = origin;
    this.fileName = fileName;
 }
Exemple #26
0
 /// <summary>
 /// Create a new Crew Quarters or Life Sustainer
 /// </summary>
 /// <param name="name">name of teh life sustainer of crew quarters</param>
 /// <param name="types">classes of ship which can use this component</param>
 /// <param name="power">power used by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="morale">morale modifier of this component</param>
 /// <param name="origin">rulebook containing this component</param>
 /// <param name="page">page this component can be found on</param>
 /// <param name="special">special rules for this component</param>
 /// <param name="quality">quality of this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="loss">modifier to morale loss granted by this component</param>
 public CrewSustainer(string name, HullType types, int power, int space, int morale, RuleBook origin, byte page,
                      string special = null, Quality quality = Quality.Common, int sp = 0, int loss = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
     this.Morale     = morale;
     this.MoraleLoss = loss;
 }
Exemple #27
0
 /// <summary>
 /// Create a new Warp Drive
 /// </summary>
 /// <param name="name">name of the warp drive</param>
 /// <param name="types">Types which can use this drive</param>
 /// <param name="power">power used by this drive</param>
 /// <param name="space">space used by this drive</param>
 /// <param name="origin">rulebook containing this drive</param>
 /// <param name="page">page to find this drive on</param>
 /// <param name="sp">cost of this drive</param>
 /// <param name="special">special rules of this drive</param>
 /// <param name="quality">quality of this drive</param>
 public WarpDrive(string name, HullType types, int power, int space, RuleBook origin, byte page, int sp = 0, string special = null,
                  Quality quality = Quality.Common, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
 }
Exemple #28
0
 /// <summary>
 /// Create a new Warp Drive
 /// </summary>
 /// <param name="name">name of the warp drive</param>
 /// <param name="types">Types which can use this drive</param>
 /// <param name="power">power used by this drive</param>
 /// <param name="space">space used by this drive</param>
 /// <param name="origin">rulebook containing this drive</param>
 /// <param name="page">page to find this drive on</param>
 /// <param name="sp">cost of this drive</param>
 /// <param name="special">special rules of this drive</param>
 /// <param name="quality">quality of this drive</param>
 public WarpDrive(string name, HullType types, int power, int space, RuleBook origin, byte page, int sp = 0, string special = null,
     Quality quality = Quality.Common, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, space, special, origin, page, types, quality, comp, cond)
 {
 }
Exemple #29
0
 /// <summary>
 /// Create a new gellar field
 /// </summary>
 /// <param name="name">name of the gellar field</param>
 /// <param name="types">hull classes which may use this field</param>
 /// <param name="power">power used by this field</param>
 /// <param name="special">special rules of this field</param>
 /// <param name="origin">rulebook which contains this field</param>
 /// <param name="page">page number to find this field on</param>
 /// <param name="sp">cost of this field</param>
 /// <param name="navigate">modifier to navigate the warp</param>
 public GellarField(string name, HullType types, int power, string special, RuleBook origin, byte page,
                    int sp = 0, int navigate = 0, Quality quality = Quality.Common, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, 0, special, origin, page, types, quality, comp, cond)
 {
     this.NavigateWarp = navigate;
 }
Exemple #30
0
 /// <summary>
 /// Create a new Crew Quarters
 /// </summary>
 /// <param name="name">name of the crew quarters</param>
 /// <param name="types">classes of ship which can use this component</param>
 /// <param name="power">power used by this component</param>
 /// <param name="space">space used by this component</param>
 /// <param name="morale">morale modifier of this component</param>
 /// <param name="origin">rulebook containing this component</param>
 /// <param name="page">page this component can be found on</param>
 /// <param name="special">special rules for this component</param>
 /// <param name="quality">quality of this component</param>
 /// <param name="sp">cost of this component</param>
 /// <param name="loss">modifier to morale loss granted by this component</param>
 public CrewQuarters(string name, HullType types, int power, int space, int morale, RuleBook origin, byte page,
                     string special = null, Quality quality = Quality.Common, int sp = 0, int loss = 0, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, types, power, space, morale, origin, page, special, quality, sp, loss, comp, cond)
 {
 }
Exemple #31
0
 /// <summary>
 /// Create a new gellar field
 /// </summary>
 /// <param name="name">name of the gellar field</param>
 /// <param name="types">hull classes which may use this field</param>
 /// <param name="power">power used by this field</param>
 /// <param name="special">special rules of this field</param>
 /// <param name="origin">rulebook which contains this field</param>
 /// <param name="page">page number to find this field on</param>
 /// <param name="sp">cost of this field</param>
 /// <param name="navigate">modifier to navigate the warp</param>
 public GellarField(string name, HullType types, int power, string special, RuleBook origin, byte page,
     int sp = 0, int navigate = 0, Quality quality = Quality.Common, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
     : base(name, sp, power, 0, special, origin, page, types, quality, comp, cond)
 {
     this.NavigateWarp = navigate;
 }
 public ModificationComponentAttribute(ComponentOrigin origin, string fileName)
 {
     this.origin   = origin;
     this.fileName = fileName;
 }
Exemple #33
0
 /// <summary>
 /// Create a new Component object
 /// </summary>
 /// <param name="name">name of component</param>
 /// <param name="sp">cost of the component</param>
 /// <param name="power">power used or provided by the component</param>
 /// <param name="space">space taken or provided by the component</param>
 /// <param name="special">special rules for the component</param>
 /// <param name="origin">rulebook containing this component</param>
 /// <param name="page">page of the rulebook that the component may be found on</param>
 /// <param name="types">hulls which may use this component</param>
 /// <param name="quality">Quality of this component</param>
 public Component(string name, int sp, int power, int space, string special, RuleBook origin, byte page, HullType types, Quality quality = Quality.Common, ComponentOrigin comp = ComponentOrigin.Standard, Condition cond = Condition.Intact)
 {
     this.Name            = name;
     this.SP              = sp;
     this.Power           = power;
     this.Space           = space;
     this.Special         = special;
     this.Origin          = origin;
     this.PageNumber      = page;
     this.HullTypes       = types;
     this.Quality         = quality;
     this.ComponentOrigin = comp;
     this.Condition       = cond;
 }