diff --git a/extras/conf/udb/Includes/SRB222_linedefs.cfg b/extras/conf/udb/Includes/SRB222_linedefs.cfg index c63947f658ad611b488f0455a44a91d052f9d345..0847826d43d71015907bc5621b95376c8d7f7e2f 100644 --- a/extras/conf/udb/Includes/SRB222_linedefs.cfg +++ b/extras/conf/udb/Includes/SRB222_linedefs.cfg @@ -1582,89 +1582,106 @@ udmf } } } - } - 200 - { - title = "Light Block"; - prefix = "(200); - arg0 - { - title = "Target sector tag"; - type = 13; - } - arg1 + 200 { - title = "Expand to bottom?"; - type = 11; - enum = "noyes"; + title = "Light Block"; + prefix = "(200); + arg0 + { + title = "Target sector tag"; + type = 13; + } + arg1 + { + title = "Expand to bottom?"; + type = 11; + enum = "noyes"; + } } - } - 202 - { - title = "Fog Block"; - prefix = "(202); - arg0 + 202 { - title = "Target sector tag"; - type = 13; + title = "Fog Block"; + prefix = "(202); + arg0 + { + title = "Target sector tag"; + type = 13; + } } - } - 223 - { - title = "Intangible, Invisible"; - prefix = "(223); - arg0 + 223 { - title = "Target sector tag"; - type = 13; + 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 + 250 { - title = "Block type"; - type = 12; - enum + title = "Mario Block"; + prefix = "(250); + arg0 { - 1 = "Brick"; - 2 = "Invisible"; + title = "Target sector tag"; + type = 13; + } + arg1 + { + title = "Block type"; + type = 12; + enum + { + 1 = "Brick"; + 2 = "Invisible"; + } } } - } - 251 - { - title = "Thwomp Block"; - prefix = "(251); - arg0 - { - title = "Target sector tag"; - type = 13; - } - arg1 - { - title = "Falling speed"; - } - arg2 + 251 { - title = "Rising speed"; + 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; + } } - stringarg0 + + 258 { - title = "Crushing sound"; - type = 2; + title = "Laser"; + prefix = "(258)"; + arg0 + { + title = "Target sector tag"; + type = 13; + } + arg1 + { + title = "Damage bosses?"; + type = 11; + enum = "yesno"; + } } } diff --git a/src/p_setup.c b/src/p_setup.c index 82671abb0165848a190937b9ce2ba399f5154bb8..7c8a8c1473246f8b8d4682f39fcff33a8635ed51 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -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) { diff --git a/src/p_spec.c b/src/p_spec.c index 774c7162ae9c4b575dbbf02a54fc6e4dc8ff8b04..5288d277322c87df056200a5ad4ef91e72d4c2e5 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -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(§ors[s], §ors[sec], lines + i, secthinkers); break;