From 89ce73ec9ac022c222a1769bebf9efe87aac1ec7 Mon Sep 17 00:00:00 2001 From: LP Date: Fri, 20 Aug 2021 14:47:12 +0100 Subject: [PATCH] Have moved over to new genre format --- appveyor.yml | 6 ++-- build/pack.bat | 4 +++ readme.md | 3 +- .../OpenRpg.Genres.Fantasy.csproj | 9 +----- .../Equipment/CharacterSlots/ArmourSlot.cs | 11 +++++++ .../Equipment/CharacterSlots/WeaponSlot.cs | 11 +++++++ .../Equipment/IShipEquipment.cs | 9 ++++++ .../Equipment/ShipSlots/EngineSlot.cs | 11 +++++++ .../Equipment/ShipSlots/HullArmourSlot.cs | 11 +++++++ .../Equipment/ShipSlots/MiscSlot.cs | 11 +++++++ .../Equipment/ShipSlots/ShieldSlot.cs | 11 +++++++ .../Equipment/ShipSlots/WeaponSlot.cs | 11 +++++++ .../Equipment/ShipSlots/WingSlot.cs | 11 +++++++ .../Extensions/EquipmentExtensions.cs | 13 ++++++++ .../Extensions/ShipEquipmentExtensions.cs | 24 ++++++++++++++ .../OpenRpg.Genres.Scifi.csproj | 18 +++++++++++ src/OpenRpg.Genres.Scifi/Ships/IPilot.cs | 9 ++++++ src/OpenRpg.Genres.Scifi/Ships/IShip.cs | 15 +++++++++ .../Ships/IShipTemplate.cs | 11 +++++++ .../Types/CharacterEquipmentSlotTypes.cs | 10 ++++++ src/OpenRpg.Genres.Scifi/Types/DamageTypes.cs | 11 +++++++ src/OpenRpg.Genres.Scifi/Types/EffectTypes.cs | 31 +++++++++++++++++++ src/OpenRpg.Genres.Scifi/Types/ItemTypes.cs | 9 ++++++ .../Types/ShipEquipmentSlotTypes.cs | 22 +++++++++++++ .../Types/ShipItemTypes.cs | 13 ++++++++ .../Types/StatsVariableTypes.cs | 26 ++++++++++++++++ .../Variables/DefaultShipStats.cs | 12 +++++++ .../Variables/IShipStats.cs | 7 +++++ src/OpenRpg.Genres.sln | 6 ++++ 29 files changed, 344 insertions(+), 12 deletions(-) create mode 100644 build/pack.bat create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/ArmourSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/WeaponSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/IShipEquipment.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/EngineSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/HullArmourSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/MiscSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/ShieldSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WeaponSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WingSlot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Extensions/EquipmentExtensions.cs create mode 100644 src/OpenRpg.Genres.Scifi/Extensions/ShipEquipmentExtensions.cs create mode 100644 src/OpenRpg.Genres.Scifi/OpenRpg.Genres.Scifi.csproj create mode 100644 src/OpenRpg.Genres.Scifi/Ships/IPilot.cs create mode 100644 src/OpenRpg.Genres.Scifi/Ships/IShip.cs create mode 100644 src/OpenRpg.Genres.Scifi/Ships/IShipTemplate.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/CharacterEquipmentSlotTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/DamageTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/EffectTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/ItemTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/ShipEquipmentSlotTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/ShipItemTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Types/StatsVariableTypes.cs create mode 100644 src/OpenRpg.Genres.Scifi/Variables/DefaultShipStats.cs create mode 100644 src/OpenRpg.Genres.Scifi/Variables/IShipStats.cs diff --git a/appveyor.yml b/appveyor.yml index 8c560ab..09fd5f6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 0.19.{build} +version: 0.20.{build} branches: only: - master @@ -14,9 +14,9 @@ dotnet_csproj: file_version: '{version}' informational_version: '{version}' before_build: -- cmd: nuget restore src/OpenRpg.Genres.Fantasy.sln +- cmd: nuget restore src/OpenRpg.Genres.sln build: - project: src/OpenRpg.Genres.Fantasy.sln + project: src/OpenRpg.Genres.sln publish_nuget: true verbosity: minimal artifacts: diff --git a/build/pack.bat b/build/pack.bat new file mode 100644 index 0000000..b0b88b2 --- /dev/null +++ b/build/pack.bat @@ -0,0 +1,4 @@ +set version=0.7.00 +dotnet pack ../src/OpenRpg.Genres -c Release -o ../../_dist /p:version=%version% +dotnet pack ../src/OpenRpg.Genres.Fantasy -c Release -o ../../_dist /p:version=%version% +dotnet pack ../src/OpenRpg.Genres.Scifi -c Release -o ../../_dist /p:version=%version% \ No newline at end of file diff --git a/readme.md b/readme.md index 6f2c0b8..b05e252 100644 --- a/readme.md +++ b/readme.md @@ -6,7 +6,8 @@ This builds on top of the `OpenRpg` core library and adds common genres infrastr [![Nuget Version][nuget-image]][nuget-url] [![Join Discord Chat][discord-image]][discord-url] -This contains common fantasy related helpers, i.e providing helpers for str, dex, con, int, wis, cha releated stats and +## Summary +This contains common helpers for various genres, such as fantasy or scifi, i.e providing helpers for str, dex, con, int, wis, cha releated stats and common item qualities and damage types which all adhere to common fantasy settings. As with all layers on top of OpenRpg feel free to use parts or all of this as well as augment it to fit your needs. diff --git a/src/OpenRpg.Genres.Fantasy/OpenRpg.Genres.Fantasy.csproj b/src/OpenRpg.Genres.Fantasy/OpenRpg.Genres.Fantasy.csproj index 8742d61..ee5207c 100644 --- a/src/OpenRpg.Genres.Fantasy/OpenRpg.Genres.Fantasy.csproj +++ b/src/OpenRpg.Genres.Fantasy/OpenRpg.Genres.Fantasy.csproj @@ -10,14 +10,7 @@ Adds common types and classes for fantasy style settings rpg game-development xna monogame unity godot - - - - - - - - + diff --git a/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/ArmourSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/ArmourSlot.cs new file mode 100644 index 0000000..93d969b --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/ArmourSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.CharacterSlots +{ + public class ArmourSlot : DefaultEquipmentSlot + { + public override int SlotType => ItemTypes.Armour; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/WeaponSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/WeaponSlot.cs new file mode 100644 index 0000000..bf737e4 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/CharacterSlots/WeaponSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.CharacterSlots +{ + public class WeaponSlot : DefaultEquipmentSlot + { + public override int SlotType => ItemTypes.GenericWeapon; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/IShipEquipment.cs b/src/OpenRpg.Genres.Scifi/Equipment/IShipEquipment.cs new file mode 100644 index 0000000..cc4f19a --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/IShipEquipment.cs @@ -0,0 +1,9 @@ +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment +{ + public interface IShipEquipment : IEquipment + { + + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/EngineSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/EngineSlot.cs new file mode 100644 index 0000000..815c9e9 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/EngineSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class EngineSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.Engine; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/HullArmourSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/HullArmourSlot.cs new file mode 100644 index 0000000..b7fc1fe --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/HullArmourSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class HullArmourSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.HullArmour; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/MiscSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/MiscSlot.cs new file mode 100644 index 0000000..38d92e9 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/MiscSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class MiscSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.Misc; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/ShieldSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/ShieldSlot.cs new file mode 100644 index 0000000..987f737 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/ShieldSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class ShieldSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.Shield; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WeaponSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WeaponSlot.cs new file mode 100644 index 0000000..e538076 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WeaponSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class WeaponSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.GenericWeapon; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WingSlot.cs b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WingSlot.cs new file mode 100644 index 0000000..a12b203 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Equipment/ShipSlots/WingSlot.cs @@ -0,0 +1,11 @@ +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Equipment.ShipSlots +{ + public class WingSlot : DefaultEquipmentSlot + { + public override int SlotType => ShipItemTypes.Wings; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Extensions/EquipmentExtensions.cs b/src/OpenRpg.Genres.Scifi/Extensions/EquipmentExtensions.cs new file mode 100644 index 0000000..1ac5c1d --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Extensions/EquipmentExtensions.cs @@ -0,0 +1,13 @@ +using OpenRpg.Genres.Scifi.Equipment; +using OpenRpg.Genres.Scifi.Equipment.CharacterSlots; +using OpenRpg.Genres.Scifi.Types; +using OpenRpg.Items.Equipment; + +namespace OpenRpg.Genres.Scifi.Extensions +{ + public static class EquipmentExtensions + { + public static WeaponSlot WeaponSlot(this IEquipment equipment) => equipment.Slots.Get(CharacterEquipmentSlotTypes.WeaponSlot) as WeaponSlot; + public static ArmourSlot ArmourSlot(this IEquipment equipment) => equipment.Slots.Get(CharacterEquipmentSlotTypes.ArmourSlot) as ArmourSlot; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Extensions/ShipEquipmentExtensions.cs b/src/OpenRpg.Genres.Scifi/Extensions/ShipEquipmentExtensions.cs new file mode 100644 index 0000000..6ca0118 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Extensions/ShipEquipmentExtensions.cs @@ -0,0 +1,24 @@ +using OpenRpg.Genres.Scifi.Equipment; +using OpenRpg.Genres.Scifi.Equipment.ShipSlots; +using OpenRpg.Genres.Scifi.Types; + +namespace OpenRpg.Genres.Scifi.Extensions +{ + public static class ShipEquipmentExtensions + { + public static WingSlot WingSlot(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WingsSlot) as WingSlot; + public static EngineSlot EngineSlot(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.EngineSlot) as EngineSlot; + public static ShieldSlot ShieldSlot(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.ShieldSlot) as ShieldSlot; + public static HullArmourSlot HullArmourSlot(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.HullArmourSlot) as HullArmourSlot; + public static MiscSlot MiscSlot1(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.MiscSlot1) as MiscSlot; + public static MiscSlot MiscSlot2(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.MiscSlot2) as MiscSlot; + public static MiscSlot MiscSlot3(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.MiscSlot3) as MiscSlot; + public static MiscSlot MiscSlot4(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.MiscSlot4) as MiscSlot; + public static WeaponSlot WeaponSlot1(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot1) as WeaponSlot; + public static WeaponSlot WeaponSlot2(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot2) as WeaponSlot; + public static WeaponSlot WeaponSlot3(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot3) as WeaponSlot; + public static WeaponSlot WeaponSlot4(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot4) as WeaponSlot; + public static WeaponSlot WeaponSlot5(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot5) as WeaponSlot; + public static WeaponSlot WeaponSlot6(this IShipEquipment equipment) => equipment.Slots.Get(ShipEquipmentSlotTypes.WeaponSlot6) as WeaponSlot; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/OpenRpg.Genres.Scifi.csproj b/src/OpenRpg.Genres.Scifi/OpenRpg.Genres.Scifi.csproj new file mode 100644 index 0000000..a01ea81 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/OpenRpg.Genres.Scifi.csproj @@ -0,0 +1,18 @@ + + + + 0.0.0 + netstandard2.0;net46 + OpenRpg.Genres.Scifi + Grofit (LP) + https://github.com/openrpg/OpenRpg.Genres/blob/master/LICENSE + https://github.com/openrpg/OpenRpg.Genres + Adds common types and classes for scifi/space ship related game types + rpg game-development xna monogame unity godot + + + + + + + diff --git a/src/OpenRpg.Genres.Scifi/Ships/IPilot.cs b/src/OpenRpg.Genres.Scifi/Ships/IPilot.cs new file mode 100644 index 0000000..d1ef29c --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Ships/IPilot.cs @@ -0,0 +1,9 @@ +using OpenRpg.Genres.Characters; + +namespace OpenRpg.Genres.Scifi.Ships +{ + public interface IPilot : ICharacter + { + + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Ships/IShip.cs b/src/OpenRpg.Genres.Scifi/Ships/IShip.cs new file mode 100644 index 0000000..0bff05e --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Ships/IShip.cs @@ -0,0 +1,15 @@ +using OpenRpg.Genres.Scifi.Equipment; +using OpenRpg.Genres.Scifi.Variables; +using OpenRpg.Items.Inventory; + +namespace OpenRpg.Genres.Scifi.Ships +{ + public interface IShip + { + IPilot Pilot { get; } + IShipTemplate ShipTemplate { get; } + IShipEquipment Equipment { get; } + IInventory Inventory { get; } + IShipStats Stats { get; } + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Ships/IShipTemplate.cs b/src/OpenRpg.Genres.Scifi/Ships/IShipTemplate.cs new file mode 100644 index 0000000..f6dd4ff --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Ships/IShipTemplate.cs @@ -0,0 +1,11 @@ +using OpenRpg.Core.Common; +using OpenRpg.Core.Effects; +using OpenRpg.Core.Requirements; + +namespace OpenRpg.Genres.Scifi.Ships +{ + public interface IShipTemplate : IHasDataId, IHasLocaleDescription, IHasEffects, IHasRequirements + { + + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/CharacterEquipmentSlotTypes.cs b/src/OpenRpg.Genres.Scifi/Types/CharacterEquipmentSlotTypes.cs new file mode 100644 index 0000000..194df9c --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/CharacterEquipmentSlotTypes.cs @@ -0,0 +1,10 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class CharacterEquipmentSlotTypes + { + public static int UnknownSlot = 0; + + public static int WeaponSlot = 50; + public static int ArmourSlot = 51; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/DamageTypes.cs b/src/OpenRpg.Genres.Scifi/Types/DamageTypes.cs new file mode 100644 index 0000000..c4f73ac --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/DamageTypes.cs @@ -0,0 +1,11 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class DamageTypes : Genres.Types.DamageTypes + { + public static int Physical = 50; + public static int Ion = 51; + public static int Laser = 52; + public static int Ballistic = 53; + public static int Explosive = 54; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/EffectTypes.cs b/src/OpenRpg.Genres.Scifi/Types/EffectTypes.cs new file mode 100644 index 0000000..601f858 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/EffectTypes.cs @@ -0,0 +1,31 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class EffectTypes + { + // Generic All types + public static int AllDamageBonusAmount = 50; + public static int AllDefenseBonusAmount = 51; + public static int AllAttributeBonusAmount = 52; + public static int AllAttackBonusPercentage = 55; + public static int AllDefenseBonusPercentage = 56; + + // Resource types + public static int EnergyBonusAmount = 70; + public static int EnergyBonusPercentage = 71; + public static int ArmourBonusAmount = 73; + public static int ArmourBonusPercentage = 74; + public static int ShieldBonusAmount = 75; + public static int ShieldBonusPercentage = 76; + + public static int PhysicalDamageAmount = 90; + public static int PhysicalDamagePercentage = 91; + public static int IonDamageAmount = 92; + public static int IonDamagePercentage = 93; + public static int LaserDamageAmount = 94; + public static int LaserDamagePercentage = 95; + public static int BallisticDamageAmount = 96; + public static int BallisticDamagePercentage = 97; + public static int ExplosiveDamageAmount = 98; + public static int ExplosiveDamagePercentage = 99; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/ItemTypes.cs b/src/OpenRpg.Genres.Scifi/Types/ItemTypes.cs new file mode 100644 index 0000000..eddceb3 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/ItemTypes.cs @@ -0,0 +1,9 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class ItemTypes : Genres.Types.ItemTypes + { + public static int Armour = 30; + + public static int Consumable = 50; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/ShipEquipmentSlotTypes.cs b/src/OpenRpg.Genres.Scifi/Types/ShipEquipmentSlotTypes.cs new file mode 100644 index 0000000..a0b7c7d --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/ShipEquipmentSlotTypes.cs @@ -0,0 +1,22 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class ShipEquipmentSlotTypes + { + public static int UnknownSlot = 0; + + public static int EngineSlot = 50; + public static int HullArmourSlot = 51; + public static int ShieldSlot = 52; + public static int WingsSlot = 53; + public static int MiscSlot1 = 54; + public static int MiscSlot2 = 55; + public static int MiscSlot3 = 56; + public static int MiscSlot4 = 57; + public static int WeaponSlot1 = 58; + public static int WeaponSlot2 = 59; + public static int WeaponSlot3 = 60; + public static int WeaponSlot4 = 61; + public static int WeaponSlot5 = 62; + public static int WeaponSlot6 = 63; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/ShipItemTypes.cs b/src/OpenRpg.Genres.Scifi/Types/ShipItemTypes.cs new file mode 100644 index 0000000..553c226 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/ShipItemTypes.cs @@ -0,0 +1,13 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class ShipItemTypes : Genres.Types.ItemTypes + { + public static int Wings = 30; + public static int HullArmour = 31; + public static int Shield = 32; + public static int Engine = 33; + public static int Misc = 34; + + public static int Consumable = 50; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Types/StatsVariableTypes.cs b/src/OpenRpg.Genres.Scifi/Types/StatsVariableTypes.cs new file mode 100644 index 0000000..cf808c9 --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Types/StatsVariableTypes.cs @@ -0,0 +1,26 @@ +namespace OpenRpg.Genres.Scifi.Types +{ + public class StatsVariableTypes : Genres.Types.StatsVariableTypes + { + public static int MaxEnergy = 50; + public static int Energy = 51; + public static int MaxArmour = 52; + public static int Armour = 53; + public static int MaxShield = 54; + public static int Shield = 55; + + // Attack stats + public static int PhysicalDamage = 80; + public static int IonDamage = 81; + public static int LaserDamage = 82; + public static int BallisticDamage = 83; + public static int ExplosiveDamage = 84; + + // Defense stats + public static int PhysicalDefense = 100; + public static int IonDefense = 101; + public static int LaserDefense = 102; + public static int BallisticDefense = 103; + public static int ExplosiveDefense = 104; + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Variables/DefaultShipStats.cs b/src/OpenRpg.Genres.Scifi/Variables/DefaultShipStats.cs new file mode 100644 index 0000000..c2684df --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Variables/DefaultShipStats.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; +using OpenRpg.Core.Variables; + +namespace OpenRpg.Genres.Scifi.Variables +{ + public class DefaultShipStats : DefaultVariables, IShipStats + { + public DefaultShipStats(IDictionary internalVariables = null) : base(internalVariables) + { + } + } +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.Scifi/Variables/IShipStats.cs b/src/OpenRpg.Genres.Scifi/Variables/IShipStats.cs new file mode 100644 index 0000000..c460fcb --- /dev/null +++ b/src/OpenRpg.Genres.Scifi/Variables/IShipStats.cs @@ -0,0 +1,7 @@ +using OpenRpg.Core.Variables; + +namespace OpenRpg.Genres.Scifi.Variables +{ + public interface IShipStats : IVariables + {} +} \ No newline at end of file diff --git a/src/OpenRpg.Genres.sln b/src/OpenRpg.Genres.sln index f6431b2..84518a9 100644 --- a/src/OpenRpg.Genres.sln +++ b/src/OpenRpg.Genres.sln @@ -4,6 +4,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRpg.Genres.Fantasy", "O EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRpg.Genres", "OpenRpg.Genres\OpenRpg.Genres.csproj", "{2E807C6D-06C6-45AB-9FFC-86797C4A631B}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRpg.Genres.Scifi", "OpenRpg.Genres.Scifi\OpenRpg.Genres.Scifi.csproj", "{682855A0-F455-4C44-B444-FEFADA0754DD}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -18,6 +20,10 @@ Global {2E807C6D-06C6-45AB-9FFC-86797C4A631B}.Debug|Any CPU.Build.0 = Debug|Any CPU {2E807C6D-06C6-45AB-9FFC-86797C4A631B}.Release|Any CPU.ActiveCfg = Release|Any CPU {2E807C6D-06C6-45AB-9FFC-86797C4A631B}.Release|Any CPU.Build.0 = Release|Any CPU + {682855A0-F455-4C44-B444-FEFADA0754DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {682855A0-F455-4C44-B444-FEFADA0754DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {682855A0-F455-4C44-B444-FEFADA0754DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {682855A0-F455-4C44-B444-FEFADA0754DD}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution EndGlobalSection