1 /*
2  * OpenBOR - http://www.chronocrash.com
3  * -----------------------------------------------------------------------
4  * All rights reserved. See LICENSE in OpenBOR root for license details.
5  *
6  * Copyright (c) 2004 - 2019 OpenBOR Team
7  */
8 
9 // Entity Properties
10 // 2018-04-02
11 // Caskey, Damon V.
12 
13 typedef enum
14 {
15 	_ENTITY_AI_DISABLE,
16 	_ENTITY_AI_TARGET_ENTITY,
17 	_ENTITY_ALTERNATE_IDLE,
18 	_ENTITY_ALTERNATE_WALK,
19 	_ENTITY_ANIMATION,
20 	_ENTITY_ANIMATION_FRAME,
21 	_ENTITY_ANIMATION_ID,
22 	_ENTITY_ANIMATION_ID_PREVIOUS,
23 	_ENTITY_ANIMATION_STATE,
24 	_ENTITY_ANIMATION_TIME,
25 	_ENTITY_ARROW_STATE,
26 	_ENTITY_ATTACK_ID_INCOMING,
27 	_ENTITY_ATTACK_ID_OUTGOING,
28 	_ENTITY_ATTACK_STATE,
29 	_ENTITY_AUTOKILL,
30 	_ENTITY_BACK_HIT_DIRECTION,
31 	_ENTITY_BIND,
32 	_ENTITY_BLAST_STATE,
33 	_ENTITY_BLINK,
34 	_ENTITY_BLOCK_STATE,
35 	_ENTITY_BOSS,
36 	_ENTITY_CHARGE_STATE,
37 	_ENTITY_CHILD,
38 	_ENTITY_COLORSET_DEFAULT,
39 	_ENTITY_COLORSET_DYING_HEALTH_1,
40 	_ENTITY_COLORSET_DYING_HEALTH_2,
41 	_ENTITY_COLORSET_DYING_INDEX_1,
42 	_ENTITY_COLORSET_DYING_INDEX_2,
43 	_ENTITY_COLORSET_TABLE,
44 	_ENTITY_COLORSET_TIME,
45 	_ENTITY_COMBO_STEP,
46 	_ENTITY_COMBO_TIME,
47 	_ENTITY_COMMAND_TIME,
48 	_ENTITY_DAMAGE_ON_LANDING,
49 	_ENTITY_DEAD,
50 	_ENTITY_DEDUCT_AMMO,
51 	_ENTITY_DEFENSE_COLLECTION,
52 	_ENTITY_DESTINATION_X,
53 	_ENTITY_DESTINATION_Z,
54 	_ENTITY_DIE_ON_LANDING,
55 	_ENTITY_DRAWMETHOD,
56 	_ENTITY_DROP,
57 	_ENTITY_DUCK_STATE,
58 	_ENTITY_ENTVAR_COLLECTION,
59 	_ENTITY_ESCAPE_COUNT,
60 	_ENTITY_EXISTS,
61 	_ENTITY_EXPLODE,
62 	_ENTITY_FALL_STATE,
63 	_ENTITY_FREEZE_STATE,
64 	_ENTITY_FREEZE_TIME,
65 	_ENTITY_FUNCTION_TAKE_ACTION,
66 	_ENTITY_FUNCTION_TAKE_DAMAGE,
67 	_ENTITY_FUNCTION_THINK,
68 	_ENTITY_FUNCTION_TRY_MOVE,
69 	_ENTITY_GET_STATE,
70 	_ENTITY_GRAB_TARGET,
71 	_ENTITY_GRAB_WALK_STATE,
72 	_ENTITY_GUARD_TIME,
73 	_ENTITY_HP,
74 	_ENTITY_HP_OLD,
75 	_ENTITY_IDLE_STATE,
76 	_ENTITY_IN_PAIN,
77 	_ENTITY_IN_PAIN_BACK,
78 	_ENTITY_INVINCIBLE_STATE,
79 	_ENTITY_INVINCIBLE_TIME,
80 	_ENTITY_ITEM_DATA,
81 	_ENTITY_JUMP_ANIMATION_ID,
82 	_ENTITY_JUMP_STATE,
83 	_ENTITY_JUMP_VELOCITY_X,
84 	_ENTITY_JUMP_VELOCITY_Y,
85 	_ENTITY_JUMP_VELOCITY_Z,
86 	_ENTITY_KNOCKDOWN_COUNT,
87 	_ENTITY_KNOCKDOWN_TIME,
88 	_ENTITY_LAST_DAMAGE_TYPE,
89 	_ENTITY_LAST_HIT,
90 	_ENTITY_LIFESPAN,
91 	_ENTITY_LINK,
92 	_ENTITY_MODEL,
93 	_ENTITY_MODEL_DATA,
94 	_ENTITY_MODEL_DEFAULT,
95 	_ENTITY_MOVE_TIME,
96 	_ENTITY_MOVE_X,
97 	_ENTITY_MOVE_Z,
98 	_ENTITY_MP,
99 	_ENTITY_MP_CHARGE_TIME,
100 	_ENTITY_MP_OLD,
101 	_ENTITY_MP_TIME,
102 	_ENTITY_NAME,
103 	_ENTITY_NEXT_ATTACK_TIME,
104 	_ENTITY_NEXT_HIT_TIME,
105 	_ENTITY_NOGRAB,
106 	_ENTITY_NOGRAB_DEFAULT,
107 	_ENTITY_OBSTRUCTED,
108 	_ENTITY_OBSTRUCTION_OVERHEAD,
109 	_ENTITY_OFFENSE_COLLECTION,
110 	_ENTITY_OPPONENT,
111 	_ENTITY_OWNER,
112 	_ENTITY_PARENT,
113 	_ENTITY_PATH_OBSTRUCTED_WAIT,
114 	_ENTITY_PAUSE_TIME,
115 	_ENTITY_PLATFORM_LAND,
116 	_ENTITY_PLAYER_INDEX,
117 	_ENTITY_POSITION_BASE,
118 	_ENTITY_POSITION_BASE_ALTERNATE,
119 	_ENTITY_POSITION_DIRECTION,
120 	_ENTITY_POSITION_X,
121 	_ENTITY_POSITION_Y,
122 	_ENTITY_POSITION_Z,
123 	_ENTITY_PROJECTILE_PRIME,
124 	_ENTITY_RECURSIVE_DAMAGE,
125 	_ENTITY_RELEASE_TIME,
126 	_ENTITY_RISE_ATTACK_DELAY,
127 	_ENTITY_RISE_ATTACK_TIME,
128 	_ENTITY_RISE_DELAY,
129 	_ENTITY_RISE_STATE,
130 	_ENTITY_RUN_STATE,
131 	_ENTITY_RUSH,
132 	_ENTITY_SCRIPT_COLLECTION,
133 	_ENTITY_SEAL_ENERGY,
134 	_ENTITY_SEAL_TIME,
135 	_ENTITY_SLEEP_TIME,
136 	_ENTITY_SORT_ID,
137 	_ENTITY_SPACE_OTHER,
138 	_ENTITY_SPAWN_TYPE,
139 	_ENTITY_SPEED_MULTIPLIER,
140 	_ENTITY_STALL_TIME,
141 	_ENTITY_THINK_TIME,
142 	_ENTITY_TIMESTAMP,
143 	_ENTITY_TO_COST,
144 	_ENTITY_TOSS_TIME,
145 	_ENTITY_TURN_STATE,
146 	_ENTITY_TURN_TIME,
147 	_ENTITY_UPDATE_MARK,
148 	_ENTITY_VELOCITY_X,
149 	_ENTITY_VELOCITY_Y,
150 	_ENTITY_VELOCITY_Z,
151 	_ENTITY_WALK_STATE,
152 	_ENTITY_WAYPOINT_COLLECTION,
153 	_ENTITY_WAYPOINT_COUNT,
154 	_ENTITY_WEAPON_ITEM,
155 	_ENTITY_END,
156 } e_entity_properties;
157 
158 HRESULT openbor_get_entity_property(ScriptVariant **varlist, ScriptVariant **pretvar, int paramCount);
159 HRESULT openbor_set_entity_property(ScriptVariant **varlist, ScriptVariant **pretvar, int paramCount);
160 
161 int mapstrings_entity_property(ScriptVariant **varlist, int paramCount);
162 
163 
164