Ok this has obviously moved on while I was asleep, so the HB cases are:
1. You are already below 50% HP before any gear swaps (this means you can skip the HB trigger set): SOLO
2. You are above 50% HP before any swaps, but switching to your HB trigger set will push you below 50% (so the HB set is needed): SOLO
3. You are above 50% HP before any swaps, but your HB trigger set will not push below 50% (so healing breath won't happen): SOLO
4. As 1 but in party
5. As 2 but in party
6. As 3 but in party (except HB may still trigger as there maybe some one below 50% in the group)
The reason I have broken it down into so many cases is you can reduce the number of gear swaps and the amount of delays needed.
Only case 2 and 5 need the HB trigger set, 1, 4 and 6 only need you to but your wyvernHP set and 3 doesn't need any swaps at all.
lets see what comes out (stealing some code from fosgate):
<var name="WHMsubhp">450</var>
<var name="BLUSubhp">475</var>
HB Trigger Set = 100 HP (just an example)
PHP Code:
<if CommandPrefix="/ma|/magic">
<!-- General Rules (covers case 1,2,4 and 5)-->
<!-- You are below 50% HP before you equip HB Trigger, Case 1 and 4 -->
<if Advanced='%HP<=$%SubJobsubhp'>
<action type="equip" when="midcast" set="WyvernHP" />
<action type="aftercastdelay" delay="2" />
<if Status="Engaged">
<action type="equip" when="aftercast" set="TPMAGE" />
</if>
<else>
<action type="equip" when="aftercast" set="IDLE SET HERE" />
</else>
</if>
<!-- You are below 50% HP after you equip HB Trigger, Case 2 and 5 -->
<elseif Advanced='%HP<=($%SubJobsubhp+99)'>
<action type="castdelay" delay=".2" />
<action type="equip" when="precast" set="HBTrigger" />
<action type="equip" when="midcast" set="WyvernHP" />
<action type="aftercastdelay" delay="2" />
<if Status="Engaged">
<action type="equip" when="aftercast" set="TPMAGE" />
</if>
<else>
<action type="equip" when="aftercast" set="IDLE SET HERE" />
</else>
</elseif>
<!-- Solo rules -->
<!-- Solo, You aren't below 50% HP after you equip HB Trigger, Case 3 -->
<if advanced='%PartyCount==1' Advanced='%HP>=($%SubJobsubhp+99)'>
<action Type="Return" />
</if>
<!-- Party Rules -->
<!-- Party, You aren't below 50% HP after you equip HB Trigger, Equiping HB gear to heal party member, Case 6 -->
<if advanced='%PartyCount=!1' Advanced='%HP<=($%SubJobsubhp+99)'>
<action type="equip" when="midcast" set="WyvernHP" />
<action type="aftercastdelay" delay="2" />
<if Status="Engaged">
<action type="equip" when="aftercast" set="TPMAGE" />
</if>
<else>
<action type="equip" when="aftercast" set="IDLE SET HERE" />
</else>
</if>
</if>
Disclaimer, untested code (but check for syntax errors) and written for SC 2.2