// Hillside Trilogy - Originally. // Fuck lets go to rottenburg but night time and no robots have fire arms I promise. // Made by Spectλtor™ : https://steamcommunity.com/id/ImNotSpecNotes/ // 感谢好时光服务器协助我测试的CNTF2社区成员们。 // From 2024.9 - 2025.1 (Making) // From 2025.1 - ? (Judging) // 整合工作: // 修改机器人和坦克的重生点;INT、ADV flankroute_hint 的位置重设;EXP W4坦克路径重设。RELAY PROBLEM! WaveSchedule { PrecacheModel "models/weapons/w_models/w_pony_express/w_pony_express_soldier.mdl" // made by gamebanana modders for TF2C originally. HORSES IN MVM!!!!!! PrecacheGeneric "materials/hud/leaderboard_class_demoknight.vtf" // All of them are Boss Icons. PrecacheGeneric "materials/hud/leaderboard_class_demoknight_skullcutter_lite.vtf" PrecacheGeneric "materials/hud/leaderboard_class_scout_runeblade.vtf" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_golf.vtf" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_golf.vmt" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_samurai.vtf" PrecacheGeneric "materials/hud/leaderboard_class_spy_assassin2.vtf" PrecacheGeneric "materials/hud/leaderboard_class_hyper.vtf" PrecacheGeneric "materials/hud/leaderboard_class_hyper.vmt" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_buff_lite.vtf" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_buff_lite.vmt" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_meteor_hyper.vtf" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_meteor_hyper.vmt" PrecacheGeneric "materials/hud/leaderboard_class_demoknight_headtaker_nys_d.vmt" PrecacheSound "sound/sp/medieval/mvmmedievallooptheme1.mp3" PrecacheSound "sound/sp/medieval/mvmmedievaltheme1.mp3" PrecacheSound "sound/sp/medieval/mvmmedievaltheme2.mp3" PrecacheSound "sound/sp/album/callasoiled_Quote.mp3" //DisableSound "music.mvm_end_wave" //需使用soundscape格式。详见tf2_misc_dir.vpk-scripts/game_sounds_music.txt //DisableSound "music.mvm_end_tank_wave" //DisableSound "music.mvm_end_mid_wave" //DisableSound "music.mvm_end_last_wave" /////////////////////// // PART OF BALANCING // /////////////////////// //MedievalMode 1 ItemAttributes { ItemName "The Gas Passer" "explode_on_ignite" 1 //"item_meter_charge_rate" 3 // recharge time "dmg penalty vs players" 0.09 // 31 I guess? Let's see how it works. "special item description" "Engulf robots with gas." } ItemAttributes { ItemName "The Killing Gloves of Boxing" "critboost on kill" 0 "add cond on kill" 16 // minicrit "add cond on kill duration" 5 "special item description" "On kill: Gain 5 seconds of minicrit." } ItemAttributes { ItemName "TF_WEAPON_PDA_ENGINEER_BUILD" "building max level" 2 "mvm sentry ammo" 0.2 // 30 grenades "mult dispenser rate" 3 "engy sentry fire rate increased" 8 // acceptable "sentry bullet weapon" "Medieval Bomb Sentry" //"custom sentry model" "models/workshop/player/items/demo/taunt_drunk_manns_cannon/taunt_drunk_manns_cannon.mdl" } ItemAttributes { ItemName "The Buff Banner" "deploy time decreased" 0.1 } ItemAttributes { ItemName "Festive Buff Banner" "deploy time decreased" 0.1 } ItemAttributes { ItemName "The Concheror" "deploy time decreased" 0.1 } ItemAttributes { ItemName "The Battalion's Backup" "deploy time decreased" 0.1 } ItemAttributes { ItemName "The Second Banana" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "Festive Sandvich" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "The Robo-Sandvich" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "The Buffalo Steak Sandvich" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "The Sandvich" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "The Dalokohs Bar" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } ItemAttributes { ItemName "Fishcake" "deploy time decreased" 0.1 "gesture speed increase" 3.2 // Nom "provide on active" 1 } CustomWeapon { "Medieval Bomb Sentry" // mimic loose cannon but without knockback { OriginalItemName "TF_WEAPON_GRENADELAUNCHER" "damage bonus" 0.8 "custom weapon fire sound" "=70|weapons/loose_cannon_shoot.wav" "custom impact sound" "=70|weapons/loose_cannon_ball_impact.wav" "custom projectile model" "models/weapons/w_models/w_cannonball.mdl" } } ItemWhitelist // 在常规地图让玩家也只能使用中世纪武器,以及极个别的非中世纪武器。 { // All melee weapons ItemSlot "Melee" // Scout Name "Bonk! Atomic Punch" Name "Festive Bonk 2014" Name "Crit-a-Cola" Name "Mad Milk" Name "Mutated Milk" Name "The Flying Guillotine" // Soldier Name "The Buff Banner" Name "Festive Buff Banner" Name "The Battalion's Backup" Name "The Concheror" Name "The B.A.S.E. Jumper" Name "The Mantreads" // Pyro Name "The Gas Passer" // Demo Name "Ali Baba's Wee Booties" Name "The Bootlegger" Name "The Chargin' Targe" Name "Festive Targe 2014" Name "The Splendid Screen" Name "The Tide Turner" // Heavy Name "The Second Banana" Name "Festive Sandvich" Name "The Robo-Sandvich" Name "The Buffalo Steak Sandvich" Name "The Sandvich" Name "The Dalokohs Bar" Name "Fishcake" // Engi Name "The Wrangler" Name "Festive Wrangler" Name "The Giger Counter" Name "TF_WEAPON_BUILDER" Name "TF_WEAPON_PDA_ENGINEER_BUILD" Name "TF_WEAPON_PDA_ENGINEER_DESTROY" // Medic Name "The Crusader's Crossbow" Name "Festive Crusader's Crossbow" // Sniper Name "The Fortified Compound" Name "Festive Huntsman" Name "The Huntsman" Name "The Razorback" Name "Jarate" Name "Festive Jarate" Name "The Self-Aware Beauty Mark" Name "Darwin's Danger Shield" Name "The Cozy Camper" // Spy Name "TF_WEAPON_PDA_SPY" // 伪装工具 Name "TF_WEAPON_INVIS" // 隐身手表 Name "The Dead Ringer" Name "The Cloak and Dagger" Name "TTG Watch" Name "The Quackenbirdt" Classname "tf_weapon_sapper" // Hats and misc items. Classname "tf_wearable" Classname "tf_powerup_bottle" Classname "tf_weapon_spellbook" // Allow players to taunt their taunts ItemSlot "11" ItemSlot "12" ItemSlot "13" ItemSlot "14" ItemSlot "15" ItemSlot "16" ItemSlot "17" ItemSlot "18" } PlayerAttributes // custom balances. Pyro和Engi需要一些加强,而其他许多职业需要“补充”缺失的升级。 { Pyro { "damage bonus vs burning" 1.5 } Engineer { "mult dmg vs tanks" 1.5 } } ExtendedUpgrades { Melee_damage_bonus { Name "Sharpened Blade" Attribute "damage bonus" Cap 2 Increment 0.25 Cost 400 Description "+25% damage bonus for every melee weapon" AllowPlayerClass Scout AllowPlayerClass Soldier AllowPlayerClass Pyro AllowPlayerClass Demoman AllowPlayerClass Heavyweapons AllowPlayerClass Engineer AllowPlayerClass Medic AllowPlayerClass Sniper AllowPlayerClass Spy AllowedWeapons { Slot "Melee" } } Melee_resistance { Name "Combat Armour" Attribute "dmg from melee increased" Cap 0.25 Increment -0.25 Cost 300 Description "+25% melee damage resistance." AllowPlayerClass Scout AllowPlayerClass Soldier AllowPlayerClass Pyro AllowPlayerClass Demoman AllowPlayerClass Heavyweapons AllowPlayerClass Engineer AllowPlayerClass Medic AllowPlayerClass Sniper AllowPlayerClass Spy PlayerUpgrade 1 } Spy_counter // unfair fight for robots, right? { Name "Up Back's Backup" Attribute "backstab shield" Cap 1 Increment 1 Cost 600 Description "Always have some protection for a backstabber." AllowPlayerClass Scout AllowPlayerClass Soldier AllowPlayerClass Pyro AllowPlayerClass Demoman AllowPlayerClass Heavyweapons AllowPlayerClass Engineer AllowPlayerClass Medic AllowPlayerClass Sniper AllowPlayerClass Spy PlayerUpgrade 1 } } CustomUpgradesFile "mvm_upgrades_spec_medieval_b1.txt" PointTemplates { combo_heavy // 仿照Combo Pyro做的Combo Heavy { NoFixup 1 logic_relay // 击中敌人后做出嘲讽 { "targetname" "mittens_taunt" "spawnflags" "2" "OnTrigger" "!self,EnableRefire,,0,-1" // 允许这套操作无限进行。 "OnTrigger" "!activator,$RemoveItemAttribute,fire input on hit|0,0,-1" "OnTrigger" "!activator,$Taunt,1,0.13,-1" "OnTrigger" "!activator,$AddItemAttribute,fire input on hit|mittens_taunt^Trigger^|0,0.2,-1" } } crown_boss_module_change // 用于调控Crown of Courage Boss的各个属性 { NoFixUp 1 logic_relay { "targetname" "remote_controller_start" "spawnflags" "2" "OnSpawn" "@f@filter_king@player,$ChangeAttributes,Stage1_taunt,0.1,-1" "OnSpawn" "@f@filter_king@player,$ChangeAttributes,Stage1_sword,11,-1" "OnSpawn" "remote_controller_stage1,Trigger,,20,-1" //"OnSpawn" "player,$DisplayTextChat,{90a07d}>Boss成功启动,0.1,-1" "OnSpawn" "switcher_soundfx,Enable,,0,-1" "OnSpawn" "boss_upgrade_soundfx,Enable,,0,-1" } logic_relay { "targetname" "remote_controller_stage1" "spawnflags" "2" "OnTrigger" "switcher_stage1_sword,Trigger,,0,-1" "OnTrigger" "switcher_stage1_axe,Trigger,,10,-1" "OnTrigger" "switcher_stage1_runeblade,Trigger,,20,-1" "OnTrigger" "remote_controller_stage1,Trigger,,30,-1" } logic_relay { "targetname" "remote_controller_stage2" "spawnflags" "2" "OnTrigger" "switcher_stage2_golf,Trigger,,0,-1" "OnTrigger" "switcher_stage2_katana,Trigger,,10,-1" "OnTrigger" "switcher_stage2_knifethrow,Trigger,,20,-1" "OnTrigger" "remote_controller_stage2,Trigger,,30,-1" } logic_relay { "targetname" "switcher_stage1_sword" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage1_sword,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至长剑。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stage1_axe" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage1_axe,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_skullcutter_lite,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至长斧。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stage1_runeblade" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage1_runeblade,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,scout_runeblade,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至短剑。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stage2_golf" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage2_golf,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_nineiron,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至球杆。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stage2_katana" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage2_katana,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_samurai,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至武士刀。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stage2_knifethrow" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage2_knifethrow,0,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,spy_assassin2,0,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss切换至飞刀。,0,-1" "OnTrigger" "switcher_soundfx,PlaySound,,0,-1" "OnTrigger" "switcher_soundfx,Stopsound,,2,-1" } logic_relay { "targetname" "switcher_stageshift_12" "spawnflags" "2" "OnTrigger" "switcher_stage1_sword,kill,,0,-1" "OnTrigger" "switcher_stage1_axe,kill,,0,-1" "OnTrigger" "switcher_stage1_runeblade,kill,,0,-1" "OnTrigger" "@f@filter_king@player,SetHealth,24000,0.01,-1" "OnTrigger" "boss_upgrade_shake,Startshake,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,PlaySound,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,Stopsound,,5,-1" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stageshift_12,0.01,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_buff_lite,0.01,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss进入12切换阶段。,0.01,-1" "OnTrigger" "remote_controller_stage2,Trigger,,6.7,-1" "OnTrigger" "@f@filter_king@player,SetHealth,20000,6.71,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss进入2阶段。,6.71,-1" } logic_relay { "targetname" "switcher_stageshift_23" "spawnflags" "2" "OnTrigger" "switcher_stage2_golf,kill,,0,-1" "OnTrigger" "switcher_stage2_katana,kill,,0,-1" "OnTrigger" "switcher_stage2_knifethrow,kill,,0,-1" "OnTrigger" "@f@filter_king@player,SetHealth,12000,0.01,-1" "OnTrigger" "boss_upgrade_shake,Startshake,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,PlaySound,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,Stopsound,,5,-1" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stageshift_23,0.01,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_headtaker_nys_d,0.01,-1" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stageshift_23,0.01,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss进入23切换阶段。,0.01,-1" "OnTrigger" "flashbang,Fade,,3.65,-1" "OnTrigger" "trojan_w5_spawnbot,Enable,,3.7,-1" "OnTrigger" "stage23_annotation,Show,,3.7,-1" "OnTrigger" "shadow_guard_soundfx,PlaySound,,3.7,-1" "OnTrigger" "shadow_guard_soundfx,Stopsound,,8.7,-1" "OnTrigger" "dark_mode_relay,Trigger,,0,-1" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stageshift_23_patrol,5.3,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss进入无敌阶段。,5.3,-1" } logic_relay { "targetname" "switcher_stage3" "spawnflags" "2" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage3_intro,0.01,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Boss进入3阶段嘲讽阶段。,0.01,-1" "OnTrigger" "boss_upgrade_shake,Startshake,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,PlaySound,,0.01,-1" "OnTrigger" "boss_upgrade_soundfx,Stopsound,,5,-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,hyper,0.01,-1" "OnTrigger" "@f@filter_king@player,$RemoveCond,5,5.7,-1" "OnTrigger" "@f@filter_king@player,$ChangeAttributes,Stage3_final,5.7-1" "OnTrigger" "@f@filter_king@player,$SetProp$m_iszClassIcon,demoknight_meteor_hyper,5.71,-1" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>无敌消失,Boss进入最终阶段。,5.7,-1" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "king" "targetname" "filter_king" } info_target { "targetname" "boss_spot" // Ah shit here we go again } env_shake { "targetname" "boss_upgrade_shake" "amplitude" "255" "frequency" "255" "duration" "3.5" "radius" "5000" "spawnflags" "5" } ambient_generic { "targetname" "switcher_soundfx" "spawnflags" "17" "health" "10" // fucking important "pitch" "100" "message" "#weapons/vaccinator_toggle.wav" } ambient_generic // GET LOUDER { "targetname" "switcher_soundfx" "spawnflags" "17" "health" "10" // fucking important "pitch" "100" "message" "#weapons/vaccinator_toggle.wav" } ambient_generic { "targetname" "boss_upgrade_soundfx" "spawnflags" "17" "health" "10" // fucking important "pitch" "100" "message" "#mvm/mvm_warning.wav" } ambient_generic { "targetname" "shadow_guard_soundfx" "spawnflags" "17" "health" "10" // fucking important "pitch" "100" "message" "#ambient/halloween/thunder_06.wav" } env_fade { "targetname" "flashbang" "duration" "0.2" "holdtime" "0.2" "spawnsflags" "0" // 0=淡入 1=淡出 "rendercolor" "255 255 255" } training_annotation { "targetname" "stage23_annotation" "display_text" "Kill all shadow guards to deactivate the uber effect on the Boss!" "lifetime" "7" } } funny_shadow_effect // ported from null mission adv_disorted_reality { OnSpawnOutput { Target "!activator" Action "addoutput" Param "renderfx 15" } } flankroute_hint { training_annotation // left { "targetname" "upspawn_hint1" "origin" "341 -2522 -65" "display_text" "Warning! Robots can enter the field from here, too!" "lifetime" "8" } logic_relay { "targetname" "upspawn_hint_relay" "OnTrigger" "upspawn_hint1,Show,,0,-1" } } spawnroom_fine_music { NoFixUp 1 //OnSpawnOutput //{ // Target "medi_sound_relay" // Action Trigger // Delay 0.1 //} logic_relay { "targetname" "medi_sound_relay" "spawnflags" "2" "OnTrigger" "medi_sound,Enable,,0,-1" "OnTrigger" "medi_sound,PlaySound,,0,-1" "OnTrigger" "medi_sound,StopSound,,47,-1" //"OnTrigger" "!self,Trigger,,47.01,-1" // FUCK NO LOOP } logic_relay { "targetname" "medi_sound_stop_relay" "spawnflags" "2" "OnTrigger" "medi_sound,StopSound,,0,-1" "OnTrigger" "medi_sound_relay,Disable,,0,-1" } logic_relay { "targetname" "medi_sound_renable_relay" "spawnflags" "2" "OnTrigger" "medi_sound_relay,Enable,,0,-1" "OnTrigger" "medi_sound_relay,Trigger,,0.1,-1" "OnTrigger" "worldspawn,runscriptcode,SetSkyboxTexture(`sky_night_01`),0,-1" } ambient_generic { "targetname" "medi_sound" "spawnflags" "1" "health" "10" // fucking important "pitch" "100" "message" "#sp/medieval/mvmmedievallooptheme1.mp3" } } End_Friendship { filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "conga" "targetname" "filter_conga" } filter_tf_bot_has_tag { "Negated" "0" "require_all_tags" "1" "tags" "trojan" "targetname" "filter_trojan" } logic_relay { "targetname" "truce_end_relay" "spawnflags" "2" //"OnTrigger" "player,$DisplayTextChat,{90a07d}>Trojan Relay Triggered Successfully.,0,-1" // print text "OnTrigger" "deer_left,Kill,,0.01,-1" "OnTrigger" "deer_right,Kill,,0.01,-1" "OnTrigger" "hoovy_hat,Kill,,0.01,-1" "OnTrigger" "tank_spot,Kill,,10,-1" "OnTrigger" "trojan_sound1,Kill,,0,-1" "OnTrigger" "trojan_theme,Kill,,0,-1" "OnTrigger" "trojan_sound2,Kill,,0,-1" "OnTrigger" "trojan_sound3,Kill,,0,-1" "OnTrigger" "trojan_sound4,Playsound,,0,-1" "OnTrigger" "trojan_sound4,Kill,,10,-1" "OnTrigger" "trojan_tele,Enable,,0,-1" "OnTrigger" "trojan_annotation,Show,,0,-1" "OnTrigger" "trojan_annotation,Kill,,10,-1" "OnTrigger" "spawnbot_conga,Disable,,0,-1" "OnTrigger" "@f@filter_conga@player,$ChangeAttributes,FriendshipEnds,0.1,-1" "OnTrigger" "@f@filter_conga@player,$ChangeAttributes,FriendshipEnds,1.1,-1" "OnTrigger" "@f@filter_conga@player,$ChangeAttributes,FriendshipEnds,2.1,-1" "OnTrigger" "@f@filter_trojan@player,$AddCond,5,0.1,-1" "OnTrigger" "@f@filter_trojan@player,$AddCond,5,1.1,-1" "OnTrigger" "@f@filter_trojan@player,$AddCond,5,2.1,-1" "OnTrigger" "@f@filter_trojan@player,$RemoveCond,5,3,-1" } trigger_teleport { "targetname" "trojan_tele" "origin" "1464 -3239 19" "mins" "-500 -500 -500" "maxs" "500 500 500" "spawnflags" "1" "filtername" "filter_trojan" "target" "tank_spot" "startdisabled" "1" } } Trojan_Tank { KeepAlive 1 prop_dynamic { "targetname" "deer_left" "model" "models/props_sunshine/deer_cutout001.mdl" "origin" "0 80 0" "angles" "0 180 0" "modelscale" "2.3" } prop_dynamic { "targetname" "deer_right" "model" "models/props_sunshine/deer_cutout001.mdl" "origin" "0 -80 0" "modelscale" "2.3" } prop_dynamic { "targetname" "hoovy_hat" "model" "models/player/items/heavy/heavy_stocking_cap.mdl" "origin" "-50 0 150" "skin" "1" "modelscale" "2.3" } info_target { "targetname" "tank_spot" "origin" "0 0 80" } ambient_generic // trojan in { "targetname" "trojan_sound1" "spawnflags" "2" "health" "10" "pitch" "100" "message" "#misc/happy_birthday_tf_01.wav" } ambient_generic // trojan theme { "targetname" "trojan_theme" "spawnflags" "17" "health" "10" "pitch" "100" "message" "#items/tf_music_upgrade_machine.wav" } ambient_generic // trojan ready to release itself { "targetname" "trojan_sound2" "spawnflags" "17" // play everywhere & start silent "health" "10" "pitch" "100" "message" "#ui/item_gift_wrap_unwrap.wav" } ambient_generic // trojan ready to release itself { "targetname" "trojan_sound3" "spawnflags" "17" "health" "10" "pitch" "100" "message" "#misc/achievement_earned.wav" } ambient_generic // trojan failed/successed { "targetname" "trojan_sound4" "spawnflags" "17" "health" "10" "pitch" "100" "message" "#vo/mvm/norm/soldier_mvm_negativevocalization03.mp3" } logic_relay { "targetname" "selfdestruct" "OnTrigger" "tank_boss,removehealth,99999,0,-1" } training_annotation //提示文本 { "targetname" "trojan_annotation" "display_text" "The 'Gift Trojan' is here..." //提示具体文本 "lifetime" "5" //文本持续时间 } OnParentKilledOutput { Target "truce_end_relay" Action Trigger Delay 0.01 } } Trojan_Path { path_track // 该实体已完成rottenburg试配 { "targetname" "path_trojan_1" // follow the A route "origin" "3200 -1616 -674.015" "target" "path_trojan_2" // the next stop "speed" "0" // set a new tank speed; 0 means no changing. "spawnflags" "0" // dont touch it "radius" "0" // dont touch it "orientationtype" "1" // dont touch it "angles" "0 0 0" // dont touch it "OnPass" "tank_bust_relay,Trigger,,0,1" // the reason why I cant use the easy way to create nodes. "OnPass" "barricade_destroy_relay,Trigger,,0,-1" "OnPass" "tank_boss,SetSpeed,0,0,-1" "OnPass" "trojan_annotation,Show,,0,-1" "OnPass" "tank_boss,SetSpeed,90,4,-1" "OnPass" "trojan_theme,PlaySound,,0,-1" } path_track { "targetname" "path_trojan_2" "origin" "2864 -1616 -664.015" "target" "path_trojan_3" "speed" "0" // no it doesnt work, use input instead. "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" "OnPass" "trojan_annotation,$SetKey$display_text,“Damn it - they detected us! Show 'em who we are!”,0,-1" } path_track { "targetname" "path_trojan_3" "origin" "2560 -1616 -650" "target" "path_trojan_4" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_4" "origin" "2376 -1616 -646.015" "target" "path_trojan_5" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_5" "origin" "2152 -1616 -644.007" "target" "path_trojan_6" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_6" "origin" "1788 -1608 -613.996" "target" "path_trojan_7" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_7" "origin" "1664 -1568 -594.744" "target" "path_trojan_8" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_8" "origin" "1568 -1496 -589.152" "target" "path_trojan_9" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_9" "origin" "1520 -1368 -578.665" "target" "path_trojan_10" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_10" "origin" "1520 -1280 -568.63" "target" "path_trojan_11" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_11" "origin" "1520 -1060 -525.804" "target" "path_trojan_12" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_12" "origin" "1520 -752 -503.615" "target" "path_trojan_13" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_13" "origin" "1520 -424 -487.331" "target" "path_trojan_14" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_14" "origin" "1520 36 -421.068" "target" "path_trojan_15" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_15" "origin" "1504 256 -410.261" "target" "path_trojan_16" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" "OnPass" "trojan_annotation,$SetKey$display_text,“Surprise! Now kill 'em all lads!”,0,-1" // 进入城门后 "OnPass" "trojan_sound4,$SetKey$message,#vo/mvm/norm/soldier_mvm_laughlong03.mp3,0,-1" } path_track { "targetname" "path_trojan_16" "target" "path_trojan_17" "origin" "1472 384 -410.261" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_17" "target" "path_trojan_18" "origin" "1320 456 -406.261" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_18" "target" "path_trojan_19" "origin" "1164 488 -401.56" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_19" "target" "path_trojan_20" "origin" "1096 520 -396.015" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_20" "target" "path_trojan_21" "origin" "1056 576 -390.015" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_21" "target" "path_trojan_22" "origin" "1056 712 -360.015" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_22" "target" "path_trojan_23" "origin" "1056 992 -269.535" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_23" "target" "path_trojan_24" "origin" "1056 1128 -223.028" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_24" "target" "path_trojan_25" "origin" "1056 1216 -202" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_25" "target" "path_trojan_26" "origin" "1056 1296 -202" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } path_track { "targetname" "path_trojan_26" "target" "path_trojan_27" "origin" "1056 1534 -202" "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" "OnPass" "trojan_sound2,PlaySound,,0,-1" "OnPass" "trojan_sound3,PlaySound,,5.25,-1" "OnPass" "tank_boss,SetSpeed,0,0,-1" "OnPass" "selfdestruct,Trigger,,6,-1" } path_track { "targetname" "path_trojan_27" "origin" "1056 3296 -202" // 终点 "speed" "0" "spawnflags" "0" "radius" "0" "orientationtype" "1" "angles" "0 0 0" } } Dark_theme { logic_relay { "targetname" "dark_mode_relay" "spawnflags" "2" "OnTrigger" "worldspawn,runscriptcode,SetSkyboxTexture(`sky_harvest_night_01`),3.71,-1" } } w5_intro { point_viewcontrol { "acceleration" "0" "deceleration" "0" "interpolatepositiontoplayer" "0" "spawnflags" "128" "speed" "0" "wait" "10" "targetname" "intro_camera" "origin" "969.80 -2994.10 91.87" "angles" "3.84 -11.98 0" } logic_relay { "targetname" "intro_camera_on" "OnTrigger" "intro_camera,$EnableAll,,0,-1" "OnTrigger" "player*,SetHUDVisibility,0,0.1,-1" } logic_relay { "targetname" "intro_camera_off" "OnTrigger" "intro_camera,$DisableAll,,0,-1" "OnTrigger" "player*,SetHUDVisibility,1,0.1,-1" } env_fade { "targetname" "fadein" "angles" "0 0 0" "duration" "1" // 淡入 "holdtime" "1" // 遮罩持续时间 "rendercolor" "0 0 0" "spawnflags" "0" // 0=淡入 1=淡出 } env_fade { "targetname" "fadeout" "angles" "0 0 0" "duration" "1" // 淡出 "holdtime" "1.1" // 遮罩持续时间 "rendercolor" "0 0 0" "spawnflags" "1" } logic_relay { "targetname" "intro_fade_relay" "OnTrigger" "fadein,Fade,,0,-1" "OnTrigger" "fadeout,Fade,,1.9,-1" } } w5_finemusic { NoFixUp 1 logic_relay { "targetname" "w5_sound_relay" "spawnflags" "2" "OnTrigger" "w5_sound,Enable,,0,-1" "OnTrigger" "w5_sound,PlaySound,,0,-1" "OnTrigger" "w5_sound,StopSound,,246,-1" "OnTrigger" "!self,Trigger,,246.01,-1" // music time } logic_relay { "targetname" "w5_sound_stop_relay" "spawnflags" "2" "OnTrigger" "w5_sound,StopSound,,0,-1" "OnTrigger" "w5_sound,Disable,,0,-1" } logic_relay { "targetname" "w5_sound_renable_relay" "spawnflags" "2" "OnTrigger" "w5_sound,Enable,,0,-1" "OnTrigger" "w5_sound,Trigger,,0.1,-1" } ambient_generic { "targetname" "w5_sound" "spawnflags" "17" "health" "10" "pitch" "100" "message" "#sp/album/callasoiled_Quote.mp3" } ambient_generic // GET LOUDER { "targetname" "w5_sound" "spawnflags" "17" "health" "10" "pitch" "100" "message" "#sp/album/callasoiled_Quote.mp3" } } Stone_exploit_build { func_nobuild { "origin" "882.49 -1443.78 -379.35" "maxs" "60 60 60" "mins" "-60 -60 -60" "AllowSentry" "0" "AllowDispenser" "0" "AllowTeleporter" "0" } } } Spawntemplate combo_heavy SpawnTemplate flankroute_hint SpawnTemplate spawnroom_fine_music SpawnTemplate Stone_exploit_build SpawnTemplate End_Friendship SpawnTemplate Trojan_Path SpawnTemplate Dark_theme SpawnTemplate w5_intro SpawnTemplate w5_finemusic Templates { // List of all templates: // // T_TFBot_Scout_bat // T_TFBot_Scout_bat_crit // T_TFBot_Scout_fanowar // T_TFBot_Scout_fast // T_TFBot_Scout_rune // T_TFBot_Scout_SG_bat // // T_TFBot_Soldier_backup_pickaxe // T_TFBot_Soldier_buff_shovel // T_TFBot_Soldier_conch_samurai // T_TFBot_Soldier_samurai // T_TFBot_Soldier_shovel // // T_TFBot_Pyro_backscratcher // T_TFBot_Pyro_barehand // T_TFBot_Pyro_spell_fireball // T_TFBot_Pyro_spell_meteor // T_TFBot_Pyro_volcano // T_TFBot_Pyro_SG_powerjack // T_TFBot_Pyro_SG_homewrecker // // T_TFBot_Demo_horse // T_TFBot_Demo_horse_basher // T_TFBot_Demo_horse_buff // T_TFBot_Demo_horse_conch // T_TFBot_Demo_persian // T_TFBot_Demo_skullcutter // T_TFBot_Demo_targe_push // T_TFBot_Demo_SG_knight // T_TFBot_Demo_shadow_warrior // // T_TFBot_Heavy_fist // T_TFBot_Heavy_gnome // T_TFBot_Heavy_gnome_deadly // T_TFBot_Heavy_gru // T_TFBot_Heavy_heat_kgb // T_TFBot_Heavy_kgb // T_TFBot_Heavy_SG_gru // // T_TFBot_Medic_amputator // T_TFBot_Medic_crossbow // // T_TFBot_Sniper_bow_backup // T_TFBot_Sniper_bow_buff // T_TFBot_Sniper_bow_burst_parabola // T_TFBot_Sniper_bow_conch // T_TFBot_Sniper_bow_ignite // T_TFBot_Sniper_bushwacka // T_TFBot_Sniper_kukri // T_TFBot_Sniper_SG_bow_multi_ignite // T_TFBot_Sniper_SG_bow_tagger // // T_TFBot_Spy_dagger // T_TFBot_Spy_dagger_thrower // T_TFBot_Spy_yer // // T_TFBot_Giant_Scout_bat // // T_TFBot_Giant_Soldier_escape // T_TFBot_Giant_Soldier_escape_backup // T_TFBot_Giant_Soldier_escape_conch // // T_TFBot_Giant_Pyro_axtinguisher // T_TFBot_Giant_Pyro_powerjack_hok // T_TFBot_Giant_Pyro_spell_fireball_burst // // T_TFBot_Giant_Heavy_gru // // T_TFBot_Giant_Medic_amputator // // T_TFBot_Giant_Sniper_bow // T_TFBot_Giant_Sniper_bow_barrage // T_TFBot_Giant_Sniper_bow_buff // T_TFBot_Giant_Sniper_bow_conch // T_TFBot_Giant_Sniper_bushwacka // // Some vanilla templates: // // T_TFBot_Demoman_Knight // T_TFBot_Giant_DemoMan_PrinceTavish // T_TFBot_Sniper_Huntsman /////////////////////////////////////////////////// //////////////////////ROBOTS/////////////////////// /////////////////////////////////////////////////// T_TFBot_Scout_bat // [custom icon] - 近战侦察兵,适合作为炮灰。 { Name "Bat Scout" Class Scout Skill Hard Health 125 ClassIcon scout_bat_nys Item "Brimmed Bootlegger" MaxVisionRange 1000 WeaponRestrictions MeleeOnly } T_TFBot_Scout_bat_crit // [custom icon] - 暴击近战侦察兵,它们更疼。 { Name "Bat Scout" Class Scout Skill Hard Health 125 ClassIcon scout_bat_nys Item "Brimmed Bootlegger" MaxVisionRange 1000 WeaponRestrictions MeleeOnly Attributes AlwaysCrit } T_TFBot_Scout_fanowar // [custom icon] - 给玩家上buff,但没有战旗Soldier那么强。 { Name "Fan O'War Scout" Class Scout Skill Hard Health 125 ClassIcon scout_fanowar Item "Brimmed Bootlegger" MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Fan O'War" } T_TFBot_Scout_fast // 适合快速运输炸弹。 { Name "Fast Scout" Class Scout Skill Hard Health 125 ClassIcon scout_giant_fast MaxVisionRange 1500 WeaponRestrictions MeleeOnly Item "The Holy Mackerel" Item "Bonk Boy" CharacterAttributes { "move speed bonus" 1.5 } } T_TFBot_Scout_rune // [custom icon] - 狼牙棒/符文剑,伤害略高。 { Name "Runeblade Scout" Class Scout Skill Hard Health 125 ClassIcon scout_runeblade WeaponRestrictions MeleeOnly Item "Three-Rune Blade" Item "The Dark Falkirk Helm" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "Three-Rune Blade" "hit self on miss" 0 } } T_TFBot_Scout_SG_bat // [custom icon] - 小巨型,更硬的近战侦察兵。 { Name "Armoured Bat Scout" Class Scout Skill Expert Health 650 Scale 1.5 ClassIcon scout_bat_nys_armored MaxVisionRange 1000 Item "Brimmed Bootlegger" WeaponRestrictions MeleeOnly } T_TFBot_Soldier_backup_pickaxe // [custom icon] - 逃生计划镐+军队的支援,适合带领一群死亡标记的机器人,例如GRU heavy。 { Name "Backup Speedy Soldier" Class Soldier Skill Hard Health 200 ClassIcon soldier_backup_pickaxe MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Battalion's Backup" Item "The Escape Plan" Item "The Doe-Boy" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 19.0 "blast dmg to self increased" 0 } } T_TFBot_Soldier_buff_shovel // [custom icon] - 比战旗士兵较弱,因为它只有一把铁铲。 { Name "Buff Shovel Soldier" Class Soldier Skill Hard Health 200 ClassIcon soldier_shovel_buff MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Buff Banner" Item "The Doe-Boy" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 19.0 } } T_TFBot_Soldier_conch_samurai // [custom icon] - 比征服者战旗士兵较弱,适合用于不那么需要强度的回合。 { Name "Conch Samurai Soldier" Class Soldier Skill Hard Health 200 ClassIcon soldier_samurai_conch MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Concheror" Item "The Half-Zatoichi" Item "Soldier Samurai Hat" Item "The Shogun's Shoulder Guard" Attributes SpawnWithFullCharge CharacterAttributes { "increase buff duration" 19.0 "honorbound" 0 } } T_TFBot_Soldier_samurai // [custom icon] - 使用武士刀。中世纪风味机器人。 { Name "Samurai Soldier" Class Soldier Skill Hard Health 200 ClassIcon demoknight_samurai MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Half-Zatoichi" Item "Soldier Samurai Hat" CharacterAttributes { "honorbound" 0 } } T_TFBot_Soldier_shovel // [custom icon] - 使用铁锹。 { Class Soldier Name "Shovel Soldier" Skill Hard Health 200 ClassIcon soldier_shovel WeaponRestrictions MeleeOnly } T_TFBot_Pyro_backscratcher // [custom icon] - 伤害略高;适合农场地图。 { Name "Farmer Pyro" Class Pyro Skill Hard Health 175 ClassIcon pyro_backscratcher_lite MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Back Scratcher" Item "The Last Straw" } T_TFBot_Pyro_barehand // [custom icon] - 热手,强度如何?更像是中世纪风味。 { Class Pyro Name "Barehand Pyro" Skill Hard Health 175 ClassIcon pyro_slap_lite WeaponRestrictions MeleeOnly Item "The Hot Hand" Item "Partizan" UseHumanAnimations 1 ItemAttributes { ItemName "The Hot Hand" "is invisible" 1 } } T_TFBot_Pyro_spell_fireball // [custom icon] - 使用近战武器的Pyro,会随机释放火球术。 { Name "Fireball Pyro" Class Pyro Skill Expert Health 175 ClassIcon pyro_dragon_fury_blue MaxVisionRange 3000 //WeaponRestrictions MeleeOnly Item "The Crone's Dome" Item "Basic Spellbook" Item "The Freedom Staff" Item "dec2014 Torchers Tabard" ItemAttributes { ItemName "The Freedom Staff" "attach particle effect" 77 } ItemAttributes { ItemName "Basic Spellbook" "dmg penalty vs players" 0.5 // not that deadly } StripItemSlot 0 Spell //Gives specified spell to bots. { Delay 0 //Time before the first spell charges are given (Default: 10) Cooldown 3 //Time between each spell changes (Default: 10) Repeats 0 //How many times should spell charges be given in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default: 0 - Always activate) Charges 1 //How many spell charges to give every time the spell is given (Default: 1) Limit 3 //How many spell charges the bot can store (Default: Same as charges given) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 0 //When set, the task activates only when the bot health is above specified value Type "Fireball" } FireWeapon //Periodically fires weapon { Delay 0.1 Cooldown 0.1 Repeats 0 IfSeeTarget 1 Type "Action" } CharacterAttributes { "switch from wep deploy time decreased" 0.001 "deploy time decreased" 0.001 } } T_TFBot_Pyro_spell_meteor // [custom icon] - 使用近战武器的Pyro,会随机释放陨石洗澡术。 { Name "Meteor Pyro" Class Pyro Skill Expert Health 175 ClassIcon spell_meteor_swordstonehel_blue MaxVisionRange 1000 //WeaponRestrictions MeleeOnly Item "Point and Shoot" Item "Basic Spellbook" Item "The Freedom Staff" Item "dec2014 Torchers Tabard" ItemAttributes { ItemName "The Freedom Staff" "attach particle effect" 78 } ItemAttributes { ItemName "Basic Spellbook" "dmg penalty vs players" 0.5 // not that deadly } StripItemSlot 0 Spell //Gives specified spell to bots. { Delay 0 //Time before the first spell charges are given (Default: 10) Cooldown 10 //Time between each spell changes (Default: 10) Repeats 0 //How many times should spell charges be given in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default: 0 - Always activate) Charges 1 //How many spell charges to give every time the spell is given (Default: 1) Limit 3 //How many spell charges the bot can store (Default: Same as charges given) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 0 //When set, the task activates only when the bot health is above specified value Type "Meteor Shower" } FireWeapon //Periodically fires weapon { Delay 0.1 Cooldown 0.1 Repeats 0 IfSeeTarget 1 Type "Action" } CharacterAttributes { "switch from wep deploy time decreased" 0.001 "deploy time decreased" 0.001 } } T_TFBot_Pyro_volcano // [custom icon] - 使用熔岩战斧。 { Name "Volcano Pyro" Class Pyro Skill Hard Health 175 ClassIcon pyro_volcano MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "Sharpened Volcano Fragment" Item "Fire Marshal" } T_TFBot_Pyro_SG_powerjack // [custom icon] - 小巨型千斤顶Pyro,适合运输炸弹,也有回血的潜力。 { Name "Heal-on-Kill Powerjack Pyro" Class Pyro Skill Expert Health 650 Scale 1.5 ClassIcon pyro_powerjack_floro_blu_heal // pyro_powerjack_floro_blu for better icon - yeah I made it MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Powerjack" Item "Employee of the Mmmph" ItemAttributes { ItemName "The Powerjack" "heal on kill" 600 } } T_TFBot_Pyro_SG_homewrecker // [custom icon] - 粉碎建筑防线。 { Name "Armoured Smasher Pyro" Class Pyro Skill Expert Health 650 Scale 1.5 ClassIcon pyro_homewrecker_lite_armored MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Homewrecker" Item "Potato Hat" ItemAttributes { ItemName "The Homewrecker" "fire rate bonus" 0.8 } } T_TFBot_Demo_horse // [custom icon] - 骑兵!速度很快,能快速追上玩家并将其消灭,较高的生命值也更利于在前线冲锋。 { Name "Horseman" Class Demoman Health 275 // +25 equal to heavy ClassIcon demo_horse_clean_spec Skill Expert WeaponRestrictions MeleeOnly //Scale 1.2 Item "The Persian Persuader" Item "Ali Baba's Wee Booties" Item "The Dark Falkirk Helm" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "custom item model" "models/weapons/w_models/w_pony_express/w_pony_express_soldier.mdl" } CharacterAttributes { "move speed bonus" 1.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "torso scale" 1.25 "hand scale" 0.75 } } T_TFBot_Demo_horse_basher // [custom icon] - 带有冲锋盾的骑兵。 { Name "Shield Horseman" Class Demoman Health 275 // +25 equal to heavy ClassIcon demo_horse_targe_spec Skill Expert WeaponRestrictions MeleeOnly //Scale 1.2 Item "The Persian Persuader" Item "Ali Baba's Wee Booties" Item "The Dark Falkirk Helm" Item "The Chargin' Targe" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "custom item model" "models/weapons/w_models/w_pony_express/w_pony_express_soldier.mdl" } ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 "charge impact damage increased" 2 } CharacterAttributes { "move speed bonus" 1.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "torso scale" 1.25 "hand scale" 0.75 } } T_TFBot_Demo_horse_buff // [custom icon] - 带有冲锋盾和战旗的骑兵。 { Name "Buff Shield Horseman" Class Demoman Health 275 // +25 equal to heavy ClassIcon demo_horse_buff_spec Skill Expert WeaponRestrictions MeleeOnly //Scale 1.2 Item "The Persian Persuader" Item "Ali Baba's Wee Booties" Item "The Dark Falkirk Helm" Item "The Chargin' Targe" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "custom item model" "models/weapons/w_models/w_pony_express/w_pony_express_soldier.mdl" } ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 "charge impact damage increased" 2 } CharacterAttributes { "move speed bonus" 1.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "torso scale" 1.25 "hand scale" 0.75 } AddTemplate Add_Buff_Banner } T_TFBot_Demo_horse_conch // [custom icon] - 带有冲锋盾和征服者战旗的骑兵。 { Name "Conch Shield Horseman" Class Demoman Health 275 // +25 equal to heavy ClassIcon demo_horse_conch_spec Skill Expert WeaponRestrictions MeleeOnly //Scale 1.2 Item "The Persian Persuader" Item "Ali Baba's Wee Booties" Item "The Dark Falkirk Helm" Item "The Chargin' Targe" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "Ali Baba's Wee Booties" "custom item model" "models/weapons/w_models/w_pony_express/w_pony_express_soldier.mdl" } ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 "charge impact damage increased" 2 } CharacterAttributes { "move speed bonus" 1.5 "damage force reduction" 0.5 "airblast vulnerability multiplier" 0.5 "torso scale" 1.25 "hand scale" 0.75 } AddTemplate Add_Concheror } T_TFBot_Demo_persian // [custom icon] - 穿鞋子使用辉煌护盾和波斯弯刀。威力较大的爆破骑士。 { Name "Persian Demoknight" Class Demoman Skill Hard Health 175 ClassIcon demoknight_persian_nys Item "Sultan's Ceremonial" Item "Ali Baba's Wee Booties" Item "The Persian Persuader" Item "The Splendid Screen" ItemAttributes { ItemName "The Splendid Screen" "Attack not cancel charge" 1 } WeaponRestrictions MeleeOnly CharacterAttributes { "critboost on kill" 3 } } T_TFBot_Demo_skullcutter // [custom icon] - 它们移动速度较慢,但是伤害较高。 { Name "Skullcutter Demoknight" Class Demoman Skill Hard Health 175 ClassIcon demoknight_skullcutter_lite WeaponRestrictions MeleeOnly Item "The Scotsman's Skullcutter" Item "The Glasgow Great Helm" Item "The Chargin' Targe" ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "critboost on kill" 3 } } T_TFBot_Demo_targe_push // [custom icon] - 只能反复冲撞玩家的demoknight,无法用近战武器造成伤害。会退到合适的距离再冲锋,以追求较高的伤害。 { Name "Shield Basher Demoman" Class Demoman Skill Expert Health 175 ClassIcon demo_targe_pusher_nys MaxVisionRange 2000 WeaponRestrictions MeleeOnly Item "The Chargin' Targe" Item "The Tartan Spartan" Item "The Scotsman's Skullcutter" DesiredAttackRange 800 MoveBehindEnemy 1 // Should the bot try to get behind the target, similar to how the Spy bot behaves. Instead of 1 you can also specify custom distance at which the bot will start strafing around the target (default: 0) ExtAttr AlwaysFireWeaponAlt ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 "mult charge turn control" 0 "charge impact damage increased" 2 "charge recharge rate increased" 5 } ItemAttributes { ItemName "The Scotsman's Skullcutter" "damage bonus" 0 "fire rate bonus" 999 "is invisible" 1 } } T_TFBot_Demo_SG_knight // [custom icon] - 重型爆破骑士,或许它们在炸弹增益下的效果会更好? { Name "Armoured Demoknight" Class Demoman Skill Expert Health 650 ClassIcon demoknight_shield Scale 1.5 MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Eyelander" Item "The Chargin' Targe" Item "The Dark Falkirk Helm" ItemAttributes { ItemName "The Dark Falkirk Helm" "item style override" 1 } ItemAttributes { ItemName "The Chargin' Targe" "Attack not cancel charge" 1 } ItemAttributes { ItemName "The Eyelander" "critboost on kill" 3 } } T_TFBot_Demo_shadow_warrior // [custom icon] - Grand Weapon Master的小兵。消灭它们以解除Boss的Uber效果。 { Name "Shadow Guard" Class Demoman Skill Expert Health 650 ClassIcon demo_d // 待换 Scale 1.5 MaxVisionRange 2000 WeaponRestrictions MeleeOnly SpawnTemplate funny_shadow_effect //Alwaysglow 1 Tag trojan_w5 Item "Mine Sweepers" Item "The Scotsman's Skullcutter" Item "The Hood of Sorrows" ItemAttributes { ItemName "The Hood of Sorrows" "set item tint RGB" "2960676" // After Eight } CharacterAttributes { "attach particle effect" 3129 } FireInput { Target !self Action $TeleportToEntity Param "boss_spot" Delay 0 Cooldown 15 // which is cool } } T_TFBot_Heavy_fist // [custom icon] - 近战机枪手。 { Name "Barehand Heavy" Class Heavyweapons Skill Hard Health 300 ClassIcon heavy_fist_nys MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "Capone's Capper" } T_TFBot_Heavy_gnome // - 官方模板的优化...?适合控制玩家。 { Name "Heavy Mittens" Class Heavyweapons Skill Hard Health 60 ClassIcon heavy_mittens MaxVisionRange 1000 Scale 0.65 WeaponRestrictions MeleeOnly Attributes AlwaysCrit Item "The All-Father" Item "Point and Shoot" Item "The Holiday Punch" CharacterAttributes { "move speed bonus" 1.3 } } T_TFBot_Heavy_gnome_deadly // [custom icon] - 击中玩家后立刻执行嘲讽杀。来个人阻止它! { Name "Hyper Mittens" Class Heavyweapons Skill Hard Health 60 ClassIcon heavy_mittens_hyper MaxVisionRange 1000 Scale 0.65 WeaponRestrictions MeleeOnly Attributes AlwaysCrit Item "The All-Father" Item "Point and Shoot" Item "The Holiday Punch" UseHumanAnimations 1 ItemAttributes { ItemName "The Holiday Punch" "fire input on hit" "mittens_taunt^Trigger^" } CharacterAttributes { "move speed bonus" 1.3 } } T_TFBot_Heavy_gru // - 官方模板的优化。脆弱,但是搭配军队支援就很厉害。 { Name "Featherweight Punchie" Class Heavyweapons Skill Hard Health 300 ClassIcon heavy_gru MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" "15185211" //澳元素金 } } T_TFBot_Heavy_heat_kgb { Name "Hunchie" Class Heavyweapons Skill Hard Health 300 ClassIcon heavy_champ_ringoffire WeaponRestrictions MeleeOnly Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" RingOfFire 15 ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" "13595446" } ItemAttributes { ItemName "The Killing Gloves of Boxing" "set damagetype ignite" 1 "attach particle effect" 2 } ItemColor // 曼恩企业橙 { ItemName "The Killing Gloves of Boxing" Red 207 Green 115 Blue 54 } } T_TFBot_Heavy_kgb // - 官方模板的优化。 { Name "Heavyweight Punchie" Class Heavyweapons Skill Hard Health 300 ClassIcon heavy_champ MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Killing Gloves of Boxing" Item "Pugilist's Protector" } T_TFBot_Heavy_SG_gru // [custom icon] - 比小型gru更硬——中型gru? { Name "Armourweight Punchie" Class Heavyweapons Skill Expert Health 900 Scale 1.5 ClassIcon heavy_gru_armored MaxVisionRange 2000 WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" "15185211" //澳元素金 } } T_TFBot_Medic_amputator // [custom icon] - 定期治疗附近的队友。 { Name "Amputator Medic" Class Medic Skill Hard Health 150 ClassIcon medic_jug_amputator WeaponRestrictions MeleeOnly Item "The Amputator" Item "Mighty Mitre" //Action FetchFlag Taunt { Delay 10 Cooldown 10 Repeats 0 IfSeeTarget 0 } } T_TFBot_Medic_crossbow // [custom icon] - 十字弩射手。 { Name "Crossbow Medic" Class Medic Skill Hard Health 150 ClassIcon medic_crossbow WeaponRestrictions PrimaryOnly Item "The Crusader's Crossbow" Item "Berliner's Bucket Helm" //Action FetchFlag Attributes HoldFireUntilFullReload } T_TFBot_Sniper_bow_backup // [custom icon] - 提供军队支援效果的弓箭手。 { Class Sniper Health 125 Name "Backup Bowman" Skill Hard ClassIcon sniper_bow_backup WeaponRestrictions PrimaryOnly MaxVisionRange 2000 Attributes SpawnWithFullCharge Item "The Huntsman" Item "Larrikin Robin" Item "The Battalion's Backup" CharacterAttributes { "Increase buff duration" 20 } } T_TFBot_Sniper_bow_buff // [custom icon] - 提供战旗效果的弓箭手。 { Class Sniper Health 125 Name "Buff Bowman" Skill Hard ClassIcon sniper_bow_buff WeaponRestrictions PrimaryOnly MaxVisionRange 2000 Attributes SpawnWithFullCharge Item "The Huntsman" Item "Larrikin Robin" Item "The Buff Banner" CharacterAttributes { "Increase buff duration" 20 } } T_TFBot_Sniper_bow_burst_parabola // [custom icon] - 以抛物线角度发射3发弓箭。多放一点基本就是箭雨...吗? { Class Sniper Health 125 Name "Burstfire Bowman" Skill Hard ClassIcon sniper_bow_burst2 WeaponRestrictions PrimaryOnly MaxVisionRange 2000 Item "The Huntsman" Item "The Falconer" Item "Bedouin Bandana" PreferClass Sniper AimOffset "0 0 200" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "fire rate bonus" 1.5 "penetrate teammates" 1 "mult projectile count" 3 // burst "Projectile speed increased" 0.7 "projectile spread angle penalty" 2 "projectile gravity" 1100 } } T_TFBot_Sniper_bow_conch // [custom icon] - 提供征服者战旗效果的弓箭手。 { Class Sniper Health 125 Name "Conch Bowman" Skill Hard ClassIcon sniper_bow_conch WeaponRestrictions PrimaryOnly MaxVisionRange 2000 Attributes SpawnWithFullCharge Item "The Huntsman" Item "Larrikin Robin" Item "The Concheror" CharacterAttributes { "Increase buff duration" 20 } } T_TFBot_Sniper_bow_ignite // [custom icon] - 造成燃烧,可以搭配信号枪,火龙等等。 { Class Sniper Health 125 Name "Igniting Bowman" Skill Hard ClassIcon sniper_bow_fire_yoovy WeaponRestrictions PrimaryOnly MaxVisionRange 2000 Item "The Huntsman" Item "Larrikin Robin" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "set damagetype ignite" 1 "attach particle effect" 13 // 2=全部是火,13=箭头着火。 "projectile trail particle" "flying_flaming_arrow" } } T_TFBot_Sniper_bushwacka // [custom icon] - 使用灌木丛,搭配迷你爆击。 { Name "Bushwacka Sniper" Class Sniper Health 125 ClassIcon sniper_bushwacka Skill Hard MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "The Bushwacka" Item "The Jarmaments" } T_TFBot_Sniper_kukri // [custom icon] - 额,反曲刀狙击手,近战兵。 { Name "Kukri Sniper" Class Sniper Health 125 ClassIcon sniper_kukri_lite Skill Hard MaxVisionRange 1000 WeaponRestrictions MeleeOnly Item "Desert Marauder" } T_TFBot_Sniper_SG_bow_multi_ignite // [custom icon] - 快速射出多发点燃弓箭。 { Name "Igniting Spammer Bowman" Class Sniper Health 650 Scale 1.5 ClassIcon sniper_bow_igniter_multi Skill Expert MaxVisionRange 2000 Item "The Huntsman" Item "Larrikin Robin" ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "fire rate bonus" 0.5 "set damagetype ignite" 1 "attach particle effect" 13 // 2=全部是火,13=箭头着火。 "projectile trail particle" "flying_flaming_arrow" } } T_TFBot_Sniper_SG_bow_tagger // [custom icon] - 远距离打上死亡标记! { Name "Armoured Tagger Bowman" Class Sniper Health 650 Scale 1.5 ClassIcon sniper_bow_marker_armoured Skill Expert MaxVisionRange 2000 Item "The Huntsman" Item "The Cold Killer" ItemAttributes { ItemName "The Cold Killer" "set item tint RGB" "2960676" // After Eight } ItemAttributes { ItemName "The Huntsman" "damage bonus" 0.5 "mark for death" 1 "attach particle effect" 44 // unusual_skull_misty "projectile trail particle" "utaunt_cremation_black_parent" } } T_TFBot_Spy_dagger // - 100HP,伤害也不足为奇,但偶尔能背刺敌人,对吧? { Name "Dagger Spy" Class Spy Skill Hard Health 125 ClassIcon spy WeaponRestrictions MeleeOnly Action FetchFlag MoveBehindEnemy 1 StripItemSlot 3 Item "The Big Earner" Item "Sneaky Blinder" ItemAttributes { ItemName "The Big Earner" "fire rate bonus" 1.35 } CharacterAttributes { "cannot disguise" 1 } } T_TFBot_Spy_dagger_thrower // [custom icon] - 使用暴利杀手,但是每过一会会扔出飞刀! { Name "Dagger Thrower Spy" Class Spy Skill Expert Health 125 ClassIcon spy_assassin2 WeaponRestrictions MeleeOnly Action FetchFlag MoveBehindEnemy 1 StripItemSlot 3 Item "The Big Earner" Item "The Flying Guillotine" Item "The Dashin' Hashshashin" ItemAttributes { ItemName "The Big Earner" "fire rate bonus" 1.35 } ItemAttributes { ItemName "The Flying Guillotine" "effect bar recharge rate increased" 0.5 "is_passive_weapon" 1 "damage bonus" 0.3 // 0,75 -> 0.3 "custom item model" "models/workshop/weapons/c_models/c_switchblade/c_switchblade.mdl" "custom projectile model" "models/workshop/weapons/c_models/c_switchblade/c_switchblade.mdl" "custom kill icon" "big_earner" "bleeding duration" 0 } CharacterAttributes { "cannot disguise" 1 } } T_TFBot_Spy_yer // [custom icon] - 更加致命的间谍,因为被背刺的队友不会发出提示音。 { Name "Saharan Spy" Class Spy Health 125 Skill Expert ClassIcon spy_yer_tind Item "Desert Marauder" Item "Your Eternal Reward" } T_TFBot_Giant_Scout_bat // [custom icon] - 球棍的巨型版本。跑的没有Super Scout那么快,但是更硬。 { Name "Giant Bat Scout" Class Scout Skill Expert Health 1600 ClassIcon scout_bat_nys MaxVisionRange 1500 WeaponRestrictions MeleeOnly Tag bot_giant Item "Brimmed Bootlegger" Attributes MiniBoss CharacterAttributes { "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.7 "override footstep sound set" 5 } } T_TFBot_Giant_Soldier_escape // [custom icon] - 近战巨型Soldier,有点类似GRU Heavy?但是血量差点。 { Name "Giant Pickaxe Soldier" Class Soldier Skill Expert Health 3800 ClassIcon soldier_pickaxe_escape WeaponRestrictions MeleeOnly Attributes MiniBoss Tag bot_giant MaxVisionRange 3000 Item "The Escape Plan" Item "The Slo-Poke" ItemAttributes { ItemName "The Escape Plan" "damage bonus" 1.25 // giving every giant melee robots a minor buff. } CharacterAttributes { "move speed bonus" 0.65 // 0.5 -> 0.65 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } T_TFBot_Giant_Soldier_escape_backup // [custom icon] - 更加危险,因为生命值更厚且无视爆击了。 { Name "Giant Backup Pickaxe Soldier" Class Soldier Skill Expert Health 3800 ClassIcon soldier_backup_pickaxe WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes SpawnWithFullCharge Tag bot_giant MaxVisionRange 3000 Item "The Battalion's Backup" Item "The Escape Plan" Item "The Slo-Poke" ItemAttributes { ItemName "The Escape Plan" "damage bonus" 1.25 } ItemAttributes { ItemName "The Battalion's Backup" "increase buff duration" 20.0 } CharacterAttributes { "move speed bonus" 0.65 // 0.5 -> 0.65 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } T_TFBot_Giant_Soldier_escape_conch // [custom icon] - 如果说上一个模板是速度和血量各点一点,那这个模板就是速度点两点。 { Name "Giant Conch Pickaxe Soldier" Class Soldier Skill Expert Health 3800 ClassIcon soldier_conch_escape2 WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes SpawnWithFullCharge Tag bot_giant MaxVisionRange 3000 Item "The Concheror" Item "The Escape Plan" Item "The Slo-Poke" ItemAttributes { ItemName "The Escape Plan" "damage bonus" 1.25 } ItemAttributes { ItemName "The Concheror" "increase buff duration" 20.0 } CharacterAttributes { "move speed bonus" 0.65 // 0.5 -> 0.65 "damage force reduction" 0.4 "airblast vulnerability multiplier" 0.4 "override footstep sound set" 3 "Projectile speed increased" 0.9 } } T_TFBot_Giant_Pyro_axtinguisher // [custom icon] - 火焰combo的主要执行者。 { Class Pyro Name "Giant Axtinguisher Pyro" ClassIcon pyro_axtinguisher Skill Expert Health 3000 WeaponRestrictions MeleeOnly Attributes MiniBoss Tag bot_giant Item "The Axtinguisher" Item "Fire Marshal" ItemAttributes { ItemName "The Axtinguisher" "damage bonus" 1 // 0.66 -> 1.0 } CharacterAttributes { "move speed bonus" 0.45 // a bit slower than normal gpyro "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Pyro_powerjack_hok // [custom icon] - 巨型回复千斤顶。不及时秒杀的话也具有一定威胁。 { Class Pyro Name "Giant HOK Powerjack Pyro" ClassIcon pyro_powerjack_floro_blu_heal Skill Expert Health 3000 WeaponRestrictions MeleeOnly Attributes MiniBoss Tag bot_giant Item "The Powerjack" Item "Employee of the Mmmph" MaxVisionRange 1000 ItemAttributes { ItemName "The Powerjack" "heal on kill" 2500 "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Pyro_spell_fireball_burst // [custom icon] - 使用近战武器的Pyro,会随机释放火球术。巨型版本,快速发射三联火球。 { Name "Giant Burst Fireball Pyro" Class Pyro Skill Expert Health 3000 ClassIcon pyro_dragon_fury_blue_burstfire MaxVisionRange 3000 Attributes MiniBoss Tag bot_giant //WeaponRestrictions MeleeOnly Item "The Crone's Dome" Item "Basic Spellbook" Item "The Freedom Staff" Item "dec2014 Torchers Tabard" ItemAttributes { ItemName "The Freedom Staff" "attach particle effect" 77 "damage bonus" 1.25 } ItemAttributes { ItemName "Basic Spellbook" "dmg penalty vs players" 0.5 // not that deadly } StripItemSlot 0 Spell //Gives specified spell to bots. { Delay 0 //Time before the first spell charges are given (Default: 10) Cooldown 5 //Time between each spell changes (Default: 10) Repeats 0 //How many times should spell charges be given in total (Default: 0 - Infinite) IfSeeTarget 1 //When set to 1, this task activates only when the bot can see the target player (Default: 0 - Always activate) Charges 3 //How many spell charges to give every time the spell is given (Default: 1) Limit 3 //How many spell charges the bot can store (Default: Same as charges given) //IfHealthBelow 100 //When set, the task activates only when the bot health is below specified value //IfHealthAbove 0 //When set, the task activates only when the bot health is above specified value Type "Fireball" } FireWeapon //Periodically fires weapon { Delay 0.1 Cooldown 0.1 Repeats 0 IfSeeTarget 1 Type "Action" } CharacterAttributes { "switch from wep deploy time decreased" 0.001 "deploy time decreased" 0.001 "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Heavy_gru // - 巨型gru,同样是搭配军队支援。 { Name "Giantweight Punchie" Class Heavyweapons Skill Expert Health 5000 Attributes MiniBoss ClassIcon heavy_gru MaxVisionRange 2000 Tag bot_giant WeaponRestrictions MeleeOnly Item "Gloves of Running Urgently MvM" Item "Pugilist's Protector" ItemAttributes { ItemName "Pugilist's Protector" "set item tint RGB" "15185211" //澳元素金 } ItemAttributes { ItemName "Gloves of Running Urgently MvM" "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 } } T_TFBot_Giant_Medic_amputator // [custom icon] - 在生命值低于2500后,定期治疗附近的队友。 { Name "Giant Amputator Medic" Class Medic Skill Expert Health 4500 ClassIcon medic_jug_amputator WeaponRestrictions MeleeOnly Tag bot_giant Attributes MiniBoss Item "The Amputator" Item "Mighty Mitre" //Action FetchFlag Taunt { Delay 0 Cooldown 8 Repeats 0 IfSeeTarget 0 IfHealthBelow 2500 } ItemAttributes { ItemName "The Amputator" "damage bonus" 1.0 // 0.8 -> 1.0 - giving every giant melee robots a minor buff. } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 } } T_TFBot_Giant_Sniper_bow_barrage // [custom icon] - 以抛物线角度发射30发弓箭。适合打击远距离目标,但被贴脸则较为脆弱,需要其他机器人支援。 { Class Sniper Name "Giant Barrage Bowman" ClassIcon sniper_bow_barrage Skill Expert Health 3000 Tag bot_giant WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Huntsman" Item "The Falconer" Item "Bedouin Bandana" PreferClass Sniper AimOffset "0 0 500" ItemAttributes { ItemName "The Huntsman" "fire rate bonus" 1.5 "penetrate teammates" 1 "mult projectile count" 30 // barrage "Projectile speed increased" 0.7 "projectile spread angle penalty" 3.5 "projectile gravity" 1100 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Sniper_bow // [custom icon] - 巨型弓箭手-伤害还行,定位类似巨型士兵。 { Class Sniper Name "Giant Bowman" ClassIcon sniper_bow Skill Expert Health 3000 Tag bot_giant WeaponRestrictions PrimaryOnly Attributes MiniBoss Item "The Huntsman" Item "Larrikin Robin" ItemAttributes { ItemName "The Huntsman" "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 } } T_TFBot_Giant_Sniper_bow_buff // [custom icon] - 提供战旗buff。 { Class Sniper Name "Giant Buff Bowman" ClassIcon sniper_bow_buff Skill Expert Health 3000 Tag bot_giant WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Huntsman" Item "The Buff Banner" Item "Shooter's Tin Topi" ItemAttributes { ItemName "The Huntsman" "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "Increase buff duration" 20 } } T_TFBot_Giant_Sniper_bow_conch // [custom icon] - 提供征服者战旗buff。 { Class Sniper Name "Giant Conch Bowman" ClassIcon sniper_bow_conch Skill Expert Health 3000 Tag bot_giant WeaponRestrictions PrimaryOnly Attributes MiniBoss Attributes SpawnWithFullCharge Item "The Huntsman" Item "The Concheror" Item "Shooter's Tin Topi" ItemAttributes { ItemName "The Huntsman" "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "Increase buff duration" 20 } } T_TFBot_Giant_Sniper_bushwacka // [custom icon] - 巨型灌木丛狙击手。为中世纪设计。 { Class Sniper Name "Giant Bushwacka Sniper" ClassIcon sniper_bushwacka Skill Expert Health 3000 Tag bot_giant WeaponRestrictions MeleeOnly Attributes MiniBoss Item "The Bushwacka" Item "Ol' Snaggletooth" ItemAttributes { ItemName "The Bushwacka" "damage bonus" 1.25 } CharacterAttributes { "move speed bonus" 0.5 "damage force reduction" 0.6 "airblast vulnerability multiplier" 0.6 "override footstep sound set" 6 "Increase buff duration" 20 } } // Stage 1: 苏格兰长剑、颅骨切割者和短剑间切换。长剑杀敌爆击,巨斧距离远,短剑攻速快且造成失血。 // Stage 1-2: 进入Uber状态,在原地喝下饮料,在第二阶段获得战旗效果。 // Stage 2: 高尔夫球杆、座头市和飞刀间切换。球杆击飞,座头市恢复,飞刀能远程攻击和背刺。 // Stage 2-3: 进入Uber状态,在嘲讽后缓慢移动,且召唤出多个影子武士,需消灭它们才能解除Uber效果。 // Stage 3: 切换为火焰苏格兰长剑且带有火圈,每隔一段时间释放火雨。 T_TFBot_Chief_Demo_Crown_of_Courage // [custom icon] - Hillside EXP Chief. { Name "Grand Weapon Master" Class Demoman ClassIcon demo_bomber // demo with a crown Health 36075 // 3 stage Scale 1.9 Skill Expert WeaponRestrictions MeleeOnly Attributes MiniBoss Attributes UseBossHealthBar Tag bot_giant Tag king MaxVisionRange 2000 SpawnTemplate crown_boss_module_change DeathSound "vo/mvm/norm/demoman_mvm_paincrticialdeath03.mp3" Item "Mine Sweepers" Item "The Hood of Sorrows" ItemAttributes { ItemName "The Hood of Sorrows" "set item tint RGB" "2960676" // After Eight } CharacterAttributes // Copied from Major Bomber { "move speed bonus" 0.32 "damage force reduction" 0.7 "airblast vulnerability multiplier" 0.3 "override footstep sound set" 4 "airblast vertical vulnerability multiplier" 0.1 "rage giving scale" 0.1 "rage on kill" 500 "Increase buff duration" 100 "deploy time increased" 0.01 "no_jump" 1 } FireInput { Target "switcher_stageshift_12" Action "Trigger" Param "" Delay 0 Cooldown 1 Repeats 1 IfHealthBelow 24001 } FireInput { Target "switcher_stageshift_23" Action "Trigger" Param "" Delay 0 Cooldown 1 Repeats 1 IfHealthBelow 12001 } EventChangeAttributes { Stage1_taunt { UseHumanAnimations 1 Item "The Eyelander" ItemAttributes { ItemName "The Eyelander" "hand scale" 1 "damage bonus" 1.5 "critboost on kill" 5 "max health additive penalty" 0 } Taunt //Taunt periodically { Delay 0.5 //Time before the first taunt starts (Default: 10) Cooldown 1 //Time between each taunt (Default: 10) Repeats 1 //How many times the bot should taunt in total (Default: 0 - Infinite) Name "Taunt: Roar O'War" //If set, uses this item taunt instead of default } } Stage1_sword { UseHumanAnimations 0 Item "The Eyelander" ItemAttributes { ItemName "The Eyelander" "hand scale" 1 "damage bonus" 1.5 "critboost on kill" 5 "max health additive penalty" 0 } } Stage1_axe { UseHumanAnimations 0 Item "The Scotsman's Skullcutter" ItemAttributes { ItemName "The Scotsman's Skullcutter" "hand scale" 1.5 "damage bonus" 1.5 "melee range multiplier" 1.5 //"max health additive penalty" 50 } } Stage1_runeblade { UseHumanAnimations 0 Item "The Persian Persuader" ItemAttributes { ItemName "The Persian Persuader" "custom item model" "models/workshop/weapons/c_models/c_scout_sword/c_scout_sword.mdl" "custom kill icon" "scout_sword" "hand scale" 0.75 "melee range multiplier" 0.75 "damage bonus" 0.8 // similar to 35x1.5 "fire rate bonus" 0.5 "bleeding duration" 5 //"max health additive penalty" 50 } } Stage2_golf { UseHumanAnimations 0 Item "Nessie's Nine Iron" Item "The Buff Banner" StripItem "The Flying Guillotine" ItemAttributes { ItemName "Nessie's Nine Iron" "is_passive_weapon" 1 "damage bonus" 1.5 "damage causes airblast" 1 "apply z velocity on damage" 1000 "max health additive penalty" 0 } } Stage2_katana { UseHumanAnimations 0 Item "The Half-Zatoichi" ItemAttributes { ItemName "The Half-Zatoichi" "is_passive_weapon" 1 "damage bonus" 1.5 "restore health on kill" 0 "honorbound" 0 "heal on kill" 3000 } } Stage2_knifethrow { UseHumanAnimations 0 Item "The Big Earner" StripItem "The Buff Banner" StripItemSlot 0 Item "The Flying Guillotine" ItemAttributes { ItemName "The Big Earner" "damage bonus" 1.5 "fire rate bonus" 0.5 "max health additive penalty" 0 } ItemAttributes { ItemName "The Flying Guillotine" "effect bar recharge rate increased" 0.15 "is_passive_weapon" 1 "damage bonus" 1 "custom item model" "models/workshop/weapons/c_models/c_switchblade/c_switchblade.mdl" "custom projectile model" "models/workshop/weapons/c_models/c_switchblade/c_switchblade.mdl" "custom kill icon" "big_earner" "bleeding duration" 0 "max health additive penalty" 0 } } Stage3_intro { Item "The Eyelander" UseHumanAnimations 1 Taunt //Taunt periodically { Delay 0.01 //Time before the first taunt starts (Default: 10) Cooldown 1 //Time between each taunt (Default: 10) Repeats 1 //How many times the bot should taunt in total (Default: 0 - Infinite) Name "Taunt: Unleashed Rage" //If set, uses this item taunt instead of default } } Stage3_final { UseHumanAnimations 0 Item "Basic Spellbook" Item "The Flying Guillotine" Item "The Eyelander" ItemAttributes { ItemName "The Hood of Sorrows" "SPELL: set Halloween footstep type" "13595446" // Rot Orange } ItemAttributes { ItemName "The Eyelander" "damage bonus" 1.5 "critboost on kill" 5 "Set DamageType Ignite" 1 "weapon burn dmg increased" 5 "attach particle effect" 1 } ItemAttributes { ItemName "The Flying Guillotine" "effect bar recharge rate increased" 3 "is_passive_weapon" 1 "is invisible" 1 "override projectile type extra" "spellmeteorshower" } UseHumanAnimations 0 RingOfFire 15 CharacterAttributes { "move speed bonus" 0.32 } ItemColor // 曼恩企业橙 { ItemName "The Eyelander" Red 207 Green 115 Blue 54 } StripItemSlot 0 Spell //Gives specified spell to bots. { Delay 0 Cooldown 8 Repeats 0 IfSeeTarget 1 Charges 3 Limit 3 Type "Fireball" } FireWeapon //Periodically fires weapon { Delay 0.1 Cooldown 0.1 Repeats 0 IfSeeTarget 1 Type "Action" } } Stageshift_12 { Item "Nessie's Nine Iron" Item "The Buff Banner" UseHumanAnimations 1 ItemAttributes { ItemName "Nessie's Nine Iron" "is_passive_weapon" 1 "damage bonus" 1.5 "damage causes airblast" 1 "apply z velocity on damage" 1000 } Taunt //Taunt periodically { Delay 0.01 //Time before the first taunt starts (Default: 10) Cooldown 1 //Time between each taunt (Default: 10) Repeats 1 //How many times the bot should taunt in total (Default: 0 - Infinite) Name "Taunt: Cheers!" //If set, uses this item taunt instead of default } Addcond { Index 5 Duration 6.7 } } Stageshift_23 { Item "The Horseless Headless Horseman's Headtaker" UseHumanAnimations 1 StripItem "The Buff Banner" StripItem "The Flying Guillotine" Taunt //Taunt periodically { Delay 0.01 //Time before the first taunt starts (Default: 10) Cooldown 1 //Time between each taunt (Default: 10) Repeats 1 //How many times the bot should taunt in total (Default: 0 - Infinite) Name "Taunt: Second Rate Sorcery" //If set, uses this item taunt instead of default } Addcond { Index 5 Duration 5 } CharacterAttributes { "move speed bonus" 0.32 "attach particle effect" 3130 } } Stageshift_23_patrol { Item "The Horseless Headless Horseman's Headtaker" ItemAttributes { ItemName "The Horseless Headless Horseman's Headtaker" "damage bonus" 1.5 } UseHumanAnimations 0 Addcond { Index 5 } CharacterAttributes { "move speed bonus" 0.16 // 50% slower, but UBERED "attach particle effect" 3130 } } } } /////////////////////////////////////////////////// //////////////////////GIMMICK////////////////////// /////////////////////////////////////////////////// Friendly { ClassIcon conga EventChangeAttributes { Default { UseHumanAnimations 1 ActionOverride Mobber Attributes SuppressFire Tag conga Taunt { Delay 5 Repeats 1 Duration 999 Name "Conga Taunt" } } FriendshipEnds { UseHumanAnimations 0 ActionOverride FetchFlag Tag conga FireInput { Target "!self" Action "$stun" //Input to fire Param "0.5" //Parameter to use Delay 0 //Delay before firing the input Cooldown 0.5 //Cooldown between firing the input Repeats 3 //How many times should the input be fired } } } } Ambush { ClassIcon random_lite Tag trojan } // 以下所有的Add部分-原作者:Yuugi。可用于强行给特定角色添加武器,例如同时使用冲锋盾和旗子的demoman。以及快速让机器人成为破门机器人的模板,这都很方便。 Add_Buff_Banner { Item "The Buff Banner" Attributes SpawnWithFullCharge CharacterAttributes { "Increase buff duration" 9 "deploy time increased" 0.5 } } Add_Battalions_Backup { Item "The Battalion's Backup" Attributes SpawnWithFullCharge CharacterAttributes { "Increase buff duration" 9 "deploy time increased" 0.5 } } Add_Concheror { Item "The Concheror" Attributes SpawnWithFullCharge CharacterAttributes { "Increase buff duration" 9 "deploy time increased" 0.5 } } } ExtraSpawnPoint // for conga robots. { Name "spawnbot_conga" TeamNum 3 X "322" Y "-2743" Z "-41" Startdisabled 0 } ExtraSpawnPoint //W5 Trojan { Name "trojan_w5_spawnbot" TeamNum 3 X "-4181" Y "1439" Z "-152" Startdisabled 1 } } // Changelog: // // V2 - Generic update & int mission update // // Generic: // Ported all missions to rottenburg_night. The INT mission is already ported but the ADV and EXP would come later since I may have some work to do recently, so the judging process is only available on INT now. // The skyrim style music now only plays before W1 and only for once. // Added a custom balance mod for medieval, including: // -Soldier and Heavy now uses banner/eats food really-fast. // -Pyro can equip the gas passer, with a ~30 dmg of Explode-on-Ignite. He also deals 150% damage to burning robots. // -Heavy's KGB now gains 5 seconds minicrit boost on kill, instead of full crit. // -Engi now deals 150% damage to tanks. He also can build a bomb shooting sentry and other buildings, even with wrangler for aiming! // -Sniper can equip the jarate now. // -Damage bonus upgrade, melee resistance upgrade and backstab shield upgrade for every class! // -Banned Crit on Kill Upgrade for demoknights and spies, also merged some upgrades from the .txt file to ExtendedUpgrades. // // Reduced the speed of horsemans (from 2 to 1.5). // Reduced the damage and cleaver fire rate of dagger-throwing spies. // Reduced all spies fire rate (from 1 to 1.35), so they aren't that easy to trickstab players that often. // Reduced the fire rate and damage of fireball pyros. // // For judge restrictions: now it only bans crit canteen,uber canteen and class stacking. COK as an upgrade is removed but replaced with more extended upgrades to make it fun, and KGB is unbanned now. // // INT: // // W1: Replaced most spies with back scratcher pyros. Adjusted the pace to fit rottenburg too. // W2: Similar to W1, reduced the amount of spies, compensated them with runeblade scouts and huntsman snipers. // W3: Killed all heavy mittens with persian knights. Replaced super scouts with giant amputator medics. Reduced the amount of batta soldiers. // W4: Replaced most non-dagger-throwing spies with fist heavies. // W5: Replaced the giant batta soldier with small ones, also nerfed the amount of spies.