--[[ Template values -Class -Model -Attributes -ClassIcon -Skill -MaxVisionRange -Tags -WeaponRestrictions -Mission -IgnoreDefaultMission -UseBusterModel -Health -Conds -Scale -Items -ItemAttributes -CharacterAttributes -Name -TeleportWhere -TeleportWhereMultiple ]] local D_TAGS = DIRECTOR_BOT_TAGS -- Cost baselines: -- Scout (Scattergun): 30 -- Scout (Melee): 10 -- Soldier (Rocket): 40 ROBOT_STANDARD = { Sniper = { Class = CLASSES.Sniper, Cost = 30, DirectorTags = {}, DirectorMissionOnly = true, Skill = BOT_SKILL.HARD, MaxVisionRange = 3000, }, Sniper_Sydney_Sleeper = { Class = CLASSES.Sniper, Cost = 35, DirectorTags = {}, DirectorMissionOnly = true, ClassIcon = "sniper_sydneysleeper", Skill = BOT_SKILL.HARD, MaxVisionRange = 3000, Items = { "The Sydney Sleeper" }, }, Sniper_Huntsman = { Class = CLASSES.Sniper, Cost = 35, DirectorTags = { D_TAGS.Combat }, Name = "Bowman", ClassIcon = "sniper_bow", Skill = BOT_SKILL.HARD, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Items = { "The Huntsman" }, ItemAttributes = { ["The Huntsman"] = { ["damage bonus"] = 0.5, }, }, }, Sniper_Huntsman_Spammer = { Class = CLASSES.Sniper, Cost = 80, DirectorTags = { D_TAGS.Miniboss, D_TAGS.Combat }, Name = "Bowman Rapid Fire", ClassIcon = "sniper_bow_multi", Skill = BOT_SKILL.HARD, Health = 1200, Scale = 1.5, Items = { "The Huntsman" }, ItemAttributes = { ["The Huntsman"] = { ["fire rate bonus"] = 0.6, }, }, CharacterAttributes = { ["head scale"] = 0.7, ["move speed bonus"] = 0.85, }, }, Scout = { Class = CLASSES.Scout, Cost = 30, DirectorTags = { D_TAGS.Combat, D_TAGS.Fodder }, Skill = BOT_SKILL.NORMAL, }, Scout_Melee = { Class = CLASSES.Scout, Cost = 10, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder }, ClassIcon = "scout_bat", Skill = BOT_SKILL.HARD, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, }, -- Scout_Fish = { -- Class = CLASSES.Scout, -- Cost = 23, -- Skill = BOT_SKILL.EASY, -- WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, -- Items = { -- "The Holy Mackerel", -- }, -- }, -- Scout_SunStick = { -- Class = CLASSES.Scout, -- Cost = 36, -- ClassIcon = "scout_sunstick", -- Skill = BOT_SKILL.HARD, -- WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, -- Items = { -- "Sun-on-a-Stick", -- "The Bolt Boy", -- }, -- }, Scout_Bonk = { Class = CLASSES.Scout, Cost = 40, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder, D_TAGS.Gimmick }, Name = "Bonk! Scout", ClassIcon = "scout_bonk", Skill = BOT_SKILL.EASY, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "Bonk! Atomic Punch", "Bonk Helm", "The Atomizer", }, }, Scout_Sandman = { Class = CLASSES.Scout, Cost = 20, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder, D_TAGS.Gimmick }, Name = "Minor League Scout", ClassIcon = "scout_stun", Skill = BOT_SKILL.HARD, Health = 110, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Sandman", "Batter's Helmet", }, ItemAttributes = { ["The Sandman"] = { ["max health additive penalty"] = -0, }, }, }, Scout_Sandman_FastCharge = { Class = CLASSES.Scout, Cost = 25, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder, D_TAGS.Gimmick, D_TAGS.AdvancedTier1 }, Name = "Hyper League Scout", ClassIcon = "scout_stun", Skill = BOT_SKILL.HARD, Health = 110, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Sandman", "Batter's Helmet", }, ItemAttributes = { ["The Sandman"] = { ["effect bar recharge rate increased"] = 0.25, ["max health additive penalty"] = -0, }, ["Batter's Helmet"] = { ["set item tint RGB"] = 8626083, }, }, }, Scout_Wrap_Assassin = { Class = CLASSES.Scout, Cost = 15, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder, D_TAGS.Gimmick }, Name = "Wrap Assassin", Skill = BOT_SKILL.EASY, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Wrap Assassin" }, }, Scout_Jumping_Sandman = { Class = CLASSES.Scout, Cost = 40, DirectorTags = { D_TAGS.Melee, D_TAGS.Gimmick, D_TAGS.Less }, ClassIcon = "scout_jumping", Skill = BOT_SKILL.HARD, Health = 110, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Sandman", "The Hanger-On Hood", "The Flight of the Monarch", }, Attributes = { BOT_ATTRIBUTES.AUTO_JUMP, }, AutoJumpMin = 5, AutoJumpMax = 5, CharacterAttributes = { ["increased jump height"] = 2, ["cancel falling damage"] = 1, }, ItemAttributes = { ["The Sandman"] = { ["effect bar recharge rate increased"] = 0.5, ["max health additive penalty"] = -0, }, }, }, Scout_Scattergun_SlowFire = { Class = CLASSES.Scout, Cost = 20, DirectorTags = { D_TAGS.Fodder, D_TAGS.Combat }, Skill = BOT_SKILL.EASY, ItemAttributes = { ["TF_WEAPON_SCATTERGUN"] = { ["fire rate bonus"] = 1.15, }, }, }, Scout_FAN = { Class = CLASSES.Scout, Cost = 35, DirectorTags = { D_TAGS.Fodder, D_TAGS.Gimmick }, Name = "Force-A-Nature Scout", ClassIcon = "scout_fan", Skill = BOT_SKILL.EXPERT, MaxVisionRange = 500, Items = { "The Bolt Boy", "The Force-a-Nature", }, ItemAttributes = { ["The Force-a-Nature"] = { ["faster reload rate"] = 1.6, ["scattergun knockback mult"] = 1.5, ["damage bonus"] = 0.65, }, }, }, Scout_Shortstop = { Class = CLASSES.Scout, Cost = 40, DirectorTags = { D_TAGS.Miniboss, D_TAGS.Combat }, Name = "Shortstop Scout", ClassIcon = "scout_shortstop", Skill = BOT_SKILL.NORMAL, Health = 650, Scale = 1.4, Items = { "The Shortstop", "The Milkman", }, CharacterAttributes = { ["head scale"] = 0.7, ["move speed bonus"] = 1.25, }, }, Spy = { Class = CLASSES.Spy, Cost = 30, DirectorTags = {}, DirectorMissionOnly = true, Skill = BOT_SKILL.EXPERT, }, Medic = { Class = CLASSES.Medic, Cost = 40, DirectorTags = {}, Name = "Uber Medic", ClassIcon = "medic_uber", Skill = BOT_SKILL.HARD, Items = { "Medic Mask" }, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, ItemAttributes = { ["TF_WEAPON_MEDIGUN"] = { ["ubercharge rate bonus"] = 2, }, }, CharacterAttributes = { ["heal rate bonus"] = 5, }, }, Medic_QuickUber = { Class = CLASSES.Medic, Cost = 40, DirectorTags = { D_TAGS.AdvancedTier1 }, Name = "Quick Uber Medic", ClassIcon = "medic_uber", Skill = BOT_SKILL.NORMAL, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, ItemAttributes = { ["TF_WEAPON_MEDIGUN"] = { ["ubercharge rate bonus"] = 5, ["uber duration bonus"] = -3, }, }, CharacterAttributes = { ["heal rate bonus"] = 0.1, }, }, Medic_BigHeal = { Class = CLASSES.Medic, Cost = 35, DirectorTags = { D_TAGS.AdvancedTier1 }, Name = "Big Heal Medic", Skill = BOT_SKILL.HARD, Items = { "Otolaryngologist's Mirror", "The Quick-Fix", }, ItemAttributes = { ["The Quick-Fix"] = { ["ubercharge rate bonus"] = 0.1, }, }, CharacterAttributes = { ["heal rate bonus"] = 10, }, }, Medic_QuickFix = { Class = CLASSES.Medic, Cost = 30, Name = "Quick-Fix Medic", Skill = BOT_SKILL.EASY, Items = { "The Quick-Fix" }, }, Medic_SlowRecharge = { Class = CLASSES.Medic, Cost = 35, Name = "Slow Uber Medic", ClassIcon = "medic_uber", Skill = BOT_SKILL.HARD, Items = { "Practitioner's Processing Mask", "Halogen Head Lamp", }, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, ItemAttributes = { ["TF_WEAPON_MEDIGUN"] = { ["ubercharge rate bonus"] = 0.25, }, }, CharacterAttributes = { ["heal rate bonus"] = 5, }, }, -- Medic_Vaccinator_Bullet = { -- Class = CLASSES.Medic, -- Cost = 59, -- Skill = BOT_SKILL.EXPERT, -- Items = { "The Vaccinator MVM" }, -- Attributes = { -- BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, -- BOT_ATTRIBUTES.PREFER_VACCINATOR_BULLETS, -- }, -- CharacterAttributes = { -- ["ubercharge rate bonus"] = 25, -- ["heal rate bonus"] = 1, -- ["uber duration bonus"] = 100, -- ["medigun bullet resist passive"] = 1, -- ["medigun bullet resist deployed"] = 1, -- }, -- ItemAttributes = { -- ["TF_WEAPON_SYRINGEGUN_MEDIC"] = { -- ["damage penalty"] = 0.1, -- }, -- }, -- }, -- Medic_Vaccinator_Blast = { -- Class = CLASSES.Medic, -- Cost = 59, -- Skill = BOT_SKILL.EXPERT, -- Items = { "The Vaccinator MVM" }, -- Attributes = { -- BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, -- BOT_ATTRIBUTES.PREFER_VACCINATOR_BLAST, -- }, -- CharacterAttributes = { -- ["ubercharge rate bonus"] = 25, -- ["heal rate bonus"] = 1, -- ["uber duration bonus"] = 100, -- ["medigun blast resist passive"] = 1, -- ["medigun blast resist deployed"] = 1, -- }, -- ItemAttributes = { -- ["TF_WEAPON_SYRINGEGUN_MEDIC"] = { -- ["damage penalty"] = 0.1, -- }, -- }, -- }, -- Medic_Vaccinator_Fire = { -- Class = CLASSES.Medic, -- Cost = 59, -- Skill = BOT_SKILL.EXPERT, -- Items = { "The Vaccinator MVM" }, -- Attributes = { -- BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, -- BOT_ATTRIBUTES.PREFER_VACCINATOR_FIRE, -- }, -- CharacterAttributes = { -- ["ubercharge rate bonus"] = 25, -- ["heal rate bonus"] = 1, -- ["uber duration bonus"] = 100, -- ["medigun fire resist passive"] = 1, -- ["medigun fire resist deployed"] = 1, -- }, -- ItemAttributes = { -- ["TF_WEAPON_SYRINGEGUN_MEDIC"] = { -- ["damage penalty"] = 0.1, -- }, -- }, -- }, Heavyweapons_Fist = { Class = CLASSES.Heavyweapons, Cost = 80, DirectorTags = { D_TAGS.Melee, D_TAGS.Miniboss, D_TAGS.StrongFodder }, Name = "Steel Gauntlet", ClassIcon = "heavy_steelfist", Skill = BOT_SKILL.HARD, Health = 900, Scale = 1.5, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "Fists of Steel" }, }, Heavyweapons_Heavyweight_Champ = { Class = CLASSES.Heavyweapons, Cost = 10, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder }, Name = "Heavyweight Champ", ClassIcon = "heavy_champ", Skill = BOT_SKILL.EASY, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "the killing gloves of boxing", "Pugilist's Protector", }, }, Heavyweapons_Heavyweight_Champ_Fast = { Class = CLASSES.Heavyweapons, Cost = 15, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder }, Name = "Heavyweight Champ", ClassIcon = "heavy_gru", Skill = BOT_SKILL.EASY, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "Gloves of Running Urgently MvM" }, }, Heavyweapons_Gnome = { Class = CLASSES.Heavyweapons, Cost = 20, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder, D_TAGS.Gimmick }, Name = "Heavy Mittens", ClassIcon = "heavy_mittens", Skill = BOT_SKILL.EASY, Health = 60, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Holiday Punch" }, Attributes = { BOT_ATTRIBUTES.ALWAYS_CRIT, }, ItemAttributes = { ["The Holiday Punch"] = { ["damage bonus"] = 0.2, }, }, CharacterAttributes = { ["move speed bonus"] = 1.3, }, }, Heavyweapons_Shotgun = { Class = CLASSES.Heavyweapons, Cost = 35, DirectorTags = { D_TAGS.Combat, D_TAGS.StrongFodder }, Name = "Heavy Shotgun", ClassIcon = "heavy_shotgun", Skill = BOT_SKILL.HARD, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Items = { "The Purity Fist" }, ItemAttributes = { ["TF_WEAPON_SHOTGUN_HWG"] = { ["faster reload rate"] = 0.1, ["fire rate bonus"] = 2.5, ["bullets per shot bonus"] = 3, ["damage bonus"] = 0.33, }, }, }, Heavy_IronFist_Airblast = { Class = CLASSES.Heavyweapons, Cost = 80, DirectorTags = { D_TAGS.Melee, D_TAGS.Miniboss, D_TAGS.Fodder, D_TAGS.AdvancedTier1 }, Name = "Steel Gauntlet Pusher", ClassIcon = "heavy_steelfist", Skill = BOT_SKILL.EXPERT, Health = 900, Scale = 1.5, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The carl", "Fists of Steel", }, ItemAttributes = { ["Fists of Steel"] = { ["damage causes airblast"] = 1, ["damage bonus"] = 1.5, }, }, }, Demoman = { Class = CLASSES.Demoman, Cost = 40, Skill = BOT_SKILL.EASY, DirectorTags = { D_TAGS.Combat }, }, Demoman_Knight = { Class = CLASSES.Demoman, Cost = 20, DirectorTags = { D_TAGS.Melee, D_TAGS.Fodder }, Name = "Demoknight", ClassIcon = "demoknight", Skill = BOT_SKILL.HARD, Health = 150, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Chargin' Targe", "The Eyelander", }, ItemAttributes = { ["The Eyelander"] = { ["critboost on kill"] = 3, ["max health additive penalty"] = -0, }, }, }, Demoman_Samurai = { Class = CLASSES.Demoman, Cost = 80, DirectorTags = { D_TAGS.Melee, D_TAGS.Miniboss }, Name = "Samurai Demo", ClassIcon = "demoknight_samurai", Skill = BOT_SKILL.EXPERT, Health = 650, Scale = 1.3, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Items = { "The Half-Zatoichi", "The Splendid Screen", "Demo Kabuto", }, Attributes = { BOT_ATTRIBUTES.AIR_CHARGE_ONLY, BOT_ATTRIBUTES.AUTO_JUMP, }, AutoJumpMin = 10, AutoJumpMax = 10, ItemAttributes = { ["The Splendid Screen"] = { ["Attack not cancel charge"] = 1, }, }, CharacterAttributes = { ["charge time increased"] = 2, ["charge recharge rate increased"] = 7, ["increased jump height"] = 2.3, ["bot custom jump particle"] = 1, ["damage bonus"] = 1.5, ["cancel falling damage"] = 1, }, }, Demo_Burst = { Class = CLASSES.Demoman, Cost = 45, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Burst Fire Demo", ClassIcon = "demo_burst", Skill = BOT_SKILL.EXPERT, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Items = { "Scotch Bonnet" }, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["faster reload rate"] = 1.75, ["fire rate bonus"] = 0.05, ["clip size penalty"] = 0.5, ["projectile spread angle penalty"] = 3, }, }, }, Soldier = { Class = CLASSES.Soldier, Cost = 40, DirectorTags = { D_TAGS.Combat }, Skill = BOT_SKILL.HARD, }, -- Soldier_Buff_Banner = { -- Class = CLASSES.Soldier, -- Cost = 45, -- Name = "Buff Soldier", -- ClassIcon = "soldier_buff", -- Skill = BOT_SKILL.HARD, -- Items = { "The Buff Banner" }, -- Attributes = { -- BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, -- }, -- }, Soldier_Extended_Buff_Banner = { Class = CLASSES.Soldier, Cost = 50, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Extended Buff Soldier", ClassIcon = "soldier_buff", Skill = BOT_SKILL.NORMAL, Items = { "The Buff Banner" }, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, CharacterAttributes = { ["increase buff duration"] = 9.0, }, }, Soldier_Extended_Concheror = { Class = CLASSES.Soldier, Cost = 50, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Extended Conch Soldier", ClassIcon = "soldier_conch", Skill = BOT_SKILL.NORMAL, Items = { "The Concheror" }, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, CharacterAttributes = { ["increase buff duration"] = 9.0, }, }, Soldier_Extended_Battalion = { Class = CLASSES.Soldier, Cost = 50, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Extended Backup Soldier", ClassIcon = "soldier_backup", Skill = BOT_SKILL.NORMAL, Items = { "The Battalion's Backup" }, Attributes = { BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, CharacterAttributes = { ["increase buff duration"] = 9.0, }, }, Soldier_RocketPush = { Class = CLASSES.Soldier, Cost = 40, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Gimmick }, Name = "Blast Soldier", ClassIcon = "soldier_libertylauncher", Skill = BOT_SKILL.EXPERT, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Items = { "The Liberty Launcher" }, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, }, ItemAttributes = { ["The Liberty Launcher"] = { ["damage causes airblast"] = 1, ["damage bonus"] = 0.45, ["fire rate bonus"] = 0.001, ["clip size upgrade atomic"] = -2, ["faster reload rate"] = 1.5, ["Blast radius decreased"] = 1.2, ["projectile spread angle penalty"] = 2, }, }, }, Soldier_RocketShotgun = { Class = CLASSES.Soldier, Cost = 45, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Gimmick }, Name = "Black Box Soldier", ClassIcon = "soldier_blackbox", Skill = BOT_SKILL.NORMAL, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Items = { "The Black Box" }, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, }, ItemAttributes = { ["The Black Box"] = { ["damage bonus"] = 0.33, ["fire rate bonus"] = 0.001, ["clip size upgrade atomic"] = 0, ["faster reload rate"] = 0.9, ["blast radius increased"] = 1.25, ["projectile spread angle penalty"] = 2, ["heal on hit for rapidfire"] = 60, }, }, }, Pyro = { Class = CLASSES.Pyro, Cost = 35, DirectorTags = { D_TAGS.Combat }, Skill = BOT_SKILL.NORMAL, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, }, Pyro_Flaregun = { Class = CLASSES.Pyro, Cost = 30, DirectorTags = { D_TAGS.Combat }, Name = "Flare Pyro", ClassIcon = "pyro_flare", Skill = BOT_SKILL.NORMAL, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Items = { "The Flare Gun" }, }, ScorchShot = { Class = CLASSES.Pyro, Cost = 30, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Pyro Pusher", ClassIcon = "pyro_scorch", -- custom icon Skill = BOT_SKILL.EXPERT, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Items = { "The Scorch Shot" }, Attributes = { BOT_ATTRIBUTES.ALWAYS_CRIT, }, ItemAttributes = { ["The Scorch Shot"] = { ["damage bonus"] = 1, ["fire rate bonus"] = 0.75, ["faster reload rate"] = 1.25, ["Projectile speed increased"] = 0.35, }, }, }, ScorchShot_FastShot = { Class = CLASSES.Pyro, Cost = 35, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Fast Scorch Shot", ClassIcon = "pyro_flare", Skill = BOT_SKILL.EXPERT, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Items = { "The Scorch Shot" }, ItemAttributes = { ["The Scorch Shot"] = { ["damage bonus"] = 1, ["fire rate bonus"] = 0.75, ["faster reload rate"] = 1, ["Projectile speed increased"] = 1.3, }, }, }, Engineer_Sentry_Teleporter = { Class = CLASSES.Engineer, Cost = 70, DirectorTags = { D_TAGS.AdvancedTier1 }, DirectorMissionOnly = true, Name = "Engineer", Skill = BOT_SKILL.EXPERT, Health = 500, TeleportWhere = "spawnbot", Attributes = { BOT_ATTRIBUTES.TELEPORT_TO_HINT, }, }, Engineer_Sentry_Battle_TeleIn = { Class = CLASSES.Engineer, Cost = 60, DirectorTags = { D_TAGS.AdvancedTier1 }, DirectorMissionOnly = true, Name = "Engineer", Skill = BOT_SKILL.EXPERT, Health = 275, Attributes = { BOT_ATTRIBUTES.TELEPORT_TO_HINT, }, }, Engineer_Sentry_Tele_Battle = { Class = CLASSES.Engineer, Cost = 60, DirectorTags = {}, DirectorMissionOnly = true, Name = "Engineer", Skill = BOT_SKILL.EXPERT, Health = 275, TeleportWhere = "spawnbot", }, Engineer_Sentry_Battle = { Class = CLASSES.Engineer, Cost = 55, DirectorTags = {}, DirectorMissionOnly = true, Name = "Engineer", Skill = BOT_SKILL.EXPERT, Health = 275, }, } -- Cost baselines: -- Giant Scout (Scattergun): 400 -- Giant Soldier (Rocket): 650 ROBOT_GIANT = { -- robot_giant Giant_Scout = { Class = CLASSES.Scout, Cost = 400, DirectorTags = { D_TAGS.Combat }, Name = "Giant Scout", ClassIcon = "scout_giant", Skill = BOT_SKILL.EXPERT, Health = 1600, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, CharacterAttributes = { ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, }, }, Giant_Soldier = { Class = CLASSES.Soldier, Cost = 650, DirectorTags = { D_TAGS.Combat }, Name = "Giant Soldier", ClassIcon = "soldier_giant", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.MINIBOSS }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, }, }, Giant_Pyro = { Class = CLASSES.Pyro, Cost = 600, DirectorTags = { D_TAGS.Combat }, Name = "Giant Pyro", ClassIcon = "pyro_giant", Skill = BOT_SKILL.EXPERT, Health = 3000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["override footstep sound set"] = 6, }, }, Giant_Demoman = { Class = CLASSES.Demoman, Cost = 650, DirectorTags = { D_TAGS.Combat }, Name = "Giant Rapid Fire Demoman", ClassIcon = "demo_giant", Skill = BOT_SKILL.EXPERT, Health = 3300, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.MINIBOSS }, Items = { "Glengarry Bonnet" }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["faster reload rate"] = -0.4, ["fire rate bonus"] = 0.75, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.5, ["airblast vulnerability multiplier"] = 0.5, ["override footstep sound set"] = 4, }, }, Giant_Demo_RapidFire = { Class = CLASSES.Demoman, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Giant Fast Fire Demoman", ClassIcon = "demo_giant", Skill = BOT_SKILL.EXPERT, Health = 3000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.MINIBOSS }, Items = { "Glengarry Bonnet" }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["fire rate bonus"] = 0.5, ["damage force reduction"] = 0.5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["airblast vulnerability multiplier"] = 0.5, ["override footstep sound set"] = 4, }, }, Giant_Heavyweapons = { Class = CLASSES.Heavyweapons, Cost = 750, DirectorTags = { D_TAGS.Combat }, Name = "Giant Heavy", ClassIcon = "heavy_giant", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, ItemAttributes = { ["TF_WEAPON_MINIGUN"] = { ["damage bonus"] = 1.5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, }, }, Giant_Medic = { Class = CLASSES.Medic, Cost = 600, DirectorTags = {}, Name = "Giant Medic", ClassIcon = "medic_giant", Skill = BOT_SKILL.EXPERT, Health = 4500, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Medic Mask", "The Quick-Fix" }, ItemAttributes = { ["TF_WEAPON_SYRINGEGUN_MEDIC"] = { ["damage penalty"] = 0.1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["heal rate bonus"] = 200, }, }, Giant_Heavyweapons_Deflector = { Class = CLASSES.Heavyweapons, Cost = 775, DirectorTags = { D_TAGS.Combat, D_TAGS.Gimmick }, Name = "Giant Deflector Heavy", ClassIcon = "heavy_deflector", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Deflector", "The U-clank-a" }, ItemAttributes = { ["Deflector"] = { ["damage bonus"] = 1.5, ["attack projectiles"] = 1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, }, }, Giant_Heavyweapons_Shotgun = { Class = CLASSES.Heavyweapons, Cost = 675, DirectorTags = { D_TAGS.Combat }, Name = "Giant Shotgun Heavy", ClassIcon = "heavy_shotgun", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "MvM GateBot Light Heavy" }, ItemAttributes = { ["TF_WEAPON_SHOTGUN_HWG"] = { ["fire rate bonus"] = 2.5, ["bullets per shot bonus"] = 10, ["damage penalty"] = 0.5, ["faster reload rate"] = 0.1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.7, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, }, }, -- Giant_Heavyweapons_BrassBeast = { -- Class = CLASSES.Heavyweapons, -- Cost = 800, -- Name = "Giant Brass Beast Heavy", -- ClassIcon = "heavy_giant", -- Skill = BOT_SKILL.EXPERT, -- Health = 5000, -- WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, -- Attributes = { BOT_ATTRIBUTES.MINIBOSS }, -- Items = { "The Brass Beast" }, -- ItemAttributes = { -- ["The Brass Beast"] = { -- ["damage bonus"] = 1.5, -- }, -- }, -- CharacterAttributes = { -- ["move speed bonus"] = 0.5, -- ["damage force reduction"] = 0.3, -- ["airblast vulnerability multiplier"] = 0.3, -- ["override footstep sound set"] = 2, -- }, -- }, -- Giant_Heavyweapons_Natascha = { -- Class = CLASSES.Heavyweapons, -- Cost = 675, -- Name = "Giant Natascha Heavy", -- ClassIcon = "heavy_giant", -- Skill = BOT_SKILL.EXPERT, -- Health = 5000, -- WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, -- Attributes = { BOT_ATTRIBUTES.MINIBOSS }, -- Items = { "Natascha" }, -- ItemAttributes = { -- ["Natascha"] = { -- ["damage bonus"] = 1.5, -- }, -- }, -- CharacterAttributes = { -- ["move speed bonus"] = 0.5, -- ["damage force reduction"] = 0.3, -- ["airblast vulnerability multiplier"] = 0.3, -- ["override footstep sound set"] = 2, -- }, -- }, Giant_Heavyweapons_HealOnKill = { Class = CLASSES.Heavyweapons, Cost = 850, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier2 }, Name = "Giant Heal-on-Kill Heavy", ClassIcon = "heavy_deflector_healonkill", Skill = BOT_SKILL.EXPERT, Health = 5500, MaxVisionRange = 1600, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR }, Items = { "Deflector", "The Tungsten Toque" }, ItemAttributes = { ["Deflector"] = { ["damage bonus"] = 1.2, ["attack projectiles"] = 2, ["heal on kill"] = 5000, }, }, CharacterAttributes = { ["move speed bonus"] = 0.4, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.4, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.9, }, }, Giant_Heavyweapons_Heater = { Class = CLASSES.Heavyweapons, Cost = 700, DirectorTags = { D_TAGS.Combat }, Name = "Giant Heater Heavy", ClassIcon = "heavy_heater_giant", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Huo Long Heatmaker" }, ItemAttributes = { ["The Huo Long Heatmaker"] = { ["damage bonus"] = 1.5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, }, }, Giant_Scout_Fast = { Class = CLASSES.Scout, Cost = 800, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier2 }, Name = "Super Scout", ClassIcon = "scout_giant_fast", Skill = BOT_SKILL.EASY, Health = 1200, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Bolt Boy", "The Holy Mackerel" }, CharacterAttributes = { ["move speed bonus"] = 2, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, }, }, Giant_Scout_FAN = { Class = CLASSES.Scout, Cost = 600, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Force-a-Nature Super Scout", ClassIcon = "scout_fan_giant", Skill = BOT_SKILL.EXPERT, Health = 1200, MaxVisionRange = 1200, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD }, Items = { "The Bolt Boy", "The Force-a-Nature" }, ItemAttributes = { ["The Force-a-Nature"] = { ["bullets per shot bonus"] = 2, ["fire rate bonus"] = 0.5, ["faster reload rate"] = 1.7, ["scattergun knockback mult"] = 6, ["damage penalty"] = 0.35, ["weapon spread bonus"] = 0.4, }, }, CharacterAttributes = { ["move speed bonus"] = 1.1, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, }, }, Giant_Scout_Jumping_Sandman = { Class = CLASSES.Scout, Cost = 700, DirectorTags = { D_TAGS.Combat, D_TAGS.Less, D_TAGS.Gimmick }, Name = "Giant Jumping Sandman", ClassIcon = "scout_jumping_g", Skill = BOT_SKILL.EXPERT, Health = 1200, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.AUTO_JUMP }, AutoJumpMin = 5, AutoJumpMax = 5, Items = { "The Sandman", "The Hanger-On Hood", "The Flight of the Monarch", }, CharacterAttributes = { ["increased jump height"] = 2, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, ["head scale"] = 1.5, ["cancel falling damage"] = 1, }, ItemAttributes = { ["The Sandman"] = { ["effect bar recharge rate increased"] = 0.1, }, }, }, Giant_DemoMan_PrinceTavish = { Class = CLASSES.Demoman, Cost = 450, DirectorTags = { D_TAGS.Melee, D_TAGS.Combat }, Name = "Giant Demoknight", ClassIcon = "demoknight_giant", Skill = BOT_SKILL.EXPERT, Health = 3300, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Prince Tavish's Crown", "The Chargin' Targe", "The Eyelander", "Ali Baba's Wee Booties", }, ItemAttributes = { ["The Eyelander"] = { ["critboost on kill"] = 3, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.5, ["airblast vulnerability multiplier"] = 0.5, ["override footstep sound set"] = 4, }, }, Giant_Scout_Baseball = { Class = CLASSES.Scout, Cost = 450, DirectorTags = { D_TAGS.Melee, D_TAGS.Combat, D_TAGS.Gimmick }, Name = "Major League Scout", ClassIcon = "scout_stun_giant", Skill = BOT_SKILL.EXPERT, Health = 1600, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Batter's Helmet", "MNC Mascot Outfit", "The Sandman", }, ItemAttributes = { ["The Sandman"] = { ["effect bar recharge rate increased"] = 0.1, }, }, }, Giant_Scout_Baseball_Armored = { Class = CLASSES.Scout, Cost = 550, DirectorTags = { D_TAGS.Melee, D_TAGS.Combat, D_TAGS.Gimmick, D_TAGS.AdvancedTier2 }, Name = "Armored Sandman Scout", ClassIcon = "scout_stun_giant_armored", Skill = BOT_SKILL.EXPERT, Health = 3000, Scale = 1.75, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Batter's Helmet", "The Sandman", }, ItemAttributes = { ["The Sandman"] = { ["effect bar recharge rate increased"] = 0.05, }, ["Batter's Helmet"] = { ["set item tint RGB"] = 8289918, }, }, CharacterAttributes = { ["move speed bonus"] = 0.75, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, }, }, Giant_Scout_Bonk = { Class = CLASSES.Scout, Cost = 500, DirectorTags = { D_TAGS.Melee, D_TAGS.Combat, D_TAGS.Support }, Name = "Giant Bonk! Scout", ClassIcon = "scout_bonk_giant", Skill = BOT_SKILL.EASY, Health = 1600, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "Bonk! Atomic Punch", "Bonk Helm", "The Atomizer", }, CharacterAttributes = { ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.7, ["override footstep sound set"] = 5, ["effect bar recharge rate increased"] = 0.35, }, }, Giant_Soldier_Crit = { Class = CLASSES.Soldier, Cost = 675, DirectorTags = { D_TAGS.Combat }, Name = "Giant Charged Soldier", ClassIcon = "soldier_crit", Skill = BOT_SKILL.NORMAL, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.ALWAYS_CRIT, BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Original" }, ItemAttributes = { ["The Original"] = { ["faster reload rate"] = 0.2, ["fire rate bonus"] = 2, ["Projectile speed increased"] = 0.5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, }, }, Giant_Pyro_Flare_Spammer = { Class = CLASSES.Pyro, Cost = 575, DirectorTags = { D_TAGS.Combat }, Name = "Giant Flare Pyro", ClassIcon = "pyro_flare_giant", Skill = BOT_SKILL.EXPERT, Health = 3000, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Detonator", "Old Guadalajara" }, ItemAttributes = { ["The Detonator"] = { ["fire rate bonus"] = 0.3, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["override footstep sound set"] = 6, }, }, Giant_Pyro_Flare_Spammer_ScorchShot = { Class = CLASSES.Pyro, Cost = 600, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Giant Flare Pyro", ClassIcon = "pyro_scorch", -- custom icon Skill = BOT_SKILL.EXPERT, Health = 3000, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Scorch Shot" }, ItemAttributes = { ["The Scorch Shot"] = { ["fire rate bonus"] = 0.2, ["damage causes airblast"] = 1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.35, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["override footstep sound set"] = 6, }, }, Giant_Pyro_Pusher = { Class = CLASSES.Pyro, Cost = 600, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Gimmick }, Name = "Giant Airblast Pyro", ClassIcon = "pyro_flare_giant", Skill = BOT_SKILL.EXPERT, Health = 3000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Degreaser", "Traffic Cone" }, ItemAttributes = { ["The Degreaser"] = { ["damage bonus"] = 0.05, ["airblast pushback scale"] = 5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["override footstep sound set"] = 6, }, }, Giant_Boxing_Heavy = { Class = CLASSES.Heavyweapons, Cost = 425, DirectorTags = { D_TAGS.Melee, D_TAGS.Combat }, Name = "Super Heavyweight Champ", ClassIcon = "heavy_champ_giant", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "the killing gloves of boxing", "Pugilist's Protector" }, ItemAttributes = { ["the killing gloves of boxing"] = { ["fire rate bonus"] = 0.6, ["damage bonus"] = 1.2, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, }, }, Giant_Demo_Burst = { Class = CLASSES.Demoman, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Giant Burst Fire Demo", ClassIcon = "demo_burst_giant", Skill = BOT_SKILL.EXPERT, Health = 3300, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD }, Items = { "Scotch Bonnet" }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["faster reload rate"] = 0.65, ["fire rate bonus"] = 0.1, ["clip size upgrade atomic"] = 7.0, ["projectile spread angle penalty"] = 5, ["Projectile speed increased"] = 1.1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 4, }, }, Giant_Demo_Spammer_Reload_Chief = { Class = CLASSES.Demoman, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Giant Rapid Fire Demo Chief", ClassIcon = "demo_giant", Skill = BOT_SKILL.EXPERT, Health = 60000, Scale = 1.75, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.ALWAYS_CRIT, }, Items = { "Glengarry Bonnet" }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["faster reload rate"] = 0.65, ["fire rate bonus"] = 0.1, ["clip size upgrade atomic"] = 7.0, ["projectile spread angle penalty"] = 2, ["Projectile speed increased"] = 1.1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 4, }, }, Giant_Soldier_Spammer = { Class = CLASSES.Soldier, Cost = 700, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Giant Rapid Fire Soldier", ClassIcon = "soldier_spammer", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Lucky Shot" }, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["faster reload rate"] = -0.8, ["fire rate bonus"] = 0.5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["Projectile speed increased"] = 0.65, }, }, Giant_Soldier_Spammer_Reload = { Class = CLASSES.Soldier, Cost = 700, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1 }, Name = "Giant Burst Fire Soldier", ClassIcon = "soldier_burstfire", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD }, Items = { "The Shogun's Shoulder Guard" }, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["faster reload rate"] = 0.6, ["fire rate bonus"] = 0.1, ["clip size upgrade atomic"] = 5.0, ["Projectile speed increased"] = 0.65, }, }, CharacterAttributes = { ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, }, }, Giant_Soldier_Extended_Buff_Banner = { Class = CLASSES.Soldier, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Giant Buff Banner Soldier", ClassIcon = "soldier_buff_giant", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, Items = { "The Buff Banner" }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["increase buff duration"] = 9.0, }, }, Giant_Soldier_Extended_Concheror = { Class = CLASSES.Soldier, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Giant Concheror Soldier", ClassIcon = "soldier_conch_giant", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, Items = { "The Concheror" }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["increase buff duration"] = 9.0, }, }, Giant_Soldier_Extended_Battalion = { Class = CLASSES.Soldier, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Support }, Name = "Giant Battalion Soldier", ClassIcon = "soldier_backup_giant", Skill = BOT_SKILL.EXPERT, Health = 3800, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.SPAWN_WITH_FULL_CHARGE, }, Items = { "The Battalion's Backup" }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["increase buff duration"] = 9.0, }, }, Giant_Soldier_RocketShotgun = { Class = CLASSES.Soldier, Cost = 675, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier1, D_TAGS.Gimmick }, Name = "Giant Black Box Soldier", ClassIcon = "soldier_blackbox_giant", Skill = BOT_SKILL.EXPERT, Health = 4200, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD }, Items = { "The Black Box" }, ItemAttributes = { ["The Black Box"] = { ["damage bonus"] = 0.45, ["fire rate bonus"] = 0.001, ["clip size upgrade atomic"] = 0, ["faster reload rate"] = 1.6, ["blast radius increased"] = 1.25, ["projectile spread angle penalty"] = 4, ["heal on hit for rapidfire"] = 1000, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["Projectile speed increased"] = 0.9, }, }, Giant_Medic_Regen = { Class = CLASSES.Medic, Cost = 650, DirectorTags = { D_TAGS.AdvancedTier1 }, Name = "Giant Medic", ClassIcon = "medic_giant", Skill = BOT_SKILL.EXPERT, Health = 4500, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Quick-Fix", "The Surgeon's Stahlhelm" }, ItemAttributes = { ["The Quick-Fix"] = { ["ubercharge rate bonus"] = 0.01, }, ["TF_WEAPON_SYRINGEGUN_MEDIC"] = { ["damage penalty"] = 0.1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.6, ["airblast vulnerability multiplier"] = 0.6, ["heal rate bonus"] = 200, ["health regen"] = 40, }, }, Giant_Major_League = { Class = CLASSES.Scout, Cost = 600, DirectorTags = { D_TAGS.Melee, D_TAGS.Boss, D_TAGS.Gimmick }, Name = "Major League", ClassIcon = "scout_stun_giant", Skill = BOT_SKILL.EXPERT, Health = 10000, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR }, Items = { "Genuine Cockfighter", "The Boston Boom-Bringer", "Summer Shades", "The Sandman", }, CharacterAttributes = { ["move speed bonus"] = 8, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 3.0, ["override footstep sound set"] = 5, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_SentryBuster = { Class = CLASSES.Demoman, Cost = -1, IgnoredByDirector = true, Name = "Sentry Buster", Skill = BOT_SKILL.EXPERT, Health = 2500, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, ClassIcon = "sentry_buster", Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.DISABLE_DODGE, }, UseBusterModel = true, Mission = BOT_MISSIONS.MISSION_DESTROY_SENTRIES, Items = { "The Ullapool Caber" }, CharacterAttributes = { ["move speed bonus"] = 2, ["damage force reduction"] = 0.5, ["airblast vulnerability multiplier"] = 0.5, ["override footstep sound set"] = 7, ["cannot be backstabbed"] = 1, }, }, Giant_Soldier_SlowBarrage = { Class = CLASSES.Soldier, Cost = 725, DirectorTags = { D_TAGS.Combat, D_TAGS.AdvancedTier2 }, Name = "Colonel Barrage", ClassIcon = "soldier_barrage", Skill = BOT_SKILL.EXPERT, Health = 4000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD }, Items = { "TF_WEAPON_ROCKETLAUNCHER" }, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["clip size upgrade atomic"] = 26, ["faster reload rate"] = 0.22, ["fire rate bonus"] = 0.2, ["projectile spread angle penalty"] = 5, }, }, CharacterAttributes = { ["health regen"] = 40, ["move speed bonus"] = 0.5, ["damage bonus"] = 1.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["airblast vertical vulnerability multiplier"] = 0.1, ["Projectile speed increased"] = 0.4, }, }, Giant_Chief_Gauntlet = { Class = CLASSES.Heavyweapons, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Captain Punch", ClassIcon = "heavy_chief", Skill = BOT_SKILL.EXPERT, Health = 60000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR }, Items = { "War Head", "Fists of Steel" }, ItemAttributes = { ["Fists of Steel"] = { ["fire rate bonus"] = 0.6, ["damage bonus"] = 5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.4, ["health regen"] = 250, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_Chief_Tavish = { Class = CLASSES.Demoman, Cost = 10000, DirectorTags = { D_TAGS.Melee, D_TAGS.Boss }, Name = "Chief Tavish", ClassIcon = "demoknight_giant", Skill = BOT_SKILL.EXPERT, Health = 55000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR }, Items = { "Prince Tavish's Crown", "The Chargin' Targe", "The Eyelander", "Ali Baba's Wee Booties", }, ItemAttributes = { ["The Eyelander"] = { ["damage bonus"] = 5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.4, ["health regen"] = 500, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_Chief_Pyro = { Class = CLASSES.Pyro, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Chief Pyro", ClassIcon = "pyro_giant", Skill = BOT_SKILL.EXPERT, Health = 55000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR }, ItemAttributes = { ["TF_WEAPON_FLAMETHROWER"] = { ["airblast pushback scale"] = 2, ["damage bonus"] = 5, }, }, CharacterAttributes = { ["move speed bonus"] = 0.4, ["health regen"] = 500, ["damage force reduction"] = 0.3, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 2, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_Chief_Soldier = { Class = CLASSES.Soldier, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Sergeant Crits", ClassIcon = "soldier_sergeant_crits", Skill = BOT_SKILL.EXPERT, Health = 60000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.ALWAYS_CRIT, }, Items = { "Tyrant's Helm" }, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["damage bonus"] = 1.5, ["faster reload rate"] = 0.6, ["fire rate bonus"] = 0.2, ["clip size upgrade atomic"] = 7, ["Projectile speed increased"] = 1.3, }, }, CharacterAttributes = { ["health regen"] = 250, ["move speed bonus"] = 0.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_Chief_Soldier_SlowCrit = { Class = CLASSES.Soldier, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Major Crits", ClassIcon = "soldier_major_crits", Skill = BOT_SKILL.EXPERT, Health = 60000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.ALWAYS_CRIT, }, Items = { "Full Metal Drill Hat" }, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["clip size upgrade atomic"] = 26, ["faster reload rate"] = 0.4, ["fire rate bonus"] = 0.2, ["projectile spread angle penalty"] = 5, ["Projectile speed increased"] = 0.4, }, }, CharacterAttributes = { ["health regen"] = 250, ["move speed bonus"] = 0.5, ["damage bonus"] = 1.5, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.1, }, }, Giant_Chief_Soldier_RocketPush = { Class = CLASSES.Soldier, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Chief Blast Soldier", ClassIcon = "soldier_libertylauncher", Skill = BOT_SKILL.EXPERT, Health = 60000, Scale = 1.8, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, }, Items = { "The Liberty Launcher", "Jumper's Jeepcap" }, ItemAttributes = { ["The Liberty Launcher"] = { ["damage causes airblast"] = 1, ["damage bonus"] = 1, ["fire rate bonus"] = 0.25, ["clip size upgrade atomic"] = 5, ["faster reload rate"] = 0.4, ["Blast radius decreased"] = 1.2, ["projectile spread angle penalty"] = 4, }, }, CharacterAttributes = { ["move speed bonus"] = 0.5, ["override footstep sound set"] = 3, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["airblast vertical vulnerability multiplier"] = 0.1, ["rage giving scale"] = 0.15, }, }, Giant_Chief_Soldier_Atomic = { Class = CLASSES.Soldier, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Major Crits", ClassIcon = "soldier_sergeant_crits", Skill = BOT_SKILL.EXPERT, Health = 40000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.ALWAYS_CRIT }, Items = { "The Black Box", "The Team Captain", "Fancy Dress Uniform", "The Gunboats" }, ItemAttributes = { ["The Black Box"] = { ["damage bonus"] = 5, ["damage causes airblast"] = 1, ["faster reload rate"] = 3, ["fire rate bonus"] = 2, ["projectile spread angle penalty"] = 1, ["use large smoke explosion"] = 1, ["blast radius increased"] = 2, ["Projectile speed increased"] = 1, }, }, CharacterAttributes = { ["health regen"] = 1, ["move speed bonus"] = 0.4, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, }, }, Giant_Chief_Demo_Atomic = { Class = CLASSES.Demoman, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Sir Nukesalot", ClassIcon = "demo_bomber", Skill = BOT_SKILL.EXPERT, Health = 50000, Scale = 1.9, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.HOLD_FIRE_UNTIL_FULL_RELOAD, BOT_ATTRIBUTES.ALWAYS_CRIT, BOT_ATTRIBUTES.ALWAYS_FIRE_WEAPON, }, Items = { "Rimmed Raincatcher", "The Loose Cannon" }, ItemAttributes = { ["The Loose Cannon"] = { ["grenade launcher mortar mode"] = 0, ["faster reload rate"] = 1.8, ["fire rate bonus"] = 2, ["clip size penalty"] = 0.5, ["Projectile speed increased"] = 0.8, ["projectile spread angle penalty"] = 5, ["damage bonus"] = 7, ["damage causes airblast"] = 1, ["blast radius increased"] = 1.2, ["use large smoke explosion"] = 1, }, }, CharacterAttributes = { ["move speed bonus"] = 0.35, ["damage force reduction"] = 0.4, ["airblast vulnerability multiplier"] = 0.4, ["override footstep sound set"] = 3, }, }, Giant_Metalbeard = { Class = CLASSES.Demoman, Cost = 10000, DirectorTags = { D_TAGS.Combat, D_TAGS.Boss }, Name = "Major Bomber", ClassIcon = "demo_bomber", Skill = BOT_SKILL.NORMAL, Health = 40000, WeaponRestrictions = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS, BOT_ATTRIBUTES.USE_BOSS_HEALTH_BAR, BOT_ATTRIBUTES.ALWAYS_CRIT }, Items = { "Prince Tavish's Crown" }, ItemAttributes = { ["TF_WEAPON_GRENADELAUNCHER"] = { ["fire rate bonus"] = 0.2, ["faster reload rate"] = 0.3, ["clip size penalty"] = 3.0, ["Projectile speed increased"] = 1.5, }, }, CharacterAttributes = { ["health regen"] = 200, ["move speed bonus"] = 0.32, ["damage force reduction"] = 0.7, ["airblast vulnerability multiplier"] = 0.3, ["override footstep sound set"] = 4, }, }, } for _, templateList in pairs({ ROBOT_STANDARD, ROBOT_GIANT }) do for templateName, template in pairs(templateList) do if TEMPLATES[templateName] then util.PrintToChatAll(templateName .. " IS A DUPLICATED TEMPLATE") end template.TemplateName = templateName TEMPLATES[templateName] = template end end