BUILDER_BOT_CATEGORIES = { Soldier = "Soldier", Heavy = "Heavy", Medic = "Medic", } BUILDER_BOT_CATEGORIES_SORTED = { "Soldier", "Heavy", "Medic", } local CATEGORIES = BUILDER_BOT_CATEGORIES BUILDER_BOT_TEMPLATES = { Scout_Bat = { -- used as a failsafe to mark no template selected Class = CLASSES.Scout, Name = "Bat Scout", WeaponRestrictions = WEAPON_RESTRICTIONS.MELEE_ONLY, Skill = BOT_SKILL.EXPERT, }, -- Soldier Soldier = { Category = CATEGORIES.Soldier, BotTier = 1, Class = CLASSES.Soldier, Name = "Soldier", Skill = BOT_SKILL.EXPERT, }, Soldier_DirectHit = { Category = CATEGORIES.Soldier, BotTier = 2, Cost = 100, Class = CLASSES.Soldier, Name = "Direct Hit Soldier", ClassIcon = "soldier_directhit_lite", Skill = BOT_SKILL.EXPERT, Items = { "The Direct Hit" }, }, Soldier_Spammer = { Category = CATEGORIES.Soldier, BotTier = 3, Cost = 400, Class = CLASSES.Soldier, Name = "Rapid Fire Soldier", Skill = BOT_SKILL.EXPERT, ItemAttributes = { ["TF_WEAPON_ROCKETLAUNCHER"] = { ["Projectile speed increased"] = 0.55, ["faster reload rate"] = 0.0, ["fire rate bonus"] = 0.60, }, }, }, Soldier_Charged = { Category = CATEGORIES.Soldier, BotTier = 4, Cost = 400, Class = CLASSES.Soldier, Name = "Charged Soldier", ClassIcon = "soldier_crit", Skill = BOT_SKILL.EXPERT, Attributes = { BOT_ATTRIBUTES.ALWAYS_CRIT }, Items = { "The Original" }, ItemAttributes = { ["The Original"] = { ["faster reload rate"] = 0.2, ["fire rate bonus"] = 2, ["Projectile speed increased"] = 0.5, }, }, }, Giant_Soldier = { Category = CATEGORIES.Soldier, BotTier = 5, Cost = 650, Class = CLASSES.Soldier, 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_Soldier_SlowBarrage = { Category = CATEGORIES.Soldier, BotTier = 6, Cost = 900, Class = CLASSES.Soldier, 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, }, }, -- Heavy Heavyweapons_Shotgun = { Category = CATEGORIES.Heavy, BotTier = 1, Class = CLASSES.Heavyweapons, Name = "Heavy Shotgun", ClassIcon = "heavy_shotgun", Skill = BOT_SKILL.EXPERT, 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 = { Category = CATEGORIES.Heavy, BotTier = 2, Cost = 300, Class = CLASSES.Heavyweapons, Name = "Heavy Minigun", Skill = BOT_SKILL.EXPERT, }, Heavyweapons_Plasma = { Category = CATEGORIES.Heavy, BotTier = 3, Cost = 500, Class = CLASSES.Heavyweapons, Name = "Plasma Gunner", ClassIcon = "heavy_atomic", Skill = BOT_SKILL.EXPERT, Items = { "teufort_minigun_warroom" }, ItemAttributes = { ["teufort_minigun_warroom"] = { ["projectile spread angle penalty"] = 1.5, ["override projectile type"] = 13, ["attach particle effect"] = 704, ["killstreak idleeffect"] = 1, ["set_item_texture_wear"] = 0, ["fire rate penalty"] = 1.5, ["damage penalty"] = 0.25, }, }, }, Giant_Heavyweapons_Shotgun = { Category = CATEGORIES.Heavy, BotTier = 5, Cost = 700, Class = CLASSES.Heavyweapons, Name = "Giant Shotgun Heavy", ClassIcon = "heavy_shotgun", Skill = BOT_SKILL.EXPERT, Health = 5000, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, 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, }, }, -- Medic Medic_QuickFix = { Category = CATEGORIES.Medic, BotTier = 1, WrangledWeaponRestriction = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Class = CLASSES.Medic, Name = "Quick-Fix Medic", Skill = BOT_SKILL.EXPERT, Items = { "The Crusader's Crossbow", "The Quick-Fix" }, }, Medic_SlowRecharge = { Category = CATEGORIES.Medic, BotTier = 2, WrangledWeaponRestriction = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Cost = 100, Class = CLASSES.Medic, Name = "Slow Uber Medic", ClassIcon = "medic_uber", Skill = BOT_SKILL.EXPERT, Items = { "The Crusader's Crossbow", "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_Shield = { Category = CATEGORIES.Medic, BotTier = 3, WrangledWeaponRestriction = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Cost = 300, Class = CLASSES.Medic, Name = "Shield Medic", ClassIcon = "medic_shield_lite", Skill = BOT_SKILL.EXPERT, Attributes = { BOT_ATTRIBUTES.IGNORE_ENEMIES, BOT_ATTRIBUTES.PROJECTILE_SHIELD, }, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Items = { "The Crusader's Crossbow", "The Physician's Protector", "The Quick-Fix", }, ItemAttributes = { ["The Quick-Fix"] = { -- ["bot medic uber deploy delay duration"] = 200, ["ubercharge rate bonus"] = 0.01, ["generate rage on heal"] = 1, }, }, }, Medic_Kritzkrieg = { Category = CATEGORIES.Medic, BotTier = 4, WrangledWeaponRestriction = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Cost = 600, Class = CLASSES.Medic, DirectorTags = {}, Name = "Kritzkrieg Medic", ClassIcon = "medic_kritz", Skill = BOT_SKILL.EXPERT, Attributes = {}, Items = { "The Crusader's Crossbow", "The KritzKrieg", "The Virus Doctor", "Medic Mask", }, ItemAttributes = { ["The KritzKrieg"] = { -- ["uber duration bonus"] = 900, -- ["ubercharge rate bonus"] = 900, }, }, CharacterAttributes = { -- ["heal rate bonus"] = 2, ["bot medic uber health threshold"] = 226, }, }, Giant_Medic = { Category = CATEGORIES.Medic, BotTier = 5, WrangledWeaponRestriction = WEAPON_RESTRICTIONS.PRIMARY_ONLY, Cost = 800, Class = CLASSES.Medic, Name = "Giant Medic", ClassIcon = "medic_giant", Skill = BOT_SKILL.EXPERT, Health = 4500, WeaponRestrictions = WEAPON_RESTRICTIONS.SECONDARY_ONLY, Attributes = { BOT_ATTRIBUTES.MINIBOSS }, Items = { "The Crusader's Crossbow", "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, }, }, }