diff --git a/Source/msg.cpp b/Source/msg.cpp index a47dc771b..ff4337fb6 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -2523,6 +2523,25 @@ DWORD On_SYNCQUEST(TCmd *pCmd, int pnum) return sizeof(*p); } +#ifdef HELLFIRE +DWORD On_ENDREFLECT(TCmd *pCmd, int pnum) +{ + int i; + + if (gbBufferMsgs != 1 && pnum != myplr && currlevel == plr[pnum].plrlevel) { + for (i = 0; i < nummissiles; i++) { + int mi = missileactive[i]; + if (missile[mi]._mitype == MIS_REFLECT && missile[mi]._misource == pnum) { + ClearMissileSpot(mi); + DeleteMissile(mi, i); + } + } + } + + return sizeof(*pCmd); +} +#endif + DWORD On_ENDSHIELD(TCmd *pCmd, int pnum) { int i; diff --git a/enums.h b/enums.h index e90aa5ec6..823e68e8c 100644 --- a/enums.h +++ b/enums.h @@ -1432,6 +1432,9 @@ typedef enum missile_id { MIS_RPORTAL = 0x41, MIS_BOOM2 = 0x42, MIS_DIABAPOCA = 0x43, +#ifdef HELLFIRE + MIS_REFLECT = 0x4F, +#endif } missile_id; typedef enum missile_graphic_id {