File: objectshield.h

package info (click to toggle)
freespace2 3.7.0%2Brepack-2
  • links: PTS, VCS
  • area: non-free
  • in suites: jessie, jessie-kfreebsd
  • size: 22,848 kB
  • ctags: 41,897
  • sloc: cpp: 369,931; makefile: 1,060; xml: 129; sh: 112
file content (37 lines) | stat: -rw-r--r-- 1,185 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
 * Copyright (C) Volition, Inc. 1999.  All rights reserved.
 *
 * All source code herein is the property of Volition, Inc. You may not sell 
 * or otherwise commercially exploit the source or things you created based on the 
 * source.
 *
*/

#ifndef _OBJECTSHIELD_H
#define _OBJECTSHIELD_H

#include "globalincs/globals.h"
#include "globalincs/pstypes.h"

#define	FRONT_QUAD	1
#define	REAR_QUAD	2
#define	LEFT_QUAD	3
#define	RIGHT_QUAD	0

float shield_get_strength(object *objp);
void shield_set_strength(object *objp, float strength);
void shield_add_strength(object *objp, float delta);
float shield_get_quad(object *objp, int quadrant_num);
void shield_set_quad(object *objp, int quadrant_num, float strength);
void shield_add_quad(object *objp, int quadrant_num, float strength);

float shield_get_max_strength(object *objp);
void shield_set_max_strength(object *objp, float newmax);
float shield_get_max_quad(object *objp);

float shield_apply_damage(object *objp, int quadrant, float damage);
int shield_is_up(object *objp, int quadrant_num);
int shield_get_quadrant(vec3d *hit_pnt);
int shield_get_quadrant_global(object *objp, vec3d *global_pos);

#endif //_OBJECTSHIELD_H