Add support for eclipse
Sidoine opened this issue ยท 4 comments
See #789
maybe these ideas will be useful:
AddFunction secondstolunareclipse {
if buffpresent(194223) buffremaining(194223) + {executetime(190984) * 2}
if buffpresent(48517) buffremaining(48517) + {executetime(190984) * 2}
if buffpresent(48518) 0
if spellcount(190984) > 0 and casting(190984) remainingcasttime() + {executetime(190984) * (spellcount(190984) - 1)}
if spellcount(190984) > 0 executetime(190984) * spellcount(190984)
timetosolareclipse() + baseduration(48517) + {executetime(190984) * 2}
}
AddFunction secondstosolareclipse {
if buffpresent(194223) buffremaining(194223) + {executetime(194153) * 2}
if buffpresent(48518) buffremaining(48518) + {executetime(194153) * 2}
if buffpresent(48517) 0
if spellcount(194153) > 0 and casting(194153) remainingcasttime() + {executetime(194153) * (spellcount(194153) - 1)}
if spellcount(194153) > 0 executetime(194153) * spellcount(194153)
timetolunareclipse() + baseduration(48518) + {executetime(194153) * 2}
}
AddFunction lunarEclipse { buffremaining(48518)>executetime(194153) or (spellcount(190984)==1 and casting(190984)) }
AddFunction solarEclipse { buffremaining(48517)>executetime(190984) or (spellcount(194153)==1 and casting(194153)) }
AddFunction timetosolareclipse {
{ buffpresent(48518) and buffremaining(48518)<executetime(194153) and (not buffpresent(48517) or enemies() == 1 and astralpower()>=74) } or
{ not (solarEclipse() or lunarEclipse()) and spellcount(194153) > 0 and (spellcount(190984) == 0 or enemies() == 1 and astralpower()>=74) }
}
AddFunction timetolunareclipse {
{ buffpresent(48517) and buffremaining(48517)<executetime(190984) and (not buffpresent(48518) or enemies() > 3 and astralpower()>=78) } or
{ not (solarEclipse() or lunarEclipse()) and spellcount(190984) > 0 and (spellcount(194153) == 0 or enemies() > 3 and astralpower()>=78) }
}
With some addition conditions functions decide "for sure". Tested on manequin with expected dps.
AddFunction timetosolareclipse {
{ buffpresent(48518) and buffremaining(48518)<executetime(194153) and ( not buffpresent(48517) or (enemies() < 3 and astralpower() >= 74) or (enemies() >= 3 and astralpower() < 74) ) } or
{ not (solarEclipse() or lunarEclipse()) and spellcount(194153) > 0 and ( spellcount(190984) == 0 or (enemies() < 3 and astralpower() >= 74) or (enemies() >= 3 and astralpower() < 74) ) }
}
AddFunction timetolunareclipse {
{ buffpresent(48517) and buffremaining(48517)<executetime(190984) and (not buffpresent(48518) or (enemies() >= 3 and astralpower() >= 78) or (enemies() < 3 and astralpower() < 78) ) } or
{ not (solarEclipse() or lunarEclipse()) and spellcount(190984) > 0 and (spellcount(194153) == 0 or (enemies() >= 3 and astralpower() >= 78) or (enemies() < 3 and astralpower() < 78) ) }
}