vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2 ChatCast 1.41 triggers, originally derived from WhisperCast.
3 Last updated 4/3/06
4 ]]
5  
6 CCClassl,CCClass = UnitClass("player");
7 _,CCRace = UnitRace("player");
8  
9 CCLocale = {}
10  
11 BINDING_HEADER_CHATCAST= "ChatCast";
12 BINDING_NAME_CHATCAST_LASTLINK = "Run Last Link";
13  
14 CCLocale.UI = {
15 rank = "(Rank %d)", --Spell rank
16  
17 text = {
18 --Options list
19 loaded = "%s loaded, click link or type /chatcast, /cc for options.",
20 options_on = "[ON|off]",
21 options_off = "[on|OFF]",
22 options_list = "%s options list:",
23 options_color = " \"/cc color [reset]\" to set link color.",
24 options_brackets = " \"/cc brackets %s\" to toggle brackets around links.",
25 options_sound = " \"/cc sound %s\" to toggle link click sounds.",
26 options_feedback = " \"/cc feedback %s\" to toggle link casting feedback text.",
27 options_invites = " \"/cc invites %s\" to toggle creation of 'invite' links.",
28 options_autosend = " \"/cc autosend %s\" to send LFM link whispers automatically or bring up an editbox.",
29 options_LFM = " \"/cc lfm <message>\" to set your whisper message when clicking an LFM link. Use $c for your class and $l for your level. Current message: \"%s\"",
30 options_lastlink = " \"/cc lastlink\" to change Last Link keybinding between buffs only and all links.",
31 options_hitsmode = " \"/cc hitsmode %s\" to toggle HitsMode parsing.",
32  
33 --Slash commands
34 slash_color = "^color",
35 slash_brackets = "^brackets",
36 slash_sound = "^sound",
37 slash_feedback = "^feedback",
38 slash_invites = "^invites",
39 slash_arg_on = "on",
40 slash_arg_off = "off",
41 slash_arg_reset = "reset",
42 slash_arg_reset2 = "default",
43 slash_lfm = "^autosend",
44 slash_lfmtext = "^lfm",
45 slash_lastlink = "^lastlink",
46 slash_hitsmode = "^hitsmode",
47  
48 --Options changed messages
49 invites_on = "%s will now link invites.",
50 invites_off = "%s no longer linking invites.",
51 feedback_on = "%s feedback on.",
52 feedback_off = "%s feedback off.",
53 brackets_on = "%s brackets on.",
54 brackets_off = "%s brackets off.",
55 sound_on = "%s sound on.",
56 sound_off = "%s sound off.",
57 color_current = "%s color currently %s",
58 color_reset = "%s color reset to %s",
59 color_changed = "%s color is now %s",
60 LFM_set = "%s LFM send text set to \"%s\"",
61 LFMalt_on = "%s LFM will bring up chat edit box for your whisper.",
62 LFMalt_off = "%s LFM will send whisper automatically.",
63 LFM_default = "$l $c lfg", -- Default whisper to send when clicking a 'LFM' link
64 lastlink_on = "%s Last Link keybinding will only cast buffs.",
65 lastlink_off = "%s Last Link keybinding will run the last link of any type.",
66 hitsmode_on = "%s now parsing HitsMode combat messages.",
67 hitsmode_off = "%s no longer parsing HitsMode combat messages.",
68  
69 --Tell prefix and Trade channel prefix to stop links from appearing in outgoing tells or the Trade channel
70 tell_prefix = "To |Hplayer:", --Should match the format when you send a tell to someone, such as "To [Thrall]: you there?", note that only 'To' should be translated, the '|Hplayer:' is the beginning of a link for the player's name and shouldn't need to be changed.
71 trade_channel = "%[%d%. Trade%]", --Should match the format for the trade channel prefix. This matches [2. Trade]
72  
73 --Feedback messages. I doubt anyone actually uses feedback =)
74 fb_createfail = "Item creation failed, trade cancelled.",
75 fb_creating = "Creating %s",
76 fb_tradefail = "Could not trade with %s",
77 fb_castfail = "Could not cast %s on %s: %s", --Spell name, target name, spell error message
78 fb_casting = "Casting %s on %s", --Spell name, target name
79 fb_targetfail = "Cannot target %s",
80 fb_unknownspell = "You don't know that spell."
81  
82 }
83 }
84  
85 --[[ Notes about triggers for translating:
86 '$w' is a capture value for 1 word that can be used as part of a trigger
87 $w triggers have to come before any similar non-$w triggers or the link will have already been made and won't be rechecked
88 [^%p] will match any non-punctuation character (this is to allow numbers, spaces and letters to match)
89 a '-' means to match 0 or more times, so [^%p]- means 0 or more non-punctuation characters
90 a '?' means the previous character is optional
91 for example: "for [^%p]-invites?" would match "for an invite", "for invites"
92 "invites?%??" would match 'invite', 'invites', 'invite?' and 'invites?' (this one is for matching "i need an invite" as well as "who has invites?")
93  
94 Hope this helps with making triggers, visit http://www.lua.org/pil/20.2.html for information about capture patterns
95 ]]
96  
97 --Hitsmode triggers. Can't scan buffs/debuffs on enemies/non-party members to find out what type of spell happened, so using a list instead.
98 CCLocale.MAGIC_BUFFS = { ".+ fortitude", ".+ of the wild", "power word: shield", "rejuvenation", "regeneration", "seal of .+", "blessing of .+", "arcane intellect", ".+ magic", "thorns", "innervate", "abolish .+", "ghost wolf", "water .+", "unending breath", "divine spirit", ".+ ward", "shadow protection", "mana shield", "frost barrier", "sacrifice", ".+ armor", "inner fire", "combustion", "arcane power", "elemental mastery", "lightning shield", "amplify .+", "barkskin", "free action" }
99 CCLocale.POISONS = { ".*poison.*", ".*sting.*", "blind", "brood affliction: green" }
100 CCLocale.DISEASES = { ".*plague.*", ".*rot.*", "brood affliction: red" }
101 CCLocale.MAGIC_DEBUFFS = { "blackout", "brood affliction: blue", "cause insanity", "chains of ice", "chilled", ".*concussive shot", "corruption", "drain life", "entangling roots", "entrapment", "faerie fire", "fear", "flame shock", "frost nova", "frostbite", "frostbolt", ".*polymorph", "hammer of justice", "hex&", "hibernate", "immolate", "mark of detonation", "moonfire", "screams of the past", "shadow word: pain", ".*silence.*", "sleep", "thunderclap" }
102 CCLocale.CURSES = { "ancient hysteria", "brood affliction: black", ".*curse.*", "discombobulate", "hex of weakness", "veil of shadow", "wracking pains" }
103  
104 CCLocale.DoNotAllow = "please,this,that,again,when,anytime," --words not to allow for the $w capture, keep the trailing comma for functionality, automatically ignores words 3 characters or less
105 CCLocale.emote_mana = "%a+ announces that %a+ is low mana!"
106 CCLocale.emote_heal = "%a+ calls out for healing!"
107  
108 --Priest Triggers
109 if CCClass == "PRIEST" then
110 CCLocale.PRIEST = {}
111 CCLocale.PRIEST.Power_Word_Fortitude = "Power Word: Fortitude"
112 CCLocale.PRIEST.Power_Word_Fortitude_trigger = { "fort", "single fort", "fortitude", "stam", "sta", "stamina", "buffs?" }
113 CCLocale.PRIEST.Prayer_of_Fortitude = "Prayer of Fortitude"
114 CCLocale.PRIEST.Prayer_of_Fortitude_trigger = { "group fort", "group fortitude", "group stam", "group stamina" }
115 CCLocale.PRIEST.Shadow_Protection = "Shadow Protection"
116 CCLocale.PRIEST.Shadow_Protection_trigger = { "shadow" }
117 CCLocale.PRIEST.Divine_Spirit = "Divine Spirit"
118 CCLocale.PRIEST.Divine_Spirit_trigger = { "spirit", "wis", "ds" }
119 CCLocale.PRIEST.Prayer_of_Spirit = "Prayer of Spirit"
120 CCLocale.PRIEST.Prayer_of_Spirit_trigger = { "group spirit", "group ds" }
121 CCLocale.PRIEST.Power_Word_Shield = "Power Word: Shield"
122 CCLocale.PRIEST.Power_Word_Shield_trigger = { "shield" }
123 CCLocale.PRIEST.Dispel_Magic = "Dispel Magic"
124 CCLocale.PRIEST.Dispel_Magic_trigger = { "dispel" }
125 CCLocale.PRIEST.Dispel_Magic_gains = CCLocale.MAGIC_BUFFS
126 CCLocale.PRIEST.Dispel_Magic_afflicted = CCLocale.MAGIC_DEBUFFS
127 CCLocale.PRIEST.Abolish_Disease = "Abolish Disease"
128 CCLocale.PRIEST.Abolish_Disease_trigger = { "cure disease", "disease" }
129 CCLocale.PRIEST.Abolish_Disease_afflicted = CCLocale.DISEASES
130 CCLocale.PRIEST.Cure_Disease = "Cure Disease"
131 CCLocale.PRIEST.Cure_Disease_trigger = { "cure disease", "disease" }
132 CCLocale.PRIEST.Cure_Disease_afflicted = CCLocale.DISEASES
133 CCLocale.PRIEST.Resurrection = "Resurrection"
134 CCLocale.PRIEST.Resurrection_trigger = { "rez", "ress?" }
135 CCLocale.PRIEST.Heal = "Flash Heal"
136 CCLocale.PRIEST.Heal_trigger = { "heal $w", "heals? on $w", "heal", "heals", CCLocale.emote_heal }
137 CCLocale.PRIEST.Fear_Ward = "Fear Ward"
138 CCLocale.PRIEST.Fear_Ward_trigger = { "fear", "ward" }
139 CCLocale.PRIEST.Silence = "Silence"
140 CCLocale.PRIEST.Silence_casting = { ".+" }
141  
142  
143 --Mage Triggers
144 elseif CCClass == "MAGE" then
145 CCLocale.MAGE = {}
146 CCLocale.MAGE.Arcane_Intellect = "Arcane Intellect"
147 CCLocale.MAGE.Arcane_Intellect_trigger = { "ai", "int", "buffs?" }
148 CCLocale.MAGE.Arcane_Brilliance = "Arcane Brilliance"
149 CCLocale.MAGE.Arcane_Brilliance_trigger = { "ab", "group ai", "group int", "brilliance" }
150 CCLocale.MAGE.Dampen_Magic = "Dampen Magic"
151 CCLocale.MAGE.Dampen_Magic_trigger = { "dampen" }
152 CCLocale.MAGE.Amplify_Magic = "Amplify Magic"
153 CCLocale.MAGE.Amplify_Magic_trigger = { "amplify" }
154 CCLocale.MAGE.Remove_Lesser_Curse = "Remove Lesser Curse"
155 CCLocale.MAGE.Remove_Lesser_Curse_trigger = { "curse" }
156 CCLocale.MAGE.Remove_Lesser_Curse_afflicted = CCLocale.CURSES
157 CCLocale.MAGE.Conjure_Water = "ChatCast_InitiateTrade(\"$p\", \"_Water\", 10)" --do not localize
158 CCLocale.MAGE.Conjure_Water_trigger = { "water" }
159 CCLocale.MAGE.Conjure_Water_rankitem = { "Conjured Water", "Conjured Fresh Water", "Conjured Purified Water", "Conjured Spring Water", "Conjured Mineral Water", "Conjured Sparkling Water", "Conjured Crystal Water" }
160 CCLocale.MAGE.Conjure_Water_spellname = "Conjure Water"
161 CCLocale.MAGE.Conjure_Food = "ChatCast_InitiateTrade(\"$p\", \"_Food\", 10)" --do not localize
162 CCLocale.MAGE.Conjure_Food_trigger = { "bread", "food" }
163 CCLocale.MAGE.Conjure_Food_rankitem = { "Conjured Muffin", "Conjured Bread", "Conjured Rye", "Conjured Pumpernickel", "Conjured Sourdough", "Conjured Sweet Roll" }
164 CCLocale.MAGE.Conjure_Food_spellname = "Conjure Food"
165 CCLocale.MAGE.Counterspell = "Counterspell"
166 CCLocale.MAGE.Counterspell_casting = { ".+" }
167  
168 --Druid Triggers
169 elseif CCClass == "DRUID" then
170 CCLocale.DRUID = {}
171 CCLocale.DRUID.Mark_of_the_Wild = "Mark of the Wild"
172 CCLocale.DRUID.Mark_of_the_Wild_trigger = { "motw", "mark", "buffs?" }
173 CCLocale.DRUID.Gift_of_the_Wild = "Gift of the Wild"
174 CCLocale.DRUID.Gift_of_the_Wild_trigger = { "gotw", "gift", "group mark" }
175 CCLocale.DRUID.Thorns = "Thorns"
176 CCLocale.DRUID.Thorns_trigger = { "thorns" }
177 CCLocale.DRUID.Remove_Curse = "Remove Curse"
178 CCLocale.DRUID.Remove_Curse_trigger = { "curse" }
179 CCLocale.DRUID.Remove_Curse_afflicted = CCLocale.CURSES
180 CCLocale.DRUID.Abolish_Poison = "Abolish Poison"
181 CCLocale.DRUID.Abolish_Poison_trigger = { "cure poison", "poison" }
182 CCLocale.DRUID.Abolish_Poison_afflicted = CCLocale.POISONS
183 CCLocale.DRUID.Cure_Poison = "Cure Poison"
184 CCLocale.DRUID.Cure_Poison_trigger = { "cure poison", "poison" }
185 CCLocale.DRUID.Cure_Poison_afflicted = CCLocale.POISONS
186 CCLocale.DRUID.Rebirth = "Rebirth"
187 CCLocale.DRUID.Rebirth_trigger = { "rez", "ress?" }
188 CCLocale.DRUID.Heal = "Regrowth"
189 CCLocale.DRUID.Heal_trigger = { "heal $w", "heals? on $w", "heal", "heals", CCLocale.emote_heal }
190 CCLocale.DRUID.Innervate = "Innervate"
191 CCLocale.DRUID.Innervate_trigger = { "innervate", "oom", CCLocale.emote_mana }
192 CCLocale.DRUID.Hibernate = "Hibernate"
193 CCLocale.DRUID.Hibernate_gains = { "Ghost Wolf", "Cat Form", "Bear Form", "Dire Bear Form", "Travel Form", "Aquatic Form" }
194  
195 --Paladin Triggers
196 elseif CCClass == "PALADIN" then
197 CCLocale.PALADIN = {}
198 CCLocale.PALADIN.Blessing_of_Might = "Blessing of Might"
199 CCLocale.PALADIN.Blessing_of_Might_trigger = { "might", "bom" }
200 CCLocale.PALADIN.Blessing_of_Wisdom = "Blessing of Wisdom"
201 CCLocale.PALADIN.Blessing_of_Wisdom_trigger = { "wisdom", "wis", "bow" }
202 CCLocale.PALADIN.Blessing_of_Freedom = "Blessing of Freedom"
203 CCLocale.PALADIN.Blessing_of_Freedom_trigger = { "freedom" }
204 CCLocale.PALADIN.Blessing_of_Light = "Blessing of Light"
205 CCLocale.PALADIN.Blessing_of_Light_trigger = { "light", "bol" }
206 CCLocale.PALADIN.Blessing_of_Sacrifice = "Blessing of Sacrifice"
207 CCLocale.PALADIN.Blessing_of_Sacrifice_trigger = { "sacrifice" }
208 CCLocale.PALADIN.Blessing_of_Kings = "Blessing of Kings"
209 CCLocale.PALADIN.Blessing_of_Kings_trigger = { "kings", "king", "bok" }
210 CCLocale.PALADIN.Blessing_of_Salvation = "Blessing of Salvation"
211 CCLocale.PALADIN.Blessing_of_Salvation_trigger = { "salvation", "bos" }
212 CCLocale.PALADIN.Blessing_of_Sanctuary = "Blessing of Sanctuary"
213 CCLocale.PALADIN.Blessing_of_Sanctuary_trigger = { "sanctuary", "bosa", "bon" }
214 CCLocale.PALADIN.Blessing_of_Protection = "Blessing of Protection"
215 CCLocale.PALADIN.Blessing_of_Protection_trigger = { "protection" }
216 CCLocale.PALADIN.Cleanse = "Cleanse"
217 CCLocale.PALADIN.Cleanse_trigger = { "cleanse", "dispel", "cure" }
218 CCLocale.PALADIN.Cleanse_afflicted = CCLocale.MAGIC_DEBUFFS
219 CCLocale.PALADIN.Purify = "Purify"
220 CCLocale.PALADIN.Purify_trigger = { "purify", "poison", "disease" }
221 CCLocale.PALADIN.Purify_afflicted = CCLocale.POISONS
222 CCLocale.PALADIN.Redemption = { "Redemption" }
223 CCLocale.PALADIN.Redemption_trigger = { "rez", "ress?" }
224 CCLocale.PALADIN.Heal = "Flash of Light"
225 CCLocale.PALADIN.Heal_trigger = { "heal $w", "heals? on $w","heal", "heals", CCLocale.emote_heal }
226 CCLocale.PALADIN.Greater_Blessing_of_Might = "Greater Blessing of Might"
227 CCLocale.PALADIN.Greater_Blessing_of_Might_trigger = { "gbom", "gmight" }
228 CCLocale.PALADIN.Greater_Blessing_of_Kings = "Greater Blessing of Kings"
229 CCLocale.PALADIN.Greater_Blessing_of_Kings_trigger = { "gbok", "gkings", "gking" }
230 CCLocale.PALADIN.Greater_Blessing_of_Wisdom = "Greater Blessing of Wisdom"
231 CCLocale.PALADIN.Greater_Blessing_of_Wisdom_trigger = { "gbow", "gwis", "gwisdom" }
232 CCLocale.PALADIN.Greater_Blessing_of_Light = "Greater Blessing of Light"
233 CCLocale.PALADIN.Greater_Blessing_of_Light_trigger = { "gbol", "glight" }
234 CCLocale.PALADIN.Greater_Blessing_of_Salvation = "Greater Blessing of Salvation"
235 CCLocale.PALADIN.Greater_Blessing_of_Salvation_trigger = { "gbos", "gsal", "gsalvation" }
236 CCLocale.PALADIN.Greater_Blessing_of_Sanctuary = "Greater Blessing of Sanctuary"
237 CCLocale.PALADIN.Greater_Blessing_of_Sanctuary_trigger = { "gbosa", "gsan", "gsanctuary", "gbon" }
238  
239 --Shaman Triggers
240 elseif CCClass == "SHAMAN" then
241 CCLocale.SHAMAN = {}
242 CCLocale.SHAMAN.Cure_Poison = "Cure Poison"
243 CCLocale.SHAMAN.Cure_Poison_trigger = { "cure poison", "poison" }
244 CCLocale.SHAMAN.Cure_Poison_afflicted = CCLocale.POISONS
245 CCLocale.SHAMAN.Cure_Disease = "Cure Disease"
246 CCLocale.SHAMAN.Cure_Disease_trigger = { "cure disease", "disease" }
247 CCLocale.SHAMAN.Cure_Disease_afflicted = CCLocale.DISEASES
248 CCLocale.SHAMAN.Water_Breathing = "Water Breathing"
249 CCLocale.SHAMAN.Water_Breathing_trigger = { "water%s?breath%a-" }
250 CCLocale.SHAMAN.Ancestral_Spirit = "Ancestral Spirit"
251 CCLocale.SHAMAN.Ancestral_Spirit_trigger = { "rez", "ress?" }
252 CCLocale.SHAMAN.Heal = "Lesser Healing Wave"
253 CCLocale.SHAMAN.Heal_trigger = { "heal $w", "heals? on $w", "heal", "heals", CCLocale.emote_heal }
254 CCLocale.SHAMAN.Water_Walking = "Water Walking"
255 CCLocale.SHAMAN.Water_Walking_trigger = { "water%s?walk%a-" }
256 CCLocale.SHAMAN.Mana_Tide = "Mana Tide"
257 CCLocale.SHAMAN.Mana_Tide_trigger = { "mana%s?tide", "oom", "tide", CCLocale.emote_mana }
258 CCLocale.SHAMAN.Purge = "Purge"
259 CCLocale.SHAMAN.Purge_gains = CCLocale.MAGIC_BUFFS
260 CCLocale.SHAMAN.Earth_Shock = "Earth Shock"
261 CCLocale.SHAMAN.Earth_Shock_casting = { ".+" }
262  
263 --Warlock Triggers
264 elseif CCClass == "WARLOCK" then
265 CCLocale.WARLOCK = {}
266 CCLocale.WARLOCK.Unending_Breath = "Unending Breath"
267 CCLocale.WARLOCK.Unending_Breath_trigger = { "water breath%a-" }
268 CCLocale.WARLOCK.Detect_Greater_Invisibility = "Detect Greater Invisibility"
269 CCLocale.WARLOCK.Detect_Greater_Invisibility_trigger = { "invis", "invisible" }
270 CCLocale.WARLOCK.Ritual_of_Summoning = "Ritual of Summoning"
271 CCLocale.WARLOCK.Ritual_of_Summoning_trigger = { "summon $w", "summon" }
272 CCLocale.WARLOCK.Healthstone = "ChatCast_InitiateTrade(\"$p\", \"_Healthstone\", 1)" --do not localize this line
273 CCLocale.WARLOCK.Healthstone_trigger = { "healthstone", "hs" }
274 CCLocale.WARLOCK.Healthstone_rankitem = { "Minor Healthstone", "Lesser Healthstone", "Healthstone", "Greater Healthstone", "Major Healthstone" }
275 CCLocale.WARLOCK.Healthstone_spellname = { "Create Healthstone (Minor)", "Create Healthstone (Lesser)", "Create Healthstone", "Create Healthstone (Greater)", "Create Healthstone (Major)" }
276 CCLocale.WARLOCK.Soulstone = "ChatCast_Soulstone(\"$p\")"
277 CCLocale.WARLOCK.Soulstone_trigger = { "soulstone", "ss" }
278 CCLocale.WARLOCK.Soulstone_rankitem = { "Minor Soulstone", "Lesser Soulstone", "Soulstone", "Greater Soulstone", "Major Soulstone" }
279 CCLocale.WARLOCK.Soulstone_spellname = { "Create Soulstone (Minor)", "Create Soulstone (Lesser)", "Create Soulstone", "Create Soulstone (Greater)", "Create Soulstone (Major)" }
280 end
281  
282 --General Triggers
283 CCLocale.GENERAL = {}
284 CCLocale.GENERAL.AskInvite = "SendChatMessage(\"invite\", \"WHISPER\", nil, \"$p\")" --"invite" should be translated in this line
285 CCLocale.GENERAL.AskInvite_trigger = { "autos", "for [^%p]-invites?", "auto.-invites?", "tell [^%p]-invites?", "pst [^%p]-invites?", "msg [^%p]-invites?", "message [^%p]-invites?", "whisp[^%p]- invites?", "/w[^%p]- invites?", "[\"']invite[\"']" }
286 CCLocale.GENERAL.Invite_Target = "InviteByName(\"$w\")"
287 CCLocale.GENERAL.Invite_Target_trigger = { "invite $w" }
288 CCLocale.GENERAL.Invite = "InviteByName(\"$p\")"
289 CCLocale.GENERAL.Invite_trigger = { "invites?%??", "lfg", "has joined the battle", "inv" }
290 CCLocale.GENERAL.ChatCast = "ChatCast_Options()"
291 CCLocale.GENERAL.ChatCast_trigger = { "chatcast" }
292 CCLocale.GENERAL.PST = "ChatFrame_SendTell(\"$p\")"
293 CCLocale.GENERAL.PST_trigger = { "pst" }
294 CCLocale.GENERAL.LFM_alt = "ChatFrame_OpenChat(\"/w $p \" .. gsub(gsub(ChatCast.LFM,\"$l\", UnitLevel(\"player\")), \"$c\", CCClassl))"
295 CCLocale.GENERAL.LFM = "SendChatMessage(gsub(gsub(ChatCast.LFM,\"$l\", UnitLevel(\"player\")), \"$c\", CCClassl), \"WHISPER\", nil, \"$p\")"
296 CCLocale.GENERAL.LFM_trigger = { "lf%d?m" }
297 --CCLocale.GENERAL.Target = "ChatCast_Target(\"$p\", 1)" --exists for HitsMode functionality