1 | #pragma once
|
---|
2 | #ifndef ONI_CHARACTER_H
|
---|
3 | #define ONI_CHARACTER_H
|
---|
4 |
|
---|
5 | #include "Oni.h"
|
---|
6 | //#include <stdint.h>
|
---|
7 | #include "bool.h"
|
---|
8 |
|
---|
9 | enum {
|
---|
10 | team_konoko,
|
---|
11 | team_tctf,
|
---|
12 | team_syndicate,
|
---|
13 | team_neutral,
|
---|
14 | team_securityguard,
|
---|
15 | team_rougekonoko,
|
---|
16 | team_switzerland,
|
---|
17 | team_syndicateaccessory,
|
---|
18 | };
|
---|
19 | /*
|
---|
20 | int16_t ONICALL ONrGameState_NewCharacter(CharacterObject* CHAR, void* AISA, void* flag, uint32_t* list_location);
|
---|
21 | int32_t* ONICALL ONrGetActiveCharacter(void* CharacterPtr);
|
---|
22 | //int16_t ONICALL ONrGameState_GetPlayerCharacter();
|
---|
23 | */
|
---|
24 | //probably need to name these better.
|
---|
25 | /*
|
---|
26 | #define char_unkillable (1 << 5)
|
---|
27 | #define char_superammo (1 << 6)
|
---|
28 | #define char_unstoppable (1 << 8)
|
---|
29 | #define char_deathlock (1 << 10)
|
---|
30 | #define char_dontaim (1 << 13)
|
---|
31 | #define char_nocollision (1 << 17)
|
---|
32 | #define char_noshadow (1 << 24)
|
---|
33 | #define char_invincible (1 << 25)
|
---|
34 | #define char_bossshield (1 << 30)
|
---|
35 | #define char_weaponimmune (1 << 31)
|
---|
36 | */
|
---|
37 |
|
---|
38 | //We need a Oni_Structs #include file.
|
---|
39 |
|
---|
40 | typedef enum {
|
---|
41 | ONcCharacterFlag_Dead_1_Animating = 0x00000001, // health is 0
|
---|
42 | ONcCharacterFlag_Dead = ONcCharacterFlag_Dead_1_Animating,
|
---|
43 | ONcCharacterFlag_Dead_2_Moving = 0x00000002, // no longer animating
|
---|
44 | ONcCharacterFlag_Dead_3_Cosmetic = 0x00000004, // no longer moving
|
---|
45 | ONcCharacterFlag_Dead_4_Gone = 0x00000008, // dead except but still drawn
|
---|
46 |
|
---|
47 | ONcCharacterFlag_HastyAnim = 0x00000010, // do this queued animation ASAP
|
---|
48 | ONcCharacterFlag_Unkillable = 0x00000020, // the character cannot be killed, only defeated
|
---|
49 | ONcCharacterFlag_InfiniteAmmo = 0x00000040, // the character always has infinite ammo
|
---|
50 | ONcCharacterFlag_PleaseBlock = 0x00000080, // set if the character should block, cleared once block begins
|
---|
51 |
|
---|
52 | ONcCharacterFlag_Unstoppable = 0x00000100, // this character cannot be knocked down, staggered, stunned, etc
|
---|
53 | ONcCharacterFlag_ScriptControl = 0x00000200, // set if the character is completely under script control
|
---|
54 | ONcCharacterFlag_DeathLock = 0x00000400, // this character should never die all the way
|
---|
55 | ONcCharacterFlag_WasUpdated = 0x00000800, // this character's animation was changed
|
---|
56 |
|
---|
57 | ONcCharacterFlag_BeingThrown = 0x00001000, // this character is being thrown
|
---|
58 | ONcCharacterFlag_DontUseGunVarient = 0x00002000, // this character should not use a weapon varient
|
---|
59 | ONcCharacterFlag_Draw = 0x00004000, // DoFrame has been executed for this character
|
---|
60 | ONcCharacterFlag_InUse = 0x00008000, // this character is active and in use
|
---|
61 |
|
---|
62 | ONcCharacterFlag_DontUseFightVarient = 0x00010000,
|
---|
63 | ONcCharacterFlag_NoCollision = 0x00020000, // no collision for this character
|
---|
64 | ONcCharacterFlag_Teleporting = 0x00040000, // this character is teleporting and does not accept collision
|
---|
65 | ONcCharacterFlag_NoCorpse = 0x00080000, // no corpse for this character
|
---|
66 |
|
---|
67 | ONcCharacterFlag_ActiveLock = 0x00100000, // the character is locked active
|
---|
68 | ONcCharacterFlag_ChrAnimate = 0x00200000, // the character is currently runing a chr_animate command
|
---|
69 | ONcCharacterFlag_AIMovement = 0x00400000, // the character is using AI movement
|
---|
70 | ONcCharacterFlag_NeutralUninterruptable = 0x00800000, // running an uninterruptable neutral interaction
|
---|
71 |
|
---|
72 | ONcCharacterFlag_NoShadow = 0x01000000, //
|
---|
73 | ONcCharacterFlag_Invincible = 0x02000000, // character is invincible
|
---|
74 | ONcCharacterFlag_NoAutoDrop = 0x04000000, // character should not automatically drop items when killed (invisibility, shield, LSI)
|
---|
75 | ONcCharacterFlag_RestrictedMovement = 0x08000000, // character cannot move fast (used for player holding barabbas' gun)
|
---|
76 |
|
---|
77 | ONcCharacterFlag_Boss = 0x10000000, // character is a boss (used for final muro group fight)
|
---|
78 | ONcCharacterFlag_FinalFlash = 0x20000000, // 'final flash' has been played for this character's death
|
---|
79 | ONcCharacterFlag_BossShield = 0x40000000, // this character has the boss shield
|
---|
80 | ONcCharacterFlag_WeaponImmune = 0x80000000 // this character is immune to weapon damage
|
---|
81 |
|
---|
82 | } ONtCharacterFlags;
|
---|
83 |
|
---|
84 | typedef enum {
|
---|
85 | ONcCharacterFlag2_WeaponEmpty = 0x00000001, // character's weapon is empty, punch instead
|
---|
86 | ONcCharacterFlag2_UltraMode = 0x00000002
|
---|
87 |
|
---|
88 | } ONtCharacterFlags2;
|
---|
89 |
|
---|
90 | #endif
|
---|