Boss And Maps Mutator. Mutator boss for each map

Boss And Maps Mutator. Mutator boss for each map

  • Topic closed
  • You cannot reply to this topic

Boss And Maps Mutator. Mutator boss for each map Boss And Maps Mutator. Mutator boss for each map The simplest mutator that allows you to choose a boss for each specific map. For example, you want to put Santa Patrick on winter cards, and Halloween Patrick on scary ...

Geekrainian #1

    • Group: Admin
    • Posts: 800

    Posted:

    Boss And Maps Mutator. Mutator boss for each map

    The simplest mutator that allows you to choose a boss for each specific map. For example, you want to put Santa Patrick on winter cards, and Halloween Patrick on scary cards. Or even special Patricks for different cards with different capabilities.

    Settings:

    DefaultBoss=KFChar.ZombieBoss_STANDARD - specify the boss for all maps not listed in the ini BossAndMapsList=(Map=“KF-Bedlam”,Boss=“KFChar.ZombieBoss_HALLOWEEN”) - array element: map-boss pair

    BossAndMapsMut.uc

    class BossAndMapsMut extends Mutator config(BossAndMapsMut);
    
    struct BossAndMapsStruct
    {
        var config string Map;
        var config string Boss;
    };
    
    var config array<BossAndMapsStruct> BossAndMapsList;
    var config string DefaultBoss;
    var string URL;
    
    function MatchStarting()
    {
        SetTimer(2.0, false);
    }
    
    function PostBeginPlay()
    {
        SaveConfig();
    }
    
    function Timer()
    {
        local string boss;
    
        URL = GetShortUrl(Level.GetLocalURL());
        boss = GetBossFromMap(URL);
        KFGameType(Level.Game).EndGameBossClass = boss;
        if (KFGameType(Level.Game).MonsterCollection != None)
            KFGameType(Level.Game).MonsterCollection.Default.EndGameBossClass = boss;
    }
    
    function string GetBossFromMap(string map)
    {
        local int i;
    
        for (i = 0; i < BossAndMapsList.Length; i++)
        {
            if (BossAndMapsList[i].Map ~= map)
                return BossAndMapsList[i].Boss;
        }
        return DefaultBoss;
    }
    
    function string GetShortUrl(string s)
    {
        local int qPos, slashPos, startPos;
        local string result;
    
        qPos = InStr(s, "?");
        slashPos = InStr(s, "/");
        startPos = Max(slashPos, 0);
        result = Mid(s, startPos + 1, qPos - startPos - 1);
        return result;
    }
    
    defaultproperties
    {
        BossAndMapsList(0)=(Boss="KFChar.ZombieBoss_HALLOWEEN",Map="KF-Bedlam")
        BossAndMapsList(1)=(Boss="KFChar.ZombieBoss_XMas",Map="KF-IceCave")
        BossAndMapsList(2)=(Boss="KFChar.ZombieBoss_CIRCUS",Map="KF-AbusementPark")
        DefaultBoss="KFChar.ZombieBoss_STANDARD"
        bAddToServerPackages=True
        GroupName="KF-BossAndMaps"
        FriendlyName="BossAndMapsMut"
        Description="BossAndMapsMut"
    }

    Register as: BossAndMapsMut.BossAndMapsMut Link to the compiled version: YaDisk Author: Flame

    Back