Issue #22164: Ongoing problems with mirelurk skins
The problems are all related to MirelurkAmbushArtScript which has been conceived to equip FX skins for regular mirelurks. Only for those (i.e. for MirelurkRace actors) it works as intended, but mirelurk hunters, mirelurk kings and mirelurk queens are running this script as well, which leads to various issues:
(1) The script expects that the skins to be equipped by an actor are in a formlist that is specified by the MirelurkAmbushArmorFL property.
(2) The script also expects that the skins are in specific positions in that formlist:
The script evaluates the ambush type by checking several keywords that may or may not exist on the ambush furniture that is linked to all actors running this script. The keyword defines the ambush type, and there should be a matching skin for every type of ambush. The script assigns a number (the 'armor index') to each keyword and then expects to find the skin to be equipped at the corresponding formlist position.
(3) The script runs only on leveled actors. Simply speaking, the engine creates an actor from the leveled list and then attaches the script to that actor. Needless to say that the script stops working if there are leveled lists that create mirelukrs of mixed races (because the script needs a race-specific formlist to be passed in).
Unfortunately, there is at least one leveled actor list in the game that creates mirelurks of various races. Thus, the only way to mkae sure that the script always works as intended was to check the actor's race on the script and then select the proper formlist depending on the outcome. This required the addition of new race and formlist properties (I flagged them as 'const', so the values will not be stored in the save).
Now to the formlists for the various races:
(1) Mirelurk queens: there are no FX skins existing for mirelurk queens, so there's nothing to equip (and mirelurk queens shouldn't have been configured to run this script at all). I added a check to the script to bail out if the actor's race is not MirelurkRace, MirelurkHunterRace or MirelurkKingRace.
(2) Mirelurk hunters (aka RADLobsters): The armor formlist for mirelurk hunters was missing from the game but the skins did exist. This has been fixed already in UFO4P 2.0.0 (Bug #20566).
(3) Mirelurk kings: There is an armor formlist existing in the game but it was not properly processed by the script because it had the skins in the wrong positions.