| flickerstreak@7 | 1 <html> | 
| flickerstreak@7 | 2 <head> | 
| flickerstreak@7 | 3 <title>ReAction: README</title> | 
| flickerstreak@7 | 4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | 
| flickerstreak@10 | 5 <style type="text/css"> | 
| flickerstreak@10 | 6 <!-- | 
| flickerstreak@10 | 7 body {  background-color: #FFFFCC; list-style-type: none} | 
| flickerstreak@10 | 8 p {  margin-top: 0px; margin-bottom: 18px} | 
| flickerstreak@10 | 9 ul {  line-height: 110%} | 
| flickerstreak@10 | 10 --> | 
| flickerstreak@10 | 11 </style> | 
| flickerstreak@7 | 12 </head> | 
| flickerstreak@7 | 13 | 
| flickerstreak@7 | 14 <body bgcolor="#FFFFFF" text="#000000"> | 
| flickerstreak@7 | 15 <h1 align="center">ReAction</h1> | 
| flickerstreak@7 | 16 <h3 align="center">AddOn for World of Warcraft</h3> | 
| flickerstreak@12 | 17 <p><font size="2">Current Version: 0.34 (alpha)<br> | 
| flickerstreak@12 | 18   Released: 09 Mar 2007</font><font size="2"><br> | 
| flickerstreak@12 | 19   WoW Version Compatibility: v2.0.10 / TOC 20003</font></p> | 
| flickerstreak@7 | 20 <h2>The Basics</h2> | 
| flickerstreak@7 | 21 <p>ReAction is a replacement for the default Blizzard action bars. It allows you | 
| flickerstreak@7 | 22   redefine your action button layout any way you like.</p> | 
| flickerstreak@7 | 23 <h2>Features</h2> | 
| flickerstreak@7 | 24 <ul> | 
| flickerstreak@7 | 25   <li>Move, resize, create, and arrange as many action bars as you want. Each | 
| flickerstreak@7 | 26     bar can contain any number of buttons arranged in a grid layout of any size | 
| flickerstreak@7 | 27     and spacing. The full complement of 120 action slots is supported.</li> | 
| flickerstreak@7 | 28   <li>Works with all types of actions, including abilities, items, and macros</li> | 
| flickerstreak@7 | 29   <li>Layout is done with the mouse, by dragging bars and bar edges on screen. | 
| flickerstreak@7 | 30     Automatically anchor bars to each other or the screen edges by holding shift | 
| flickerstreak@7 | 31     down as you drag.</li> | 
| flickerstreak@7 | 32   <li>Context menus provide independent configuration options for each bar.</li> | 
| flickerstreak@10 | 33   <li>Point and click keybinding interface. You can bind keys to left-click or | 
| flickerstreak@10 | 34     right-click independently.</li> | 
| flickerstreak@7 | 35   <li>Supports multiple 'pages' per bar, configured independently. Automatic stance, | 
| flickerstreak@7 | 36     form, and stealth switching among pages is supported, including Shadowform.</li> | 
| flickerstreak@7 | 37   <li>Pet action bar is fully supported and configurable.</li> | 
| flickerstreak@7 | 38   <li>Settings can be saved per account, realm, character, class, or independent | 
| flickerstreak@7 | 39     profile. </li> | 
| flickerstreak@7 | 40   <li>Compatible with OmniCC</li> | 
| flickerstreak@8 | 41   <li>Various configurable display options</li> | 
| flickerstreak@7 | 42 </ul> | 
| flickerstreak@7 | 43 <p>ReAction is built using the <a href="http://www.wowace.com/Wiki/Ace2">Ace2</a> | 
| flickerstreak@7 | 44   development framework.</p> | 
| flickerstreak@7 | 45 <h2>Using ReAction</h2> | 
| flickerstreak@7 | 46 <h3>Installation</h3> | 
| flickerstreak@12 | 47 <p>To install ReAction, drag the ReAction folder to your World of Warcraft/Interface/AddOns | 
| flickerstreak@12 | 48   folder. Exit World of Warcraft if it's running, then restart.</p> | 
| flickerstreak@7 | 49 <h3>Welcome to ReAction</h3> | 
| flickerstreak@7 | 50 <p>When you first enter World of Warcraft with ReAction installed, it will look | 
| flickerstreak@7 | 51   very similar to the default Blizzard UI, depending on what other AddOns are | 
| flickerstreak@12 | 52   installed. However, only the main menu bar is shown by default. Other bars can | 
| flickerstreak@8 | 53   be created as desired.</p> | 
| flickerstreak@7 | 54 <p>If you have FuBar installed, on the left side you should see the ReAction plugin | 
| flickerstreak@7 | 55   icon and label. If not, there should be a button on your minimap. In either | 
| flickerstreak@7 | 56   case, that button (the ReAction Control Button) is the gateway to configuring | 
| flickerstreak@7 | 57   ReAction.</p> | 
| flickerstreak@7 | 58 <p>ReAction has three modes of operation:</p> | 
| flickerstreak@7 | 59 <ul> | 
| flickerstreak@7 | 60   <li>Normal ("locked")</li> | 
| flickerstreak@7 | 61   <li>Configuration ("unlocked")</li> | 
| flickerstreak@7 | 62   <li>Keybinding</li> | 
| flickerstreak@7 | 63 </ul> | 
| flickerstreak@12 | 64 <p>(Technically it's 4 modes, because Config and Keybinding modes can both be | 
| flickerstreak@12 | 65   active at the same time).</p> | 
| flickerstreak@7 | 66 <p>You can toggle Configuration mode by shift-clicking the ReAction Control Button | 
| flickerstreak@7 | 67   and toggle Keybinding mode by alt-clicking the button. Global configuration | 
| flickerstreak@7 | 68   options are also available by right-clicking the ReAction button. There are | 
| flickerstreak@7 | 69   also a limited set of console commands that can be accessed with the "/reaction" | 
| flickerstreak@7 | 70   or "/rxn" slash-commands. Type /rxn in the chat box to print a list | 
| flickerstreak@7 | 71   of commands.</p> | 
| flickerstreak@7 | 72 <p>You can also set key bindings to toggle Configuration and Keybinding modes, | 
| flickerstreak@7 | 73   in the standard UI keybindings panel.</p> | 
| flickerstreak@7 | 74 <h3>Configuring ReAction</h3> | 
| flickerstreak@7 | 75 <p>Start by shift-clicking the ReAction button to enter Configuration mode. All | 
| flickerstreak@7 | 76   bars, including hidden bars, are shown in this mode and <b>normal button click | 
| flickerstreak@7 | 77   operation is disabled </b>(though keybindings still work). Mouse over the bars, | 
| flickerstreak@7 | 78   edges, and corners to see tooltip instructions for moving, resizing, and rearranging | 
| flickerstreak@7 | 79   them. Right click each bar for a menu of options pertaining to that bar. For | 
| flickerstreak@7 | 80   example, to change a hidden bar to a visible bar, right-click on a bar and choose | 
| flickerstreak@7 | 81   Visibility -> Always Visible. Tooltips for each menu option provide details.</p> | 
| flickerstreak@7 | 82 <p>When you're done configuring ReAction, shift-click the ReAction button again | 
| flickerstreak@7 | 83   to go back to Normal mode.</p> | 
| flickerstreak@7 | 84 <p>Configuration mode is not available if you are in combat, and is automatically | 
| flickerstreak@7 | 85   cancelled if you enter combat.</p> | 
| flickerstreak@7 | 86 <h3>Setting Keybindings</h3> | 
| flickerstreak@7 | 87 <p><b>ReAction buttons don't use the regular keybindings of the default UI.</b> | 
| flickerstreak@7 | 88   In order to get your buttons to use hotkeys, enter ReAction Keybinding Setup | 
| flickerstreak@7 | 89   mode by alt-clicking the ReAction Control Button (or choosing 'keybinding mode' | 
| flickerstreak@7 | 90   from the right-click menu). <b>ReAction button keybindings are not available | 
| flickerstreak@7 | 91   from the standard keybindings menu!</b> You <i>must</i> use the ReAction keybinding | 
| flickerstreak@12 | 92   interface. They're even greyed out in the keybinding menu with a textual reminder, | 
| flickerstreak@12 | 93   so there's no excuse!</p> | 
| flickerstreak@7 | 94 <p>Like configuration mode, normal button operation is disabled while in keybinding | 
| flickerstreak@12 | 95   mode (though again, any hotkeys you have assigned will work). With the keybinding | 
| flickerstreak@12 | 96   interface out, you can mouseover any ReAction button to see what its current | 
| flickerstreak@12 | 97   keybinding is. You can set the keybinding on a button by clicking the button, | 
| flickerstreak@12 | 98   then pressing the key. To clear a keybinding from a ReAction button, shift-click | 
| flickerstreak@12 | 99   the button. Tooltips will remind you of this interface. You can also right-click/shift-right-click | 
| flickerstreak@12 | 100   to set/clear a right-click hotkey, which will simulate right-clicking the button | 
| flickerstreak@12 | 101   (useful for complex macro actions, typically to save screen real estate). If | 
| flickerstreak@12 | 102   you've set up bars with multiple pages, you can also bind a key to the page | 
| flickerstreak@12 | 103   up/down buttons on a per-bar basis. Just make sure the buttons are showing (they | 
| flickerstreak@12 | 104   can be hidden later) and assign the keybinding like any other ReAction button.</p> | 
| flickerstreak@12 | 105 <p>Keybindings are saved on a per-profile basis. Keybinding mode is not available | 
| flickerstreak@10 | 106   if you are in combat, and is automatically cancelled if you enter combat. When | 
| flickerstreak@12 | 107   you first log in with ReAction, it steals the current keybindings from the default | 
| flickerstreak@12 | 108   main action bar (buttons 1-12) and assigns them to the corresponding buttons | 
| flickerstreak@12 | 109   on the default ReAction bar. This means that if you install ReAction, run with | 
| flickerstreak@12 | 110   it, and then disable it, your main bar will no longer have any keybindings and | 
| flickerstreak@12 | 111   they'll need to be reset. If you later enable ReAction again, it will remember | 
| flickerstreak@12 | 112   its own keybindings.</p> | 
| flickerstreak@12 | 113 <p>If a profile assigns a keybinding to a ReAction button, switching away from | 
| flickerstreak@12 | 114   that profile will clear the binding but will <b>not</b> restore the binding | 
| flickerstreak@12 | 115   to its previous state. If the new profile assigns that binding then, of course, | 
| flickerstreak@12 | 116   it will be in use. What this means is that any 'standard' keybinding action | 
| flickerstreak@12 | 117   that's bound to a key will become unbound when switching to a profile that uses | 
| flickerstreak@12 | 118   the key, and will have to be manually rebound later if you switch away from | 
| flickerstreak@12 | 119   that profile.</p> | 
| flickerstreak@10 | 120 <p><b>Remember to click the 'Save' button to save your keybindings! </b>If you | 
| flickerstreak@10 | 121   do not, they will automatically revert to the previous bindings when exiting | 
| flickerstreak@10 | 122   keybinding mode. This can be useful for "trying out" certain layouts | 
| flickerstreak@10 | 123   briefly, but can also be a serious gotcha — if you just hit 'Escape,' or | 
| flickerstreak@10 | 124   alt-click the ReAction Control Button, or enter combat while in keybinding mode, | 
| flickerstreak@10 | 125   your bindings will revert to their previous state.</p> | 
| flickerstreak@7 | 126 <h3>Playing with ReAction</h3> | 
| flickerstreak@7 | 127 <p>Once you get your keybindings and configuration set up, you're ready to go. | 
| flickerstreak@7 | 128   The buttons behave just like regular Blizzard buttons. However, at any time | 
| flickerstreak@7 | 129   when you're not in combat, you can quickly switch to configuration mode and | 
| flickerstreak@7 | 130   create a new bar, rearrange bars, hide/show a special-use bar, etc. Perfect | 
| flickerstreak@7 | 131   for when you get some goofy quest item that has to be used temporarily, or get | 
| flickerstreak@7 | 132   a new skill that doesn't fit on your current layout.</p> | 
| flickerstreak@7 | 133 <h2>Limitations</h2> | 
| flickerstreak@7 | 134 <ul> | 
| flickerstreak@12 | 135   <li>Due to a lack of certain functionality made available by Blizzard, dragging | 
| flickerstreak@12 | 136     and dropping actions onto action bars while in combat is a little funky. You | 
| flickerstreak@12 | 137     have to click the destination button rather than just release drag on it.</li> | 
| flickerstreak@12 | 138   <li>You can't configure the pet bar unless you actually have a pet out. </li> | 
| flickerstreak@7 | 139   <li>No support for shapeshift/stance bar (yet)</li> | 
| flickerstreak@7 | 140   <li>If you have a bar with empty buttons, even though they're invisible they | 
| flickerstreak@7 | 141     still block mouse input from reaching whatever might be under the button. | 
| flickerstreak@7 | 142     This is a workaround so that you can drag and drop actions onto hidden slots | 
| flickerstreak@8 | 143     during combat. This workaround can be disabled via a configuration option, | 
| flickerstreak@8 | 144     but then you can't drag and drop actions onto slots during combat. Pick your | 
| flickerstreak@8 | 145     poison, it's a limitation of Blizzard's protection scheme.</li> | 
| flickerstreak@12 | 146   <li>If you hide the default main menu bar, there is no substitute provided (yet) | 
| flickerstreak@12 | 147     for the XP bar, bag bar, or micro menu bar (although the hotkeys for them | 
| flickerstreak@12 | 148     still work). Other addons can provide these features until ReAction supports | 
| flickerstreak@12 | 149     them.</li> | 
| flickerstreak@7 | 150 </ul> | 
| flickerstreak@7 | 151 <h2>Known Issues</h2> | 
| flickerstreak@7 | 152 <ul> | 
| flickerstreak@7 | 153   <li>There may or may not be a particular case in which turning off a pet's attack | 
| flickerstreak@7 | 154     while using Eyes of the Beast doesn't work. Further investigation (and leveling | 
| flickerstreak@7 | 155     a hunter to get Eyes of the Beast :-P) is required.</li> | 
| flickerstreak@7 | 156   <li>The initial mapping of action IDs for shapeshift forms doesn't exactly match | 
| flickerstreak@7 | 157     Blizzard's mapping. When first starting up as a warrior, druid, or rogue, | 
| flickerstreak@12 | 158     you will probably need to move your actions around, and it will likely screw | 
| flickerstreak@12 | 159     up your layout if you swap back to the default UI.</li> | 
| flickerstreak@7 | 160   <li>Action IDs may not always be laid out in sequence, meaning that similar | 
| flickerstreak@12 | 161     layouts on different machines may put the actions in a different order. For | 
| flickerstreak@12 | 162     best results, copy the WTF/Account/<AccountName>/SavedVariables/ReAction.lua | 
| flickerstreak@12 | 163     from one computer to the other, when you get a setup you like.</li> | 
| flickerstreak@7 | 164   <li>There seems to be a big performance hit when first dragging a bar after | 
| flickerstreak@12 | 165     entering configuration mode, and when first enabling keybinding mode, if there | 
| flickerstreak@12 | 166     are several bars and a lot of buttons out. More investigation is necessary.</li> | 
| flickerstreak@7 | 167 </ul> | 
| flickerstreak@7 | 168 <h2>Future Plans</h2> | 
| flickerstreak@7 | 169 <ul> | 
| flickerstreak@7 | 170   <li>Add support for bag bar, shapeshift bar, and micro menu bar. May also add | 
| flickerstreak@7 | 171     XP bar to default unit frames for those who don't want to use a unit frame | 
| flickerstreak@7 | 172     addon to get the XP bar back.</li> | 
| flickerstreak@7 | 173   <li>More dynamic bar support: auto show/hide/fade on stance switch, in combat, | 
| flickerstreak@7 | 174     key pressed, etc.</li> | 
| flickerstreak@7 | 175   <li>"pop-up" bar support, in which a single button shows/hides a bar | 
| flickerstreak@7 | 176     when moused over</li> | 
| flickerstreak@7 | 177   <li>Better and more flexible interface for defining page transitions on stance/form | 
| flickerstreak@7 | 178     shift </li> | 
| flickerstreak@7 | 179   <li>Provide a method for normalizing the action ID layout, permitting better | 
| flickerstreak@7 | 180     compatibility when used on different computers.</li> | 
| flickerstreak@7 | 181   <li>Provide some additional console commands so that enterprising users can | 
| flickerstreak@7 | 182     macro certain configuration functionality (notably hiding and showing individual | 
| flickerstreak@7 | 183     bars) </li> | 
| flickerstreak@7 | 184   <li>Yet more configurable button display options (disable cooldown flash, different | 
| flickerstreak@7 | 185     borders, etc)</li> | 
| flickerstreak@12 | 186   <li>Button styles (Dreamlayout, CyCircled)</li> | 
| flickerstreak@7 | 187   <li>Localization</li> | 
| flickerstreak@7 | 188 </ul> | 
| flickerstreak@7 | 189 <h2>Version History</h2> | 
| flickerstreak@12 | 190 <p>Version 0.34:</p> | 
| flickerstreak@12 | 191 <ul> | 
| flickerstreak@12 | 192   <li>Fixed some bugs in the keybinding code, and further refined the ReBound | 
| flickerstreak@12 | 193     library. </li> | 
| flickerstreak@12 | 194 </ul> | 
| flickerstreak@10 | 195 <p>Version 0.33:</p> | 
| flickerstreak@10 | 196 <ul> | 
| flickerstreak@10 | 197   <li>Rewrote the keybinding interface (again). I think I finally like this version. | 
| flickerstreak@10 | 198     Keybindings are now saved and loaded with the profile, and honor the "character-specific | 
| flickerstreak@10 | 199     keybindings" setting in the Blizzard Keybinding pane. The default keybindings | 
| flickerstreak@10 | 200     for action bars are now greyed out in Blizzard's interface to remind you to | 
| flickerstreak@10 | 201     use ReAction to set bindings for action bars.</li> | 
| flickerstreak@10 | 202   <li>Moved the Action ID label on the buttons to the center of the button.</li> | 
| flickerstreak@10 | 203   <li>Added support for binding right-clicks to hotkeys on the main action buttons | 
| flickerstreak@10 | 204     only (no pet buttons). There is also an option (off by default) to display | 
| flickerstreak@10 | 205     and specify the location for right-click binding labels.</li> | 
| flickerstreak@10 | 206   <li>Tweaked the ordering of the bar menus. Some options will automatically show/hide | 
| flickerstreak@10 | 207     when they are relevant.</li> | 
| flickerstreak@10 | 208   <li>Converted the core of the keybinding code to an Ace2-style library: ReBound-1.0</li> | 
| flickerstreak@10 | 209   <li>Did a little bit of code cleanup in main.lua</li> | 
| flickerstreak@10 | 210   <li>Converted to MIT license</li> | 
| flickerstreak@10 | 211 </ul> | 
| flickerstreak@9 | 212 <p>Version 0.32:</p> | 
| flickerstreak@9 | 213 <ul> | 
| flickerstreak@9 | 214   <li>Fixed a bug with displaying cooldowns generating slews of errors</li> | 
| flickerstreak@9 | 215 </ul> | 
| flickerstreak@8 | 216 <p>Version 0.31:</p> | 
| flickerstreak@8 | 217 <ul> | 
| flickerstreak@8 | 218   <li>Fixed a bug where action IDs > 120 were being configured and allocated | 
| flickerstreak@8 | 219     in certain cases</li> | 
| flickerstreak@8 | 220   <li>Fixed a bug where hidden paging controls were reappearing when switching | 
| flickerstreak@8 | 221     pages</li> | 
| flickerstreak@8 | 222   <li>Fixed a script error that was popping up in certain conditions when starting | 
| flickerstreak@8 | 223     keybinding mode, and causing some buttons not to be bindable</li> | 
| flickerstreak@8 | 224   <li>Applied a fix that will (hopefully?) eliminate errors saying ACTIONBAR_UPDATE_STATE | 
| flickerstreak@8 | 225     was not registered (be on the lookout for recurrences of that one). Hopefully | 
| flickerstreak@8 | 226     this fix will eliminate several other intermittent errors that I think are | 
| flickerstreak@8 | 227     part of the same cause.</li> | 
| flickerstreak@8 | 228   <li>Added new options for controlling the opacity of buttons (which should now | 
| flickerstreak@8 | 229     actually work). Previous opacity settings (if any) will be lost and will need | 
| flickerstreak@8 | 230     to be re-applied after updating. There is also now a toggle to hide (rather | 
| flickerstreak@8 | 231     than alpha-zero) empty buttons, at the expense of not being able to drag actions | 
| flickerstreak@8 | 232     onto them during combat.</li> | 
| flickerstreak@8 | 233   <li>Action IDs now appear/disappear automatically when bars are unlocked. There | 
| flickerstreak@8 | 234     is no longer a menu item to show/hide them.</li> | 
| flickerstreak@8 | 235   <li>Changed the default startup bar configuration to only be the paged main | 
| flickerstreak@8 | 236     bar. This allows a default startup to create new bars without having to delete | 
| flickerstreak@8 | 237     some first. Will probably simplify even further in a future patch. Note this | 
| flickerstreak@8 | 238     doesn't fix the action-rearrangement setup headaches with warriors, druids, | 
| flickerstreak@8 | 239     and rogues.</li> | 
| flickerstreak@9 | 240   <li>Cooldowns can now be hidden - either all cooldowns or just global cooldowns.</li> | 
| flickerstreak@8 | 241 </ul> | 
| flickerstreak@7 | 242 <p>Version 0.3</p> | 
| flickerstreak@7 | 243 <ul> | 
| flickerstreak@7 | 244   <li>Complete rewrite of the innards for better modularity</li> | 
| flickerstreak@7 | 245   <li>Lots of bug fixes</li> | 
| flickerstreak@7 | 246   <li>Multi-paged bar support</li> | 
| flickerstreak@7 | 247   <li>Pet bar support</li> | 
| flickerstreak@7 | 248   <li>Auto stance/form/stealth switching</li> | 
| flickerstreak@7 | 249   <li>Lots and lots of new configuration options</li> | 
| flickerstreak@7 | 250 </ul> | 
| flickerstreak@7 | 251 <p>Version 0.2</p> | 
| flickerstreak@7 | 252 <ul> | 
| flickerstreak@7 | 253   <li>Bug fixes from 0.1</li> | 
| flickerstreak@7 | 254   <li>new keybinding interface</li> | 
| flickerstreak@7 | 255 </ul> | 
| flickerstreak@7 | 256 <p>Version 0.1</p> | 
| flickerstreak@7 | 257 <ul> | 
| flickerstreak@7 | 258   <li>Initial concept, button arrangement</li> | 
| flickerstreak@7 | 259 </ul> | 
| flickerstreak@7 | 260 <h2>Credits</h2> | 
| flickerstreak@7 | 261 <p>Huge credit to the <a href="http://www.wowace.com">Ace 2</a> development team, | 
| flickerstreak@7 | 262   whose framework provides a level of functionality that I consider critical to | 
| flickerstreak@10 | 263   the success of this addon. Similarly, enormous credit goes to <a href="http://ckknight.wowinterface.com">ckknight</a>, | 
| flickerstreak@7 | 264   whose Dewdrop menuing system and FuBar plugin system are ridiculously easy to | 
| flickerstreak@7 | 265   use.</p> | 
| flickerstreak@12 | 266 <p>Thanks to the authors of certain action bar mods that came before ReAction: | 
| flickerstreak@12 | 267   Bartender3, Bongos, FlexBar 2, and Trinity Bars. While I didn't steal any code | 
| flickerstreak@12 | 268   directly from you guys, your addons provided inspiration for various features | 
| flickerstreak@12 | 269   and options. Hopefully ReAction differentiates itself sufficiently that it's | 
| flickerstreak@12 | 270   not seen as simply a clone.</p> | 
| flickerstreak@7 | 271 <p>Finally, thanks to my alpha testers and stalwart adventuring companions: Deor, | 
| flickerstreak@12 | 272   Nogrim, Sorabel, and Yngvi (or, more to the point, their alts :-P).</p> | 
| flickerstreak@10 | 273 <h2>Copyright & License</h2> | 
| flickerstreak@10 | 274 <p>ReAction is distributed under the MIT license.</p> | 
| flickerstreak@10 | 275 <p>ReAction Copyright © 2007 Ryan Findley.</p> | 
| flickerstreak@10 | 276 <p>Permission is hereby granted, free of charge, to any person obtaining a copy | 
| flickerstreak@10 | 277   of this software and associated documentation files (the "Software"), | 
| flickerstreak@10 | 278   to deal in the Software without restriction, including without limitation the | 
| flickerstreak@10 | 279   rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | 
| flickerstreak@10 | 280   sell copies of the Software, and to permit persons to whom the Software is furnished | 
| flickerstreak@10 | 281   to do so, subject to the following conditions:</p> | 
| flickerstreak@10 | 282 <p>The above copyright notice and this permission notice shall be included in | 
| flickerstreak@10 | 283   all copies or substantial portions of the Software.</p> | 
| flickerstreak@10 | 284 <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | 
| flickerstreak@10 | 285   OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 
| flickerstreak@10 | 286   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | 
| flickerstreak@10 | 287   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | 
| flickerstreak@10 | 288   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR | 
| flickerstreak@10 | 289   IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p> | 
| flickerstreak@7 | 290 <p>World of Warcraft is a registered trademark of Blizzard Entertainment, Inc.</p> | 
| flickerstreak@7 | 291 </body> | 
| flickerstreak@7 | 292 </html> |