UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
e_event_actorstats.cpp
Go to the documentation of this file.
1
4
5
/*
6
Copyright (C) 2002-2025 UFO: Alien Invasion.
7
8
This program is free software; you can redistribute it and/or
9
modify it under the terms of the GNU General Public License
10
as published by the Free Software Foundation; either version 2
11
of the License, or (at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17
See the GNU General Public License for more details.
18
19
You should have received a copy of the GNU General Public License
20
along with this program; if not, write to the Free Software
21
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23
*/
24
25
#include "
../../../../client.h
"
26
#include "
../../../cl_localentity.h
"
27
#include "
../../../cl_actor.h
"
28
#include "
../../../cl_hud.h
"
29
#include "
e_event_actorstats.h
"
30
36
void
CL_ActorStats
(
const
eventRegister_t
* self,
dbuffer
* msg)
37
{
38
const
int
entnum =
NET_ReadShort
(msg);
39
le_t
* le =
LE_Get
(entnum);
40
if
(!le)
41
LE_NotFoundError
(entnum);
42
43
if
(le->
pnum
!=
cl
.pnum) {
44
Com_Printf
(
"CL_ActorStats: stats for a player that is not controlled by us but by: %i (entnum: %i)\n"
,
45
le->
pnum
, le->
entnum
);
46
return
;
47
}
48
49
switch
(le->
type
) {
50
case
ET_ACTORHIDDEN
:
51
case
ET_ACTOR
:
52
case
ET_ACTOR2x2
:
53
break
;
54
default
:
55
Com_Printf
(
"CL_ActorStats: LE (%i) not an actor (type: %i)\n"
, entnum, le->
type
);
56
return
;
57
}
58
59
int
oldTUs = 0;
60
if
(
LE_IsSelected
(le))
61
oldTUs = le->
TU
;
62
63
NET_ReadFormat
(msg, self->
formatString
, &le->
TU
, &le->
HP
, &le->
STUN
, &le->
morale
);
64
65
if
(le->
TU
> le->
maxTU
)
66
le->
maxTU
= le->
TU
;
67
if
(le->
HP
> le->
maxHP
)
68
le->
maxHP
= le->
HP
;
69
if
(le->
morale
> le->
maxMorale
)
70
le->
maxMorale
= le->
morale
;
71
72
/* if selActor's timeunits have changed, update movelength */
73
if
(le->
TU
!= oldTUs &&
LE_IsSelected
(le))
74
CL_ActorResetMoveLength
(le);
75
76
HUD_UpdateActorStats
(le);
77
}
CL_ActorResetMoveLength
void CL_ActorResetMoveLength(le_t *le)
Recalculates the currently selected Actor's move length.
Definition
cl_actor.cpp:764
cl_actor.h
cl
clientBattleScape_t cl
Definition
cl_battlescape.cpp:29
HUD_UpdateActorStats
void HUD_UpdateActorStats(const le_t *le)
Definition
cl_hud.cpp:144
cl_hud.h
HUD related routines.
LE_Get
le_t * LE_Get(int entnum)
Searches all local entities for the one with the searched entnum.
Definition
cl_localentity.cpp:1287
cl_localentity.h
LE_IsSelected
#define LE_IsSelected(le)
Definition
cl_localentity.h:266
LE_NotFoundError
#define LE_NotFoundError(entnum)
Definition
cl_localentity.h:322
dbuffer
Definition
dbuffer.h:20
client.h
Primary header for client.
Com_Printf
void Com_Printf(const char *const fmt,...)
Definition
common.cpp:428
CL_ActorStats
void CL_ActorStats(const eventRegister_t *self, dbuffer *msg)
Parses the actor stats that comes from the netchannel.
Definition
e_event_actorstats.cpp:36
e_event_actorstats.h
NET_ReadFormat
void NET_ReadFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_ReadFormat that reads variable arguments from a buffer according to ...
Definition
netpack.cpp:533
NET_ReadShort
int NET_ReadShort(dbuffer *buf)
Definition
netpack.cpp:242
ET_ACTOR
@ ET_ACTOR
Definition
q_shared.h:148
ET_ACTOR2x2
@ ET_ACTOR2x2
Definition
q_shared.h:160
ET_ACTORHIDDEN
@ ET_ACTORHIDDEN
Definition
q_shared.h:163
eventRegister_t
Struct that defines one particular event with all its callbacks and data.
Definition
e_main.h:42
eventRegister_t::formatString
const char * formatString
The format string that is used to write and parse this event.
Definition
e_main.h:54
le_t
a local entity
Definition
cl_localentity.h:65
le_t::STUN
int STUN
Definition
cl_localentity.h:80
le_t::morale
int morale
Definition
cl_localentity.h:78
le_t::maxMorale
int maxMorale
Definition
cl_localentity.h:78
le_t::maxTU
int maxTU
Definition
cl_localentity.h:77
le_t::HP
int HP
Definition
cl_localentity.h:79
le_t::pnum
int pnum
Definition
cl_localentity.h:88
le_t::TU
int TU
Definition
cl_localentity.h:77
le_t::entnum
int entnum
Definition
cl_localentity.h:68
le_t::maxHP
int maxHP
Definition
cl_localentity.h:79
le_t::type
entity_type_t type
Definition
cl_localentity.h:67
src
client
battlescape
events
event
actor
e_event_actorstats.cpp
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0