mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 01:11:44 +00:00
- handle_st23.
This commit is contained in:
parent
e6507887d3
commit
fd8ee214f5
1 changed files with 16 additions and 17 deletions
|
@ -808,36 +808,35 @@ static void handle_st22(int sn, DDukeActor* actor)
|
||||||
|
|
||||||
static void handle_st23(int sn, DDukeActor* actor)
|
static void handle_st23(int sn, DDukeActor* actor)
|
||||||
{
|
{
|
||||||
int j = -1;
|
|
||||||
int q = 0;
|
int q = 0;
|
||||||
int i;
|
|
||||||
|
DukeStatIterator it(STAT_EFFECTOR);
|
||||||
StatIterator it(STAT_EFFECTOR);
|
DDukeActor* act2;
|
||||||
while ((i = it.NextIndex()) >= 0)
|
while ((act2 = it.Next()))
|
||||||
{
|
{
|
||||||
if (sprite[i].lotag == 11 && sprite[i].sectnum == sn && !hittype[i].temp_data[4])
|
if (act2->s.lotag == 11 && act2->s.sectnum == sn && !act2->temp_data[4])
|
||||||
{
|
{
|
||||||
j = i;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!act2) return;
|
||||||
|
|
||||||
int l = sector[sprite[i].sectnum].lotag & 0x8000;
|
int l = sector[act2->s.sectnum].lotag & 0x8000;
|
||||||
|
|
||||||
if (j >= 0)
|
if (act2)
|
||||||
{
|
{
|
||||||
StatIterator it(STAT_EFFECTOR);
|
DukeStatIterator it(STAT_EFFECTOR);
|
||||||
while ((i = it.NextIndex()) >= 0)
|
while (auto act3 = it.Next())
|
||||||
{
|
{
|
||||||
if (l == (sector[sprite[i].sectnum].lotag & 0x8000) && sprite[i].lotag == 11 && sprite[j].hitag == sprite[i].hitag && !hittype[i].temp_data[4])
|
if (l == (sector[act3->s.sectnum].lotag & 0x8000) && act3->s.lotag == 11 && act2->s.hitag == act3->s.hitag && !act3->temp_data[4])
|
||||||
{
|
{
|
||||||
if (sector[sprite[i].sectnum].lotag & 0x8000) sector[sprite[i].sectnum].lotag &= 0x7fff;
|
if (sector[act3->s.sectnum].lotag & 0x8000) sector[act3->s.sectnum].lotag &= 0x7fff;
|
||||||
else sector[sprite[i].sectnum].lotag |= 0x8000;
|
else sector[act3->s.sectnum].lotag |= 0x8000;
|
||||||
hittype[i].temp_data[4] = 1;
|
act3->temp_data[4] = 1;
|
||||||
hittype[i].temp_data[3] = -hittype[i].temp_data[3];
|
act3->temp_data[3] = -act3->temp_data[3];
|
||||||
if (q == 0)
|
if (q == 0)
|
||||||
{
|
{
|
||||||
callsound(sn, i);
|
callsound(sn, act3);
|
||||||
q = 1;
|
q = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue