| [1114] | 1 | using System;
|
|---|
| 2 | using System.Collections.Generic;
|
|---|
| 3 | using Oni;
|
|---|
| 4 | using Oni.Metadata;
|
|---|
| 5 |
|
|---|
| 6 | namespace Oni.Metadata
|
|---|
| 7 | {
|
|---|
| 8 | internal class ObjectMetadata
|
|---|
| 9 | {
|
|---|
| 10 | internal enum TypeTag
|
|---|
| 11 | {
|
|---|
| 12 | CHAR = 0x43484152,
|
|---|
| 13 | CMBT = 0x434d4254,
|
|---|
| 14 | CONS = 0x434f4e53,
|
|---|
| 15 | DOOR = 0x444f4f52,
|
|---|
| 16 | FLAG = 0x464c4147,
|
|---|
| 17 | FURN = 0x4655524e,
|
|---|
| 18 | MELE = 0x4d454c45,
|
|---|
| 19 | NEUT = 0x4e455554,
|
|---|
| 20 | PART = 0x50415254,
|
|---|
| 21 | PATR = 0x50415452,
|
|---|
| 22 | PWRU = 0x50575255,
|
|---|
| 23 | SNDG = 0x534e4447,
|
|---|
| 24 | TRGV = 0x54524756,
|
|---|
| 25 | TRIG = 0x54524947,
|
|---|
| 26 | TURR = 0x54555252,
|
|---|
| 27 | WEAP = 0x57454150
|
|---|
| 28 | }
|
|---|
| 29 |
|
|---|
| 30 | [Flags]
|
|---|
| 31 | public enum ObjectFlags : uint
|
|---|
| 32 | {
|
|---|
| 33 | None = 0x00,
|
|---|
| 34 | Locked = 0x01,
|
|---|
| 35 | PlacedInGame = 0x02,
|
|---|
| 36 | Temporary = 0x04,
|
|---|
| 37 | Gunk = 0x08
|
|---|
| 38 | }
|
|---|
| 39 |
|
|---|
| 40 | public static readonly MetaStruct Header = new MetaStruct("Object",
|
|---|
| 41 | new Field(MetaType.Enum<ObjectFlags>(), "Flags"),
|
|---|
| 42 | new Field(MetaType.Vector3, "Position"),
|
|---|
| 43 | new Field(MetaType.Vector3, "Rotation")
|
|---|
| 44 | );
|
|---|
| 45 |
|
|---|
| 46 | //
|
|---|
| 47 | // Character Object
|
|---|
| 48 | //
|
|---|
| 49 |
|
|---|
| 50 | [Flags]
|
|---|
| 51 | internal enum CharacterFlags : uint
|
|---|
| 52 | {
|
|---|
| 53 | None = 0x00,
|
|---|
| 54 | IsPlayer = 0x01,
|
|---|
| 55 | RandomCostume = 0x02,
|
|---|
| 56 | NotInitiallyPresent = 0x04,
|
|---|
| 57 | NonCombatant = 0x08,
|
|---|
| 58 | CanSpawnMultiple = 0x10,
|
|---|
| 59 | Spawned = 0x20,
|
|---|
| 60 | Unkillable = 0x40,
|
|---|
| 61 | InfiniteAmmo = 0x80,
|
|---|
| 62 | Omniscient = 0x0100,
|
|---|
| 63 | HasLSI = 0x0200,
|
|---|
| 64 | Boss = 0x0400,
|
|---|
| 65 | UpgradeDifficulty = 0x0800,
|
|---|
| 66 | NoAutoDrop = 0x1000
|
|---|
| 67 | }
|
|---|
| 68 |
|
|---|
| 69 | internal enum CharacterTeam : uint
|
|---|
| 70 | {
|
|---|
| 71 | Konoko = 0,
|
|---|
| 72 | TCTF = 1,
|
|---|
| 73 | Syndicate = 2,
|
|---|
| 74 | Neutral = 3,
|
|---|
| 75 | SecurityGuard = 4,
|
|---|
| 76 | RogueKonoko = 5,
|
|---|
| 77 | Switzerland = 6,
|
|---|
| 78 | SyndicateAccessory = 7
|
|---|
| 79 | }
|
|---|
| 80 |
|
|---|
| 81 | internal enum CharacterJobType : uint
|
|---|
| 82 | {
|
|---|
| 83 | None = 0,
|
|---|
| 84 | Idle = 1,
|
|---|
| 85 | Guard = 2,
|
|---|
| 86 | Patrol = 3,
|
|---|
| 87 | TeamBatle = 4,
|
|---|
| 88 | Combat = 5,
|
|---|
| 89 | Melee = 6,
|
|---|
| 90 | Alarm = 7,
|
|---|
| 91 | Neutral = 8,
|
|---|
| 92 | Panic = 9
|
|---|
| 93 | }
|
|---|
| 94 |
|
|---|
| 95 | internal enum CharacterAlertStatus : uint
|
|---|
| 96 | {
|
|---|
| 97 | Lull = 0,
|
|---|
| 98 | Low = 1,
|
|---|
| 99 | Medium = 2,
|
|---|
| 100 | High = 3,
|
|---|
| 101 | Combat = 4
|
|---|
| 102 | }
|
|---|
| 103 |
|
|---|
| 104 | internal enum CharacterPursuitMode : uint
|
|---|
| 105 | {
|
|---|
| 106 | None = 0,
|
|---|
| 107 | Forget = 1,
|
|---|
| 108 | GoTo = 2,
|
|---|
| 109 | Wait = 3,
|
|---|
| 110 | Look = 4,
|
|---|
| 111 | Move = 5,
|
|---|
| 112 | Hunt = 6,
|
|---|
| 113 | Glanc = 7,
|
|---|
| 114 | }
|
|---|
| 115 |
|
|---|
| 116 | internal enum CharacterPursuitLostBehavior : uint
|
|---|
| 117 | {
|
|---|
| 118 | ReturnToJob = 0,
|
|---|
| 119 | KeepLooking = 1,
|
|---|
| 120 | FindAlarm = 2,
|
|---|
| 121 | }
|
|---|
| 122 |
|
|---|
| 123 | public static readonly MetaStruct Character = new MetaStruct("Character",
|
|---|
| 124 | new Field(MetaType.Enum<CharacterFlags>(), "Flags"),
|
|---|
| 125 | new Field(MetaType.String64, "Class"),
|
|---|
| 126 | new Field(MetaType.String32, "Name"),
|
|---|
| 127 | new Field(MetaType.String64, "Weapon"),
|
|---|
| 128 | new Field(new MetaStruct("CharacterScripts",
|
|---|
| 129 | new Field(MetaType.String32, "Spawn"),
|
|---|
| 130 | new Field(MetaType.String32, "Die"),
|
|---|
| 131 | new Field(MetaType.String32, "Combat"),
|
|---|
| 132 | new Field(MetaType.String32, "Alarm"),
|
|---|
| 133 | new Field(MetaType.String32, "Hurt"),
|
|---|
| 134 | new Field(MetaType.String32, "Defeated"),
|
|---|
| 135 | new Field(MetaType.String32, "OutOfAmmo"),
|
|---|
| 136 | new Field(MetaType.String32, "NoPath")), "Scripts"),
|
|---|
| 137 | new Field(MetaType.Int32, "AdditionalHealth"),
|
|---|
| 138 | new Field(new MetaStruct("CharacterJob",
|
|---|
| 139 | new Field(MetaType.Enum<CharacterJobType>(), "Type"),
|
|---|
| 140 | new Field(MetaType.Int16, "PatrolPathId")), "Job"),
|
|---|
| 141 | new Field(new MetaStruct("CharacterBehaviors",
|
|---|
| 142 | new Field(MetaType.Int16, "CombatId"),
|
|---|
| 143 | new Field(MetaType.Int16, "MeleeId"),
|
|---|
| 144 | new Field(MetaType.Int16, "NeutralId")), "Behaviors"),
|
|---|
| 145 | new Field(new MetaStruct("CharacterInventory",
|
|---|
| 146 | new Field(new MetaStruct("Ammo",
|
|---|
| 147 | new Field(MetaType.Int16, "Use"),
|
|---|
| 148 | new Field(MetaType.Int16, "Drop")), "Ammo"),
|
|---|
| 149 | new Field(new MetaStruct("EnergyCell",
|
|---|
| 150 | new Field(MetaType.Int16, "Use"),
|
|---|
| 151 | new Field(MetaType.Int16, "Drop")), "EnergyCell"),
|
|---|
| 152 | new Field(new MetaStruct("Hypo",
|
|---|
| 153 | new Field(MetaType.Int16, "Use"),
|
|---|
| 154 | new Field(MetaType.Int16, "Drop")), "Hypo"),
|
|---|
| 155 | new Field(new MetaStruct("Shield",
|
|---|
| 156 | new Field(MetaType.Int16, "Use"),
|
|---|
| 157 | new Field(MetaType.Int16, "Drop")), "Shield"),
|
|---|
| 158 | new Field(new MetaStruct("Invisibility",
|
|---|
| 159 | new Field(MetaType.Int16, "Use"),
|
|---|
| 160 | new Field(MetaType.Int16, "Drop")), "Invisibility"),
|
|---|
| 161 | new Field(MetaType.Padding(4))), "Inventory"),
|
|---|
| 162 | new Field(MetaType.Enum<CharacterTeam>(), "Team"),
|
|---|
| 163 | new Field(MetaType.Int32, "AmmoPercentage"),
|
|---|
| 164 | new Field(new MetaStruct("CharacterAlert",
|
|---|
| 165 | new Field(MetaType.Enum<CharacterAlertStatus>(), "Initial"),
|
|---|
| 166 | new Field(MetaType.Enum<CharacterAlertStatus>(), "Minimal"),
|
|---|
| 167 | new Field(MetaType.Enum<CharacterAlertStatus>(), "JobStart"),
|
|---|
| 168 | new Field(MetaType.Enum<CharacterAlertStatus>(), "Investigate")), "Alert"),
|
|---|
| 169 | new Field(MetaType.Int32, "AlarmGroups"),
|
|---|
| 170 | new Field(new MetaStruct("CharacterPursuit",
|
|---|
| 171 | new Field(MetaType.Enum<CharacterPursuitMode>(), "StrongUnseen"),
|
|---|
| 172 | new Field(MetaType.Enum<CharacterPursuitMode>(), "WeakUnseen"),
|
|---|
| 173 | new Field(MetaType.Enum<CharacterPursuitMode>(), "StrongSeen"),
|
|---|
| 174 | new Field(MetaType.Enum<CharacterPursuitMode>(), "WeakSeen"),
|
|---|
| 175 | new Field(MetaType.Enum<CharacterPursuitLostBehavior>(), "Lost")), "Pursuit")
|
|---|
| 176 | );
|
|---|
| 177 |
|
|---|
| 178 | //
|
|---|
| 179 | // Combat Behavior Object
|
|---|
| 180 | //
|
|---|
| 181 |
|
|---|
| 182 | internal enum CombatBehaviorType : uint
|
|---|
| 183 | {
|
|---|
| 184 | None = 0,
|
|---|
| 185 | Stare = 1,
|
|---|
| 186 | HoldAndFire = 2,
|
|---|
| 187 | FiringCharge = 3,
|
|---|
| 188 | Melee = 4,
|
|---|
| 189 | BarabasShoot = 5,
|
|---|
| 190 | BarabasAdvance = 6,
|
|---|
| 191 | BarabasMelee = 7,
|
|---|
| 192 | SuperNinjaFireball = 8,
|
|---|
| 193 | SuperNinjaAdvance = 9,
|
|---|
| 194 | SuperNinjaMelee = 10,
|
|---|
| 195 | RunForAlarm = 11,
|
|---|
| 196 | MutantMuroMelee = 12,
|
|---|
| 197 | MuroThunderbolt = 13
|
|---|
| 198 | }
|
|---|
| 199 |
|
|---|
| 200 | internal enum CombatMeleeOverride : uint
|
|---|
| 201 | {
|
|---|
| 202 | None = 0,
|
|---|
| 203 | IfPunched = 1,
|
|---|
| 204 | Cancelled = 2,
|
|---|
| 205 | ShortRange = 3,
|
|---|
| 206 | MediumRange = 4,
|
|---|
| 207 | AlwaysMelee = 5
|
|---|
| 208 | }
|
|---|
| 209 |
|
|---|
| 210 | internal enum CombatNoGunBehavior : uint
|
|---|
| 211 | {
|
|---|
| 212 | Melee = 0,
|
|---|
| 213 | Retreat = 1,
|
|---|
| 214 | RunForAlarm = 2
|
|---|
| 215 | }
|
|---|
| 216 |
|
|---|
| 217 | public static readonly MetaStruct CombatProfile = new MetaStruct("CombatProfile",
|
|---|
| 218 | new Field(MetaType.String64, "Name"),
|
|---|
| 219 | new Field(MetaType.Int32, "CombatId"),
|
|---|
| 220 | new Field(new MetaStruct("CMBTBehaviors",
|
|---|
| 221 | new Field(MetaType.Enum<CombatBehaviorType>(), "LongRange"),
|
|---|
| 222 | new Field(MetaType.Enum<CombatBehaviorType>(), "MediumRange"),
|
|---|
| 223 | new Field(MetaType.Enum<CombatBehaviorType>(), "ShortRange"),
|
|---|
| 224 | new Field(MetaType.Enum<CombatBehaviorType>(), "MediumRetreat"),
|
|---|
| 225 | new Field(MetaType.Enum<CombatBehaviorType>(), "LongRetreat")), "Behaviors"),
|
|---|
| 226 | new Field(new MetaStruct("CMBTCombat",
|
|---|
| 227 | new Field(MetaType.Float, "MediumRange"),
|
|---|
| 228 | new Field(MetaType.Enum<CombatMeleeOverride>(), "MeleeOverride"),
|
|---|
| 229 | new Field(MetaType.Enum<CombatNoGunBehavior>(), "NoGunBehavior"),
|
|---|
| 230 | new Field(MetaType.Float, "ShortRange"),
|
|---|
| 231 | new Field(MetaType.Float, "PursuitDistance")), "Combat"),
|
|---|
| 232 | new Field(new MetaStruct("CMBTPanic",
|
|---|
| 233 | new Field(MetaType.Int32, "Hurt"),
|
|---|
| 234 | new Field(MetaType.Int32, "GunFire"),
|
|---|
| 235 | new Field(MetaType.Int32, "Melee"),
|
|---|
| 236 | new Field(MetaType.Int32, "Sight")), "Panic"),
|
|---|
| 237 | new Field(new MetaStruct("CMBTAlarm",
|
|---|
| 238 | new Field(MetaType.Float, "SearchDistance"),
|
|---|
| 239 | new Field(MetaType.Float, "EnemyIgnoreDistance"),
|
|---|
| 240 | new Field(MetaType.Float, "EnemyAttackDistance"),
|
|---|
| 241 | new Field(MetaType.Int32, "DamageThreshold"),
|
|---|
| 242 | new Field(MetaType.Int32, "FightTimer")), "Alarm")
|
|---|
| 243 | );
|
|---|
| 244 |
|
|---|
| 245 | //
|
|---|
| 246 | // Console Object
|
|---|
| 247 | //
|
|---|
| 248 |
|
|---|
| 249 | [Flags]
|
|---|
| 250 | internal enum ConsoleFlags : ushort
|
|---|
| 251 | {
|
|---|
| 252 | None = 0x00,
|
|---|
| 253 | InitialActive = 0x08,
|
|---|
| 254 | Punch = 0x20,
|
|---|
| 255 | IsAlarm = 0x40
|
|---|
| 256 | }
|
|---|
| 257 |
|
|---|
| 258 | public static readonly MetaStruct Console = new MetaStruct("Console",
|
|---|
| 259 | new Field(MetaType.String63, "Class"),
|
|---|
| 260 | new Field(MetaType.Int16, "ConsoleId"),
|
|---|
| 261 | new Field(MetaType.Enum<ConsoleFlags>(), "Flags"),
|
|---|
| 262 | new Field(MetaType.String63, "InactiveTexture"),
|
|---|
| 263 | new Field(MetaType.String63, "ActiveTexture"),
|
|---|
| 264 | new Field(MetaType.String63, "TriggeredTexture")
|
|---|
| 265 | );
|
|---|
| 266 |
|
|---|
| 267 | //
|
|---|
| 268 | // Door Object
|
|---|
| 269 | //
|
|---|
| 270 |
|
|---|
| 271 | [Flags]
|
|---|
| 272 | internal enum DoorFlags : ushort
|
|---|
| 273 | {
|
|---|
| 274 | None = 0x00,
|
|---|
| 275 | InitialLocked = 0x01,
|
|---|
| 276 | InDoorFrame = 0x04,
|
|---|
| 277 | Manual = 0x10,
|
|---|
| 278 | DoubleDoor = 0x80,
|
|---|
| 279 | Mirror = 0x0100,
|
|---|
| 280 | OneWay = 0x0200,
|
|---|
| 281 | Reverse = 0x0400,
|
|---|
| 282 | Jammed = 0x800,
|
|---|
| 283 | InitialOpen = 0x1000,
|
|---|
| 284 | }
|
|---|
| 285 |
|
|---|
| 286 | public static readonly MetaStruct Door = new MetaStruct("Door",
|
|---|
| 287 | new Field(MetaType.String63, "Class"),
|
|---|
| 288 | new Field(MetaType.Int16, "DoorId"),
|
|---|
| 289 | new Field(MetaType.Int16, "KeyId"),
|
|---|
| 290 | new Field(MetaType.Enum<DoorFlags>(), "Flags"),
|
|---|
| 291 | new Field(MetaType.Vector3, "Center"),
|
|---|
| 292 | new Field(MetaType.Float, "SquaredActivationRadius"),
|
|---|
| 293 | new Field(MetaType.String63, "Texture1"),
|
|---|
| 294 | new Field(MetaType.String63, "Texture2")
|
|---|
| 295 | );
|
|---|
| 296 |
|
|---|
| 297 | //
|
|---|
| 298 | // Flag Object
|
|---|
| 299 | //
|
|---|
| 300 |
|
|---|
| 301 | public static readonly MetaStruct Flag = new MetaStruct("Flag",
|
|---|
| 302 | new Field(MetaType.Color, "Color"),
|
|---|
| 303 | new Field(MetaType.Int16, "Prefix"),
|
|---|
| 304 | new Field(MetaType.Int16, "FlagId"),
|
|---|
| 305 | new Field(MetaType.String128, "Notes")
|
|---|
| 306 | );
|
|---|
| 307 |
|
|---|
| 308 | //
|
|---|
| 309 | // Furniture Object
|
|---|
| 310 | //
|
|---|
| 311 |
|
|---|
| 312 | public static readonly MetaStruct Furniture = new MetaStruct("Furniture",
|
|---|
| 313 | new Field(MetaType.String32, "Class"),
|
|---|
| 314 | new Field(MetaType.String48, "Particle")
|
|---|
| 315 | );
|
|---|
| 316 |
|
|---|
| 317 | //
|
|---|
| 318 | // Melee Object
|
|---|
| 319 | //
|
|---|
| 320 |
|
|---|
| 321 | public static readonly MetaStruct MeleeProfile = new MetaStruct("MeleeProfile",
|
|---|
| 322 | new Field(MetaType.Int32, "MeleeId"),
|
|---|
| 323 | new Field(MetaType.String64, "Name"),
|
|---|
| 324 | new Field(MetaType.String64, "CharacterClass"),
|
|---|
| 325 | new Field(MetaType.Int32, "Notice"),
|
|---|
| 326 | new Field(new MetaStruct("MeleeDodge",
|
|---|
| 327 | new Field(MetaType.Int32, "Base"),
|
|---|
| 328 | new Field(MetaType.Int32, "Extra"),
|
|---|
| 329 | new Field(MetaType.Int32, "ExtraDamageThreshold")), "Dodge"),
|
|---|
| 330 | new Field(new MetaStruct("MeleeBlockSkill",
|
|---|
| 331 | new Field(MetaType.Int32, "Single"),
|
|---|
| 332 | new Field(MetaType.Int32, "Group")), "BlockSkill"),
|
|---|
| 333 | new Field(MetaType.Float, "NotBlocked"),
|
|---|
| 334 | new Field(MetaType.Float, "MustChangeStance"),
|
|---|
| 335 | new Field(MetaType.Float, "BlockedButUnblockable"),
|
|---|
| 336 | new Field(MetaType.Float, "BlockedButHasStagger"),
|
|---|
| 337 | new Field(MetaType.Float, "BlockedButHasBlockstun"),
|
|---|
| 338 | new Field(MetaType.Float, "Blocked"),
|
|---|
| 339 | new Field(MetaType.Float, "ThrowDanger"),
|
|---|
| 340 | new Field(MetaType.Int16, "DazedMinFrames"),
|
|---|
| 341 | new Field(MetaType.Int16, "DazedMaxFrames")
|
|---|
| 342 | );
|
|---|
| 343 |
|
|---|
| 344 | [Flags]
|
|---|
| 345 | internal enum MeleeTechniqueFlags : uint
|
|---|
| 346 | {
|
|---|
| 347 | None = 0x00,
|
|---|
| 348 | Interruptible = 0x01,
|
|---|
| 349 | GenerousDir = 0x02,
|
|---|
| 350 | Fearless = 0x04
|
|---|
| 351 | }
|
|---|
| 352 |
|
|---|
| 353 | public static readonly MetaStruct MeleeTechnique = new MetaStruct("MeleeTechnique",
|
|---|
| 354 | new Field(MetaType.String64, "Name"),
|
|---|
| 355 | new Field(MetaType.Enum<MeleeTechniqueFlags>(), "Flags"),
|
|---|
| 356 | new Field(MetaType.UInt32, "Weight"),
|
|---|
| 357 | new Field(MetaType.UInt32, "Importance"),
|
|---|
| 358 | new Field(MetaType.UInt32, "RepeatDelay")
|
|---|
| 359 | );
|
|---|
| 360 |
|
|---|
| 361 | internal enum MeleeMoveCategory
|
|---|
| 362 | {
|
|---|
| 363 | Attack = 0,
|
|---|
| 364 | Position = 16,
|
|---|
| 365 | Maneuver = 32,
|
|---|
| 366 | Evade = 48,
|
|---|
| 367 | Throw = 64
|
|---|
| 368 | }
|
|---|
| 369 |
|
|---|
| 370 | internal enum MeleeMoveAttackType
|
|---|
| 371 | {
|
|---|
| 372 | P,
|
|---|
| 373 | PP,
|
|---|
| 374 | PPP,
|
|---|
| 375 | PPPP,
|
|---|
| 376 | PF,
|
|---|
| 377 | PL,
|
|---|
| 378 | PR,
|
|---|
| 379 | PB,
|
|---|
| 380 | PD,
|
|---|
| 381 | PF_PF,
|
|---|
| 382 | PF_PF_PF,
|
|---|
| 383 | PL_PL,
|
|---|
| 384 | PL_PL_PL,
|
|---|
| 385 | PR_PR,
|
|---|
| 386 | PR_PR_PR,
|
|---|
| 387 | PB_PB,
|
|---|
| 388 | PB_PB_PB,
|
|---|
| 389 | PD_PD,
|
|---|
| 390 | PD_PD_PD,
|
|---|
| 391 | K,
|
|---|
| 392 | KK,
|
|---|
| 393 | KKK,
|
|---|
| 394 | KKKF,
|
|---|
| 395 | KF,
|
|---|
| 396 | KL,
|
|---|
| 397 | KR,
|
|---|
| 398 | KB,
|
|---|
| 399 | KD,
|
|---|
| 400 | KF_KF,
|
|---|
| 401 | KF_KF_KF,
|
|---|
| 402 | KL_KL,
|
|---|
| 403 | KL_KL_KL,
|
|---|
| 404 | KR_KR,
|
|---|
| 405 | KR_KR_KR,
|
|---|
| 406 | KB_KB,
|
|---|
| 407 | KB_KB_KB,
|
|---|
| 408 | KD_KD,
|
|---|
| 409 | KD_KD_KD,
|
|---|
| 410 | PPK,
|
|---|
| 411 | PKK,
|
|---|
| 412 | PKP,
|
|---|
| 413 | KPK,
|
|---|
| 414 | KPP,
|
|---|
| 415 | KKP,
|
|---|
| 416 | PK,
|
|---|
| 417 | KP,
|
|---|
| 418 | PPKK,
|
|---|
| 419 | PPKKK,
|
|---|
| 420 | PPKKKKK,
|
|---|
| 421 | HP,
|
|---|
| 422 | HPF,
|
|---|
| 423 | HK,
|
|---|
| 424 | HKF,
|
|---|
| 425 | CS_P,
|
|---|
| 426 | CS_K,
|
|---|
| 427 | C_P1,
|
|---|
| 428 | C_P2,
|
|---|
| 429 | C_PF,
|
|---|
| 430 | C_K1,
|
|---|
| 431 | C_K2,
|
|---|
| 432 | C_KF,
|
|---|
| 433 | GETUP_KF,
|
|---|
| 434 | GETUP_KB,
|
|---|
| 435 | R_P,
|
|---|
| 436 | R_K,
|
|---|
| 437 | RB_P,
|
|---|
| 438 | RB_K,
|
|---|
| 439 | RL_P,
|
|---|
| 440 | RL_K,
|
|---|
| 441 | RR_P,
|
|---|
| 442 | RR_K,
|
|---|
| 443 | R_SLIDE,
|
|---|
| 444 | J_P,
|
|---|
| 445 | J_K,
|
|---|
| 446 | JF_P,
|
|---|
| 447 | JF_PB,
|
|---|
| 448 | JF_K,
|
|---|
| 449 | JF_KB,
|
|---|
| 450 | JB_P,
|
|---|
| 451 | JB_K,
|
|---|
| 452 | JL_P,
|
|---|
| 453 | JL_K,
|
|---|
| 454 | JR_P,
|
|---|
| 455 | JR_K
|
|---|
| 456 | }
|
|---|
| 457 |
|
|---|
| 458 | internal enum MeleeMovePositionType
|
|---|
| 459 | {
|
|---|
| 460 | RunForward,
|
|---|
| 461 | RunLeft,
|
|---|
| 462 | RunRight,
|
|---|
| 463 | RunBack,
|
|---|
| 464 |
|
|---|
| 465 | JumpUp,
|
|---|
| 466 | JumpForward,
|
|---|
| 467 | JumpLeft,
|
|---|
| 468 | JumpRight,
|
|---|
| 469 | JumpBack,
|
|---|
| 470 | StartToCrouch,
|
|---|
| 471 | Crouch,
|
|---|
| 472 | Stand,
|
|---|
| 473 |
|
|---|
| 474 | CloseForward,
|
|---|
| 475 | CloseLeft,
|
|---|
| 476 | CloseRight,
|
|---|
| 477 | CloseBack,
|
|---|
| 478 |
|
|---|
| 479 | RunJumpForward,
|
|---|
| 480 | RunJumpLeft,
|
|---|
| 481 | RunJumpRight,
|
|---|
| 482 | RunJumpBack
|
|---|
| 483 | }
|
|---|
| 484 |
|
|---|
| 485 | internal enum MeleeMoveManeuverType
|
|---|
| 486 | {
|
|---|
| 487 | Advance, // Duration, MinRange, ThresholdRange
|
|---|
| 488 | Retreat, // Duration, MaxRange, ThresholdRange
|
|---|
| 489 | CircleLeft, // Duration, MinAngle, MaxAngle
|
|---|
| 490 | CircleRight, // Duration, MinAngle, MaxAngle
|
|---|
| 491 | Pause, // Duration
|
|---|
| 492 | Crouch, // Duration
|
|---|
| 493 | Jump, // Duration
|
|---|
| 494 | Taunt, // Duration
|
|---|
| 495 | RandomStop, // Chance
|
|---|
| 496 | GetUpForward, // Duration
|
|---|
| 497 | GetUpBackward, // Duration
|
|---|
| 498 | GetUpRollLeft, // Duration
|
|---|
| 499 | GetUpRollRight, // Duration
|
|---|
| 500 | BarabasWave // MaxRange
|
|---|
| 501 | }
|
|---|
| 502 |
|
|---|
| 503 | internal class MeleeMoveTypeInfo
|
|---|
| 504 | {
|
|---|
| 505 | public MeleeMoveManeuverType Type;
|
|---|
| 506 | public string[] ParamNames;
|
|---|
| 507 |
|
|---|
| 508 | public MeleeMoveTypeInfo(MeleeMoveManeuverType type, params string[] paramNames)
|
|---|
| 509 | {
|
|---|
| 510 | Type = type;
|
|---|
| 511 | ParamNames = paramNames;
|
|---|
| 512 | }
|
|---|
| 513 | }
|
|---|
| 514 |
|
|---|
| 515 | public static readonly MeleeMoveTypeInfo[] MeleeMoveManeuverTypeInfo = new MeleeMoveTypeInfo[]
|
|---|
| 516 | {
|
|---|
| 517 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Advance, "Duration", "MinRange", "ThresholdRange"),
|
|---|
| 518 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Retreat, "Duration", "MaxRange", "ThresholdRange"),
|
|---|
| 519 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.CircleLeft, "Duration", "MinAngle", "MaxAngle"),
|
|---|
| 520 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.CircleRight, "Duration", "MinAngle", "MaxAngle"),
|
|---|
| 521 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Pause, "Duration"),
|
|---|
| 522 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Crouch, "Duration"),
|
|---|
| 523 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Jump, "Duration"),
|
|---|
| 524 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.Taunt, "Duration"),
|
|---|
| 525 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.RandomStop, "Chance"),
|
|---|
| 526 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.GetUpForward, "Duration"),
|
|---|
| 527 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.GetUpBackward, "Duration"),
|
|---|
| 528 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.GetUpRollLeft, "Duration"),
|
|---|
| 529 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.GetUpRollRight, "Duration"),
|
|---|
| 530 | new MeleeMoveTypeInfo(MeleeMoveManeuverType.BarabasWave, "MaxRange")
|
|---|
| 531 | };
|
|---|
| 532 |
|
|---|
| 533 | internal enum MeleeMoveEvadeType
|
|---|
| 534 | {
|
|---|
| 535 | JumpForward,
|
|---|
| 536 | JumpForward2,
|
|---|
| 537 | JumpBack,
|
|---|
| 538 | JumpBack2,
|
|---|
| 539 | JumpLeft,
|
|---|
| 540 | JumpLeft2,
|
|---|
| 541 | JumpRight,
|
|---|
| 542 | JumpRight2,
|
|---|
| 543 | RunJumpForward,
|
|---|
| 544 | RunJumpForward2,
|
|---|
| 545 | RunJumpBack,
|
|---|
| 546 | RunJumpBack2,
|
|---|
| 547 | RunJumpLeft,
|
|---|
| 548 | RunJumpLeft2,
|
|---|
| 549 | RunJumpRight,
|
|---|
| 550 | RunJumpRight2,
|
|---|
| 551 | RollForward,
|
|---|
| 552 | RollBackward,
|
|---|
| 553 | RollLeft,
|
|---|
| 554 | RollRight,
|
|---|
| 555 | SlideForward,
|
|---|
| 556 | SlideBack,
|
|---|
| 557 | SlideLeft,
|
|---|
| 558 | SlideRight
|
|---|
| 559 | }
|
|---|
| 560 |
|
|---|
| 561 | internal enum MeleeMoveThrowType
|
|---|
| 562 | {
|
|---|
| 563 | P_Front,
|
|---|
| 564 | K_Front,
|
|---|
| 565 | P_Behind,
|
|---|
| 566 | K_Behind,
|
|---|
| 567 | RP_Front,
|
|---|
| 568 | RK_Front,
|
|---|
| 569 | RP_Behind,
|
|---|
| 570 | RK_Behind,
|
|---|
| 571 | P_FrontDisarm,
|
|---|
| 572 | K_FrontDisarm,
|
|---|
| 573 | P_BehindDisarm,
|
|---|
| 574 | K_BehindDisarm,
|
|---|
| 575 | RP_FrontDisarm,
|
|---|
| 576 | RK_FrontDisarm,
|
|---|
| 577 | RP_BehindDisarm,
|
|---|
| 578 | RK_BehindDisarm,
|
|---|
| 579 | P_FrontRifDisarm,
|
|---|
| 580 | K_FrontRifDisarm,
|
|---|
| 581 | P_BehindRifDisarm,
|
|---|
| 582 | K_BehindRifDisarm,
|
|---|
| 583 | RP_FrontRifDisarm,
|
|---|
| 584 | RK_FrontRifDisarm,
|
|---|
| 585 | RP_BehindRifDisarm,
|
|---|
| 586 | RK_BehindRifDisarm,
|
|---|
| 587 | Tackle
|
|---|
| 588 | }
|
|---|
| 589 |
|
|---|
| 590 | public static readonly MetaStruct MeleeMove = new MetaStruct("MeleeMove",
|
|---|
| 591 | new Field(MetaType.Int32, "Type"),
|
|---|
| 592 | new Field(MetaType.Float, "Param1"),
|
|---|
| 593 | new Field(MetaType.Float, "Param2"),
|
|---|
| 594 | new Field(MetaType.Float, "Param3")
|
|---|
| 595 | );
|
|---|
| 596 |
|
|---|
| 597 | //
|
|---|
| 598 | // Neutral Object
|
|---|
| 599 | //
|
|---|
| 600 |
|
|---|
| 601 | [Flags]
|
|---|
| 602 | internal enum NeutralFlags : uint
|
|---|
| 603 | {
|
|---|
| 604 | None = 0x00,
|
|---|
| 605 | NoResume = 0x01,
|
|---|
| 606 | NoResumeAfterGive = 0x02,
|
|---|
| 607 | Uninterruptible = 0x04
|
|---|
| 608 | }
|
|---|
| 609 |
|
|---|
| 610 | [Flags]
|
|---|
| 611 | public enum NeutralItems : byte
|
|---|
| 612 | {
|
|---|
| 613 | None = 0,
|
|---|
| 614 | Shield = 1,
|
|---|
| 615 | Invisibility = 2,
|
|---|
| 616 | LSI = 4
|
|---|
| 617 | }
|
|---|
| 618 |
|
|---|
| 619 | public static readonly MetaStruct NeutralBehavior = new MetaStruct("NeutralBehavior",
|
|---|
| 620 | new Field(MetaType.String32, "Name"),
|
|---|
| 621 | new Field(MetaType.Int16, "NeutralId")
|
|---|
| 622 | );
|
|---|
| 623 |
|
|---|
| 624 | public static readonly MetaStruct NeutralBehaviorParams = new MetaStruct("NeutralBehaviorParams",
|
|---|
| 625 | new Field(MetaType.Enum<NeutralFlags>(), "Flags"),
|
|---|
| 626 | new Field(new MetaStruct("NeutralBehaviorRange",
|
|---|
| 627 | new Field(MetaType.Float, "Trigger"),
|
|---|
| 628 | new Field(MetaType.Float, "Talk"),
|
|---|
| 629 | new Field(MetaType.Float, "Follow"),
|
|---|
| 630 | new Field(MetaType.Float, "Enemy")), "Ranges"),
|
|---|
| 631 | new Field(new MetaStruct("NeutralehaviorSpeech",
|
|---|
| 632 | new Field(MetaType.String32, "Trigger"),
|
|---|
| 633 | new Field(MetaType.String32, "Abort"),
|
|---|
| 634 | new Field(MetaType.String32, "Enemy")), "Speech"),
|
|---|
| 635 | new Field(new MetaStruct("NeutralBehaviorScript",
|
|---|
| 636 | new Field(MetaType.String32, "AfterTalk")), "Script"),
|
|---|
| 637 | new Field(new MetaStruct("NeutralBehaviorRewards",
|
|---|
| 638 | new Field(MetaType.String32, "WeaponClass"),
|
|---|
| 639 | new Field(MetaType.Byte, "Ammo"),
|
|---|
| 640 | new Field(MetaType.Byte, "EnergyCell"),
|
|---|
| 641 | new Field(MetaType.Byte, "Hypo"),
|
|---|
| 642 | new Field(MetaType.Enum<NeutralItems>(), "Other")), "Rewards")
|
|---|
| 643 | );
|
|---|
| 644 |
|
|---|
| 645 | [Flags]
|
|---|
| 646 | public enum NeutralDialogLineFlags : ushort
|
|---|
| 647 | {
|
|---|
| 648 | None = 0x00,
|
|---|
| 649 | IsPlayer = 0x01,
|
|---|
| 650 | GiveItems = 0x02,
|
|---|
| 651 | AnimOnce = 0x04,
|
|---|
| 652 | OtherAnimOnce = 0x08
|
|---|
| 653 | }
|
|---|
| 654 |
|
|---|
| 655 | public static readonly MetaStruct NeutralBehaviorDialogLine = new MetaStruct("DialogLine",
|
|---|
| 656 | new Field(MetaType.Enum<NeutralDialogLineFlags>(), "Flags"),
|
|---|
| 657 | new Field(MetaType.Padding(2)),
|
|---|
| 658 | new Field(MetaType.Int16, "Anim"),
|
|---|
| 659 | new Field(MetaType.Int16, "OtherAnim"),
|
|---|
| 660 | new Field(MetaType.String32, "SpeechName")
|
|---|
| 661 | );
|
|---|
| 662 |
|
|---|
| 663 | //
|
|---|
| 664 | // Particle Object
|
|---|
| 665 | //
|
|---|
| 666 |
|
|---|
| 667 | [Flags]
|
|---|
| 668 | internal enum ParticleFlags : ushort
|
|---|
| 669 | {
|
|---|
| 670 | None = 0x00,
|
|---|
| 671 | NotInitiallyCreated = 0x02,
|
|---|
| 672 | }
|
|---|
| 673 |
|
|---|
| 674 | public static readonly MetaStruct Particle = new MetaStruct("Particle",
|
|---|
| 675 | new Field(MetaType.String64, "Class"),
|
|---|
| 676 | new Field(MetaType.String48, "Tag"),
|
|---|
| 677 | new Field(MetaType.Enum<ParticleFlags>(), "Flags"),
|
|---|
| 678 | new Field(MetaType.Vector2, "DecalScale")
|
|---|
| 679 | );
|
|---|
| 680 |
|
|---|
| 681 | //
|
|---|
| 682 | // Patrol Path Object
|
|---|
| 683 | //
|
|---|
| 684 |
|
|---|
| 685 | internal enum PatrolPathPointType
|
|---|
| 686 | {
|
|---|
| 687 | MoveToFlag = 0,
|
|---|
| 688 | Stop = 1,
|
|---|
| 689 | Pause = 2,
|
|---|
| 690 | LookAtFlag = 3,
|
|---|
| 691 | LookAtPoint = 4,
|
|---|
| 692 | MoveAndFaceFlag = 5,
|
|---|
| 693 | Loop = 6,
|
|---|
| 694 | MovementMode = 7,
|
|---|
| 695 | MoveToPoint = 8,
|
|---|
| 696 | LockFacing = 9,
|
|---|
| 697 | MoveThroughFlag = 10,
|
|---|
| 698 | MoveThroughPoint = 11,
|
|---|
| 699 | StopLooking = 12,
|
|---|
| 700 | FreeFacing = 13,
|
|---|
| 701 | GlanceAtFlagFor = 14, // unused ?
|
|---|
| 702 | MoveNearFlag = 15,
|
|---|
| 703 | LoopFrom = 16,
|
|---|
| 704 | Scan = 17, // unused ?
|
|---|
| 705 | StopScanning = 18,
|
|---|
| 706 | MoveToFlagLookAndWait = 19,
|
|---|
| 707 | CallScript = 20,
|
|---|
| 708 | ForkScript = 21,
|
|---|
| 709 | IgnorePlayer = 22,
|
|---|
| 710 | FaceToFlagAndFire = 23
|
|---|
| 711 | }
|
|---|
| 712 |
|
|---|
| 713 | internal enum PatrolPathFacing
|
|---|
| 714 | {
|
|---|
| 715 | Forward = 0,
|
|---|
| 716 | Backward = 1,
|
|---|
| 717 | Left = 1,
|
|---|
| 718 | Right = 2,
|
|---|
| 719 | Stopped = 3
|
|---|
| 720 | }
|
|---|
| 721 |
|
|---|
| 722 | internal enum PatrolPathMovementMode
|
|---|
| 723 | {
|
|---|
| 724 | ByAlertLevel = 0,
|
|---|
| 725 | Stop = 1,
|
|---|
| 726 | Crouch = 2,
|
|---|
| 727 | Creep = 3,
|
|---|
| 728 | WalkNoAim = 4,
|
|---|
| 729 | Walk = 5,
|
|---|
| 730 | RunNoAim = 6,
|
|---|
| 731 | Run = 7
|
|---|
| 732 | }
|
|---|
| 733 |
|
|---|
| 734 | public static readonly MetaStruct PatrolPath = new MetaStruct("PatrolPath",
|
|---|
| 735 | new Field(MetaType.String32, "Name")
|
|---|
| 736 | );
|
|---|
| 737 |
|
|---|
| 738 | public static readonly MetaStruct PatrolPathInfo = new MetaStruct("PatrolPathInfo",
|
|---|
| 739 | new Field(MetaType.Int16, "PatrolId"),
|
|---|
| 740 | new Field(MetaType.Int16, "ReturnToNearest")
|
|---|
| 741 | );
|
|---|
| 742 |
|
|---|
| 743 | public static int GetPatrolPathPointSize(PatrolPathPointType pointType)
|
|---|
| 744 | {
|
|---|
| 745 | switch (pointType)
|
|---|
| 746 | {
|
|---|
| 747 | case PatrolPathPointType.IgnorePlayer:
|
|---|
| 748 | return 1;
|
|---|
| 749 | case PatrolPathPointType.MoveToFlag:
|
|---|
| 750 | case PatrolPathPointType.LookAtFlag:
|
|---|
| 751 | case PatrolPathPointType.MoveAndFaceFlag:
|
|---|
| 752 | case PatrolPathPointType.ForkScript:
|
|---|
| 753 | case PatrolPathPointType.CallScript:
|
|---|
| 754 | return 2;
|
|---|
| 755 | case PatrolPathPointType.Pause:
|
|---|
| 756 | case PatrolPathPointType.MovementMode:
|
|---|
| 757 | case PatrolPathPointType.LoopFrom:
|
|---|
| 758 | case PatrolPathPointType.LockFacing:
|
|---|
| 759 | return 4;
|
|---|
| 760 | case PatrolPathPointType.MoveThroughFlag:
|
|---|
| 761 | case PatrolPathPointType.MoveNearFlag:
|
|---|
| 762 | case PatrolPathPointType.GlanceAtFlagFor:
|
|---|
| 763 | case PatrolPathPointType.Scan:
|
|---|
| 764 | return 6;
|
|---|
| 765 | case PatrolPathPointType.MoveToFlagLookAndWait:
|
|---|
| 766 | case PatrolPathPointType.FaceToFlagAndFire:
|
|---|
| 767 | return 8;
|
|---|
| 768 | case PatrolPathPointType.LookAtPoint:
|
|---|
| 769 | case PatrolPathPointType.MoveToPoint:
|
|---|
| 770 | return 12;
|
|---|
| 771 | case PatrolPathPointType.MoveThroughPoint:
|
|---|
| 772 | return 16;
|
|---|
| 773 | default:
|
|---|
| 774 | return 0;
|
|---|
| 775 | }
|
|---|
| 776 | }
|
|---|
| 777 |
|
|---|
| 778 | //
|
|---|
| 779 | // PowerUp Object
|
|---|
| 780 | //
|
|---|
| 781 |
|
|---|
| 782 | internal enum PowerUpClass : uint
|
|---|
| 783 | {
|
|---|
| 784 | Ammo = 0x424D4D41,
|
|---|
| 785 | EnergyCell = 0x454D4D41,
|
|---|
| 786 | Hypo = 0x4F505948,
|
|---|
| 787 | Shield = 0x444C4853,
|
|---|
| 788 | Invisibility = 0x49564E49,
|
|---|
| 789 | LSI = 0x49534C41,
|
|---|
| 790 | }
|
|---|
| 791 |
|
|---|
| 792 | public static readonly MetaStruct PowerUp = new MetaStruct("PowerUp",
|
|---|
| 793 | new Field(MetaType.Enum<PowerUpClass>(), "Class")
|
|---|
| 794 | );
|
|---|
| 795 |
|
|---|
| 796 | //
|
|---|
| 797 | // Sound Object
|
|---|
| 798 | //
|
|---|
| 799 |
|
|---|
| 800 | internal enum SoundVolumeType
|
|---|
| 801 | {
|
|---|
| 802 | Box = 0x564C4D45,
|
|---|
| 803 | Sphere = 0x53504852
|
|---|
| 804 | }
|
|---|
| 805 |
|
|---|
| 806 | public static readonly MetaStruct Sound = new MetaStruct("Sound",
|
|---|
| 807 | new Field(MetaType.String32, "Class")
|
|---|
| 808 | );
|
|---|
| 809 |
|
|---|
| 810 | public static readonly MetaStruct SoundSphere = new MetaStruct("SoundSphere",
|
|---|
| 811 | new Field(MetaType.Float, "MinRadius"),
|
|---|
| 812 | new Field(MetaType.Float, "MaxRadius")
|
|---|
| 813 | );
|
|---|
| 814 |
|
|---|
| 815 | public static readonly MetaStruct SoundParams = new MetaStruct("SoundParams",
|
|---|
| 816 | new Field(MetaType.Float, "Volume"),
|
|---|
| 817 | new Field(MetaType.Float, "Pitch")
|
|---|
| 818 | );
|
|---|
| 819 |
|
|---|
| 820 | //
|
|---|
| 821 | // Trigger Volume Object
|
|---|
| 822 | //
|
|---|
| 823 |
|
|---|
| 824 | [Flags]
|
|---|
| 825 | public enum TriggerVolumeFlags : uint
|
|---|
| 826 | {
|
|---|
| 827 | None = 0x00,
|
|---|
| 828 | OneTimeEnter = 0x01,
|
|---|
| 829 | OneTimeInside = 0x02,
|
|---|
| 830 | OneTimeExit = 0x04,
|
|---|
| 831 | EnterDisabled = 0x08,
|
|---|
| 832 | InsideDisabled = 0x10,
|
|---|
| 833 | ExitDisabled = 0x20,
|
|---|
| 834 | Disabled = 0x40,
|
|---|
| 835 | PlayerOnly = 0x80
|
|---|
| 836 | }
|
|---|
| 837 |
|
|---|
| 838 | public static readonly MetaStruct TriggerVolume = new MetaStruct("TriggerVolume",
|
|---|
| 839 | new Field(MetaType.String63, "Name"),
|
|---|
| 840 | new Field(new MetaStruct("TriggerVolumeScripts",
|
|---|
| 841 | new Field(MetaType.String32, "Entry"),
|
|---|
| 842 | new Field(MetaType.String32, "Inside"),
|
|---|
| 843 | new Field(MetaType.String32, "Exit")), "Scripts"),
|
|---|
| 844 | new Field(MetaType.Byte, "Teams"),
|
|---|
| 845 | new Field(MetaType.Padding(3)),
|
|---|
| 846 | new Field(MetaType.Vector3, "Size"),
|
|---|
| 847 | new Field(MetaType.Int32, "TriggerVolumeId"),
|
|---|
| 848 | new Field(MetaType.Int32, "ParentId"),
|
|---|
| 849 | new Field(MetaType.String128, "Notes"),
|
|---|
| 850 | new Field(MetaType.Enum<TriggerVolumeFlags>(), "Flags")
|
|---|
| 851 | );
|
|---|
| 852 |
|
|---|
| 853 | //
|
|---|
| 854 | // Trigger Object
|
|---|
| 855 | //
|
|---|
| 856 |
|
|---|
| 857 | [Flags]
|
|---|
| 858 | public enum TriggerFlags : ushort
|
|---|
| 859 | {
|
|---|
| 860 | None = 0,
|
|---|
| 861 | InitialActive = 0x0008,
|
|---|
| 862 | ReverseAnim = 0x0010,
|
|---|
| 863 | PingPong = 0x0020,
|
|---|
| 864 | }
|
|---|
| 865 |
|
|---|
| 866 | public static readonly MetaStruct Trigger = new MetaStruct("Trigger",
|
|---|
| 867 | new Field(MetaType.String63, "Class"),
|
|---|
| 868 | new Field(MetaType.Int16, "TriggerId"),
|
|---|
| 869 | new Field(MetaType.Enum<TriggerFlags>(), "Flags"),
|
|---|
| 870 | new Field(MetaType.Color, "LaserColor"),
|
|---|
| 871 | new Field(MetaType.Float, "StartPosition"),
|
|---|
| 872 | new Field(MetaType.Float, "Speed"),
|
|---|
| 873 | new Field(MetaType.Int16, "EmitterCount"),
|
|---|
| 874 | new Field(MetaType.Int16, "TimeOn"),
|
|---|
| 875 | new Field(MetaType.Int16, "TimeOff")
|
|---|
| 876 | );
|
|---|
| 877 |
|
|---|
| 878 | //
|
|---|
| 879 | // Turret Object
|
|---|
| 880 | //
|
|---|
| 881 |
|
|---|
| 882 | [Flags]
|
|---|
| 883 | internal enum TurretTargetTeams : uint
|
|---|
| 884 | {
|
|---|
| 885 | None = 0x00,
|
|---|
| 886 | Konoko = 0x01,
|
|---|
| 887 | TCTF = 0x02,
|
|---|
| 888 | Syndicate = 0x04,
|
|---|
| 889 | Neutral = 0x08,
|
|---|
| 890 | SecurityGuard = 0x10,
|
|---|
| 891 | RogueKonoko = 0x20,
|
|---|
| 892 | Switzerland = 0x40,
|
|---|
| 893 | SyndicateAccessory = 0x80
|
|---|
| 894 | }
|
|---|
| 895 |
|
|---|
| 896 | [Flags]
|
|---|
| 897 | internal enum TurretFlags : ushort
|
|---|
| 898 | {
|
|---|
| 899 | None = 0,
|
|---|
| 900 | InitialActive = 0x0002,
|
|---|
| 901 | }
|
|---|
| 902 |
|
|---|
| 903 | public static readonly MetaStruct Turret = new MetaStruct("Turret",
|
|---|
| 904 | new Field(MetaType.String63, "Class"),
|
|---|
| 905 | new Field(MetaType.Int16, "TurretId"),
|
|---|
| 906 | new Field(MetaType.Enum<TurretFlags>(), "Flags"),
|
|---|
| 907 | new Field(MetaType.Padding(36)),
|
|---|
| 908 | new Field(MetaType.Enum<TurretTargetTeams>(), "TargetedTeams")
|
|---|
| 909 | );
|
|---|
| 910 |
|
|---|
| 911 | //
|
|---|
| 912 | // Weapon Object
|
|---|
| 913 | //
|
|---|
| 914 |
|
|---|
| 915 | public static readonly MetaStruct Weapon = new MetaStruct("Weapon",
|
|---|
| 916 | new Field(MetaType.String32, "Class")
|
|---|
| 917 | );
|
|---|
| 918 |
|
|---|
| 919 | internal enum EventType
|
|---|
| 920 | {
|
|---|
| 921 | None,
|
|---|
| 922 | Script,
|
|---|
| 923 | ActivateTurret,
|
|---|
| 924 | DeactivateTurret,
|
|---|
| 925 | ActivateConsole,
|
|---|
| 926 | DeactivateConsole,
|
|---|
| 927 | ActivateAlarm,
|
|---|
| 928 | DeactivateAlaram,
|
|---|
| 929 | ActivateTrigger,
|
|---|
| 930 | DeactivateTrigger,
|
|---|
| 931 | LockDoor,
|
|---|
| 932 | UnlockDoor
|
|---|
| 933 | }
|
|---|
| 934 | }
|
|---|
| 935 | }
|
|---|