| 1 |
#ifndef ONI_H |
| 2 |
#error Do not include this file directly, include Oni/Oni.h instead! |
| 3 |
#endif |
| 4 |
|
| 5 |
#ifndef CHARACTER_H |
| 6 |
#define CHARACTER_H |
| 7 |
|
| 8 |
enum { |
| 9 |
team_konoko, |
| 10 |
team_tctf, |
| 11 |
team_syndicate, |
| 12 |
team_neutral, |
| 13 |
team_securityguard, |
| 14 |
team_roguekonoko, |
| 15 |
team_switzerland, |
| 16 |
team_syndicateaccessory, |
| 17 |
}; |
| 18 |
|
| 19 |
|
| 20 |
//We need a Oni_Structs #include file. |
| 21 |
|
| 22 |
typedef enum { |
| 23 |
ONcCharacterFlag_Dead_1_Animating = 0x00000001, // health is 0 |
| 24 |
ONcCharacterFlag_Dead = ONcCharacterFlag_Dead_1_Animating, |
| 25 |
ONcCharacterFlag_Dead_2_Moving = 0x00000002, // no longer animating |
| 26 |
ONcCharacterFlag_Dead_3_Cosmetic = 0x00000004, // no longer moving |
| 27 |
ONcCharacterFlag_Dead_4_Gone = 0x00000008, // dead except but still drawn |
| 28 |
|
| 29 |
ONcCharacterFlag_HastyAnim = 0x00000010, // do this queued animation ASAP |
| 30 |
ONcCharacterFlag_Unkillable = 0x00000020, // the character cannot be killed, only defeated |
| 31 |
ONcCharacterFlag_InfiniteAmmo = 0x00000040, // the character always has infinite ammo |
| 32 |
ONcCharacterFlag_PleaseBlock = 0x00000080, // set if the character should block, cleared once block begins |
| 33 |
|
| 34 |
ONcCharacterFlag_Unstoppable = 0x00000100, // this character cannot be knocked down, staggered, stunned, etc |
| 35 |
ONcCharacterFlag_ScriptControl = 0x00000200, // set if the character is completely under script control |
| 36 |
ONcCharacterFlag_DeathLock = 0x00000400, // this character should never die all the way |
| 37 |
ONcCharacterFlag_WasUpdated = 0x00000800, // this character's animation was changed |
| 38 |
|
| 39 |
ONcCharacterFlag_BeingThrown = 0x00001000, // this character is being thrown |
| 40 |
ONcCharacterFlag_DontUseGunVariant = 0x00002000, // this character should not use a weapon variant |
| 41 |
ONcCharacterFlag_Draw = 0x00004000, // DoFrame has been executed for this character |
| 42 |
ONcCharacterFlag_InUse = 0x00008000, // this character is active and in use |
| 43 |
|
| 44 |
ONcCharacterFlag_DontUseFightVariant = 0x00010000, |
| 45 |
ONcCharacterFlag_NoCollision = 0x00020000, // no collision for this character |
| 46 |
ONcCharacterFlag_Teleporting = 0x00040000, // this character is teleporting and does not accept collision |
| 47 |
ONcCharacterFlag_NoCorpse = 0x00080000, // no corpse for this character |
| 48 |
|
| 49 |
ONcCharacterFlag_ActiveLock = 0x00100000, // the character is locked active |
| 50 |
ONcCharacterFlag_ChrAnimate = 0x00200000, // the character is currently runing a chr_animate command |
| 51 |
ONcCharacterFlag_AIMovement = 0x00400000, // the character is using AI movement |
| 52 |
ONcCharacterFlag_NeutralUninterruptible = 0x00800000, // running an uninterruptible neutral interaction |
| 53 |
|
| 54 |
ONcCharacterFlag_NoShadow = 0x01000000, // |
| 55 |
ONcCharacterFlag_Invincible = 0x02000000, // character is invincible |
| 56 |
ONcCharacterFlag_NoAutoDrop = 0x04000000, // character should not automatically drop items when killed (invisibility, shield, LSI) |
| 57 |
ONcCharacterFlag_RestrictedMovement = 0x08000000, // character cannot move fast (used for player holding barabbas' gun) |
| 58 |
|
| 59 |
ONcCharacterFlag_Boss = 0x10000000, // character is a boss (used for final muro group fight) |
| 60 |
ONcCharacterFlag_FinalFlash = 0x20000000, // 'final flash' has been played for this character's death |
| 61 |
ONcCharacterFlag_BossShield = 0x40000000, // this character has the boss shield |
| 62 |
ONcCharacterFlag_WeaponImmune = 0x80000000 // this character is immune to weapon damage |
| 63 |
|
| 64 |
} ONtCharacterFlags; |
| 65 |
|
| 66 |
typedef enum { |
| 67 |
ONcCharacterFlag2_WeaponEmpty = 0x00000001, // character's weapon is empty, punch instead |
| 68 |
ONcCharacterFlag2_UltraMode = 0x00000002 |
| 69 |
|
| 70 |
} ONtCharacterFlags2; |
| 71 |
|
| 72 |
#endif |