local D_TAGS = DIRECTOR_BOT_TAGS DIRECTOR_SUBWAVE_PATTERNS = { SpyMission_Variant1 = { Cost = 1, Sequences = { [1] = { TotalCount = 3, MaxActive = 3, SpawnCount = 3, SupportInfinite = true, IsMission = true, IgnoreLastSequenceRule = true, FollowUpRunConcurrently = true, WaitBeforeStarting = 5, WaitBetweenSpawnsAfterDeath = 35, AllowedClasses = { CLASSES.Spy, }, }, }, }, MeleeFodder_Variant1 = { PreferredIndex = { 1 }, -- preferred to be intro and nowhere else Cost = 1, -- sequences allow you to create multiple wavespawns from one pattern Sequences = { [1] = { TotalCount = 15, MaxActive = 10, SpawnCount = 5, FollowUpRunConcurrently = true, WaitBetweenSpawns = 15, AllowedTags = { -- if there are multiple tags, all tags must be matched D_TAGS.Melee, D_TAGS.Fodder, }, DisallowedTags = { -- disallow bots that have any of these tags, even ones which match AllowedTags D_TAGS.Combat, D_TAGS.Miniboss, }, }, }, }, KillingPowerCombat_Variant1 = { DislikedIndex = { 1 }, Cost = 1, Sequences = { [1] = { TotalCount = 15, MaxActive = 10, SpawnCount = 5, WaitBetweenSpawns = 5, FollowUpWaitForAllDead = true, AllowedTagsAny = { D_TAGS.Combat, D_TAGS.Melee, }, DisallowedTags = { D_TAGS.Miniboss, D_TAGS.Melee, }, }, }, }, NormalTankSolo_Variant1 = { PreferredIndex = { 1, 2 }, Cost = 1, Sequences = { [1] = { TotalCount = 1, MaxActive = 1, SpawnCount = 1, WaitBetweenSpawns = 0, FollowUpWaitForAllDead = true, FixedTemplates = { { IsTank = true, Name = "tankboss", Health = 5000, Speed = 75, }, }, }, }, }, } for patternName, patternInfo in pairs(DIRECTOR_SUBWAVE_PATTERNS) do patternInfo.Name = patternName end