diff --git a/Source/msg.cpp b/Source/msg.cpp index ff44bcf69..66feb3639 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -1811,7 +1811,8 @@ DWORD On_SPELLXYD(TCmd *pCmd, int pnum) TCmdLocParam3 *p = (TCmdLocParam3 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam1].sTownSpell) { + int spell = p->wParam1; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELLWALL; plr[pnum].destParam1 = p->x; @@ -1833,7 +1834,8 @@ DWORD On_SPELLXY(TCmd *pCmd, int pnum) TCmdLocParam2 *p = (TCmdLocParam2 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam1].sTownSpell) { + int spell = p->wParam1; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELL; plr[pnum].destParam1 = p->x; @@ -1854,7 +1856,8 @@ DWORD On_TSPELLXY(TCmd *pCmd, int pnum) TCmdLocParam2 *p = (TCmdLocParam2 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam1].sTownSpell) { + int spell = p->wParam1; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELL; plr[pnum].destParam1 = p->x; @@ -1974,7 +1977,8 @@ DWORD On_SPELLID(TCmd *pCmd, int pnum) TCmdParam3 *p = (TCmdParam3 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam2].sTownSpell) { + int spell = p->wParam2; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELLMON; plr[pnum].destParam1 = p->wParam1; @@ -1994,7 +1998,8 @@ DWORD On_SPELLPID(TCmd *pCmd, int pnum) TCmdParam3 *p = (TCmdParam3 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam2].sTownSpell) { + int spell = p->wParam2; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELLPLR; plr[pnum].destParam1 = p->wParam1; @@ -2014,7 +2019,8 @@ DWORD On_TSPELLID(TCmd *pCmd, int pnum) TCmdParam3 *p = (TCmdParam3 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam2].sTownSpell) { + int spell = p->wParam2; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELLMON; plr[pnum].destParam1 = p->wParam1; @@ -2034,7 +2040,8 @@ DWORD On_TSPELLPID(TCmd *pCmd, int pnum) TCmdParam3 *p = (TCmdParam3 *)pCmd; if (gbBufferMsgs != 1 && currlevel == plr[pnum].plrlevel) { - if (currlevel != 0 || spelldata[p->wParam2].sTownSpell) { + int spell = p->wParam2; + if (currlevel != 0 || spelldata[spell].sTownSpell) { ClrPlrPath(pnum); plr[pnum].destAction = ACTION_SPELLPLR; plr[pnum].destParam1 = p->wParam1;