source: Daodan/src/Oni_Character.h @ 427

Last change on this file since 427 was 427, checked in by gumby, 13 years ago

CHAR test

File size: 3.5 KB
Line 
1#pragma once
2#ifndef ONI_CHARS_H
3#define ONI_CHARS_H
4#endif
5
6#include "Daodan.h"
7#include <stdint.h>
8
9int DDr_TeamToTeamID(const char*);
10ONICALL ONrGameState_NewCharacter(int, int);
11int CHARTest();
12
13typedef struct {
14        float X;
15        float Y;
16        float Z;       
17} Vector3; //probably move to utilities...
18
19
20
21typedef struct {
22        char Type[4];                   //"CHAR" etc.
23        int ObjectId;                   //not needed
24        int Flags;                              //The flags of the object...not used for CHAR
25        Vector3 Position;               //Position of Object
26        Vector3 Rotation;               //Rotation of Object
27        int EditorCallbacks;    //Lets try not to mess with it for now. :P
28        int field_28;                   //unknown
29       
30} OSD_Header;
31
32
33typedef struct {
34        int32_t Options;                                //A bitset. Someone had better define these
35        char Class[64];                                 //Name of the ONCC we use. ONCCName in idb
36        char Name[32];                                  //Name of the character. ie: ai2_spawn Muro
37        char Weapon[64];                                //Name of the weapon he holds. ONWCName in idb
38        char ScriptSpawn[32];                   //Script function called when char spawns
39        char ScriptDie[32];                             //Script function called when char dies
40        char ScriptAware[32];                   //Script function called when char detects something
41        char ScriptAlarm[32];                   //Script function called when char is alarmed at something
42        char ScriptHurt[32];                    //Script function called when char is hurt for the first time
43        char ScriptDefeat[32];                  //Script function called when char is at 1 HP
44        char ScriptNoPath[32];                  //Script function called when char loses path. Broken.
45        char ScriptNoAmmo[32];                  //Script function called when char is out of ammo for the first time. Char must have ammo at spawn.
46        int32_t AdditionalHealth;               //Additional Health given to the character
47        int16_t AmmoUsed;                               //Ammo given for the char to use
48        int16_t AmmoDropped;                    //Ammo the char drops
49        int16_t CellsUsed;                              //Cells given for the char to use
50        int16_t CellsDropped;                   //Cells the char drops
51        int16_t HypoUsed;                               //Hypo given for the char to use
52        int16_t HypoDropped;                    //Hypo the char drops
53        int16_t ShieldUsed;                             //Bullet shield given for the char to use
54        int16_t ShieldDropped;                  //Bullet shield the char drops
55        int16_t CloakUsed;                              //Phase Cloak given for the char to use
56        int16_t CloakDropped;                   //Phase Cloak the char drops
57        int16_t NCIUsed;                                //Don't use this...
58        int16_t NCIDropped;                             //Don't use this...
59       
60        int32_t TeamID;                                 //Team ID
61        int32_t AmmoPercent;                    //Percent of weapon ammo full
62        int32_t JobID;                                  //Job ID...
63                                                                        //0 - none
64                                                                        //1 - idle
65                                                                        //2 - guard (never used in Oni)
66                                                                        //3 - patrol
67                                                                        //4 - teambattle (never used in Oni)
68        int16_t PatrolID;                               //patrol path ID (reference to the Patrol_Path.BINA file)
69        int16_t CombatID;                               //combat ID (reference to the Combat.BINA file)
70        int16_t MeleeID;                                //melee ID (reference to the Melee Profile.BINA file)
71        int16_t NeutralID;                              //neutral ID (reference to the Neutral.BINA file)
72        int32_t AlarmGroups;                    //Bitset. http://wiki.oni2.net/CHAR
73        int32_t InitialAlertLevel;              //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat
74        int32_t MinimalAlertLevel;              //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat
75        int32_t StartJobAlertLevel;             //0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat
76        int32_t InvestigatingAlertLevel;//0 - lull, 1 - low, 2 - medium, 3 - high, 4 - combat
77        int32_t PursuitStrongLow;
78        int32_t PursuitWeakLow;
79        int32_t PursuitStrongHigh;
80        int32_t PursuitWeakHigh;
81        int32_t Pursuit5;
82        int32_t field_1FC;
83} CharacterOSD;
84
85typedef struct {
86        OSD_Header Header;
87        CharacterOSD OSD;
88} CharacterObject;
Note: See TracBrowser for help on using the repository browser.