From a70ac954c51c3212db46a2247be48983efee65f9 Mon Sep 17 00:00:00 2001 From: Ray Koopa Date: Fri, 21 Apr 2017 15:41:45 +0200 Subject: [PATCH] Seperate Scheme enums and structs into own files. --- src/Syroot.Worms/Gen2/Armageddon/Scheme.cs | 1688 +---------------- .../Gen2/Armageddon/SchemeEnums.cs | 1597 ++++++++++++++++ .../Gen2/Armageddon/SchemeWeaponSetting.cs | 33 + 3 files changed, 1639 insertions(+), 1679 deletions(-) create mode 100644 src/Syroot.Worms/Gen2/Armageddon/SchemeEnums.cs create mode 100644 src/Syroot.Worms/Gen2/Armageddon/SchemeWeaponSetting.cs diff --git a/src/Syroot.Worms/Gen2/Armageddon/Scheme.cs b/src/Syroot.Worms/Gen2/Armageddon/Scheme.cs index 4b39f44..bb1fff1 100644 --- a/src/Syroot.Worms/Gen2/Armageddon/Scheme.cs +++ b/src/Syroot.Worms/Gen2/Armageddon/Scheme.cs @@ -21,62 +21,18 @@ namespace Syroot.Worms.Gen2.Armageddon // ---- CONSTANTS ---------------------------------------------------------------------------------------------- private const int _signature = 0x4D484353; // "SCHM" - - #region Lookup Tables - - private static readonly Dictionary _mapWaterRiseToRaw = new Dictionary() - { - [0] = 0, - [5] = 1, - [13] = 19, - [20] = 2, - [21] = 55, - [29] = 43, - [37] = 47, - [45] = 3, - [52] = 26, - [53] = 25, - [61] = 27, - [64] = 8, - [69] = 33, - [77] = 13, - [80] = 4, - [84] = 18, - [85] = 23, - [93] = 11, - [101] = 15, - [109] = 29, - [116] = 22, - [117] = 57, - [125] = 5, - [133] = 63, - [141] = 45, - [148] = 30, - [149] = 9, - [157] = 21, - [165] = 17, - [173] = 61, - [180] = 6, - [181] = 39, - [189] = 37, - [197] = 31, - [205] = 51, - [208] = 12, - [212] = 14, - [213] = 41, - [221] = 53, - [229] = 49, - [237] = 35, - [244] = 10, - [245] = 7, - [253] = 59 - }; + + // Lookup tables. + private static readonly Dictionary _mapWaterRiseToRaw = new Dictionary() { [0] = 0, + [5] = 1, [13] = 19, [20] = 2, [21] = 55, [29] = 43, [37] = 47, [45] = 3, [52] = 26, [53] = 25, [61] = 27, + [64] = 8, [69] = 33, [77] = 13, [80] = 4, [84] = 18, [85] = 23, [93] = 11, [101] = 15, [109] = 29, + [116] = 22, [117] = 57, [125] = 5, [133] = 63, [141] = 45, [148] = 30, [149] = 9, [157] = 21, [165] = 17, + [173] = 61, [180] = 6, [181] = 39, [189] = 37, [197] = 31, [205] = 51, [208] = 12, [212] = 14, [213] = 41, + [221] = 53, [229] = 49, [237] = 35, [244] = 10, [245] = 7, [253] = 59 }; private static readonly byte[] _objectCounts = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250 }; - - #endregion - + // ---- MEMBERS ------------------------------------------------------------------------------------------------ private byte _mineDelay; @@ -1143,1630 +1099,4 @@ namespace Syroot.Worms.Gen2.Armageddon ExtendedFuse = 1 << 7 } } - - /// - /// Represents the configuration of a weapon. - /// - [DebuggerDisplay("Ammo={Ammunition} Power={Power} Delay={Delay} Prob={Probability}")] - public struct SchemeWeaponSetting - { - /// - /// The amount of this weapon with which a team is equipped at game start. 10 and negative values represent - /// infinity. - /// - public sbyte Ammunition; - - /// - /// The power of this weapon. - /// - public byte Power; - - /// - /// The number of turns required to be taken by each team before this weapon becomes available. Negative values - /// represenet infinity. - /// - public sbyte Delay; - - /// - /// The percentual chance of this weapon to appear in crates. Has no effect for super weapons. - /// - public sbyte Probability; - } - - #region Enumerations - - /// - /// Represents the known versions of scheme file formats. - /// - public enum SchemeVersion : byte - { - /// - /// The standard format used by WA before version 3.6.28.0 and WWP. It does not store super weapon settings. - /// - Standard = 1, - - /// - /// The extended format used by WA since version 3.6.28.0. - /// - Extended = 2 - } - - /// - /// Represents the possible variations of the options stored in a scheme file. - /// - public enum SchemeSaveFormat - { - /// - /// Represents the format. - /// - Standard, - - /// - /// Represents the format, and does not store object counts. - /// - Extended, - - /// - /// Represents the format, and stores object counts (supported since WA - /// 3.6.28.0). - /// - ExtendedWithObjectCount - } - - /// - /// Represents the fall damage in percent, relative to the normal fall damage being 100%. - /// - public enum SchemeFallDamage - { - /// - /// No fall damage. - /// - None = 0, - - /// - /// 4% fall damage. - /// - Percent4 = 4, - - /// - /// 8% fall damage. - /// - Percent8 = 8, - - /// - /// 12% fall damage. - /// - Percent12 = 12, - - /// - /// 16% fall damage. - /// - Percent16 = 16, - - /// - /// 20% fall damage. - /// - Percent20 = 20, - - /// - /// 24% fall damage. - /// - Percent24 = 24, - - /// - /// 28% fall damage. - /// - Percent28 = 28, - - /// - /// 32% fall damage. - /// - Percent32 = 32, - - /// - /// 36% fall damage. - /// - Percent36 = 36, - - /// - /// 40% fall damage. - /// - Percent40 = 40, - - /// - /// 44% fall damage. - /// - Percent44 = 44, - - /// - /// 48% fall damage. - /// - Percent48 = 48, - - /// - /// 52% fall damage. - /// - Percent52 = 52, - - /// - /// 56% fall damage. - /// - Percent56 = 56, - - /// - /// 60% fall damage. - /// - Percent60 = 60, - - /// - /// 64% fall damage. - /// - Percent64 = 64, - - /// - /// 68% fall damage. - /// - Percent68 = 68, - - /// - /// 72% fall damage. - /// - Percent72 = 72, - - /// - /// 76% fall damage. - /// - Percent76 = 76, - - /// - /// 80% fall damage. - /// - Percent80 = 80, - - /// - /// 84% fall damage. - /// - Percent84 = 84, - - /// - /// 88% fall damage. - /// - Percent88 = 88, - - /// - /// 92% fall damage. - /// - Percent92 = 92, - - /// - /// 96% fall damage. - /// - Percent96 = 96, - - /// - /// 100% fall damage. - /// - Percent100 = 100, - - /// - /// 104% fall damage. - /// - Percent104 = 104, - - /// - /// 108% fall damage. - /// - Percent108 = 108, - - /// - /// 112% fall damage. - /// - Percent112 = 112, - - /// - /// 116% fall damage. - /// - Percent116 = 116, - - /// - /// 120% fall damage. - /// - Percent120 = 120, - - /// - /// 124% fall damage. - /// - Percent124 = 124, - - /// - /// 128% fall damage. - /// - Percent128 = 128, - - /// - /// 132% fall damage. - /// - Percent132 = 132, - - /// - /// 136% fall damage. - /// - Percent136 = 136, - - /// - /// 140% fall damage. - /// - Percent140 = 140, - - /// - /// 144% fall damage. - /// - Percent144 = 144, - - /// - /// 148% fall damage. - /// - Percent148 = 148, - - /// - /// 152% fall damage. - /// - Percent152 = 152, - - /// - /// 156% fall damage. - /// - Percent156 = 156, - - /// - /// 160% fall damage. - /// - Percent160 = 160, - - /// - /// 164% fall damage. - /// - Percent164 = 164, - - /// - /// 168% fall damage. - /// - Percent168 = 168, - - /// - /// 172% fall damage. - /// - Percent172 = 172, - - /// - /// 176% fall damage. - /// - Percent176 = 176, - - /// - /// 180% fall damage. - /// - Percent180 = 180, - - /// - /// 184% fall damage. - /// - Percent184 = 184, - - /// - /// 188% fall damage. - /// - Percent188 = 188, - - /// - /// 192% fall damage. - /// - Percent192 = 192, - - /// - /// 196% fall damage. - /// - Percent196 = 196, - - /// - /// 200% fall damage. - /// - Percent200 = 200, - - /// - /// 204% fall damage. - /// - Percent204 = 204, - - /// - /// 208% fall damage. - /// - Percent208 = 208, - - /// - /// 212% fall damage. - /// - Percent212 = 212, - - /// - /// 216% fall damage. - /// - Percent216 = 216, - - /// - /// 220% fall damage. - /// - Percent220 = 220, - - /// - /// 224% fall damage. - /// - Percent224 = 224, - - /// - /// 228% fall damage. - /// - Percent228 = 228, - - /// - /// 232% fall damage. - /// - Percent232 = 232, - - /// - /// 236% fall damage. - /// - Percent236 = 236, - - /// - /// 240% fall damage. - /// - Percent240 = 240, - - /// - /// 244% fall damage. - /// - Percent244 = 244, - - /// - /// 248% fall damage. - /// - Percent248 = 248, - - /// - /// 252% fall damage. - /// - Percent252 = 252, - - /// - /// 256% fall damage. - /// - Percent256 = 256, - - /// - /// 260% fall damage. - /// - Percent260 = 260, - - /// - /// 264% fall damage. - /// - Percent264 = 264, - - /// - /// 268% fall damage. - /// - Percent268 = 268, - - /// - /// 272% fall damage. - /// - Percent272 = 272, - - /// - /// 276% fall damage. - /// - Percent276 = 276, - - /// - /// 280% fall damage. - /// - Percent280 = 280, - - /// - /// 284% fall damage. - /// - Percent284 = 284, - - /// - /// 288% fall damage. - /// - Percent288 = 288, - - /// - /// 292% fall damage. - /// - Percent292 = 292, - - /// - /// 296% fall damage. - /// - Percent296 = 296, - - /// - /// 300% fall damage. - /// - Percent300 = 300, - - /// - /// 304% fall damage. - /// - Percent304 = 304, - - /// - /// 308% fall damage. - /// - Percent308 = 308, - - /// - /// 312% fall damage. - /// - Percent312 = 312, - - /// - /// 316% fall damage. - /// - Percent316 = 316, - - /// - /// 320% fall damage. - /// - Percent320 = 320, - - /// - /// 324% fall damage. - /// - Percent324 = 324, - - /// - /// 328% fall damage. - /// - Percent328 = 328, - - /// - /// 332% fall damage. - /// - Percent332 = 332, - - /// - /// 336% fall damage. - /// - Percent336 = 336, - - /// - /// 340% fall damage. - /// - Percent340 = 340, - - /// - /// 344% fall damage. - /// - Percent344 = 344, - - /// - /// 348% fall damage. - /// - Percent348 = 348, - - /// - /// 352% fall damage. - /// - Percent352 = 352, - - /// - /// 356% fall damage. - /// - Percent356 = 356, - - /// - /// 360% fall damage. - /// - Percent360 = 360, - - /// - /// 364% fall damage. - /// - Percent364 = 364, - - /// - /// 368% fall damage. - /// - Percent368 = 368, - - /// - /// 372% fall damage. - /// - Percent372 = 372, - - /// - /// 376% fall damage. - /// - Percent376 = 376, - - /// - /// 380% fall damage. - /// - Percent380 = 380, - - /// - /// 384% fall damage. - /// - Percent384 = 384, - - /// - /// 388% fall damage. - /// - Percent388 = 388, - - /// - /// 392% fall damage. - /// - Percent392 = 392, - - /// - /// 396% fall damage. - /// - Percent396 = 396, - - /// - /// 400% fall damage. - /// - Percent400 = 400, - - /// - /// 404% fall damage. - /// - Percent404 = 404, - - /// - /// 408% fall damage. - /// - Percent408 = 408, - - /// - /// 412% fall damage. - /// - Percent412 = 412, - - /// - /// 416% fall damage. - /// - Percent416 = 416, - - /// - /// 420% fall damage. - /// - Percent420 = 420, - - /// - /// 424% fall damage. - /// - Percent424 = 424, - - /// - /// 428% fall damage. - /// - Percent428 = 428, - - /// - /// 432% fall damage. - /// - Percent432 = 432, - - /// - /// 436% fall damage. - /// - Percent436 = 436, - - /// - /// 440% fall damage. - /// - Percent440 = 440, - - /// - /// 444% fall damage. - /// - Percent444 = 444, - - /// - /// 448% fall damage. - /// - Percent448 = 448, - - /// - /// 452% fall damage. - /// - Percent452 = 452, - - /// - /// 456% fall damage. - /// - Percent456 = 456, - - /// - /// 460% fall damage. - /// - Percent460 = 460, - - /// - /// 464% fall damage. - /// - Percent464 = 464, - - /// - /// 468% fall damage. - /// - Percent468 = 468, - - /// - /// 472% fall damage. - /// - Percent472 = 472, - - /// - /// 476% fall damage. - /// - Percent476 = 476, - - /// - /// 480% fall damage. - /// - Percent480 = 480, - - /// - /// 484% fall damage. - /// - Percent484 = 484, - - /// - /// 488% fall damage. - /// - Percent488 = 488, - - /// - /// 492% fall damage. - /// - Percent492 = 492, - - /// - /// 496% fall damage. - /// - Percent496 = 496, - - /// - /// 500% fall damage. - /// - Percent500 = 500, - - /// - /// 504% fall damage. - /// - Percent504 = 504, - - /// - /// 508% fall damage. - /// - Percent508 = 508 - } - - /// - /// Represents the known identifiers of scheme editors stored in schemes modified by them. - /// - public enum SchemeEditor : byte - { - None = 0, - LeTotalKiller = 0x5F, - SchemeEddy = 0x89 - } - - /// - /// Represents the stockpiling mode of weapon armory between rounds. - /// - public enum SchemeStockpiling : byte - { - Off = 0, - On = 1, - Anti = 2 - } - - /// - /// Represents the method to determine the next turn's worm. - /// - public enum SchemeWormSelect : byte - { - Ordered = 0, - Manual = 1, - Random = 2 - } - - /// - /// Represents the event triggered when the round timer runs out. - /// - public enum SchemeSuddenDeathEvent : byte - { - RoundEnd = 0, - NuclearStrike = 1, - HealthDrop = 2 - } - - /// - /// Represents the water rise in pixels after sudden death was triggered. - /// - public enum SchemeWaterRise : byte - { - /// - /// No water rise. - /// - None = 0, - - /// - /// 5 pixels water rise. - /// - Pixels5 = 5, - - /// - /// 13 pixels water rise. - /// - Pixels13 = 13, - - /// - /// 20 pixels water rise. - /// - Pixels20 = 20, - - /// - /// 21 pixels water rise. - /// - Pixels21 = 21, - - /// - /// 29 pixels water rise. - /// - Pixels29 = 29, - - /// - /// 37 pixels water rise. - /// - Pixels37 = 37, - - /// - /// 45 pixels water rise. - /// - Pixels45 = 45, - - /// - /// 52 pixels water rise. - /// - Pixels52 = 52, - - /// - /// 53 pixels water rise. - /// - Pixels53 = 53, - - /// - /// 61 pixels water rise. - /// - Pixels61 = 61, - - /// - /// 64 pixels water rise. - /// - Pixels64 = 64, - - /// - /// 69 pixels water rise. - /// - Pixels69 = 69, - - /// - /// 77 pixels water rise. - /// - Pixels77 = 77, - - /// - /// 80 pixels water rise. - /// - Pixels80 = 80, - - /// - /// 84 pixels water rise. - /// - Pixels84 = 84, - - /// - /// 85 pixels water rise. - /// - Pixels85 = 85, - - /// - /// 93 pixels water rise. - /// - Pixels93 = 93, - - /// - /// 101 pixels water rise. - /// - Pixels101 = 101, - - /// - /// 109 pixels water rise. - /// - Pixels109 = 109, - - /// - /// 116 pixels water rise. - /// - Pixels116 = 116, - - /// - /// 117 pixels water rise. - /// - Pixels117 = 117, - - /// - /// 125 pixels water rise. - /// - Pixels125 = 125, - - /// - /// 133 pixels water rise. - /// - Pixels133 = 133, - - /// - /// 141 pixels water rise. - /// - Pixels141 = 141, - - /// - /// 148 pixels water rise. - /// - Pixels148 = 148, - - /// - /// 149 pixels water rise. - /// - Pixels149 = 149, - - /// - /// 157 pixels water rise. - /// - Pixels157 = 157, - - /// - /// 165 pixels water rise. - /// - Pixels165 = 165, - - /// - /// 173 pixels water rise. - /// - Pixels173 = 173, - - /// - /// 180 pixels water rise. - /// - Pixels180 = 180, - - /// - /// 181 pixels water rise. - /// - Pixels181 = 181, - - /// - /// 189 pixels water rise. - /// - Pixels189 = 189, - - /// - /// 197 pixels water rise. - /// - Pixels197 = 197, - - /// - /// 205 pixels water rise. - /// - Pixels205 = 205, - - /// - /// 208 pixels water rise. - /// - Pixels208 = 208, - - /// - /// 212 pixels water rise. - /// - Pixels212 = 212, - - /// - /// 213 pixels water rise. - /// - Pixels213 = 213, - - /// - /// 221 pixels water rise. - /// - Pixels221 = 221, - - /// - /// 229 pixels water rise. - /// - Pixels229 = 229, - - /// - /// 237 pixels water rise. - /// - Pixels237 = 237, - - /// - /// 244 pixels water rise. - /// - Pixels244 = 244, - - /// - /// 245 pixels water rise. - /// - Pixels245 = 245, - - /// - /// 253 pixels water rise. - /// - Pixels253 = 253 - } - - /// - /// Represents the types of objects which can appear on the map. - /// - [Flags] - public enum SchemeObjectType - { - None = 0, - Mines = 1 << 0, - OilDrums = 1 << 1 - } - - /// - /// Represents the possible maximum number of objects which can appear on the map. - /// - public enum SchemeObjectCount - { - /// - /// No objects. - /// - None = 0, - - /// - /// Up to 1 object. - /// - Count1 = 1, - - /// - /// Up to 2 objects. - /// - Count2 = 2, - - /// - /// Up to 3 objects. - /// - Count3 = 3, - - /// - /// Up to 4 objects. - /// - Count4 = 4, - - /// - /// Up to 5 objects. - /// - Count5 = 5, - - /// - /// Up to 6 objects. - /// - Count6 = 6, - - /// - /// Up to 7 objects. - /// - Count7 = 7, - - /// - /// Up to 8 objects. - /// - Count8 = 8, - - /// - /// Up to 9 objects. - /// - Count9 = 9, - - /// - /// Up to 10 objects. - /// - Count10 = 10, - - /// - /// Up to 11 objects. - /// - Count11 = 11, - - /// - /// Up to 12 objects. - /// - Count12 = 12, - - /// - /// Up to 13 objects. - /// - Count13 = 13, - - /// - /// Up to 14 objects. - /// - Count14 = 14, - - /// - /// Up to 15 objects. - /// - Count15 = 15, - - /// - /// Up to 16 objects. - /// - Count16 = 16, - - /// - /// Up to 17 objects. - /// - Count17 = 17, - - /// - /// Up to 18 objects. - /// - Count18 = 18, - - /// - /// Up to 19 objects. - /// - Count19 = 19, - - /// - /// Up to 20 objects. - /// - Count20 = 20, - - /// - /// Up to 21 objects. - /// - Count21 = 21, - - /// - /// Up to 22 objects. - /// - Count22 = 22, - - /// - /// Up to 23 objects. - /// - Count23 = 23, - - /// - /// Up to 24 objects. - /// - Count24 = 24, - - /// - /// Up to 25 objects. - /// - Count25 = 25, - - /// - /// Up to 26 objects. - /// - Count26 = 26, - - /// - /// Up to 27 objects. - /// - Count27 = 27, - - /// - /// Up to 28 objects. - /// - Count28 = 28, - - /// - /// Up to 29 objects. - /// - Count29 = 29, - - /// - /// Up to 30 objects. - /// - Count30 = 30, - - /// - /// Up to 35 objects. - /// - Count35 = 35, - - /// - /// Up to 40 objects. - /// - Count40 = 40, - - /// - /// Up to 45 objects. - /// - Count45 = 45, - - /// - /// Up to 50 objects. - /// - Count50 = 50, - - /// - /// Up to 55 objects. - /// - Count55 = 55, - - /// - /// Up to 60 objects. - /// - Count60 = 60, - - /// - /// Up to 65 objects. - /// - Count65 = 65, - - /// - /// Up to 70 objects. - /// - Count70 = 70, - - /// - /// Up to 75 objects. - /// - Count75 = 75, - - /// - /// Up to 80 objects. - /// - Count80 = 80, - - /// - /// Up to 85 objects. - /// - Count85 = 85, - - /// - /// Up to 90 objects. - /// - Count90 = 90, - - /// - /// Up to 95 objects. - /// - Count95 = 95, - - /// - /// Up to 100 objects. - /// - Count100 = 100, - - /// - /// Up to 110 objects. - /// - Count110 = 110, - - /// - /// Up to 120 objects. - /// - Count120 = 120, - - /// - /// Up to 130 objects. - /// - Count130 = 130, - - /// - /// Up to 140 objects. - /// - Count140 = 140, - - /// - /// Up to 150 objects. - /// - Count150 = 150, - - /// - /// Up to 160 objects. - /// - Count160 = 160, - - /// - /// Up to 170 objects. - /// - Count170 = 170, - - /// - /// Up to 180 objects. - /// - Count180 = 180, - - /// - /// Up to 190 objects. - /// - Count190 = 190, - - /// - /// Up to 200 objects. - /// - Count200 = 200, - - /// - /// Up to 210 objects. - /// - Count210 = 210, - - /// - /// Up to 220 objects. - /// - Count220 = 220, - - /// - /// Up to 230 objects. - /// - Count230 = 230, - - /// - /// Up to 240 objects. - /// - Count240 = 240, - - /// - /// Up to 250 objects. - /// - Count250 = 250 - } - - /// - /// Represents the weapons in the game. - /// - public enum SchemeWeapon - { - /// - /// The Bazooka weapon. - /// - Bazooka, - - /// - /// The Homing Missile weapon. - /// - HomingMissile, - - /// - /// The Mortar weapon. - /// - Mortar, - - /// - /// The Grenade weapon. - /// - Grenade, - - /// - /// The Cluster Bomb weapon. - /// - ClusterBomb, - - /// - /// The Skunk weapon. - /// - Skunk, - - /// - /// The Petrol Bomb weapon. - /// - PetrolBomb, - - /// - /// The Banana Bomb weapon. - /// - BananaBomb, - - /// - /// The Handgun weapon. - /// - Handgun, - - /// - /// The Shotgun weapon. - /// - Shotgun, - - /// - /// The Uzi weapon. - /// - Uzi, - - /// - /// The Minigun weapon. - /// - Minigun, - - /// - /// The Longbow weapon. - /// - Longbow, - - /// - /// The Airstrike weapon. - /// - Airstrike, - - /// - /// The Napalm Strike weapon. - /// - NapalmStrike, - - /// - /// The Mine weapon. - /// - Mine, - - /// - /// The Fire Punch weapon. - /// - FirePunch, - - /// - /// The Dragon Ball weapon. - /// - DragonBall, - - /// - /// The Kamikaze weapon. - /// - Kamikaze, - - /// - /// The Prod weapon. - /// - Prod, - - /// - /// The Battle Axe weapon. - /// - BattleAxe, - - /// - /// The Blowtorch weapon. - /// - Blowtorch, - - /// - /// The Pneumatic Drill weapon. - /// - PneumaticDrill, - - /// - /// The Girder weapon. - /// - Girder, - - /// - /// The Ninja Rope weapon. - /// - NinjaRope, - - /// - /// The Parachute weapon. - /// - Parachute, - - /// - /// The Bungee weapon. - /// - Bungee, - - /// - /// The Teleport weapon. - /// - Teleport, - - /// - /// The Dynamite weapon. - /// - Dynamite, - - /// - /// The Sheep weapon. - /// - Sheep, - - /// - /// The Baseball Bat weapon. - /// - BaseballBat, - - /// - /// The Flame Thrower weapon. - /// - FlameThrower, - - /// - /// The Homing Pigeon weapon. - /// - HomingPigeon, - - /// - /// The Mad Cow weapon. - /// - MadCow, - - /// - /// The Holy Hand Grenade weapon. - /// - HolyHandGrenade, - - /// - /// The Old Woman weapon. - /// - OldWoman, - - /// - /// The Sheep Launcher weapon. - /// - SheepLauncher, - - /// - /// The Super Sheep or Aqua Sheep weapon. - /// - SuperSheep, - - /// - /// The Mole Bomb weapon. - /// - MoleBomb, - - /// - /// The Jet Pack utility. - /// - JetPack, - - /// - /// The Low Gravity utility. - /// - LowGravity, - - /// - /// The Laser Sight utility. - /// - LaserSight, - - /// - /// The Fast Walk utility. - /// - FastWalk, - - /// - /// The Invisibility utility. - /// - Invisibility, - - /// - /// The Damage x2 utility. - /// - DamageX2, - - /// - /// The Freeze super weapon. - /// - Freeze, - - /// - /// The Super Banana Bomb super weapon. - /// - SuperBananaBomb, - - /// - /// The Mine Strike super weapon. - /// - MineStrike, - - /// - /// The Girder Starter Pack super weapon. - /// - GirderStarterPack, - - /// - /// The Earthquake super weapon. - /// - Earthquake, - - /// - /// The Scales Of Justice super weapon. - /// - ScalesOfJustice, - - /// - /// The Ming Vase super weapon. - /// - MingVase, - - /// - /// The Mike's Carpet Bomb super weapon. - /// - MikesCarpetBomb, - - /// - /// The Patsy's Magic Bullet super weapon. - /// - MagicBullet, - - /// - /// The Indian Nuclear Test super weapon. - /// - NuclearTest, - - /// - /// The Select Worm super weapon. - /// - SelectWorm, - - /// - /// The Salvation Army super weapon. - /// - SalvationArmy, - - /// - /// The Mole Squadron super weapon. - /// - MoleSquadron, - - /// - /// The MB Bomb super weapon. - /// - MBBomb, - - /// - /// The Concrete Donkey super weapon. - /// - ConcreteDonkey, - - /// - /// The Suicide Bomber super weapon. - /// - SuicideBomber, - - /// - /// The Sheep Strike super weapon. - /// - SheepStrike, - - /// - /// The Mail Strike super weapon. - /// - MailStrike, - - /// - /// The Armageddon super weapon. - /// - Armageddon - } - - #endregion } diff --git a/src/Syroot.Worms/Gen2/Armageddon/SchemeEnums.cs b/src/Syroot.Worms/Gen2/Armageddon/SchemeEnums.cs new file mode 100644 index 0000000..06477d9 --- /dev/null +++ b/src/Syroot.Worms/Gen2/Armageddon/SchemeEnums.cs @@ -0,0 +1,1597 @@ +using System; + +namespace Syroot.Worms.Gen2.Armageddon +{ + /// + /// Represents the known versions of scheme file formats. + /// + public enum SchemeVersion : byte + { + /// + /// The standard format used by WA before version 3.6.28.0 and WWP. It does not store super weapon settings. + /// + Standard = 1, + + /// + /// The extended format used by WA since version 3.6.28.0. + /// + Extended = 2 + } + + /// + /// Represents the possible variations of the options stored in a scheme file. + /// + public enum SchemeSaveFormat + { + /// + /// Represents the format. + /// + Standard, + + /// + /// Represents the format, and does not store object counts. + /// + Extended, + + /// + /// Represents the format, and stores object counts (supported since WA + /// 3.6.28.0). + /// + ExtendedWithObjectCount + } + + /// + /// Represents the fall damage in percent, relative to the normal fall damage being 100%. + /// + public enum SchemeFallDamage + { + /// + /// No fall damage. + /// + None = 0, + + /// + /// 4% fall damage. + /// + Percent4 = 4, + + /// + /// 8% fall damage. + /// + Percent8 = 8, + + /// + /// 12% fall damage. + /// + Percent12 = 12, + + /// + /// 16% fall damage. + /// + Percent16 = 16, + + /// + /// 20% fall damage. + /// + Percent20 = 20, + + /// + /// 24% fall damage. + /// + Percent24 = 24, + + /// + /// 28% fall damage. + /// + Percent28 = 28, + + /// + /// 32% fall damage. + /// + Percent32 = 32, + + /// + /// 36% fall damage. + /// + Percent36 = 36, + + /// + /// 40% fall damage. + /// + Percent40 = 40, + + /// + /// 44% fall damage. + /// + Percent44 = 44, + + /// + /// 48% fall damage. + /// + Percent48 = 48, + + /// + /// 52% fall damage. + /// + Percent52 = 52, + + /// + /// 56% fall damage. + /// + Percent56 = 56, + + /// + /// 60% fall damage. + /// + Percent60 = 60, + + /// + /// 64% fall damage. + /// + Percent64 = 64, + + /// + /// 68% fall damage. + /// + Percent68 = 68, + + /// + /// 72% fall damage. + /// + Percent72 = 72, + + /// + /// 76% fall damage. + /// + Percent76 = 76, + + /// + /// 80% fall damage. + /// + Percent80 = 80, + + /// + /// 84% fall damage. + /// + Percent84 = 84, + + /// + /// 88% fall damage. + /// + Percent88 = 88, + + /// + /// 92% fall damage. + /// + Percent92 = 92, + + /// + /// 96% fall damage. + /// + Percent96 = 96, + + /// + /// 100% fall damage. + /// + Percent100 = 100, + + /// + /// 104% fall damage. + /// + Percent104 = 104, + + /// + /// 108% fall damage. + /// + Percent108 = 108, + + /// + /// 112% fall damage. + /// + Percent112 = 112, + + /// + /// 116% fall damage. + /// + Percent116 = 116, + + /// + /// 120% fall damage. + /// + Percent120 = 120, + + /// + /// 124% fall damage. + /// + Percent124 = 124, + + /// + /// 128% fall damage. + /// + Percent128 = 128, + + /// + /// 132% fall damage. + /// + Percent132 = 132, + + /// + /// 136% fall damage. + /// + Percent136 = 136, + + /// + /// 140% fall damage. + /// + Percent140 = 140, + + /// + /// 144% fall damage. + /// + Percent144 = 144, + + /// + /// 148% fall damage. + /// + Percent148 = 148, + + /// + /// 152% fall damage. + /// + Percent152 = 152, + + /// + /// 156% fall damage. + /// + Percent156 = 156, + + /// + /// 160% fall damage. + /// + Percent160 = 160, + + /// + /// 164% fall damage. + /// + Percent164 = 164, + + /// + /// 168% fall damage. + /// + Percent168 = 168, + + /// + /// 172% fall damage. + /// + Percent172 = 172, + + /// + /// 176% fall damage. + /// + Percent176 = 176, + + /// + /// 180% fall damage. + /// + Percent180 = 180, + + /// + /// 184% fall damage. + /// + Percent184 = 184, + + /// + /// 188% fall damage. + /// + Percent188 = 188, + + /// + /// 192% fall damage. + /// + Percent192 = 192, + + /// + /// 196% fall damage. + /// + Percent196 = 196, + + /// + /// 200% fall damage. + /// + Percent200 = 200, + + /// + /// 204% fall damage. + /// + Percent204 = 204, + + /// + /// 208% fall damage. + /// + Percent208 = 208, + + /// + /// 212% fall damage. + /// + Percent212 = 212, + + /// + /// 216% fall damage. + /// + Percent216 = 216, + + /// + /// 220% fall damage. + /// + Percent220 = 220, + + /// + /// 224% fall damage. + /// + Percent224 = 224, + + /// + /// 228% fall damage. + /// + Percent228 = 228, + + /// + /// 232% fall damage. + /// + Percent232 = 232, + + /// + /// 236% fall damage. + /// + Percent236 = 236, + + /// + /// 240% fall damage. + /// + Percent240 = 240, + + /// + /// 244% fall damage. + /// + Percent244 = 244, + + /// + /// 248% fall damage. + /// + Percent248 = 248, + + /// + /// 252% fall damage. + /// + Percent252 = 252, + + /// + /// 256% fall damage. + /// + Percent256 = 256, + + /// + /// 260% fall damage. + /// + Percent260 = 260, + + /// + /// 264% fall damage. + /// + Percent264 = 264, + + /// + /// 268% fall damage. + /// + Percent268 = 268, + + /// + /// 272% fall damage. + /// + Percent272 = 272, + + /// + /// 276% fall damage. + /// + Percent276 = 276, + + /// + /// 280% fall damage. + /// + Percent280 = 280, + + /// + /// 284% fall damage. + /// + Percent284 = 284, + + /// + /// 288% fall damage. + /// + Percent288 = 288, + + /// + /// 292% fall damage. + /// + Percent292 = 292, + + /// + /// 296% fall damage. + /// + Percent296 = 296, + + /// + /// 300% fall damage. + /// + Percent300 = 300, + + /// + /// 304% fall damage. + /// + Percent304 = 304, + + /// + /// 308% fall damage. + /// + Percent308 = 308, + + /// + /// 312% fall damage. + /// + Percent312 = 312, + + /// + /// 316% fall damage. + /// + Percent316 = 316, + + /// + /// 320% fall damage. + /// + Percent320 = 320, + + /// + /// 324% fall damage. + /// + Percent324 = 324, + + /// + /// 328% fall damage. + /// + Percent328 = 328, + + /// + /// 332% fall damage. + /// + Percent332 = 332, + + /// + /// 336% fall damage. + /// + Percent336 = 336, + + /// + /// 340% fall damage. + /// + Percent340 = 340, + + /// + /// 344% fall damage. + /// + Percent344 = 344, + + /// + /// 348% fall damage. + /// + Percent348 = 348, + + /// + /// 352% fall damage. + /// + Percent352 = 352, + + /// + /// 356% fall damage. + /// + Percent356 = 356, + + /// + /// 360% fall damage. + /// + Percent360 = 360, + + /// + /// 364% fall damage. + /// + Percent364 = 364, + + /// + /// 368% fall damage. + /// + Percent368 = 368, + + /// + /// 372% fall damage. + /// + Percent372 = 372, + + /// + /// 376% fall damage. + /// + Percent376 = 376, + + /// + /// 380% fall damage. + /// + Percent380 = 380, + + /// + /// 384% fall damage. + /// + Percent384 = 384, + + /// + /// 388% fall damage. + /// + Percent388 = 388, + + /// + /// 392% fall damage. + /// + Percent392 = 392, + + /// + /// 396% fall damage. + /// + Percent396 = 396, + + /// + /// 400% fall damage. + /// + Percent400 = 400, + + /// + /// 404% fall damage. + /// + Percent404 = 404, + + /// + /// 408% fall damage. + /// + Percent408 = 408, + + /// + /// 412% fall damage. + /// + Percent412 = 412, + + /// + /// 416% fall damage. + /// + Percent416 = 416, + + /// + /// 420% fall damage. + /// + Percent420 = 420, + + /// + /// 424% fall damage. + /// + Percent424 = 424, + + /// + /// 428% fall damage. + /// + Percent428 = 428, + + /// + /// 432% fall damage. + /// + Percent432 = 432, + + /// + /// 436% fall damage. + /// + Percent436 = 436, + + /// + /// 440% fall damage. + /// + Percent440 = 440, + + /// + /// 444% fall damage. + /// + Percent444 = 444, + + /// + /// 448% fall damage. + /// + Percent448 = 448, + + /// + /// 452% fall damage. + /// + Percent452 = 452, + + /// + /// 456% fall damage. + /// + Percent456 = 456, + + /// + /// 460% fall damage. + /// + Percent460 = 460, + + /// + /// 464% fall damage. + /// + Percent464 = 464, + + /// + /// 468% fall damage. + /// + Percent468 = 468, + + /// + /// 472% fall damage. + /// + Percent472 = 472, + + /// + /// 476% fall damage. + /// + Percent476 = 476, + + /// + /// 480% fall damage. + /// + Percent480 = 480, + + /// + /// 484% fall damage. + /// + Percent484 = 484, + + /// + /// 488% fall damage. + /// + Percent488 = 488, + + /// + /// 492% fall damage. + /// + Percent492 = 492, + + /// + /// 496% fall damage. + /// + Percent496 = 496, + + /// + /// 500% fall damage. + /// + Percent500 = 500, + + /// + /// 504% fall damage. + /// + Percent504 = 504, + + /// + /// 508% fall damage. + /// + Percent508 = 508 + } + + /// + /// Represents the known identifiers of scheme editors stored in schemes modified by them. + /// + public enum SchemeEditor : byte + { + None = 0, + LeTotalKiller = 0x5F, + SchemeEddy = 0x89 + } + + /// + /// Represents the stockpiling mode of weapon armory between rounds. + /// + public enum SchemeStockpiling : byte + { + Off = 0, + On = 1, + Anti = 2 + } + + /// + /// Represents the method to determine the next turn's worm. + /// + public enum SchemeWormSelect : byte + { + Ordered = 0, + Manual = 1, + Random = 2 + } + + /// + /// Represents the event triggered when the round timer runs out. + /// + public enum SchemeSuddenDeathEvent : byte + { + RoundEnd = 0, + NuclearStrike = 1, + HealthDrop = 2 + } + + /// + /// Represents the water rise in pixels after sudden death was triggered. + /// + public enum SchemeWaterRise : byte + { + /// + /// No water rise. + /// + None = 0, + + /// + /// 5 pixels water rise. + /// + Pixels5 = 5, + + /// + /// 13 pixels water rise. + /// + Pixels13 = 13, + + /// + /// 20 pixels water rise. + /// + Pixels20 = 20, + + /// + /// 21 pixels water rise. + /// + Pixels21 = 21, + + /// + /// 29 pixels water rise. + /// + Pixels29 = 29, + + /// + /// 37 pixels water rise. + /// + Pixels37 = 37, + + /// + /// 45 pixels water rise. + /// + Pixels45 = 45, + + /// + /// 52 pixels water rise. + /// + Pixels52 = 52, + + /// + /// 53 pixels water rise. + /// + Pixels53 = 53, + + /// + /// 61 pixels water rise. + /// + Pixels61 = 61, + + /// + /// 64 pixels water rise. + /// + Pixels64 = 64, + + /// + /// 69 pixels water rise. + /// + Pixels69 = 69, + + /// + /// 77 pixels water rise. + /// + Pixels77 = 77, + + /// + /// 80 pixels water rise. + /// + Pixels80 = 80, + + /// + /// 84 pixels water rise. + /// + Pixels84 = 84, + + /// + /// 85 pixels water rise. + /// + Pixels85 = 85, + + /// + /// 93 pixels water rise. + /// + Pixels93 = 93, + + /// + /// 101 pixels water rise. + /// + Pixels101 = 101, + + /// + /// 109 pixels water rise. + /// + Pixels109 = 109, + + /// + /// 116 pixels water rise. + /// + Pixels116 = 116, + + /// + /// 117 pixels water rise. + /// + Pixels117 = 117, + + /// + /// 125 pixels water rise. + /// + Pixels125 = 125, + + /// + /// 133 pixels water rise. + /// + Pixels133 = 133, + + /// + /// 141 pixels water rise. + /// + Pixels141 = 141, + + /// + /// 148 pixels water rise. + /// + Pixels148 = 148, + + /// + /// 149 pixels water rise. + /// + Pixels149 = 149, + + /// + /// 157 pixels water rise. + /// + Pixels157 = 157, + + /// + /// 165 pixels water rise. + /// + Pixels165 = 165, + + /// + /// 173 pixels water rise. + /// + Pixels173 = 173, + + /// + /// 180 pixels water rise. + /// + Pixels180 = 180, + + /// + /// 181 pixels water rise. + /// + Pixels181 = 181, + + /// + /// 189 pixels water rise. + /// + Pixels189 = 189, + + /// + /// 197 pixels water rise. + /// + Pixels197 = 197, + + /// + /// 205 pixels water rise. + /// + Pixels205 = 205, + + /// + /// 208 pixels water rise. + /// + Pixels208 = 208, + + /// + /// 212 pixels water rise. + /// + Pixels212 = 212, + + /// + /// 213 pixels water rise. + /// + Pixels213 = 213, + + /// + /// 221 pixels water rise. + /// + Pixels221 = 221, + + /// + /// 229 pixels water rise. + /// + Pixels229 = 229, + + /// + /// 237 pixels water rise. + /// + Pixels237 = 237, + + /// + /// 244 pixels water rise. + /// + Pixels244 = 244, + + /// + /// 245 pixels water rise. + /// + Pixels245 = 245, + + /// + /// 253 pixels water rise. + /// + Pixels253 = 253 + } + + /// + /// Represents the types of objects which can appear on the map. + /// + [Flags] + public enum SchemeObjectType + { + None = 0, + Mines = 1 << 0, + OilDrums = 1 << 1 + } + + /// + /// Represents the possible maximum number of objects which can appear on the map. + /// + public enum SchemeObjectCount + { + /// + /// No objects. + /// + None = 0, + + /// + /// Up to 1 object. + /// + Count1 = 1, + + /// + /// Up to 2 objects. + /// + Count2 = 2, + + /// + /// Up to 3 objects. + /// + Count3 = 3, + + /// + /// Up to 4 objects. + /// + Count4 = 4, + + /// + /// Up to 5 objects. + /// + Count5 = 5, + + /// + /// Up to 6 objects. + /// + Count6 = 6, + + /// + /// Up to 7 objects. + /// + Count7 = 7, + + /// + /// Up to 8 objects. + /// + Count8 = 8, + + /// + /// Up to 9 objects. + /// + Count9 = 9, + + /// + /// Up to 10 objects. + /// + Count10 = 10, + + /// + /// Up to 11 objects. + /// + Count11 = 11, + + /// + /// Up to 12 objects. + /// + Count12 = 12, + + /// + /// Up to 13 objects. + /// + Count13 = 13, + + /// + /// Up to 14 objects. + /// + Count14 = 14, + + /// + /// Up to 15 objects. + /// + Count15 = 15, + + /// + /// Up to 16 objects. + /// + Count16 = 16, + + /// + /// Up to 17 objects. + /// + Count17 = 17, + + /// + /// Up to 18 objects. + /// + Count18 = 18, + + /// + /// Up to 19 objects. + /// + Count19 = 19, + + /// + /// Up to 20 objects. + /// + Count20 = 20, + + /// + /// Up to 21 objects. + /// + Count21 = 21, + + /// + /// Up to 22 objects. + /// + Count22 = 22, + + /// + /// Up to 23 objects. + /// + Count23 = 23, + + /// + /// Up to 24 objects. + /// + Count24 = 24, + + /// + /// Up to 25 objects. + /// + Count25 = 25, + + /// + /// Up to 26 objects. + /// + Count26 = 26, + + /// + /// Up to 27 objects. + /// + Count27 = 27, + + /// + /// Up to 28 objects. + /// + Count28 = 28, + + /// + /// Up to 29 objects. + /// + Count29 = 29, + + /// + /// Up to 30 objects. + /// + Count30 = 30, + + /// + /// Up to 35 objects. + /// + Count35 = 35, + + /// + /// Up to 40 objects. + /// + Count40 = 40, + + /// + /// Up to 45 objects. + /// + Count45 = 45, + + /// + /// Up to 50 objects. + /// + Count50 = 50, + + /// + /// Up to 55 objects. + /// + Count55 = 55, + + /// + /// Up to 60 objects. + /// + Count60 = 60, + + /// + /// Up to 65 objects. + /// + Count65 = 65, + + /// + /// Up to 70 objects. + /// + Count70 = 70, + + /// + /// Up to 75 objects. + /// + Count75 = 75, + + /// + /// Up to 80 objects. + /// + Count80 = 80, + + /// + /// Up to 85 objects. + /// + Count85 = 85, + + /// + /// Up to 90 objects. + /// + Count90 = 90, + + /// + /// Up to 95 objects. + /// + Count95 = 95, + + /// + /// Up to 100 objects. + /// + Count100 = 100, + + /// + /// Up to 110 objects. + /// + Count110 = 110, + + /// + /// Up to 120 objects. + /// + Count120 = 120, + + /// + /// Up to 130 objects. + /// + Count130 = 130, + + /// + /// Up to 140 objects. + /// + Count140 = 140, + + /// + /// Up to 150 objects. + /// + Count150 = 150, + + /// + /// Up to 160 objects. + /// + Count160 = 160, + + /// + /// Up to 170 objects. + /// + Count170 = 170, + + /// + /// Up to 180 objects. + /// + Count180 = 180, + + /// + /// Up to 190 objects. + /// + Count190 = 190, + + /// + /// Up to 200 objects. + /// + Count200 = 200, + + /// + /// Up to 210 objects. + /// + Count210 = 210, + + /// + /// Up to 220 objects. + /// + Count220 = 220, + + /// + /// Up to 230 objects. + /// + Count230 = 230, + + /// + /// Up to 240 objects. + /// + Count240 = 240, + + /// + /// Up to 250 objects. + /// + Count250 = 250 + } + + /// + /// Represents the weapons in the game. + /// + public enum SchemeWeapon + { + /// + /// The Bazooka weapon. + /// + Bazooka, + + /// + /// The Homing Missile weapon. + /// + HomingMissile, + + /// + /// The Mortar weapon. + /// + Mortar, + + /// + /// The Grenade weapon. + /// + Grenade, + + /// + /// The Cluster Bomb weapon. + /// + ClusterBomb, + + /// + /// The Skunk weapon. + /// + Skunk, + + /// + /// The Petrol Bomb weapon. + /// + PetrolBomb, + + /// + /// The Banana Bomb weapon. + /// + BananaBomb, + + /// + /// The Handgun weapon. + /// + Handgun, + + /// + /// The Shotgun weapon. + /// + Shotgun, + + /// + /// The Uzi weapon. + /// + Uzi, + + /// + /// The Minigun weapon. + /// + Minigun, + + /// + /// The Longbow weapon. + /// + Longbow, + + /// + /// The Airstrike weapon. + /// + Airstrike, + + /// + /// The Napalm Strike weapon. + /// + NapalmStrike, + + /// + /// The Mine weapon. + /// + Mine, + + /// + /// The Fire Punch weapon. + /// + FirePunch, + + /// + /// The Dragon Ball weapon. + /// + DragonBall, + + /// + /// The Kamikaze weapon. + /// + Kamikaze, + + /// + /// The Prod weapon. + /// + Prod, + + /// + /// The Battle Axe weapon. + /// + BattleAxe, + + /// + /// The Blowtorch weapon. + /// + Blowtorch, + + /// + /// The Pneumatic Drill weapon. + /// + PneumaticDrill, + + /// + /// The Girder weapon. + /// + Girder, + + /// + /// The Ninja Rope weapon. + /// + NinjaRope, + + /// + /// The Parachute weapon. + /// + Parachute, + + /// + /// The Bungee weapon. + /// + Bungee, + + /// + /// The Teleport weapon. + /// + Teleport, + + /// + /// The Dynamite weapon. + /// + Dynamite, + + /// + /// The Sheep weapon. + /// + Sheep, + + /// + /// The Baseball Bat weapon. + /// + BaseballBat, + + /// + /// The Flame Thrower weapon. + /// + FlameThrower, + + /// + /// The Homing Pigeon weapon. + /// + HomingPigeon, + + /// + /// The Mad Cow weapon. + /// + MadCow, + + /// + /// The Holy Hand Grenade weapon. + /// + HolyHandGrenade, + + /// + /// The Old Woman weapon. + /// + OldWoman, + + /// + /// The Sheep Launcher weapon. + /// + SheepLauncher, + + /// + /// The Super Sheep or Aqua Sheep weapon. + /// + SuperSheep, + + /// + /// The Mole Bomb weapon. + /// + MoleBomb, + + /// + /// The Jet Pack utility. + /// + JetPack, + + /// + /// The Low Gravity utility. + /// + LowGravity, + + /// + /// The Laser Sight utility. + /// + LaserSight, + + /// + /// The Fast Walk utility. + /// + FastWalk, + + /// + /// The Invisibility utility. + /// + Invisibility, + + /// + /// The Damage x2 utility. + /// + DamageX2, + + /// + /// The Freeze super weapon. + /// + Freeze, + + /// + /// The Super Banana Bomb super weapon. + /// + SuperBananaBomb, + + /// + /// The Mine Strike super weapon. + /// + MineStrike, + + /// + /// The Girder Starter Pack super weapon. + /// + GirderStarterPack, + + /// + /// The Earthquake super weapon. + /// + Earthquake, + + /// + /// The Scales Of Justice super weapon. + /// + ScalesOfJustice, + + /// + /// The Ming Vase super weapon. + /// + MingVase, + + /// + /// The Mike's Carpet Bomb super weapon. + /// + MikesCarpetBomb, + + /// + /// The Patsy's Magic Bullet super weapon. + /// + MagicBullet, + + /// + /// The Indian Nuclear Test super weapon. + /// + NuclearTest, + + /// + /// The Select Worm super weapon. + /// + SelectWorm, + + /// + /// The Salvation Army super weapon. + /// + SalvationArmy, + + /// + /// The Mole Squadron super weapon. + /// + MoleSquadron, + + /// + /// The MB Bomb super weapon. + /// + MBBomb, + + /// + /// The Concrete Donkey super weapon. + /// + ConcreteDonkey, + + /// + /// The Suicide Bomber super weapon. + /// + SuicideBomber, + + /// + /// The Sheep Strike super weapon. + /// + SheepStrike, + + /// + /// The Mail Strike super weapon. + /// + MailStrike, + + /// + /// The Armageddon super weapon. + /// + Armageddon + } +} diff --git a/src/Syroot.Worms/Gen2/Armageddon/SchemeWeaponSetting.cs b/src/Syroot.Worms/Gen2/Armageddon/SchemeWeaponSetting.cs new file mode 100644 index 0000000..9712127 --- /dev/null +++ b/src/Syroot.Worms/Gen2/Armageddon/SchemeWeaponSetting.cs @@ -0,0 +1,33 @@ +using System.Diagnostics; + +namespace Syroot.Worms.Gen2.Armageddon +{ + /// + /// Represents the configuration of a weapon. + /// + [DebuggerDisplay("Ammo={Ammunition} Power={Power} Delay={Delay} Prob={Probability}")] + public struct SchemeWeaponSetting + { + /// + /// The amount of this weapon with which a team is equipped at game start. 10 and negative values represent + /// infinity. + /// + public sbyte Ammunition; + + /// + /// The power of this weapon. + /// + public byte Power; + + /// + /// The number of turns required to be taken by each team before this weapon becomes available. Negative values + /// represenet infinity. + /// + public sbyte Delay; + + /// + /// The percentual chance of this weapon to appear in crates. Has no effect for super weapons. + /// + public sbyte Probability; + } +}