mirror of
https://github.com/ValveSoftware/source-sdk-2013.git
synced 2025-04-08 11:01:33 +00:00
Add vanilla talker files
This commit is contained in:
parent
f995559981
commit
bfe312d3a5
8 changed files with 12679 additions and 0 deletions
1438
game/mod_tf/scripts/talker/demoman.txt
Normal file
1438
game/mod_tf/scripts/talker/demoman.txt
Normal file
File diff suppressed because it is too large
Load diff
1882
game/mod_tf/scripts/talker/heavy.txt
Normal file
1882
game/mod_tf/scripts/talker/heavy.txt
Normal file
File diff suppressed because it is too large
Load diff
1424
game/mod_tf/scripts/talker/medic.txt
Normal file
1424
game/mod_tf/scripts/talker/medic.txt
Normal file
File diff suppressed because it is too large
Load diff
710
game/mod_tf/scripts/talker/response_rules.txt
Normal file
710
game/mod_tf/scripts/talker/response_rules.txt
Normal file
|
@ -0,0 +1,710 @@
|
|||
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
|
||||
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
|
||||
//
|
||||
// The format of this file is that there are five main types of commands:
|
||||
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
|
||||
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
|
||||
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
|
||||
// other responses by name
|
||||
// 4) criterion: This is a match condition
|
||||
// 5) rule: a rule consists of one or more criteria and a response
|
||||
//
|
||||
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
|
||||
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
|
||||
// "speaker" entity wishing to fire random station announcements
|
||||
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
|
||||
// map = 'terminal_pa' ; the name of the map
|
||||
// classname = 'speaker' ; the classname and name of the "speaking" entity
|
||||
// name = 'terminal_pa'
|
||||
// health = '10' ; the absolute health of the speaking entity
|
||||
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
|
||||
// playerhealth = '100' ; similar data related to the current player:
|
||||
// playerhealthfrac = '1.000'
|
||||
// playerweapon = 'none' ; the name of the weapon the player is carrying
|
||||
// playeractivity = 'ACT_WALK' ; animating activity of the player
|
||||
// playerspeed = '0.000' ; how fast the player is moving
|
||||
//
|
||||
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
|
||||
// given a numeric score as follows:
|
||||
// score = 0 if criteria doesn't match or, criterion weight * keyvaliue weight if it does match
|
||||
// The final score for a rule is the sum of all of the scores of its criteria. The best rule is the one with the highest
|
||||
// score. Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
|
||||
// asked to dispatch that response.
|
||||
//
|
||||
// The specific syntax for the various keywords is as follows:
|
||||
//
|
||||
// ENUMERATIONS:
|
||||
//
|
||||
// enumeration <enumerationname>
|
||||
// {
|
||||
// "key1" "value1"
|
||||
// "key2" "value2"
|
||||
// ...etc.
|
||||
// }
|
||||
// The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
|
||||
// [enumerationname::key1]
|
||||
//
|
||||
//
|
||||
// RESPONSES:
|
||||
//
|
||||
// Single line:
|
||||
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] responsetype parameters
|
||||
// Multiple lines
|
||||
// response <responsegroupname>
|
||||
// {
|
||||
// [permitrepeats] ; optional parameter, by default we visit all responses in group before repeating any
|
||||
// [sequential] ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
|
||||
// [norepeat] ; Once we've run through all of the entries, disable the response group
|
||||
// responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
|
||||
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
|
||||
// etc.
|
||||
// }
|
||||
// Where:
|
||||
// interval = "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
|
||||
// responsetype =:
|
||||
// speak ; it's an entry in sounds.txt
|
||||
// sentence ; it's a sentence name from sentences.txt
|
||||
// scene ; it's a .vcd file
|
||||
// response ; it's a reference to another response group by name
|
||||
// print ; print the text in developer 2 (for placeholder responses)
|
||||
// nodelay = an additional delay of 0 after speaking
|
||||
// defaultdelay = an additional delay of 2.8 to 3.2 seconds after speaking
|
||||
// delay interval = an additional delay based on a random sample from the interval after speaking
|
||||
// predelay interval = delays the speech for the time interval. NOTE: Only works on scenes (i.e. no sentences/speak/print)
|
||||
// speakonce = don't use this response more than one time (default off)
|
||||
// noscene = For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
|
||||
// odds = if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
|
||||
// respeakdelay = don't use this response again for at least this long (default 0)
|
||||
// soundlevel = use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
|
||||
// weight = if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
|
||||
// displayfirst/displaylast : this should be the first/last item selected (ignores weight)
|
||||
//
|
||||
// CRITERIA:
|
||||
//
|
||||
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
|
||||
// Where:
|
||||
// matchkey matches one of the criteria in the set as shown above
|
||||
// matchvalue is a string or number value or a range, the following are all valid:
|
||||
// "0" ; numeric match to value 0
|
||||
// "1" ; numeric match to value 1
|
||||
// "weapon_smg1" ; string match to weapon_smg1 string
|
||||
// "[npcstate::idle]" ; match enumeration by looking up numeric value
|
||||
// ">0" ; match if greater than zero
|
||||
// ">10,<=50" ; match if greater than ten and less than or equal to 50
|
||||
// ">0,<[npcstate::alert]" ; match if greater than zer and les then value of enumeration for alert
|
||||
// "!=0" ; match if not equal to zero
|
||||
// weight = floating point weighting for score assuming criteria match (default value 1.0)
|
||||
// required: if a rule has one or more criteria with the required flag set, then if any such criteria
|
||||
// fail, the entire rule receives a score of zero
|
||||
//
|
||||
// RULE:
|
||||
//
|
||||
// rule <rulename>
|
||||
// {
|
||||
// criteria name1 [name2 name3 etc.]
|
||||
// response responsegroupname [responsegroupname2 etc.]
|
||||
// [matchonce] ; optional parameter
|
||||
// [ <matchkey > <matchvalue> weight nnn required ]
|
||||
// }
|
||||
// Where:
|
||||
// criteria just lies one more more criterion names from above and response list one or more of the response
|
||||
// names from above (usually just one)
|
||||
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
|
||||
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
|
||||
// as for defining a criterion, except for the criterion keyword and the criterion name keys
|
||||
//
|
||||
// Interaction with entity I/O system
|
||||
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
|
||||
// Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
|
||||
// be generated and searched against the entities current response system rule set.
|
||||
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
|
||||
// In addition, map placed entities have up to three "context" keypairs that can be specified.
|
||||
// They take the form: "key:value" (key, single colon separator, value)
|
||||
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
|
||||
// criteria set passed to the rule system. Thus, map placed entities and triggers can specify their
|
||||
// own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
|
||||
// responses
|
||||
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
|
||||
// AddContext, RemoveContext, and ClearContext input functions.
|
||||
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
|
||||
// ClearContext removes all context keypairs
|
||||
// The game .dll code can enumerate context keypairs and change them via code based methods
|
||||
//
|
||||
// The player and the world have their context added with the string player or world as a prefix, e.g.:
|
||||
// "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
|
||||
// responding entity.
|
||||
|
||||
// Base script
|
||||
enumeration "NPCState"
|
||||
{
|
||||
"None" "0"
|
||||
"Idle" "1"
|
||||
"Alert" "2"
|
||||
"Combat" "3"
|
||||
"Scripted" "4"
|
||||
"PlayDead" "5"
|
||||
"Dead" "6"
|
||||
}
|
||||
|
||||
criterion "ConceptPlayerTaunt" "Concept" "TLK_PLAYER_TAUNT" "required"
|
||||
criterion "ConceptPlayerThanks" "Concept" "TLK_PLAYER_THANKS" "required"
|
||||
criterion "ConceptPlayerMedic" "Concept" "TLK_PLAYER_MEDIC" required
|
||||
criterion "ConceptPlayerAskForBall" "Concept" "TLK_PLAYER_ASK_FOR_BALL" required
|
||||
criterion "ConceptPlayerHelp" "Concept" "TLK_PLAYER_HELP" required
|
||||
criterion "ConceptPlayerGo" "Concept" "TLK_PLAYER_GO" required
|
||||
criterion "ConceptPlayerMoveUp" "Concept" "TLK_PLAYER_MOVEUP" required
|
||||
criterion "ConceptPlayerLeft" "Concept" "TLK_PLAYER_LEFT" required
|
||||
criterion "ConceptPlayerRight" "Concept" "TLK_PLAYER_RIGHT" required
|
||||
criterion "ConceptPlayerYes" "Concept" "TLK_PLAYER_YES" required
|
||||
criterion "ConceptPlayerNo" "Concept" "TLK_PLAYER_NO" required
|
||||
criterion "ConceptPlayerIncoming" "Concept" "TLK_PLAYER_INCOMING" required
|
||||
criterion "ConceptPlayerCloakedSpy" "Concept" "TLK_PLAYER_CLOAKEDSPY" required
|
||||
criterion "ConceptPlayerSentryAhead" "Concept" "TLK_PLAYER_SENTRYAHEAD" required
|
||||
criterion "ConceptPlayerTeleporterHere" "Concept" "TLK_PLAYER_TELEPORTERHERE" required
|
||||
criterion "ConceptPlayerDispenserHere" "Concept" "TLK_PLAYER_DISPENSERHERE" required
|
||||
criterion "ConceptPlayerSentryHere" "Concept" "TLK_PLAYER_SENTRYHERE" required
|
||||
criterion "ConceptPlayerActivateCharge" "Concept" "TLK_PLAYER_ACTIVATECHARGE" required
|
||||
criterion "ConceptPlayerChargeReady" "Concept" "TLK_PLAYER_CHARGEREADY" required
|
||||
criterion "ConceptPlayerTaunts" "Concept" "TLK_PLAYER_TAUNTS" required
|
||||
criterion "ConceptPlayerBattleCry" "Concept" "TLK_PLAYER_BATTLECRY" required
|
||||
criterion "ConceptPlayerCheers" "Concept" "TLK_PLAYER_CHEERS" required
|
||||
criterion "ConceptPlayerJeers" "Concept" "TLK_PLAYER_JEERS" required
|
||||
criterion "ConceptPlayerPositive" "Concept" "TLK_PLAYER_POSITIVE" required
|
||||
criterion "ConceptPlayerNegative" "Concept" "TLK_PLAYER_NEGATIVE" required
|
||||
criterion "ConceptPlayerNiceShot" "Concept" "TLK_PLAYER_NICESHOT" required
|
||||
criterion "ConceptPlayerGoodJob" "Concept" "TLK_PLAYER_GOODJOB" required
|
||||
criterion "ConceptSpySapping" "Concept" "TLK_SPY_SAPPER" required
|
||||
criterion "ConceptPain" "Concept" "TLK_PLAYER_PAIN" required
|
||||
criterion "ConceptAttackerPain" "Concept" "TLK_PLAYER_ATTACKER_PAIN" required
|
||||
criterion "ConceptFire" "Concept" "TLK_ONFIRE" required
|
||||
criterion "ConceptCapBlocked" "Concept" "TLK_CAPTURE_BLOCKED" required
|
||||
criterion "ConceptMedicChargeDeployed" "Concept" "TLK_MEDIC_CHARGEDEPLOYED" required
|
||||
criterion "ConceptMedicChargeStopped" "Concept" "TLK_HEALTARGET_STOPPEDHEALING" required
|
||||
|
||||
criterion "ConceptEngineerPickupBuilding" "Concept" "TLK_PICKUP_BUILDING" required
|
||||
criterion "ConceptEngineerDeployBuilding" "Concept" "TLK_REDEPLOY_BUILDING" required
|
||||
criterion "ConceptEngineerCarryingBuilding" "Concept" "TLK_CARRYING_BUILDING" required
|
||||
|
||||
|
||||
|
||||
|
||||
criterion "ConceptScoutBallGrab" "Concept" "TLK_GRAB_BALL" required
|
||||
|
||||
// Force weight to 2 so that this matches all classes
|
||||
criterion "ConceptPlayerTaunt2" "Concept" "TLK_PLAYER_TAUNT2" required
|
||||
|
||||
criterion "ConceptPlayerShowItemTaunt" "Concept" "TLK_PLAYER_SHOW_ITEM_TAUNT" required
|
||||
|
||||
criterion "ConceptPlayerHoldTaunt" "Concept" "TLK_PLAYER_HOLDTAUNT" required
|
||||
|
||||
//Auto fire concepts
|
||||
criterion "ConceptPlayerCapturedPoint" "Concept" "TLK_CAPTURED_POINT" required
|
||||
criterion "ConceptPlayerRoundStart" "Concept" "TLK_ROUND_START" required
|
||||
criterion "ConceptPlayerRoundStartComp" "Concept" "TLK_ROUND_START_COMP" required
|
||||
criterion "ConceptPlayerSuddenDeathStart" "Concept" "TLK_SUDDENDEATH_START" required
|
||||
criterion "ConceptPlayerStalemate" "Concept" "TLK_STALEMATE" required
|
||||
criterion "ConceptPlayerBuildingObject" "Concept" "TLK_BUILDING_OBJECT" required
|
||||
criterion "ConceptPlayerDetonatedObject" "Concept" "TLK_DETONATED_OBJECT" required
|
||||
criterion "ConceptLostObject" "Concept" "TLK_LOST_OBJECT" required
|
||||
criterion "ConceptKilledObject" "Concept" "TLK_KILLED_OBJECT" required
|
||||
criterion "ConceptMedicChargeReady" "Concept" "TLK_MEDIC_CHARGEREADY" required
|
||||
criterion "ConceptTeleported" "Concept" "TLK_TELEPORTED" required
|
||||
criterion "ConceptPlayerDead" "Concept" "TLK_DEAD" required
|
||||
|
||||
criterion "ConceptPlayerGrabbedIntelligence" "Concept" "TLK_FLAGPICKUP" required
|
||||
criterion "ConceptPlayerCapturedIntelligence" "Concept" "TLK_FLAGCAPTURED" required
|
||||
|
||||
//cart stuff
|
||||
criterion "ConceptCartMovingForward" "Concept" "TLK_CART_MOVING_FORWARD" required
|
||||
criterion "ConceptCartMovingStopped" "Concept" "TLK_CART_STOP" required
|
||||
criterion "ConceptCartMovingBackward" "Concept" "TLK_CART_MOVING_BACKWARD" required
|
||||
|
||||
criterion "ConceptAteFood" "Concept" "TLK_ATE_FOOD" required
|
||||
|
||||
//scout pack
|
||||
criterion "ConceptDoubleJump" "Concept" "TLK_DOUBLE_JUMP" required
|
||||
criterion "ConceptDodging" "Concept" "TLK_DODGING" required
|
||||
criterion "ConceptDodgeShot" "Concept" "TLK_DODGE_SHOT" required
|
||||
criterion "ConceptGrabBall" "Concept" "TLK_GRAB_BALL" required
|
||||
criterion "ConceptRegenBall" "Concept" "TLK_REGEN_BALL" required
|
||||
criterion "ConceptDeflected" "Concept" "TLK_DEFLECTED" required
|
||||
criterion "ConceptBallMissed" "Concept" "TLK_BALL_MISSED" required
|
||||
criterion "ConceptStunned" "Concept" "TLK_STUNNED" required
|
||||
criterion "ConceptStunnedTarget" "Concept" "TLK_STUNNED_TARGET" required
|
||||
criterion "ConceptTired" "Concept" "TLK_TIRED" required
|
||||
criterion "ConceptBatBall" "Concept" "TLK_BAT_BALL" required
|
||||
criterion "IsDoubleJumping" "DoubleJumping" "1" required
|
||||
criterion "ConceptAchievementAward" "Concept" "TLK_ACHIEVEMENT_AWARD" required
|
||||
// Custom stuff
|
||||
criterion "IsNotDoubleJumping" "DoubleJumping" "0" required // Needed to stop Scout saying double jump lines when he lands.
|
||||
|
||||
// spy / sniper pack
|
||||
criterion "ConceptJarateLaunch" "Concept" "TLK_JARATE_LAUNCH" required
|
||||
criterion "ConceptJarateHit" "Concept" "TLK_JARATE_HIT" required
|
||||
|
||||
// Item Taunts
|
||||
criterion "ConceptTauntReplay" "Concept" "TLK_TAUNT_REPLAY" required
|
||||
criterion "ConceptTauntLaugh" "Concept" "TLK_TAUNT_LAUGH" required
|
||||
criterion "ConceptTauntHeroicPose" "Concept" "TLK_TAUNT_HEROIC_POSE" required
|
||||
criterion "ConceptTauntPyroArmageddon" "Concept" "TLK_TAUNT_PYRO_ARMAGEDDON" required
|
||||
criterion "ConceptTauntGuitarRiff" "Concept" "TLK_TAUNT_GUITAR_RIFF" required
|
||||
criterion "ConceptTauntEurekaTeleport" "Concept" "TLK_TAUNT_EUREKA_EFFECT" required
|
||||
|
||||
criterion "IsOnOffense" "teamrole" "offense" required
|
||||
criterion "IsOnDefense" "teamrole" "defense" required
|
||||
|
||||
|
||||
// Expressions
|
||||
criterion "ConceptPlayerExpression" "Concept" "TLK_PLAYER_EXPRESSION" required
|
||||
|
||||
|
||||
criterion "ConceptPlayerLostPoint" "Concept" "TLK_LOST_CONTROL_POINT'" required
|
||||
|
||||
|
||||
criterion "IsSapper" "objtype" "sapper" required
|
||||
criterion "IsSentryGun" "objtype" "sentrygun" required
|
||||
criterion "IsTeleporter" "objtype" "teleporter" required
|
||||
criterion "IsDispenser" "objtype" "dispenser" required
|
||||
criterion "IsDisguised" "disguised" "1" required
|
||||
criterion "IsNotDisguised" "disguised" "!=1" required
|
||||
criterion "IsWeaponPrimary" "weaponmode" "primary" required
|
||||
criterion "IsWeaponSecondary" "weaponmode" "secondary" required
|
||||
criterion "IsWeaponMelee" "weaponmode" "melee" required
|
||||
criterion "IsNotWeaponMelee" "weaponmode" "!=melee" required
|
||||
criterion "IsWeaponBuilding" "weaponmode" "building" required
|
||||
criterion "IsWeaponPda" "weaponmode" "pda" required
|
||||
criterion "IsCloaked" "cloaked" "1" required
|
||||
criterion "IsNotCloaked" "cloaked" "!=1" required
|
||||
|
||||
criterion "IsOnScout" "crosshair_on" "Scout" "required"
|
||||
criterion "IsOnSniper" "crosshair_on" "Sniper" "required"
|
||||
criterion "IsOnSoldier" "crosshair_on" "Soldier" "required"
|
||||
criterion "IsOnDemoman" "crosshair_on" "Demoman" "required"
|
||||
criterion "IsOnMedic" "crosshair_on" "Medic" "required"
|
||||
criterion "IsOnHeavy" "crosshair_on" "Heavy" "required"
|
||||
criterion "IsOnPyro" "crosshair_on" "Pyro" "required"
|
||||
criterion "IsOnSpy" "crosshair_on" "Spy" "required"
|
||||
criterion "IsOnEngineer" "crosshair_on" "Engineer" "required"
|
||||
|
||||
// Custom not on Heavy
|
||||
criterion "IsNotOnHeavy" "crosshair_on" "!=Heavy" "required"
|
||||
|
||||
criterion "IsDominated" "domination" "dominated" "required"
|
||||
criterion "IsRevenge" "domination" "revenge" "required"
|
||||
criterion "IsHeadShot" "customdeath" "headshot" "required"
|
||||
|
||||
|
||||
|
||||
criterion "ConceptKilledPlayer" "Concept" "TLK_KILLED_PLAYER" required
|
||||
criterion "KilledPlayerDelay" "worldDontKilledPlayer" "!=1" "required"
|
||||
|
||||
criterion "IsScout" "playerclass" "Scout" "required"
|
||||
criterion "IsSniper" "playerclass" "Sniper" "required"
|
||||
criterion "IsSoldier" "playerclass" "Soldier" "required"
|
||||
criterion "IsDemoman" "playerclass" "Demoman" "required"
|
||||
criterion "IsMedic" "playerclass" "Medic" "required"
|
||||
criterion "IsHeavy" "playerclass" "Heavy" "required"
|
||||
criterion "IsPyro" "playerclass" "Pyro" "required"
|
||||
criterion "IsSpy" "playerclass" "Spy" "required"
|
||||
criterion "IsEngineer" "playerclass" "Engineer" "required"
|
||||
|
||||
criterion "IsNotScout" "playerclass" "!=Scout" "required"
|
||||
criterion "IsNotSniper" "playerclass" "!=Sniper" "required"
|
||||
criterion "IsNotSoldier" "playerclass" "!=Soldier" "required"
|
||||
criterion "IsNotDemoman" "playerclass" "!=Demoman" "required"
|
||||
criterion "IsNotMedic" "playerclass" "!=Medic" "required"
|
||||
criterion "IsNotHeavy" "playerclass" "!=Heavy" "required"
|
||||
criterion "IsNotPyro" "playerclass" "!=Pyro" "required"
|
||||
criterion "IsNotSpy" "playerclass" "!=Spy" "required"
|
||||
criterion "IsNotEngineer" "playerclass" "!=Engineer" "required"
|
||||
|
||||
|
||||
criterion "IsVictimScout" "victimclass" "Scout" "required" weight 0
|
||||
criterion "IsVictimSniper" "victimclass" "Sniper" "required" weight 0
|
||||
criterion "IsVictimSoldier" "victimclass" "Soldier" "required" weight 0
|
||||
criterion "IsVictimDemoman" "victimclass" "Demoman" "required" weight 0
|
||||
criterion "IsVictimMedic" "victimclass" "Medic" "required" weight 0
|
||||
criterion "IsVictimHeavy" "victimclass" "Heavy" "required" weight 0
|
||||
criterion "IsVictimPyro" "victimclass" "Pyro" "required" weight 0
|
||||
criterion "IsVictimSpy" "victimclass" "Spy" "required" weight 0
|
||||
criterion "IsVictimEngineer" "victimclass" "Engineer" "required" weight 0
|
||||
|
||||
criterion "IsNotVictimScout" "victimclass" "!=Scout" "required" weight 0
|
||||
criterion "IsNotVictimSniper" "victimclass" "!=Sniper" "required" weight 0
|
||||
criterion "IsNotVictimSoldier" "victimclass" "!=Soldier" "required" weight 0
|
||||
criterion "IsNotVictimDemoman" "victimclass" "!=Demoman" "required" weight 0
|
||||
criterion "IsNotVictimMedic" "victimclass" "!=Medic" "required" weight 0
|
||||
criterion "IsNotVictimHeavy" "victimclass" "!=Heavy" "required" weight 0
|
||||
criterion "IsNotVictimPyro" "victimclass" "!=Pyro" "required" weight 0
|
||||
criterion "IsNotVictimSpy" "victimclass" "!=Spy" "required" weight 0
|
||||
criterion "IsNotVictimEngineer" "victimclass" "!=Engineer" "required" weight 0
|
||||
|
||||
|
||||
|
||||
criterion "2PercentChance" "randomnum" "=>98" required
|
||||
criterion "5PercentChance" "randomnum" "=>95" required
|
||||
criterion "10PercentChance" "randomnum" ">90" required
|
||||
criterion "20PercentChance" "randomnum" ">80" required
|
||||
criterion "30PercentChance" "randomnum" ">70" required
|
||||
criterion "40PercentChance" "randomnum" ">60" required
|
||||
criterion "50PercentChance" "randomnum" ">50" required
|
||||
criterion "75PercentChance" "randomnum" ">25" required
|
||||
criterion "100PercentChance" "randomnum" ">0" required weight 100
|
||||
criterion "IsARecentKill" "recentkills" ">0" required
|
||||
criterion "IsManyRecentKills" "recentkills" ">1" required
|
||||
criterion "IsVeryManyRecentKills" "recentkills" ">3" required
|
||||
criterion "IsInvulnerable" "invulnerable" "1" required weight 10
|
||||
|
||||
criterion "IsOnFriendlyControlPoint" "OnFriendlyControlPoint" "1" required
|
||||
criterion "IsOnCappableControlPoint" "OnCappableControlPoint" "1" required
|
||||
|
||||
criterion "WeaponIsLaserPointer" "playerweapon" "tf_weapon_laser_pointer" "required"
|
||||
criterion "WeaponIsMinigun" "playerweapon" "tf_weapon_minigun" "required"
|
||||
criterion "WeaponIsShotgun" "playerweapon" "tf_weapon_shotgun_secondary" "required"
|
||||
criterion "WeaponIsShotgunSoldier" "playerweapon" "tf_weapon_shotgun_soldier" "required"
|
||||
criterion "WeaponIsShotgunHwg" "playerweapon" "tf_weapon_shotgun_hwg" "required"
|
||||
criterion "WeaponIsShotgunPyro" "playerweapon" "tf_weapon_shotgun_pyro" "required"
|
||||
criterion "WeaponIsFists" "playerweapon" "tf_weapon_fists" "required"
|
||||
criterion "WeaponIsFlamethrower" "playerweapon" "tf_weapon_flamethrower" "required"
|
||||
criterion "WeaponIsAxe" "playerweapon" "tf_weapon_fireaxe" "required"
|
||||
criterion "WeaponIsSyringe" "playerweapon" "tf_weapon_syringegun_medic" "required"
|
||||
criterion "WeaponIsHeal" "playerweapon" "tf_weapon_medigun" "required"
|
||||
criterion "WeaponIsBonesaw" "playerweapon" "tf_weapon_bonesaw" "required"
|
||||
criterion "WeaponIsShotgunPrimary" "playerweapon" "tf_weapon_shotgun_primary" "required"
|
||||
criterion "WeaponIsPistol" "playerweapon" "tf_weapon_pistol" "required"
|
||||
criterion "WeaponIsBuild" "playerweapon" "tf_weapon_builder" "required"
|
||||
criterion "WeaponIsWrench" "playerweapon" "tf_weapon_wrench" "required"
|
||||
criterion "WeaponIsScattergun" "playerweapon" "tf_weapon_scattergun" "required"
|
||||
criterion "WeaponIsScattergunDouble" "item_name" "The Force-a-Nature" "required" weight 10
|
||||
criterion "WeaponIsScattergunDoubleFestive" "item_name" "Festive Force-a-Nature" "required" weight 10
|
||||
criterion "WeaponIsPistolScout" "playerweapon" "tf_weapon_pistol_scout" "required"
|
||||
criterion "WeaponIsBat" "playerweapon" "tf_weapon_bat" "required"
|
||||
criterion "WeaponIsWoodBat" "playerweapon" "tf_weapon_bat_wood" "required"
|
||||
criterion "WeaponIsSniperrifle" "playerweapon" "tf_weapon_sniperrifle" "required"
|
||||
criterion "WeaponIsSMG" "playerweapon" "tf_weapon_smg" "required"
|
||||
criterion "WeaponIsChargedSMG" "playerweapon" "tf_weapon_charged_smg" "required"
|
||||
criterion "WeaponIsSMGScout" "playerweapon" "tf_weapon_smg_scout" "required"
|
||||
criterion "WeaponIsClub" "playerweapon" "tf_weapon_club" "required"
|
||||
criterion "WeaponIsRevolver" "playerweapon" "tf_weapon_revolver" "required"
|
||||
criterion "WeaponIsKnife" "playerweapon" "tf_weapon_knife" "required"
|
||||
criterion "WeaponIsPipebomb" "playerweapon" "tf_weapon_pipebomblauncher" "required"
|
||||
criterion "WeaponIsGrenade" "playerweapon" "tf_weapon_grenadelauncher" "required"
|
||||
criterion "WeaponIsBottle" "playerweapon" "tf_weapon_bottle" "required"
|
||||
criterion "WeaponIsSpyPDA" "playerweapon" "tf_weapon_pda_spy" "required"
|
||||
criterion "WeaponIsRocket" "playerweapon" "tf_weapon_rocketlauncher" "required"
|
||||
criterion "WeaponIsShovel" "playerweapon" "tf_weapon_shovel" "required"
|
||||
criterion "WeaponIsFlaregun" "playerweapon" "tf_weapon_flaregun" "required"
|
||||
// Lunchbox modified to fire for Sandvich only, so we don't share lines.
|
||||
criterion "WeaponIsSandvich" "item_name" "The Sandvich" "required" weight 5
|
||||
criterion "WeaponIsRobotSandvich" "item_name" "The Robo-Sandvich" "required" weight 5
|
||||
criterion "WeaponIsFestiveSandvich" "item_name" "Festive Sandvich" "required" weight 5
|
||||
criterion "WeaponIsLunchboxDrink" "playerweapon" "tf_weapon_lunchbox_drink" "required"
|
||||
criterion "WeaponIsLunchbox" "playerweapon" "tf_weapon_lunchbox" "required"
|
||||
criterion "WeaponIsGloves" "item_type_name" "#TF_Weapon_Gloves" "required" weight 10
|
||||
criterion "WeaponIsKritzkrieg" "item_name" "The Kritzkrieg" "required" weight 10
|
||||
criterion "WeaponIsBow" "item_type_name" "#TF_Weapon_CompoundBow" "required" weight 10
|
||||
criterion "WeaponIsEqualizer" "item_name" "The Equalizer" "required" weight 10
|
||||
criterion "WeaponIsEscapePlan" "item_name" "The Escape Plan" "required" weight 10
|
||||
criterion "WeaponIsDirectHit" "item_name" "The Direct Hit" "required" weight 10
|
||||
criterion "WeaponIsBeggarsBazooka" "item_name" "The Beggar's Bazooka" "required" weight 10
|
||||
criterion "WeaponIsBanner" "item_name" "The Buff Banner" "required" weight 10
|
||||
criterion "WeaponIsFestiveBanner" "item_name" "Festive Buff Banner" "required" weight 10
|
||||
// Former "sword is Eyelander" equivalency
|
||||
//criterion "WeaponIsSword" "item_name" "The Eyelander" "required" weight 10
|
||||
// If valve add a new sword (and it uses the same tf_weapon_sword class) it will inherit the Eyelander taunt by default
|
||||
criterion "WeaponIsSword" "playerweapon" "tf_weapon_sword" "required" weight 10
|
||||
criterion "WeaponIsDefender" "item_name" "The Scottish Resistance" "required" weight 10
|
||||
criterion "WeaponIsUbersaw" "item_name" "The Ubersaw" "required" weight 10
|
||||
criterion "WeaponIsFestiveUbersaw" "item_name" "Festive Ubersaw" "required" weight 10
|
||||
criterion "WeaponIsFrontierJustice" "item_name" "The Frontier Justice" "required" weight 10
|
||||
criterion "WeaponIsFestiveFrontierJustice" "item_name" "Festive Frontier Justice" "required" weight 10
|
||||
criterion "WeaponIsRobotArm" "item_name" "The Gunslinger" "required" weight 10
|
||||
criterion "WeaponIsGoldenWrench" "item_name" "Golden Wrench" "required" weight 10
|
||||
criterion "WeaponIsGoldenFryingPan" "item_name" "Gold Frying Pan" "required" weight 10
|
||||
criterion "WeaponIsShortstop" "item_name" "The Shortstop" "required" weight 10
|
||||
criterion "WeaponIsMadMilk" "item_name" "Mad Milk" "required" weight 10
|
||||
criterion "WeaponIsSDCleaver" "playerweapon" "tf_weapon_cleaver" "required" weight 10
|
||||
criterion "WeaponIsHolyMackerel" "item_name" "The Holy Mackerel" "required" weight 10
|
||||
criterion "WeaponIsFestiveHolyMackerel" "item_name" "Festive Holy Mackerel" "required" weight 10
|
||||
criterion "WeaponIsUnarmedCombat" "item_name" "Unarmed Combat" "required" weight 10
|
||||
criterion "WeaponIsKatana" "playerweapon" "tf_weapon_katana" "required" weight 10
|
||||
criterion "WeaponIsSashimono" "item_name" "The Concheror" "required" weight 10
|
||||
criterion "WeaponIsSaxxy" "item_name" "Saxxy" "required" weight 10
|
||||
// Custom added criterion
|
||||
criterion "WeaponIsBenja" "item_name" "The Dalokohs Bar" "required" weight 10
|
||||
criterion "WeaponIsFishcake" "item_name" "Fishcake" "required" weight 10
|
||||
criterion "WeaponIsSteak" "item_name" "The Buffalo Steak Sandvich" "required" weight 10 // Not actually used for the auto-eat response. Used for distinction in the taunts.
|
||||
criterion "WeaponIsPainTrain" "item_name" "The Pain Train" "required" weight 10
|
||||
criterion "WeaponIsNotPainTrain" "item_name" "!=The Pain Train" "required" weight 10
|
||||
criterion "WeaponIsFryingPan" "item_name" "Frying Pan" "required" weight 10
|
||||
criterion "WeaponIsNotFryingPan" "item_name" "!=Frying Pan" "required" weight 10
|
||||
criterion "WeaponIsNotScattergunDouble" "item_name" "!=The Force-a-Nature" "required" weight 10
|
||||
criterion "WeaponIsNotAxe" "item_name" "!=The Scotsman's Skullcutter" "required" weight 10 // Exclude the Skullcutter - has horrible clipping issues with the Eyelander taunt. Maybe give it a different taunt later.
|
||||
criterion "WeaponClassIsNotAxe" "playerweapon" "!=tf_weapon_sword" "required" weight 10
|
||||
criterion "WeaponIsCaber" "playerweapon" "tf_weapon_stickbomb" "required" weight 10
|
||||
criterion "WeaponIsMetalFists" "item_name" "Fists of Steel" "required" weight 10
|
||||
// BUG: These loadout criterions are read in from the Steam Cloud
|
||||
// As such, if the server loses connection to Steam, the responses bug out a bit.
|
||||
criterion "WeaponIsNotVanillaPrimary" "loadout_slot_primary" "" "required" weight 10
|
||||
criterion "WeaponIsNotVanillaSecondary" "loadout_slot_secondary" "" "required" weight 10
|
||||
criterion "WeaponIsNotVanillaMelee" "loadout_slot_melee" "" "required" weight 10
|
||||
criterion "LoadoutIsDrink" "loadout_slot_secondary" "!=Crit-a-Cola" "required" weight 10
|
||||
criterion "LoadoutIsCritDrink" "loadout_slot_secondary" "Crit-a-Cola" "required" weight 10
|
||||
criterion "LoadoutIsNotRobotArm" "loadout_slot_melee" "!=The Gunslinger" "required" weight 10
|
||||
criterion "WeaponIsJarate" "item_name" "Jarate" "required" weight 10
|
||||
criterion "WeaponIsBasher" "item_name" "The Boston basher" "required" weight 10
|
||||
criterion "WeaponIsCandy" "item_name" "The Candy Cane" "required" weight 10
|
||||
criterion "WeaponIsMace" "item_name" "Sun-on-a-Stick" "required" weight 10
|
||||
criterion "WeaponIsNotBasher" "item_name" "!=The Boston basher" "required" weight 10
|
||||
criterion "WeaponIsNotCandy" "item_name" "!=The Candy Cane" "required" weight 10
|
||||
criterion "WeaponIsNotMace" "item_name" "!=Sun-on-a-Stick" "required" weight 10
|
||||
criterion "WeaponIsNotFish" "item_name" "!=The Holy Mackerel" "required" weight 10
|
||||
criterion "WeaponIsNotGunbai" "item_name" "!=The Fan O'War" "required" weight 10
|
||||
criterion "WeaponIsShiv" "item_name" "The Tribalman's Shiv" "required" weight 10
|
||||
criterion "WeaponIsGunbai" "item_name" "The Fan O'War" "required" weight 10
|
||||
criterion "WeaponIsNotMediGun" "playerweapon" "!=tf_weapon_medigun" "required" weight 10
|
||||
criterion "WeaponIsSodaPopper" "item_name" "The Soda Popper" "required" weight 10
|
||||
criterion "WeaponIsAtomizer" "item_name" "The Atomizer" "required" weight 10
|
||||
criterion "WeaponIsBazaarBargain" "item_name" "The Bazaar Bargain" "required" weight 10
|
||||
criterion "WeaponIsCowMangler" "item_name" "The Cow Mangler 5000" "required" weight 10
|
||||
criterion "WeaponIsNotTaggedMinigun" "item_name" "!=Upgradeable TF_WEAPON_MINIGUN" "required" weight 10
|
||||
criterion "WeaponIsNotTaggedRifle" "item_name" "!=Upgradeable TF_WEAPON_SNIPERRIFLE" "required" weight 10
|
||||
criterion "WeaponIsNotTaggedSMG" "item_name" "!=Upgradeable TF_WEAPON_SMG" "required" weight 10
|
||||
criterion "WeaponIsNotTaggedKukri" "item_name" "!=Upgradeable TF_WEAPON_CLUB" "required" weight 10
|
||||
criterion "WeaponIsNotTaggedMedigun" "item_name" "!=Upgradeable TF_WEAPON_MEDIGUN" "required" weight 10
|
||||
criterion "WeaponIsNotSaxxy" "item_name" "!=Saxxy" "required" weight 10
|
||||
criterion "WeaponIsTRBlade" "item_name" "Three-Rune Blade" "required" weight 10
|
||||
criterion "WeaponIsNotTRBlade" "item_name" "!=Three-Rune Blade" "required" weight 10
|
||||
criterion "WeaponIsBackup" "item_name" "The Battalion's Backup" "required" weight 10
|
||||
criterion "WeaponIsHealArrow" "playerweapon" "tf_weapon_crossbow" "required" weight 10
|
||||
criterion "WeaponIsNotTomislav" "item_name" "!=Tomislav" "required" weight 10
|
||||
criterion "WeaponIsNotRobotArm" "item_name" "!=The Gunslinger" "required" weight 10
|
||||
criterion "WeaponIsRayGun" "item_name" "The Righteous Bison" "required" weight 10
|
||||
criterion "WeaponIsHippocrates" "item_name" "The Solemn Vow" "required" weight 10
|
||||
criterion "WeaponIsSharpDresser" "item_name" "The Sharp Dresser" "required" weight 10
|
||||
criterion "WeaponIsEurekaEffect" "item_name" "The Eureka Effect" "required" weight 10
|
||||
criterion "WeaponIsThirdDegree" "item_name" "The Third Degree" "required" weight 10
|
||||
criterion "WeaponIsPomson" "item_name" "The Pomson 6000" "required" weight 10
|
||||
criterion "WeaponIsManmelter" "item_name" "The Manmelter" "required" weight 10
|
||||
criterion "WeaponIsWrapAssassin" "item_name" "The Wrap Assassin" "required" weight 10
|
||||
criterion "WeaponIsSpycicle" "item_name" "The Spy-cicle" "required" weight 10
|
||||
criterion "WeaponIsRainblower" "item_name" "The Rainblower" "required" weight 10
|
||||
criterion "WeaponIsScorchShot" "item_name" "The Scorch Shot" "required" weight 10
|
||||
criterion "WeaponIsLollichop" "item_name" "The Lollichop" "required" weight 10
|
||||
criterion "WeaponIsPEPBrawlerBlaster" "playerweapon" "tf_weapon_pep_brawler_blaster" "required" weight 10
|
||||
criterion "WeaponIsHandgunScoutSecondary" "playerweapon" "tf_weapon_handgun_scout_secondary" "required" weight 10
|
||||
criterion "WeaponIsAnnihilator" "item_name" "The Neon Annihilator" "required" weight 10
|
||||
criterion "WeaponIsPromoAnnihilator" "item_name" "Promo Neon Annihilator" "required" weight 10
|
||||
criterion "WeaponIsLooseCannon" "item_name" "The Loose Cannon" "required" weight 10
|
||||
criterion "WeaponIsRescueRanger" "item_name" "The Rescue Ranger" "required" weight 10
|
||||
criterion "WeaponIsShortCircuit" "item_name" "The Short Circuit" "required" weight 10
|
||||
criterion "WeaponIsScotsmansSkullcutter" "item_name" "The Scotsman's Skullcutter" "required" weight 10
|
||||
criterion "WeaponIsClassicSniperrifle" "playerweapon" "tf_weapon_sniperrifle_classic" "required"
|
||||
criterion "WeaponIsRocketLauncherAirStrike" "playerweapon" "tf_weapon_rocketlauncher_airstrike" "required"
|
||||
criterion "WeaponIsMutatedMilk" "item_name" "Mutated Milk" "required" weight 10
|
||||
criterion "WeaponIsDragonsFury" "item_name" "The Dragon's Fury" "required" weight 10
|
||||
criterion "WeaponIsGasCan" "item_name" "The Gas Passer" "required" weight 10
|
||||
criterion "WeaponIsSlap" "item_name" "The Hot Hand" "required" weight 10
|
||||
|
||||
//Custom healed concept and critical hit
|
||||
criterion "IsBeingHealed" "beinghealed" "1" "required"
|
||||
criterion "IsNotBeingHealed" "beinghealed" "!=1" "required"
|
||||
criterion "IsCritical" "damagecritical" "1" "required"
|
||||
criterion "IsNotDominating" "IsDominating" "!=1" "required" weight 0
|
||||
|
||||
|
||||
criterion "IsCrossHairEnemy" "crosshair_enemy" "Yes" "required"
|
||||
criterion "IsNotCrossHairEnemy" "crosshair_enemy" "!=Yes" "required"
|
||||
|
||||
criterion "WeaponIsMiniSentrygun" "customdeath" "minisentrygun" "required"
|
||||
// Custom criterion to stop yeehaw lines when swinging with Gunslinger + getting a mini sentry kill at the same-ish time.
|
||||
criterion "WeaponIsNotMiniSentrygun" "customdeath" "!=minisentrygun" "required"
|
||||
criterion "WeaponIsSentrygun" "customdeath" "sentrygun" "required"
|
||||
criterion "WeaponIsNotSentrygun" "customdeath" "" "required"
|
||||
criterion "WeaponIsNotSentry" "customdeath" "none" "required"
|
||||
|
||||
// Custom criterion to check if not scoped in, we do not want the lines to mix
|
||||
criterion "Unzoomed" "sniperzoomed" "!=1" "required"
|
||||
criterion "DeployedContext" "sniperzoomed" "1" "required"
|
||||
criterion "ConceptFireWeapon" "Concept" "TLK_FIREWEAPON" required
|
||||
criterion "ConceptFireMinigun" "Concept" "TLK_FIREMINIGUN" required
|
||||
criterion "ConceptWindMinigun" "Concept" "TLK_WINDMINIGUN" required
|
||||
criterion "LowHealthContext" "playerhealthfrac" "<0.25" required
|
||||
// Custom stuff
|
||||
criterion "CaberHealthContext" "playerhealthfrac" ">0.429" required
|
||||
criterion "BonkHealthContext" "playerhealthfrac" "<0.641" required
|
||||
criterion "NotLowHealth" "playerhealthfrac" ">0.5" required
|
||||
// End custom
|
||||
criterion "SuperHighHealthContext" "playerhealthfrac" ">1.400" required
|
||||
criterion "GameRulesInWinState" "GameRound" "5" required
|
||||
criterion "PlayerLostPreviousRound" "LostRound" "1" required
|
||||
criterion "PlayerWonPreviousRound" "LostRound" "0" required
|
||||
criterion "PlayerOnWinningTeam" "OnWinningTeam" "1" required
|
||||
criterion "PlayerOnLosingTeam" "OnWinningTeam" "0" required
|
||||
criterion "PreviousRoundWasTie" "PrevRoundWasTie" "1" required
|
||||
criterion "PreviousRoundWasNotTie" "PrevRoundWasTie" "0" required
|
||||
|
||||
criterion "IsRedTeam" "OnRedTeam" "1" required
|
||||
criterion "IsBlueTeam" "OnRedTeam" "0" required
|
||||
|
||||
criterion "IsFiringMinigun" "minigunfiretime" ">0.0" required
|
||||
criterion "TimeFiringMinigunShort" "minigunfiretime" ">4.0,<=8.0" required
|
||||
criterion "TimeFiringMinigunLong" "minigunfiretime" ">8.0,<=15.0" required
|
||||
criterion "TimeFiringMinigunReallyLong" "minigunfiretime" ">15.0" required
|
||||
criterion "ConceptFireMinigunTalk" "Concept" "TLK_MINIGUN_FIREWEAPON" "required"
|
||||
Criterion "NotDefendOnThePointSpeech" "worldDefendOnThePointSpeech" "!=1" "required" weight 0
|
||||
|
||||
criterion "IsAprilFoolsTaunt" "IsAprilFoolsTaunt" "1" "required" weight 100
|
||||
criterion "IsHalloweenTaunt" "IsHalloweenTaunt" "1" "required" weight 100
|
||||
criterion "IsRobotCostume" "IsRobotCostume" "1" "required" weight 100
|
||||
criterion "IsFairyHeavy" "IsFairyHeavy" "1" "required" weight 100
|
||||
criterion "IsDemowolf" "IsDemowolf" "1" "required" weight 100
|
||||
criterion "IsFrankenHeavy" "IsFrankenHeavy" "1" "required" weight 100
|
||||
|
||||
criterion "IsMedicDoubleFace" "IsMedicDoubleFace" "1" "required" weight 100
|
||||
criterion "IsMedicBirdHead" "IsMedicBirdHead" "1" "required" weight 100
|
||||
criterion "IsHeavyBirdHead" "IsHeavyBirdHead" "1" "required" weight 100
|
||||
criterion "IsSoldierBirdHead" "IsSoldierBirdHead" "1" "required" weight 100
|
||||
criterion "IsSniperBirdHead" "IsSniperBirdHead" "1" "required" weight 100
|
||||
criterion "IsSoldierMaggotHat" "IsSoldierMaggotHat" "1" "required" weight 100
|
||||
criterion "IsSoldierWizardHat" "IsSoldierWizardHat" "1" "required" weight 100
|
||||
criterion "IsUnicornHead" "IsUnicornHead" "1" "required" weight 100
|
||||
criterion "IsMedicZombieBird" "IsMedicZombieBird" "1" "required" weight 100
|
||||
criterion "IsHauntedHat" "IsHauntedHat" "1" "required" weight 100
|
||||
|
||||
criterion "HasTaunt2Item_TauntEnablerTest" "loadout_slot_action" "Taunt Enabler Test" "required"
|
||||
|
||||
|
||||
criterion "ConceptRequestDuel" "Concept" "TLK_REQUEST_DUEL" required
|
||||
criterion "ConceptDuelRejected" "Concept" "TLK_DUEL_WAS_REJECTED" required
|
||||
criterion "ConceptIAcceptDuel" "Concept" "TLK_ACCEPT_DUEL" required
|
||||
criterion "ConceptDuelAccepted" "Concept" "TLK_DUEL_WAS_ACCEPTED" required
|
||||
|
||||
|
||||
|
||||
|
||||
criterion "DuelTargetIsScout" "dueltargetclass" "Scout" required
|
||||
criterion "DuelTargetIsSniper" "dueltargetclass" "Sniper" required
|
||||
criterion "DuelTargetIsSoldier" "dueltargetclass" "Soldier" required
|
||||
criterion "DuelTargetIsDemoman" "dueltargetclass" "Demoman" required
|
||||
criterion "DuelTargetIsMedic" "dueltargetclass" "Medic" required
|
||||
criterion "DuelTargetIsHeavy" "dueltargetclass" "Heavy" required
|
||||
criterion "DuelTargetIsPyro" "dueltargetclass" "Pyro" required
|
||||
criterion "DuelTargetIsSpy" "dueltargetclass" "Spy" required
|
||||
criterion "DuelTargetIsEngineer" "dueltargetclass" "Engineer" required
|
||||
|
||||
|
||||
criterion "ConceptRocketDestroyed" "Concept" "TLK_ROCKET_DESTOYED" required
|
||||
|
||||
criterion "ConceptComboKilled" "Concept" "TLK_COMBO_KILLED" required
|
||||
|
||||
// MvM criterion
|
||||
criterion "IsMvMDefender" "IsMvMDefender" "1" required
|
||||
criterion "ConceptMvMBombDropped" "Concept" "TLK_MVM_BOMB_DROPPED" required
|
||||
criterion "ConceptMvMBombCarrierUpgrade1" "Concept" "TLK_MVM_BOMB_CARRIER_UPGRADE1" required
|
||||
criterion "ConceptMvMBombCarrierUpgrade2" "Concept" "TLK_MVM_BOMB_CARRIER_UPGRADE2" required
|
||||
criterion "ConceptMvMBombCarrierUpgrade3" "Concept" "TLK_MVM_BOMB_CARRIER_UPGRADE3" required
|
||||
criterion "ConceptMvMDefenderDied" "Concept" "TLK_MVM_DEFENDER_DIED" required
|
||||
criterion "ConceptMvMFirstBombPickup" "Concept" "TLK_MVM_FIRST_BOMB_PICKUP" required
|
||||
criterion "ConceptMvMBombPickup" "Concept" "TLK_MVM_BOMB_PICKUP" required
|
||||
criterion "ConceptMvMSentryBuster" "Concept" "TLK_MVM_SENTRY_BUSTER" required
|
||||
criterion "ConceptMvMSentryBusterDown" "Concept" "TLK_MVM_SENTRY_BUSTER_DOWN" required
|
||||
criterion "ConceptMvMSniperCallout" "Concept" "TLK_MVM_SNIPER_CALLOUT" required
|
||||
criterion "ConceptMvMLastManStanding" "Concept" "TLK_MVM_LAST_MAN_STANDING" required
|
||||
criterion "ConceptMvMEncourageMoney" "Concept" "TLK_MVM_ENCOURAGE_MONEY" required
|
||||
criterion "ConceptMvMMoneyPickup" "Concept" "TLK_MVM_MONEY_PICKUP" required
|
||||
criterion "ConceptMvMEncourageUpgrade" "Concept" "TLK_MVM_ENCOURAGE_UPGRADE" required
|
||||
criterion "ConceptMvMUpgradeComplete" "Concept" "TLK_MVM_UPGRADE_COMPLETE" required
|
||||
criterion "ConceptMvMGiantCallout" "Concept" "TLK_MVM_GIANT_CALLOUT" required
|
||||
criterion "ConceptMvMGiantHasBomb" "Concept" "TLK_MVM_GIANT_HAS_BOMB" required
|
||||
criterion "ConceptMvMGiantKilled" "Concept" "TLK_MVM_GIANT_KILLED" required
|
||||
criterion "ConceptMvMGiantKilledTeammate" "Concept" "TLK_MVM_GIANT_KILLED_TEAMMATE" required
|
||||
criterion "ConceptMvMSappedRobot" "Concept" "TLK_MVM_SAPPED_ROBOT" required
|
||||
criterion "ConceptMvMCloseCall" "Concept" "TLK_MVM_CLOSE_CALL" required
|
||||
criterion "ConceptMvMTankCallout" "Concept" "TLK_MVM_TANK_CALLOUT" required
|
||||
criterion "ConceptMvMTankDead" "Concept" "TLK_MVM_TANK_DEAD" required
|
||||
criterion "ConceptMvMTankDeploying" "Concept" "TLK_MVM_TANK_DEPLOYING" required
|
||||
criterion "ConceptMvMAttackTheTank" "Concept" "TLK_MVM_ATTACK_THE_TANK" required
|
||||
criterion "ConceptMvMTaunt" "Concept" "TLK_MVM_TAUNT" required
|
||||
criterion "ConceptMvMWaveStart" "Concept" "TLK_MVM_WAVE_START" required
|
||||
criterion "ConceptMvMWaveWin" "Concept" "TLK_MVM_WAVE_WIN" required
|
||||
criterion "ConceptMvMWaveLose" "Concept" "TLK_MVM_WAVE_LOSE" required
|
||||
criterion "ConceptMvMDeployRage" "Concept" "TLK_MVM_DEPLOY_RAGE" required
|
||||
|
||||
//A Tale of Two Cities Update
|
||||
criterion "ConceptMannhattanGateAttack" "Concept" "TLK_MANNHATTAN_GATE_ATK" required
|
||||
criterion "ConceptMannhattanGateTake" "Concept" "TLK_MANNHATTAN_GATE_TAKE" required
|
||||
criterion "ConceptMvMResurrected" "Concept" "TLK_RESURRECTED" required
|
||||
criterion "ConceptMvMMedicShield" "Concept" "TLK_MEDIC_HEAL_SHIELD" required
|
||||
criterion "ConceptMvMLootCommon" "Concept" "TLK_MVM_LOOT_COMMON" required
|
||||
criterion "ConceptMvMLootRare" "Concept" "TLK_MVM_LOOT_RARE" required
|
||||
criterion "ConceptMvMLootUltraRare" "Concept" "TLK_MVM_LOOT_ULTRARARE" required
|
||||
|
||||
// Halloween 2013
|
||||
criterion "ConceptPlayerCastFireball" "Concept" "TLK_PLAYER_CAST_FIREBALL" required
|
||||
criterion "ConceptPlayerCastMerasmusZap" "Concept" "TLK_PLAYER_CAST_MERASMUS_ZAP" required
|
||||
criterion "ConceptPlayerCastSelfHeal" "Concept" "TLK_PLAYER_CAST_SELF_HEAL" required
|
||||
criterion "ConceptPlayerCastMirv" "Concept" "TLK_PLAYER_CAST_MIRV" required
|
||||
criterion "ConceptPlayerCastBlastJump" "Concept" "TLK_PLAYER_CAST_BLAST_JUMP" required
|
||||
criterion "ConceptPlayerCastStealth" "Concept" "TLK_PLAYER_CAST_STEALTH" required
|
||||
criterion "ConceptPlayerCastTeleport" "Concept" "TLK_PLAYER_CAST_TELEPORT" required
|
||||
criterion "ConceptPlayerCastBombHeadCurse" "Concept" "TLK_PLAYER_CAST_BOMB_HEAD_CURSE" required
|
||||
criterion "ConceptPlayerCastLightningBall" "Concept" "TLK_PLAYER_CAST_LIGHTNING_BALL" required
|
||||
criterion "ConceptPlayerCastMovementBuff" "Concept" "TLK_PLAYER_CAST_MOVEMENT_BUFF" required
|
||||
criterion "ConceptPlayerCastMonoculous" "Concept" "TLK_PLAYER_CAST_MONOCULOUS" required
|
||||
criterion "ConceptPlayerCastMeteorSwarm" "Concept" "TLK_PLAYER_CAST_METEOR_SWARM" required
|
||||
criterion "ConceptPlayerCastSkeletonHorde" "Concept" "TLK_PLAYER_CAST_SKELETON_HORDE" required
|
||||
|
||||
criterion "ConceptPlayerSpellFireball" "Concept" "TLK_PLAYER_SPELL_FIREBALL" required
|
||||
criterion "ConceptPlayerSpellMerasmusZap" "Concept" "TLK_PLAYER_SPELL_MERASMUS_ZAP" required
|
||||
criterion "ConceptPlayerSpellSelfHeal" "Concept" "TLK_PLAYER_SPELL_SELF_HEAL" required
|
||||
criterion "ConceptPlayerSpellMirv" "Concept" "TLK_PLAYER_SPELL_MIRV" required
|
||||
criterion "ConceptPlayerSpellBlastJump" "Concept" "TLK_PLAYER_SPELL_BLAST_JUMP" required
|
||||
criterion "ConceptPlayerSpellStealth" "Concept" "TLK_PLAYER_SPELL_STEALTH" required
|
||||
criterion "ConceptPlayerSpellTeleport" "Concept" "TLK_PLAYER_SPELL_TELEPORT" required
|
||||
criterion "ConceptPlayerSpellLightningBall" "Concept" "TLK_PLAYER_SPELL_LIGHTNING_BALL" required
|
||||
criterion "ConceptPlayerSpellMovementBuff" "Concept" "TLK_PLAYER_SPELL_MOVEMENT_BUFF" required
|
||||
criterion "ConceptPlayerSpellMonoculous" "Concept" "TLK_PLAYER_SPELL_MONOCULOUS" required
|
||||
criterion "ConceptPlayerSpellMeteorSwarm" "Concept" "TLK_PLAYER_SPELL_METEOR_SWARM" required
|
||||
criterion "ConceptPlayerSpellSkeletonHorde" "Concept" "TLK_PLAYER_SPELL_SKELETON_HORDE" required
|
||||
|
||||
criterion "ConceptPlayerSpellPickupCommon" "Concept" "TLK_PLAYER_SPELL_PICKUP_COMMON" required
|
||||
criterion "ConceptPlayerSpellPickupRare" "Concept" "TLK_PLAYER_SPELL_PICKUP_RARE" required
|
||||
criterion "ConceptPlayerHelltowerMidnight" "Concept" "TLK_PLAYER_HELLTOWER_MIDNIGHT" required
|
||||
criterion "ConceptPlayerSkeletonKingAppear" "Concept" "TLK_PLAYER_SKELETON_KING_APPEAR" required
|
||||
|
||||
criterion "IsMapHelltower" "map" "plr_hightower_event" required
|
||||
criterion "IsInHell" "IsInHell" "1" required
|
||||
criterion "IsNotInHell" "IsInHell" "0" required
|
||||
|
||||
criterion "IsFirstRound" "RoundsPlayed" "<1" required
|
||||
criterion "IsNotFirstRound" "RoundsPlayed" ">0" required
|
||||
criterion "IsComp6v6" "IsComp6v6" "1" required
|
||||
criterion "IsNotComp6v6" "IsComp6v6" "0" required
|
||||
criterion "IsCompWinner" "IsCompWinner" "1" required
|
||||
|
||||
criterion "ConceptPlayerGameOverComp" "Concept" "TLK_GAME_OVER_COMP" required
|
||||
criterion "ConceptPlayerMatchOverComp" "Concept" "TLK_MATCH_OVER_COMP" required
|
||||
|
||||
// Test rules
|
||||
#include "talker/tf.txt"
|
||||
#include "talker/Heavy.txt"
|
||||
#include "talker/Scout.txt"
|
||||
#include "talker/Engineer.txt"
|
||||
#include "talker/Sniper.txt"
|
||||
#include "talker/Soldier.txt"
|
||||
#include "talker/Demoman.txt"
|
||||
#include "talker/Medic.txt"
|
||||
#include "talker/Pyro.txt"
|
||||
#include "talker/Spy.txt"
|
||||
#include "talker/events.txt"
|
||||
#include "talker/Heavy_auto.txt"
|
||||
#include "talker/Scout_auto.txt"
|
||||
#include "talker/Engineer_auto.txt"
|
||||
#include "talker/Sniper_auto.txt"
|
||||
#include "talker/Soldier_auto.txt"
|
||||
#include "talker/Demoman_auto.txt"
|
||||
#include "talker/Medic_auto.txt"
|
||||
#include "talker/Pyro_auto.txt"
|
||||
#include "talker/Spy_auto.txt"
|
||||
|
1896
game/mod_tf/scripts/talker/scout.txt
Normal file
1896
game/mod_tf/scripts/talker/scout.txt
Normal file
File diff suppressed because it is too large
Load diff
2120
game/mod_tf/scripts/talker/sniper.txt
Normal file
2120
game/mod_tf/scripts/talker/sniper.txt
Normal file
File diff suppressed because it is too large
Load diff
1845
game/mod_tf/scripts/talker/soldier.txt
Normal file
1845
game/mod_tf/scripts/talker/soldier.txt
Normal file
File diff suppressed because it is too large
Load diff
1364
game/mod_tf/scripts/talker/spy.txt
Normal file
1364
game/mod_tf/scripts/talker/spy.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue