BryghtShadow8012@legacy41529234 (talk | contribs) m (→Spells that always are cast: CastSpellByName is protected.) |
|||
Line 1: | Line 1: | ||
+ | {{Infobox faction |
||
− | {{Ood|}} |
||
+ | | name = Guardians of Hyjal |
||
− | {{tocright}} |
||
+ | | image = Nordrassil Cataclysm.jpg |
||
− | == What are macros? == |
||
+ | | caption = Roots of Nordrassil |
||
+ | | membership = |
||
+ | | races = {{Race|Night Elf}}<br />{{Race|Tauren}} |
||
+ | | capital = |
||
+ | | base = [[Nordrassil]] |
||
+ | | leader = [[Malfurion Stormrage]] |
||
+ | | faction = Neutral |
||
+ | | status = Active |
||
+ | | affiliation = [[Independent]] (de jure), [[Cenarion Circle]] (de facto) (presumed) |
||
+ | | theater = [[Mount Hyjal]] |
||
+ | | alignment = |
||
+ | | character = |
||
+ | | rewards = |
||
+ | | tokens = [[Mark of the World Tree]] (Firelands Invasion) |
||
+ | | quartermaster = [[Provisioner Whitecloud]] |
||
+ | | tabard = Tabard of the Guardians of Hyjal.jpg |
||
+ | }} |
||
+ | The '''Guardians of Hyjal''' are a new faction that appeared in ''[[World of Warcraft: Cataclysm]]'', whose job is to protect [[Mount Hyjal]] and [[Nordrassil]]. They are worshippers of the [[Ancient guardian|Ancients]], such as [[Aessina]] and [[Tortolla]], and wish to repopulate the region with animal life. Much like the [[Cenarion Circle]], they are Neutral and made up mainly of [[druid]]s.<ref>http://www.worldofwarcraft.com/cataclysm/features/hyjal.html</ref> |
||
− | Macros are user-defined shortcuts that automates certain actions in World of Warcraft. |
||
− | For more information, see [[HOWTO:_Make_a_Macro]] |
||
+ | ==Background== |
||
− | == Who is this HOWTO for? == |
||
+ | Faced with the impending devastation of [[Mount Hyjal]], the most powerful members of the [[Cenarion Circle]] have joined forces with their [[Green Dragonflight|Emerald Dragonflight]] allies to fend off [[Ragnaros]]' elemental hordes and the [[Twilight's Hammer]]. |
||
+ | |||
+ | The immense Mount Hyjal has been under increased protection since it was the site of a great battle between [[Archimonde]] (a commander of the demonic [[Burning Legion]]) and the defenders of Azeroth. It's no longer the charge of any one particular race to protect the mountain; instead, that duty has fallen to an alliance between the Cenarion Circle and green dragonflight known as the Guardians of Hyjal. |
||
+ | The guardians have brought their veneration of the land and ancient demigods like the forest lord [[Cenarius]] to Hyjal in times of peace, but it's only now that their presence has become truly crucial. Ragnaros the Firelord and his army of minions have set the mountain aflame with their presence, and they will not rest until Hyjal is reduced to ash around them. |
||
− | This HOWTO is for people that want to know how to shrink, or compress, their macros so they can have more space for extra actions in them. |
||
+ | Those heroes who would join with the guardians to heal the land and drive off the invading elementals and their cultist allies can count Archdruids [[Malfurion Stormrage]], [[Hamuul Runetotem]] and the green [[Dragon Aspect]], [[Ysera]], among their supporters, and they can add equipment born of the mountain and the [[World Tree]] [[Nordrassil]] to their arsenal.<ref>[http://us.battle.net/wow/en/faction/guardians-of-hyjal Guardians of Hyjal]</ref> |
||
− | It is aimed at the beginning macro-maker. |
||
+ | Yet another united offensive has formed, much less concerned with the defensive maneuvers of the Guardians of Hyjal. This group, the [[Avengers of Hyjal]], has instead focused on ending the threat of the Firelord once and for all by invading his own realm - the deadly, smoldering [[Firelands]]. While this effort might seem suicidal, the Avengers insist that if they don't act against Ragnaros while they have the opportunity, they may not have a world left to defend.<ref>http://us.battle.net/wow/en/faction/avengers-of-hyjal</ref> |
||
− | == Introduction == |
||
+ | ==Rewards== |
||
− | This howto will teach you certain techniques that will allow you to make macros take up less characters. This is mostly useful if you want to have enough space so that you can modify the macros further. |
||
+ | {{:Provisioner Whitecloud}} |
||
+ | ==Reputation== |
||
− | Note that these techniques tend to make the macros less easy to understand for a human being. |
||
+ | Players start at [[neutral]] with this faction. |
||
+ | Completing all the available [[Mount Hyjal quests]] is enough to attain [[revered]] status. To gain reputation up to [[exalted]] requires the [[Tabard of the Guardians of Hyjal]]. This faction has no daily or repeatable quests. |
||
− | == Important info == |
||
+ | Players can gain further reputation with the faction doing the [[Firelands Invasion]] quests. |
||
− | Always save your original macro. |
||
+ | ==References== |
||
− | Always test your macro after modifying with each technique so you haven't forgotten anything. |
||
+ | {{Reflist}} |
||
+ | ==Patch history== |
||
− | You can test for simple "lua-compatibility" (that is, no missing paranthesis, end:s and so on) by saving the macro to a file then using the lua compiler on the file. The compilers can be found at this nice wiki page: [http://lua-users.org/wiki/LuaBinaries] |
||
+ | *{{Patched |
||
+ | |date=2010-12-08 |
||
+ | |bluenote=Players no longer get attacked by guards when landing in Nordrassil with a hostile player targeted. It was a rather rude introduction to Mount Hyjal really. |
||
+ | |link=http://blue.mmo-champion.com/topic/137110/patch-403a-hotfixes |
||
+ | }} |
||
+ | ==External links== |
||
− | == Basic techniques == |
||
+ | <!-- Read http://www.wowwiki.com/WoWWiki:External_links before posting your links here. |
||
+ | Links that do not conform to the rules will be DELETED. |
||
+ | Repeat violations may result in a BAN. |
||
+ | Have a nice day. :) --> |
||
+ | {{Elink|type=wowus|http://us.battle.net/wow/en/faction/guardians-of-hyjal}} |
||
+ | {{elinks-faction|1158}} |
||
+ | {{Factions}} |
||
− | These techniques are made for two purposes: |
||
+ | {{Druids}} |
||
− | * Decreasing character-size of macros |
||
+ | [[Category:Guardians of Hyjal| ]] |
||
− | * Preserving functionality of original macro |
||
+ | [[Category:Mount Hyjal]] |
||
− | |||
+ | [[Category:Cataclysm]] |
||
− | Note that there often are ways to make something in a different way, which may turn out to use less characters than the current way of doing this. This often requires Lua and WoW API knowledge, though, and as such is beyond the scope of this HOWTO. |
||
+ | [[Category:Factions]] |
||
− | |||
+ | [[ru:Стражи Хиджала]] |
||
− | === Slash commands === |
||
− | |||
− | /run and /script are the same command, so use /run instead of /script. Duh. :) |
||
− | Only 3 bytes saved here, but since it's 3 bytes in every scripted macro... |
||
− | |||
− | === Macros are read by the computer === |
||
− | |||
− | Because macros should - in the end - only be read by the computer, you can leave out a lot. |
||
− | |||
− | First up is the semi-colon, ;. It can be ''completely'' left out. However, you should leave a space between most "words". |
||
− | |||
− | Second to the executions is the <ENTER> (newline) character. Yes, each new line takes up valuable space. |
||
− | Write it all in one big line. The Computer does not care if it looks like crap (you will, though). |
||
− | |||
− | You can remove spaces around operators, such as -, +, /, *, >, <, >=, <=, =, ~= and ==. while a == b may look prettier than a==b, they both work the same way. While it may not be obvious at first, parentheses, quotes, etc. are also technically operators. For example: |
||
− | |||
− | /run CastSpellByName("Charge") SpellStopCasting() CastShapeshiftForm(3) |
||
− | |||
− | can be shortened to (among other optimizations): |
||
− | |||
− | /run CastSpellByName("Charge")SpellStopCasting()CastShapeshiftForm(3) |
||
− | |||
− | === Several /script commands in one macro === |
||
− | |||
− | Just put it all in one big line. Do it for the Widow's Son. Once again, the amount of readability will decrease, but you'll shave off some characters. |
||
− | |||
− | |||
− | === Make it small, not good-looking === |
||
− | |||
− | Do not use paranthesis in flow-control statements (if, for, while...) unless totally necessary. |
||
− | |||
− | Once again, it may look pretty: |
||
− | |||
− | /script if ( qwerty == yuiop ) then asdf(); end |
||
− | |||
− | ... but it can be made to be small: |
||
− | /run if qwerty==yuiop then asdf()end |
||
− | |||
− | === Spells that always are cast === |
||
− | |||
− | Do not use CastSpellByName for these ones. |
||
− | If the spell is always cast, use /cast instead. Less bytes, and even easier to understand. :) |
||
− | Plus, it really is the same. No, really, it is! |
||
− | |||
− | /script CastSpellByName("Volley"); |
||
− | |||
− | becomes |
||
− | |||
− | /cast Volley |
||
− | |||
− | In fact, this is one of the few techniques that actually makes stuff smaller without it being less readable. |
||
− | |||
− | * Note: [[API_CastSpellByName|CastSpellByName]] is PROTECTED (since patch 2.0.1), and can only be called from Blizzard code. Thus, having to use /cast is inevitable. |
||
− | |||
− | == Advanced techniques == |
||
− | |||
− | These can be a bit harder to apply. |
||
− | |||
− | === Different conditionals causing the same result === |
||
− | |||
− | If you see that a macro does the same thing dependent on several conditions, you can bunch them together. |
||
− | |||
− | Basically, this means that if you see: |
||
− | |||
− | if A then X elseif B then X elseif C then X elseif D then Y end |
||
− | |||
− | you can compress it to the following form |
||
− | |||
− | if A or B or C then X elseif D then Y end |
||
− | |||
− | You might also be able to use slightly different conditions to achieve the same result. For example a macro with 4 different commands based on modifier keys: |
||
− | |||
− | /use [modifier:shift,modifier:alt]act4;[modifier:alt]act3;[modifier]act2;act1 |
||
− | |||
− | becomes |
||
− | |||
− | /use [nomodifier]act1;[nomodifier:alt]act2;[nomodifier:shift]act3;act4 |
||
− | |||
− | === Using shorter conditionals === |
||
− | |||
− | You can shorten following the conditionals since 2.3: |
||
− | |||
− | modifier -> mod, button -> btn, actionbar -> bar, equipped -> worn , stance -> form |
||
− | |||
− | so the above becomes |
||
− | |||
− | /use [nomod]act1;[nomod:alt]act2;[nomod:shift]act3;act4 |
||
− | |||
− | And the original was actually just 2 characters longer |
||
− | |||
− | /use [mod:shift,mod:alt]act4;[mod:alt]act3;[mod]act2;act1 |
||
− | |||
− | |||
− | === Items === |
||
− | |||
− | Use item IDs instead of Item names. |
||
− | |||
− | /use Reins of the Veridian Netherwing Drake |
||
− | |||
− | is a lot longer than |
||
− | |||
− | /use item:32861 |
||
− | |||
− | === Making aliases === |
||
− | |||
− | If the macro uses a long name for something you can make an alias for it. |
||
− | |||
− | For instance check out this macro: |
||
− | /script if not UnitExists("pet") then CastSpellByName("Revive Pet"); else if UnitIsDead("pet") then CastSpellByName("Revive Pet");else CastSpellByName("Mend Pet");end;end |
||
− | |||
− | Shrunk with this method alone: |
||
− | /script c=CastSpellByName if not UnitExists("pet") then c("Revive Pet"); else if UnitIsDead("pet") then c("Revive Pet");else c("Mend Pet");end;end |
||
− | |||
− | Quite a difference. We'll see how this macro can be shrunk even further. |
||
− | |||
− | Another example from my mage "Eat,Drink and Be Mary" macro |
||
− | /script if ( UnitHealthMax("player") - UnitHealth("player") > 50 ) then UseContainerItem(0, 1); end if ( UnitManaMax("player") - UnitMana("player") > 100 ) then UseContainerItem(0, 2); end |
||
− | |||
− | /script p="player" if ( UnitHealthMax(p) - UnitHealth(p) > 50 ) then UseContainerItem(0, 1); end if ( UnitManaMax(p) - UnitMana(p) > 100 ) then UseContainerItem(0, 2); end |
||
− | |||
− | |||
− | === Substituting and/or for if-then === |
||
− | |||
− | If you have an if-then expression where both branches do the same thing with slightly different values, consider getting rid of the if-then, and using a ''condition expression'' (known to C programmers as a ''ternary operator''). This is based on the Lua idiom that |
||
− | a and b or c |
||
− | will evaluate to ''b'', if ''a'' is anything but ''nil'' or ''false''. Otherwise, the expression will evaluate to ''c''. We can extend this to |
||
− | cond1 and val1 or cond2 and val2 or ... condN and valN or valLast |
||
− | |||
− | For instance check out this macro: |
||
− | /script if not UnitExists("pet") then CastSpellByName("Revive Pet"); else if UnitIsDead("pet") then CastSpellByName("Revive Pet");else CastSpellByName("Mend Pet");end;end |
||
− | |||
− | Shrunk with this method alone: |
||
− | /script c=CastSpellByName if not UnitExists("pet") then c("Revive Pet"); else if UnitIsDead("pet") then c("Revive Pet");else c("Mend Pet");end;end |
||
− | |||
− | == Examples == |
||
− | |||
− | Examples of macros being shrunk down using the techniques above. |
||
− | |||
− | === Hunter Macros === |
||
− | |||
− | Let's look at a few examples (originally from the LazyFAQ / Hunter Macro thread): |
||
− | |||
− | This macro does the following : if your pet is dead, Revive Pet. Otherwise, if it's alive, Mend Pet. |
||
− | /script if not UnitExists("pet") then CastSpellByName("Revive Pet"); else if UnitIsDead("pet") then CastSpellByName("Revive Pet");else CastSpellByName("Mend Pet");end;end |
||
− | |||
− | Shrunk version: |
||
− | /run CastSpellByName((not UnitExsists("pet")or UnitIsDead("pet"))and "Revive Pet" or "Mend Pet") |
||
− | |||
− | Feed Pet macro - it checks if you're in combat or not. Then it looks for the item in Slot Y in Bag No. X and feeds your pet the food. If there's nothing there, the bag will open prompting for attention. Replace X = Your Bag slot, starting with "0", reads from Right to Left. Replace Y = Your Item Slot in your bag, starting with "1", reads from Left to Right, top to bottom row. |
||
− | |||
− | /script if (not PlayerFrame.inCombat) then if (not GetContainerItemLink(X,Y)) then OpenBag(X); else CastSpellByName("Feed Pet"); PickupContainerItem(X,Y); end end |
||
− | |||
− | Shrunk: |
||
− | /run if not UnitAffectingCombat("player") then if not GetContainerItemLink(X,Y) then OpenBag(X) else CastSpellByName("Feed Pet") PickupContainerItem(X,Y) end end |
||
− | |||
− | Note that not PlayerFrame.inCombat is not a totally sure way of checking if you are in combat anymore. Use not UnitAffectingCombat("player") instead. |
||
− | |||
− | === Generic macros === |
||
− | |||
− | From my mage "Eat,Drink and Be Mary" macro |
||
− | /script if ( UnitHealthMax("player") - UnitHealth("player") > 50 ) then UseContainerItem(0, 1); end if ( UnitManaMax("player") - UnitMana("player") > 100 ) then UseContainerItem(0, 2); end |
||
− | |||
− | Shrunk: |
||
− | /run p="player" if UnitHealthMax(p)-UnitHealth(p)>50 then UseContainerItem(0,1) end if UnitManaMax(p)-UnitMana(p)>100 then UseContainerItem(0,2) end |
||
− | |||
− | == In closing == |
||
− | |||
− | These techniques are meant to work as patterns for macros. Please add your own techniques to the list! |
||
− | |||
− | Remember that, if you post macros, most people who use them will have the 255 character limit. Consider throwing in the original macro and adding the shrunk version. |
||
− | |||
− | Most freely available macros can be shrunk. Note that there is no need to shrink a macro unless you want to expand on it and if you have the built-in limit of 255 characters. |
||
− | I personally find it a challenge to compress and shrink macros - but I'm a weird person. [[User:Sarf|Sarf]] |
||
− | |||
− | [[Category:HOWTOs|Shrink a Macro]] [[Category:Macros]] |
Revision as of 21:20, 5 July 2011
Guardians of Hyjal | |
---|---|
Roots of Nordrassil | |
Main leader | Malfurion Stormrage |
Race(s) |
Night elf Tauren |
Base of operations | Nordrassil |
Theater of operations | Mount Hyjal |
Affiliation | Independent (de jure), Cenarion Circle (de facto) (presumed) |
Status | Active |
Reputation | |
Token(s) | [Mark of the World Tree] (Firelands Invasion) |
Quartermaster | Provisioner Whitecloud |
Tabard |
The Guardians of Hyjal are a new faction that appeared in World of Warcraft: Cataclysm, whose job is to protect Mount Hyjal and Nordrassil. They are worshippers of the Ancients, such as Aessina and Tortolla, and wish to repopulate the region with animal life. Much like the Cenarion Circle, they are Neutral and made up mainly of druids.[1]
Background
Faced with the impending devastation of Mount Hyjal, the most powerful members of the Cenarion Circle have joined forces with their Emerald Dragonflight allies to fend off Ragnaros' elemental hordes and the Twilight's Hammer.
The immense Mount Hyjal has been under increased protection since it was the site of a great battle between Archimonde (a commander of the demonic Burning Legion) and the defenders of Azeroth. It's no longer the charge of any one particular race to protect the mountain; instead, that duty has fallen to an alliance between the Cenarion Circle and green dragonflight known as the Guardians of Hyjal.
The guardians have brought their veneration of the land and ancient demigods like the forest lord Cenarius to Hyjal in times of peace, but it's only now that their presence has become truly crucial. Ragnaros the Firelord and his army of minions have set the mountain aflame with their presence, and they will not rest until Hyjal is reduced to ash around them.
Those heroes who would join with the guardians to heal the land and drive off the invading elementals and their cultist allies can count Archdruids Malfurion Stormrage, Hamuul Runetotem and the green Dragon Aspect, Ysera, among their supporters, and they can add equipment born of the mountain and the World Tree Nordrassil to their arsenal.[2]
Yet another united offensive has formed, much less concerned with the defensive maneuvers of the Guardians of Hyjal. This group, the Avengers of Hyjal, has instead focused on ending the threat of the Firelord once and for all by invading his own realm - the deadly, smoldering Firelands. While this effort might seem suicidal, the Avengers insist that if they don't act against Ragnaros while they have the opportunity, they may not have a world left to defend.[3]
Rewards
Item | Cost | Type | |
---|---|---|---|
Friendly | [Tabard of the Guardians of Hyjal] | 1 | Tabard |
Honored | [Cloak of the Dryads] | 35 22 77 | Back (spirit) |
[Sly Fox Jerkin] | 58 5 42 | Leather Chest (agility) | |
[Galrond's Band] | 21 37 37 | Finger (strength) | |
[Mountain's Mouth] | 21 37 37 | Neck (tank) | |
Revered | [Acorn of the Daughter Tree] | 21 37 37 | Neck (agility) |
[Aessina-Blessed Gloves] | 31 74 41 | Leather Hands (caster) | |
[Waywatcher's Boots] | 66 77 67 | Plate Feet (strength) | |
[Wilderness Legguards] | 75 91 | Mail Legs (spirit) | |
Exalted | [Treads of Malorne] | 80 44 79 | Mail Feet (agility) |
[Belt of the Ferocious Wolf] | 62 42 60 | Plate Waist (strength) | |
[Cord of the Raven Queen] | 35 72 35 | Cloth Belt (spirit) | |
[Wrap of the Great Turtle] | 53 1 34 | Back (tank) |
Reputation
Players start at neutral with this faction.
Completing all the available Mount Hyjal quests is enough to attain revered status. To gain reputation up to exalted requires the [Tabard of the Guardians of Hyjal]. This faction has no daily or repeatable quests.
Players can gain further reputation with the faction doing the Firelands Invasion quests.
References
Patch history
- Template:Patched
External links
|
|
ru:Стражи Хиджала