e_event_actorreactionfirechange.c
Go to the documentation of this file.00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "../../../../client.h"
00026 #include "../../../../ui/ui_main.h"
00027 #include "../../../cl_localentity.h"
00028 #include "../../../cl_actor.h"
00029 #include "../../../cl_hud.h"
00030 #include "e_event_actorreactionfirechange.h"
00031
00039 void CL_ActorReactionFireChange (const eventRegister_t *self, struct dbuffer *msg)
00040 {
00041 le_t *le;
00042 actorHands_t hand;
00043 int entnum, fmIdx, odIdx;
00044 character_t *chr;
00045 const objDef_t *od;
00046
00047 NET_ReadFormat(msg, self->formatString, &entnum, &fmIdx, &hand, &odIdx);
00048
00049 le = LE_Get(entnum);
00050 if (!le)
00051 LE_NotFoundError(entnum);
00052
00053 chr = CL_ActorGetChr(le);
00054 if (!chr)
00055 return;
00056
00057 if (odIdx != NONE)
00058 od = INVSH_GetItemByIDX(odIdx);
00059 else
00060 od = NULL;
00061
00062 CL_ActorSetRFMode(chr, hand, fmIdx, od);
00063
00064
00065 HUD_DisplayFiremodes(le, hand, qtrue);
00066 }