//seelstar mission (seelpit and stardust colab) #base robot_standard.pop #base robot_giant.pop #base robot_stardust.pop //contains aabilities and moves (upgrades) #base custom_upgrades_akure_seeldust.pop #base infiltration_akure_logic.pop WaveSchedule { StartingCurrency 800 CanBotsAttackWhileInSpawnRoom no RespawnWaveTime 20 FixedRespawnWaveTime 1 NoRomevisionCosmetics 1 RobotLimit 35 AllowBotExtraSlots 1 ExtraBotSlotsNoDeathcam 1 ExtendedUpgradesOnly 1 BotsRandomCrit 1 // reduce crit dmg on all non-always crit bots FastWholeMapTriggers 1 //NOTES //Players will start out with stock weapons. Stock Weapons are represented by being a classes being reliable damage dealing moves at the beginning //Later waves players will start recieving upgrades/weapons that are the most powerful or signature, such as Galrian Moltres's Fiery Wrath or Rayquaza's Dragon Ascent. //Non damage items will either be set up (Buff Banner = Swords Dance, Cola = Nasty Plot) will be like moves like Taunt and Recover (Sandvich = Recover) //Random crits will exist, but on some conditions //Giants, bots with damage bonuses of any kind (item or no item), or bots who can obtain crits easily (crit on kill or crit-granting items) may not Randomly Crit //Bots with Kritz Medics, Buff Soldiers, etc cannot Random Crit //Bots that are allowed to deal random crits have a -75% on their critical damage. //2 turn moves will be weapons with 100-200% slower firing speeds //"Blade" moves will be classified as Swords, Clubs or Tools (Eyelander, Shahansha, Three-Rune Blade, but not Ullapool Caber, Solmn Vow, or Sandman) //"Sound" moves will be Laser weapons (Cow Mangler, Righteous Bison) //So some weapons can be classified as a certain kind of move, like Punching. Seelpit figures that out. //SEELPIT JOBS //Create a system where many of tf2's weapons are pokemon moves i.e. Minigun is Close Combat, Rocket Launcher is Fire Blast, etc //Figure out a way to detect when a player recieves a crit, then trigger "has_taken_crit" //Create "Harsh Sunlight" for Pyro Drought ability. Harsh Sunlight does the following //Increase damage of fire based weapons by 50% (All Flamethrowers, all flare guns, The Sun-on-a-stick, The Sharpened volcano fragment, The Huo-Long Heater [heater could just be 20% bonus], Axtinguisher,) //Decrease damage of burst-bullet based weapons (shotguns, scatterguns) //Removes 2 turn weapons firing rate //Do whatever else you feel. //spawnbot //spawnbot_mission_buster/spy/sniper //spawnbot_left /////////////////////////SPAWNS ExtraSpawnPoint { Name "blu_front_left" TeamNum 2 X "-64" Y "1312" Z "-198.75" } ExtraSpawnPoint { Name "blu_front_right" TeamNum 2 X "128" Y "2477" Z "-200" } ExtraSpawnPoint { Name "blu_secondroom" TeamNum 2 X "864" Y "1216" Z "-287" } ExtraSpawnPoint { Name "blu_boxspawn" TeamNum 2 X "1535" Y "644" Z "-224" } ExtraSpawnPoint { Name "blu_secondroom_farright" TeamNum 2 X "124" Y "895" Z "-224" } ExtraSpawnPoint { Name "blu_secondroom_instasee" // spawns from thin air TeamNum 2 X "1350" Y "1514" Z "-192" } ExtraSpawnPoint { Name "blu_secondroom_redpipe" TeamNum 2 X "2045" Y "-1230" Z "-247" } ExtraSpawnPoint { Name "blu_secondroom_window" TeamNum 2 X "2607" Y "-967" Z "-112" } ExtraSpawnPoint { Name "blu_secondroom_metalwall" TeamNum 2 X "1062.3" Y "-967" Z "-112" } ExtraSpawnPoint { Name "blu_secondroom_front_station" TeamNum 2 X "-205" Y "-1211" Z "-416" } ExtraSpawnPoint { Name "blu_carrier_behind" TeamNum 2 X "-1304" Y "-599" Z "-474" } ExtraSpawnPoint { Name "blu_carrier_behind" TeamNum 2 X "-858.523" Y "-35" Z "-480" } /////////////////////////POINT TEMPLATES PointTemplates { kill_stuff { logic_auto { "targetname" "lock" "OnMapSpawn" "door_red_large_win_*,Lock,,0,-1" "OnMapSpawn" "wave_start_*,AddOutput,OnTrigger door_red_large_win_*:Unlock::0:-1,,0,-1" } } SpawnPoints { prop_dynamic { "targetname" "blu_front_left_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" // 0 = Red, 1 = Blue, 2 = Gray, 3 = disable "origin" "-64 1312 -198.75" //Check z-value } prop_dynamic { "targetname" "blu_front_right_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "128 2477 -200" } prop_dynamic { "targetname" "blu_secondroom_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "864 1216 -287" } prop_dynamic { "targetname" "blu_secondroom_farright_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "124 895 -224" } prop_dynamic { "targetname" "blu_secondroom_front_station_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "-205 -1211 -416" } prop_dynamic { "targetname" "blu_secondroom_instasee_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "1350 1514 -192" } prop_dynamic { "targetname" "blu_secondroom_metalwall_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "1062.3 -967 -112" } prop_dynamic { "targetname" "blu_secondroom_redpipe_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "2045 -1230 -247" } prop_dynamic { "targetname" "blu_secondroom_window_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "2607 -967 -112" } prop_dynamic { "targetname" "blu_boxspawn_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "1535 644 -224" } prop_dynamic { "targetname" "blu_carrier_behind_prop" "model" "models/props_mvm/robot_spawnpoint.mdl" "defaultanim" "idle" "disableshadows" "1" "skin" "1" "origin" "-858.523 -35 -480" } } condition // needed for Choice items to allow player switching { trigger_add_tf_player_condition { "condition" "65" "duration" "-1" "origin" "-1803 2183 -73" "spawnflags" "1" "StartDisabled" "0" "targetname" "add_cond" "mins" "-373 -314 -110" "maxs" "373 314 110" } } ChoiceBandDMG { NoFixup 1 OnSpawnOutput { Target "band_check_rel" Action "Trigger" } filter_tf_condition { "condition" "65" "Negated" "1" "targetname" "band_check" "OnPass" "!activator,$AddPlayerAttribute,damage bonus|1.5,0.1,-1" "OnPass" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,damage bonus,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,disable weapon switch,0.1,-1" } logic_relay { "targetname" "band_check_rel" "spawnflags" "2" "OnTrigger" "band_check,TestActivator,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" //"OnTrigger" "player,$displaytextchat,added ignore,0.05,-1" } } ChoiceScarfSpeed { NoFixup 1 OnSpawnOutput { Target "scarf_check_rel" Action "Trigger" } filter_tf_condition { "condition" "65" "Negated" "1" "targetname" "scarf_check" "OnPass" "!activator,$AddPlayerAttribute,move speed bonus|1.5,0.1,-1" "OnPass" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,move speed bonus,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,disable weapon switch,0.1,-1" } logic_relay { "targetname" "scarf_check_rel" "spawnflags" "2" "OnTrigger" "scarf_check,TestActivator,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" //"OnTrigger" "player,$displaytextchat,added ignore,0.05,-1" } } ChoiceSpecCrit { NoFixup 1 OnSpawnOutput { Target "spec_check_rel" Action "Trigger" } filter_tf_condition { "condition" "65" "Negated" "1" "targetname" "spec_check" "OnPass" "!activator,$AddPlayerAttribute,critboost on kill|3,0.1,-1" "OnPass" "!activator,$AddPlayerAttribute,disable weapon switch|1,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,critboost on kill,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,disable weapon switch,0.1,-1" } logic_relay { "targetname" "spec_check_rel" "spawnflags" "2" "OnTrigger" "spec_check,TestActivator,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" //"OnTrigger" "player,$displaytextchat,added ignore,0.05,-1" } } GutsBoost { NoFixup 1 OnSpawnOutput { Target "guts_check" Action "Trigger" } logic_relay { "targetname" "guts_check" "spawnflags" "2" "startdisabled" "1" "OnTrigger" "filter_is_BurnJarateBleedMilk,TestActivator,!activator,0,-1" "OnTrigger" "!self,Trigger,,0.1,-1" //"OnTrigger" "player,$displaytextchat,enabled,0.1,-1" } filter_multi { "Filter01" "bleed_filter" "Filter02" "milk_filter" "Filter03" "jarate_filter" "Filter04" "fire_filter" "filtertype" "1" "Negated" "0" "targetname" "filter_is_BurnJarateBleedMilk" "origin" "-1716 2148 -190" "OnPass" "!activator,$AddPlayerAttribute,CARD: damage bonus|1.5,0.1,-1" "OnFail" "!activator,$RemovePlayerAttribute,CARD: damage bonus,0.1,-1" } filter_tf_condition { "condition" "27" "Negated" "0" "targetname" "milk_filter" "origin" "-1716 2193 -191" } filter_tf_condition { "condition" "24" "Negated" "0" "targetname" "jarate_filter" "origin" "-1705.14 2225 -184" } filter_tf_condition { "condition" "25" "Negated" "0" "targetname" "bleed_filter" "origin" "-1704 2285 -191" } filter_tf_condition { "condition" "22" "Negated" "0" "targetname" "fire_filter" "origin" "-1704 2285 -191" } } AngerPoint { NoFixup 1 trigger_add_tf_player_condition { "condition" "16" "duration" "-1" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_red" "targetname" "banner_buff" "mins" "-154 -132 -59" "maxs" "154 132 59" } trigger_add_tf_player_condition { "condition" "26" "duration" "-1" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_red" "targetname" "banner_batt" "mins" "-154 -132 -59" "maxs" "154 132 59" } trigger_add_tf_player_condition { "condition" "29" "duration" "-1" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "filtername" "filter_red" "targetname" "banner_conch" "mins" "-154 -132 -59" "maxs" "154 132 59" } logic_relay { "targetname" "has_taken_crit" "spawnflags" "2" "startdisabled" "1" "OnTrigger" "banner_conch,Enable,,0,-1" "OnTrigger" "banner_batt,Enable,,0,-1" "OnTrigger" "banner_buff,Enable,,0,-1" } } HarshSunlight { NoFixup 1 $filter_itemname { "$item" "TF_WEAPON_FLAMETHROWER" } trigger_add_tf_player_condition { "condition" "65" "duration" "-1" "origin" "0 0 0" "spawnflags" "1" "StartDisabled" "1" "targetname" "harsh_sunlight" "mins" "-9999 -9999 -9999" "maxs" "9999 9999 9999" "OnStartTouch" "!activator,$AddPlayerAttribute," } } } PlayerItemEquipSpawnTemplate { Name "ChoiceBandDMG" ItemName "Choice Band" } PlayerItemEquipSpawnTemplate { Name "ChoiceScarfSpeed" ItemName "Choice Scarf" } PlayerItemEquipSpawnTemplate { Name "ChoiceSpecCrit" ItemName "Choice Specs" } PlayerSpawnTemplate { Name "GutsBoost" Class Scout } PlayerSpawnTemplate { Name "AngerPoint" Class Soldier } SpawnTemplate kill_stuff SpawnTemplate SpawnPoints SpawnTemplate condition SpawnTemplate RockHead_Relay // in infiltration_akure_logic /////////////////////////CUSTOM ITEMS + BALANCE PlayerAttributes //allows us to put more power into upgrades, also gives a sense of base points for all moves { "maxammo primary reduced" 0.5 "maxammo secondary reduced" 0.5 Engineer { "building max level" 1 } } //prevents players from stacking Heavy early on ItemAttributes { SimilarToItem "TF_WEAPON_MINIGUN" "damage penalty" 0.6 } ItemWhitelist { //Scout SimilarToItem "TF_WEAPON_SCATTERGUN" SimilarToItem "TF_WEAPON_PISTOL_SCOUT" SimilarToItem "TF_WEAPON_BAT" //Soldier SimilarToItem "TF_WEAPON_ROCKETLAUNCHER" SimilarToItem "TF_WEAPON_SHOTGUN_SOLDIER" SimilarToItem "TF_WEAPON_SHOVEL" //Pyro SimilarToItem "TF_WEAPON_FLAMETHROWER" SimilarToItem "TF_WEAPON_SHOTGUN_PYRO" SimilarToItem "TF_WEAPON_FIREAXE" //Demo SimilarToItem "TF_WEAPON_GRENADELAUNCHER" SimilarToItem "TF_WEAPON_PIPEBOMBLAUNCHER" SimilarToItem "TF_WEAPON_BOTTLE" //Heavy SimilarToItem "TF_WEAPON_MINIGUN" SimilarToItem "TF_WEAPON_SHOTGUN_HWG" SimilarToItem "TF_WEAPON_FISTS" //Engie SimilarToItem "TF_WEAPON_SHOTGUN_PRIMARY" SimilarToItem "TF_WEAPON_PISTOL" SimilarToItem "TF_WEAPON_WRENCH" SimilarToItem "TF_WEAPON_PDA_ENGINEER_BUILD" Itemname "TF_WEAPON_BUILDER" //Engineer cannot build buildings without his toolbox. This is his toolbox. ItemName "TF_WEAPON_PDA_ENGINEER_DESTROY" //Medic SimilarToItem "TF_WEAPON_SYRINGEGUN_MEDIC" SimilarToItem "TF_WEAPON_MEDIGUN" SimilarToItem "TF_WEAPON_BONESAW" //Sniper SimilarToItem "TF_WEAPON_SNIPERRIFLE" SimilarToItem "TF_WEAPON_SMG" SimilarToItem "TF_WEAPON_CLUB" //Spy (oh lord) SimilarToItem "TF_WEAPON_REVOLVER" SimilarToItem "TF_WEAPON_BUILDER_SPY" //sapper SimilarToItem "TF_WEAPON_KNIFE" SimilarToItem "TF_WEAPON_PDA_SPY" //disguise kit SimilarToItem "TF_WEAPON_INVIS" //invis watch } CustomWeapon { //Hold Items (Misc) "Choice Band" { OriginalItemName "Master's Yellow Belt" "damage bonus" 1.5 "set item tint rgb" 15132390 "special item description" "Cannot Switch off your active item when wave begins. You can switch weapons while in spawn however." } //need to make a PT that grants choice effects to players manually "Choice Scarf" { OriginalItemName "Merc's Pride Scarf" "move speed bonus" 1.5 "special item description" "Cannot Switch off your active item when wave begins. You can switch weapons while in spawn however." } "Choice Specs" { OriginalItemName "Summer Shades" "critboost on kill" 3 "special item description" "Cannot Switch off your active item when wave begins. You can switch weapons while in spawn however." } "Focus Sash" { OriginalItemName "Glittering Garland" "add cond when active" 70 } "Leftovers" { OriginalItemName "Hat Chocolate" "health regen" 20 } "Assault Vest" { OriginalItemName "The Antarctic Researcher" "dmg taken from crit reduced" 0.5 // use PT that strips away weapons that "deal no damage" i.e. medigun, banner, etc } "Shell Bell" { OriginalItemName "The Dumb Bell" "heal on hit for rapidfire" 1 } //moves "Head Smash" { OriginalItemName "The Chargin' Targe" "effect add attributes" "mult crit dmg|4|melee cleave attack|1|hit self on miss|1" } //abilities (hat slot) "GutsItem" { OriginalItemName "Ghastly Gibus" "custom item model" "models\empty.mdl" //"special item description" "+50% Damage bonus while suffering from Burn, Jarate, Milk or Bleed" } } ExtraLoadoutItems // Extra loadout items available after typing !missionitems in chat { Misc "Choice Specs" Melee "the boston basher" } //Proposed system: //- Custom upgrades only. //- Items are bought through custom upgrades. Use OnApply{} output! //ALTERNATIVE //- Items are free extraloadout items, and considered "perks". // Useful upsides with some downsides! May change playstyle? // Could do the same with abilities, but might make things more confusing. Mission // buster { Where blu_carrier_behind Objective DestroySentries BeginAtWave 1 RunForThisManyWaves 1 DesiredCount 1 InitialCooldown 30 CooldownTime 70 TFBot { Template T_TFBot_SentryBuster_Fix } } Wave // Wave 1 { StartWaveOutput { Target wave_start_relay Action Trigger } DoneOutput { Target wave_finished_relay Action Trigger } InitWaveOutput { Target holograms_3way_relay Action Trigger } Explanation { Line "{yellow}Your trapped! Push out to the robots spawn to win!" Line "{green}You will also need to make your loadout from scratch!" Line "{red}You have 5 minutes or you will fail!" Line "{blu}Robots can randomly crit, but their crits are much weaker." } //phase 1 WaveSpawn { Name "a1_p1" Where blu_front_left Where blu_front_right TotalCount 30 MaxActive 10 SpawnCount 1 WaitBeforeStarting 0 WaitBetweenSpawns 0 TotalCurrency 100 TFBot { Name "Choice Band Scout" Item "Choice Band" Template T_TFBot_Scout_Melee_Fix Action Mobber CharacterAttributes { "damage bonus" 1.5 "mult crit dmg" 0.25 } } } WaveSpawn { Name "a2_p1" WaitForAllSpawned "a1_p1" Where blu_secondroom TotalCount 40 MaxActive 20 SpawnCount 20 WaitBeforeStarting 15 WaitBetweenSpawns 0 TotalCurrency 100 Squad { TFBot { Class Engineer Attributes AlwaysCrit Skill Expert Action Mobber WeaponRestrictions PrimaryOnly Item "Leftovers" Name "Leftovers Engineer" } TFBot { Template T_TFBot_Medic_QuickFix Tag bot_squad_member Item "Assault Vest" Name "Assault Vest Medic" CharacterAttributes { "mult crit dmg" 0.25 } } } } } }