source: Daodan/src/Oni_Character.h@ 427

Last change on this file since 427 was 427, checked in by gumby, 16 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.