A common issue we discuss on IRC (read: argue about) is the future of spellcast. Currently, the code base works very well and is by far our most popular plugin. However, a lot of the functionality is tacked on in a very non-optimal way.
We're allowing a lot of very powerful logic in the XML, but it can make the XML rather unreadable and messy. There have been a few ideas proposed and I'd like to see the community discuss them. None of them are going to happen, and as of now #1 is probably the 80% favorite. But you guys can change that, if you want.
#1: Spellcast remains the same. We clean up the code to be more optimal/efficient and your XML files remain the same with no changes. Your XML's will load into Spellcast 3.0 with minimal to no changes necessary. Very little new functionality would be added.
#2: Spellcast moves to a 2 part system. Your gear sets remain XML based for readability, but the rules/variables section becomes script driven (lua/python/javascript). For example, you'd be able to do something like:
This allows tons of extensions, efficiency and new things to be added. Plus, one limitation of spellcast is that you can only have one of each tag per rule (You can't do BuffActive="buff one" Mode="and" BuffActive="buff two" efficiently). This would allow total customizations.Code:if (FFXI.GetCurrentWeather == "Fire" && FFXI>GetCurrentTime() > 6) { LoadGearSet("fire_weather"); }
#3: A complete overhaul of the system. XML would be gone completely, and the community would give the windower team complete control to rewrite the system to be super efficient, fast, responsive, modern and awesome. This would likely fall to Aikar who wants to rewrite the entire system using JSON and Node.js (for you nerds).
I'd like to hear your opinions, because I know people usually HATE change. However, without change, the system will not evolve. If you accept change, who knows what we could do the spellcast.
I'd like to hear your thoughts on it.
XI Wiki



