Мутаторы и UnrealScript

Patriarch Healing Wave Edit. Редактирование монстров патриарха

Появление Патриарха Появление Патриарха: он умеет уходить в невидимость, убегать лечиться и стрелять из пулемёта и ракетницы.

//=============================================================================
// Patriarch Healing Wave Edit Mutator
// Made by FluX
// http://www.fluxiserver.co.uk
//=============================================================================

class PHWMut extends Mutator
    config(PHWConfiguration);

struct SpecialSquad
{
    var config array<string> ZedClass;
    var config array<int> NumZeds;
};

var globalconfig array<SpecialSquad> FinalSquads;

function PostBeginPlay()
{
    local int i;
    local KFGameType KF;

    KF = KFGameType(Level.Game);
    if (KF == None)
    {
        Destroy();
        return;
    }
    // Replace final squads
    for (i = 0; i < 3; i++)
    {
        KF.MonsterCollection.default.FinalSquads[i].ZedClass = FinalSquads[i].ZedClass;
        KF.MonsterCollection.default.FinalSquads[i].NumZeds = FinalSquads[i].NumZeds;
    }
}

defaultproperties
{
    FinalSquads(0)=(ZedClass=("KFChar.ZombieClot"),NumZeds=(4))
    FinalSquads(1)=(ZedClass=("KFChar.ZombieClot","KFChar.ZombieCrawler"),NumZeds=(3,1))
    FinalSquads(2)=(ZedClass=("KFChar.ZombieClot","KFChar.ZombieStalker","KFChar.ZombieCrawler"),NumZeds=(3,1,1))
    bAddToServerPackages=True
    GroupName="KF-PHWMut"
    FriendlyName="Patriarch Healing Wave Edit Mutator"
    Description="This mutator allows you to change what the healing waves to the Patriarch should spawn. This can be configured to the your liking.|Made by FluX & King Sumo|http://www.fluxiserver.co.uk"
    RemoteRole=ROLE_SimulatedProxy
    bNetNotify=True
}

Дополнения

Из темы «Patriarch Healing Wave Edit» (выложил kok-s). Мутатор задаёт мобов, которые появляются, когда раненый Патриарх убегает лечиться: у него три шприца, и на каждый в ini есть своя строка. Версия 2 (1/7/2013) исправлена под тогдашнюю версию игры. Строки в ini:

[FX-PHWMutV2.PHWMut]
FinalSquads=(ZedClass=("KFChar.ZombieClot"),NumZeds=(4))
FinalSquads=(ZedClass=("KFChar.ZombieClot","KFChar.ZombieCrawler"),NumZeds=(3,1))
FinalSquads=(ZedClass=("KFChar.ZombieClot","KFChar.ZombieStalker","KFChar.ZombieCrawler"),NumZeds=(3,1,1))

ZedClass= перечисляет классы мобов в кавычках через запятую, NumZeds= — их количество в том же порядке: в последней строке появятся 3 клота, 1 сталкер и 1 краулер. kok-s советовал ставить мутатор вместе с KFHardPat для 1046.

Flame выложил модификацию для Патриархов, у которых больше трёх шприцов: в цикле for( i=0; i<3; i++ ) он заменил 3 на FinalSquads.Length, так что строк FinalSquads можно добавлять сколько угодно (сам он её не тестировал).

На шприцы можно ставить и сильных мобов, и ивентовых. Классы ивентовых мобов из темы (Strit_Striker) строятся по одной схеме для Clot, Crawler, Gorefast, Stalker, Bloat, Siren, Scrake, Husk, Fleshpound и Boss, например:

kfchar.zombieclot_Circus
kfchar.zombiefleshpound_Xmas
KFChar.ZombieHusk_HALLOWEEN
KFChar.ZombieBoss_HALLOWEEN