// 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 = 5; 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