Okay, played the Strife version and there are a lot of problems:
-You don't have a modified STRFHELP ACS lump. The script contained within manages several things that are needed for Strife to work correctly, such as implementing Strife's unique linetypes and swapping out skies after the defeat of the Programmer. Most importantly, however, is that this script manages the opening of the door to the Entity's Lair, the final boss of the game. Strife's Sigil is both weapon and key; only with all five pieces in player inventory can you open the door. If you're not giving the player an item after the defeat of each Alien Spectre that this script can check for, Strife cannot be completed. Included in the attachment is an uncompiled STRFHELP lump for you to examine and edit. The only lines you have to worry about editing are 104, 113, 121, 178, 244, 366, and 394. I've put comments on those lines to explain what needs to be changed. Your replacement for the Sigil pieces doesn't have to be a weapon; as long as it inherits from Inventory and you can carry 5 at max, it'll work.
-Each of the Alien Spectres need to be modified as well. First off, you need to replace their hardcoded death action function, A_AlienSpectreDeath, with an ACS script that can run all of the functions A_AlienSpectreDeath accomplishes, which is quite a bit. Most of it is very important, such as giving quest items, printing logmessages to the Communicator, lowering floors, etc. Without this, Strife can't be completed. Included in the attachment below is an uncompiled version of the ACS script for you to examine and edit. The only line you have to worry about editing is 63, and there's a comment there to explain.
-You're missing a modified MAPINFO lump that has the 'redirect' property specified for MAP03 and MAP07. Without this present, after the defeat of the Programmer, you'll never be able to see the Abandoned Front Base (MAP30) or get back in to the New Front Base (MAP10) once you exit it for the first time. Without the latter, Strife cannot be completed. What you need to do is edit the Programmer actor and have it, upon its death, give the player something that the redirect property can check for:
Code: Select all
ACTOR BDProgrammer : Programmer replaces Programmer
{
ConversationID 95
DropItem "WeaponThatReplacesSigil"
}
Example of redirect in action:
Code: Select all
map MAP03 "The Front Base"
{
next = "MAP04"
sky1 = "SKYMNT02"
music = "D_DANGER"
cluster = 1
noallies
redirect = "WeaponThatReplacesSigil", "map30"
slideshow = "Inter_Strife_MAP03"
}
-Unless I'm mistaken, you don't have any weapon with +SPECTRAL on it. This is what allows the Sigil to kill Alien Spectres, who are otherwise invulnerable to damage. Unless the player has access to a weapon with +SPECTRAL on it by the time they fight the first Alien Spectre, Strife cannot be completed. For weapons that fire projectiles, put +SPECTRAL on the projectile. For weapons that use hitscans, put +SPECTRAL on the puff that the weapon generates. For weapons that use rail attacks, I'm not sure. Putting +SPECTRAL on the weapon itself
might work, but I'm unable to test that at the moment.
-Your ammotypes, and possibly other actor types as well, don't have ConversationIDs specified, which means they cannot be bought from vendors.
-Ammo that you intend to make buyable from vendors can't be RandomSpawners; those won't work correctly, since the actor itself must be placable into player inventory.
-You don't have any modified dialogue scripts, which means players won't be able to tell what they're buying.
-Strife's playerclass has a lower MaxStepHeight than Doom's. This means that in Strife, your new playerclass can walk over stuff that you wouldn't be able to in vanilla Strife; the console Rowan stands at near the start of the game, for example.
-A bunch of errors related to misspellings of actors, actors not being defined, actors being defined more than once, actors having invalid states... All of these can be seen in the console log upon starting a game.
-Strife's armors aren't replaced and the replacements are missing their sprites.
-The minimalist HUD could use some icons for the numbers being displayed onscreen.
-I don't know if you intend to use the BPUFA0-D0 sprites, but they're Doom-paletted and won't look right in Strife.
-While this isn't a problem per se, the preferred method of adding playerclasses is not through the KEYCONF lump but through the MAPINFO lump, with the PlayerClasses and AddPlayerClasses properties. PlayerClasses is used when you want to override any existing player classes, and AddPlayerClasses is used when you want to add additional player classes to any that are already defined. The MAPINFO alternatives were made to provide better compatability with mods intended to be used with other mods. Example:
Code: Select all
gameinfo
{
...
PlayerClasses = "RexColt","Spider"
...
}
Some tips:
-If you intend to replace the Acolytes, make sure to give them the proper ConversationIDs, as an Acolyte in MAP18 drops a key that you need to complete the game, and the drop is actually performed through the map's dialogue script and not through the actor's DropItem property, because that actor class needs to spawn that key only on that particular map.
-If you intend to replace the Acolytes, leave the AcolyteBlue class alone. Governor Mourel's mission to get the coupling, if performed the 'wrong' way by attacking the first coupling you find in the tunnel beneath the game's starting point, results in a group of AcolyteBlues being spawned around the City Hall ruins, and the player is then tasked with killing them all. Replacing that class means the map can never tally up your kills of the AcolyteBlue that its checking for, and so the mission, and by extension Strife itself, cannot be completed. I assume this is fixable by editing the map itself, but I wouldn't know how to go about doing it.