57 lines
1.9 KiB
Text
57 lines
1.9 KiB
Text
// level compatibility scripts
|
|
// sometimes shit breaks because of old and wrong scripting
|
|
// usually stuff that uses CheckInventory to look for keys, instead of, y'know,
|
|
// using ACS_LockedExecute
|
|
|
|
Class SWWMLevelCompatibility : LevelPostProcessor
|
|
{
|
|
protected void Apply( Name checksum, String mapname )
|
|
{
|
|
int numcol = 6;
|
|
switch ( checksum )
|
|
{
|
|
case 'none':
|
|
return;
|
|
// ZPack E1M2
|
|
case 'BA13454A41D931685B6A4B28E6946B6B':
|
|
// script uses checkinventory for red key
|
|
SetLineSpecial(225,ACS_LockedExecuteDoor,-Int('ZPACK_E1M2_SCRIPT6'),0,0,0,1);
|
|
SetLineSpecial(228,ACS_LockedExecuteDoor,-Int('ZPACK_E1M2_SCRIPT6'),0,0,0,1);
|
|
break;
|
|
// ZPack E3M2
|
|
case '17BD38E0B2FB8E760885FE46325DFF3A':
|
|
// script uses checkinventory for red skull
|
|
SetLineSpecial(5913,ACS_LockedExecute,-Int('ZPACK_E3M2_SCRIPT9'),0,0,0,4);
|
|
break;
|
|
// ZPack E3M8
|
|
case '13C5952A04014122271F50134DB4521F':
|
|
// script uses checkinventory for yellow skull
|
|
SetLineSpecial(22610,ACS_LockedExecute,-Int('ZPACK_E3M8_SCRIPT15'),0,0,0,6);
|
|
break;
|
|
// okuplok
|
|
case 'F7F353146676920238935A8D0D1B6E8E':
|
|
// add 7 more backpacks on top of existing one, for a full embiggening
|
|
// (players will need it)
|
|
for ( int i=0; i<7; i++ ) AddThing(8,(11808,-2016,384));
|
|
break;
|
|
// holy hell revealed
|
|
case '83569A062B5261C6BB4A034BA8245D24':
|
|
// remove boss brain and re-spawn it when end is reached, prevents cheesing the map with the ynykron
|
|
SetThingEdNum(50183,9001);
|
|
SetThingID(50183,666);
|
|
SetLineSpecial(21964,ACS_Execute,-Int('HHR_BRAINWALL'));
|
|
break;
|
|
// Kinsie's Test Map (HERETIC)
|
|
case '0EADB2F82732A968B8513E4DC6138439':
|
|
numcol = 7;
|
|
// Kinsie's Test Map (HEXEN)
|
|
case 'D70250F93C6B6072DA39D9672B37F236':
|
|
numcol = 11;
|
|
// Kinsie's Test Map (DOOM)
|
|
case '959A613006CC3AA912C4A22908B7566A':
|
|
for ( int i=0; i<numcol; i++ )
|
|
AddThing(4206900+i,(1472+64*i,640,0));
|
|
break;
|
|
}
|
|
}
|
|
}
|