Implement FOF type 258

This commit is contained in:
MascaraSnake 2020-04-14 09:51:48 +02:00
parent 32a1131c68
commit 9fc2b5b1b9
3 changed files with 94 additions and 72 deletions

View file

@ -1582,89 +1582,106 @@ udmf
}
}
}
}
200
{
title = "Light Block";
prefix = "(200);
arg0
200
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Expand to bottom?";
type = 11;
enum = "noyes";
}
}
202
{
title = "Fog Block";
prefix = "(202);
arg0
{
title = "Target sector tag";
type = 13;
}
}
223
{
title = "Intangible, Invisible";
prefix = "(223);
arg0
{
title = "Target sector tag";
type = 13;
}
}
250
{
title = "Mario Block";
prefix = "(250);
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Block type";
type = 12;
enum
title = "Light Block";
prefix = "(200);
arg0
{
1 = "Brick";
2 = "Invisible";
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Expand to bottom?";
type = 11;
enum = "noyes";
}
}
}
251
{
title = "Thwomp Block";
prefix = "(251);
arg0
202
{
title = "Target sector tag";
type = 13;
title = "Fog Block";
prefix = "(202);
arg0
{
title = "Target sector tag";
type = 13;
}
}
arg1
223
{
title = "Falling speed";
title = "Intangible, Invisible";
prefix = "(223);
arg0
{
title = "Target sector tag";
type = 13;
}
}
arg2
250
{
title = "Rising speed";
title = "Mario Block";
prefix = "(250);
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Block type";
type = 12;
enum
{
1 = "Brick";
2 = "Invisible";
}
}
}
stringarg0
251
{
title = "Crushing sound";
type = 2;
title = "Thwomp Block";
prefix = "(251);
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Falling speed";
}
arg2
{
title = "Rising speed";
}
stringarg0
{
title = "Crushing sound";
type = 2;
}
}
258
{
title = "Laser";
prefix = "(258)";
arg0
{
title = "Target sector tag";
type = 13;
}
arg1
{
title = "Damage bosses?";
type = 11;
enum = "yesno";
}
}
}

View file

@ -2958,6 +2958,11 @@ static void P_ConvertBinaryMap(void)
M_Memcpy(lines[i].stringargs[0], buffer, strlen(buffer) + 1);
}
break;
case 258: //FOF: Laser
lines[i].args[0] = lines[i].tag;
if (lines[i].flags & ML_EFFECT1)
lines[i].args[1] = 1;
break;
case 443: //Call Lua function
if (lines[i].text)
{

View file

@ -6293,7 +6293,7 @@ void T_LaserFlash(laserthink_t *flash)
{
thing = node->m_thing;
if ((fflr->master->flags & ML_EFFECT1)
if ((fflr->master->args[1])
&& thing->flags & MF_BOSS)
continue; // Don't hurt bosses
@ -7045,7 +7045,7 @@ void P_SpawnSpecials(boolean fromnetsave)
sec = sides[*lines[i].sidenum].sector - sectors;
// No longer totally disrupts netgames
for (s = -1; (s = P_FindSectorFromLineTag(lines + i, s)) >= 0 ;)
for (s = -1; (s = P_FindSectorFromTag(lines[i].args[0], s)) >= 0 ;)
EV_AddLaserThinker(&sectors[s], &sectors[sec], lines + i, secthinkers);
break;