Rumble wrote:plothos wrote:If that turns out to be the case, I have pretty much no reservations any longer. I don't mind having to learn JS to code. I just hate the idea of having to redo everything I've done already.
A conversion tool would be the dog's bollocks, but yeesh - sounds hard.
On the other hand, personally, the more I think about it, the more I look forward to redoing everything to see if I can do it better.
First, I expect that no conversion tool will be 100%, so even if you run the tool, you need to know javacript BEFORE running it so you can fix things that don't convert easily.
One way to help mitigate this fact is to reduce your existing macros into logical units now and make liberal use of [macro..]. Also, don't forget that at least for D&D, there will probably be tons of people working to convert their stuff, so you should be able to borrow many common components such as attack(bonuses, critThreshold, targetDefense){} where bonuses is an object with things like {enhancementBonus=x, featbonus=y}, etc and targetDefense is something like {value=a, displaytext=b} This will return an object, with things such as
Code: Select all
var attackresult1 = attack(bonuses, critThreshold, targetDefense )
write attackresult1.roll
write attackresult1.modifiedRoll
write attackresult1.IsCritical
write attackresult1.IsHit
Of course, I am simply using "write" as a placeholder for however it spits output to the chat window. Of course, instead of just using write here, you could then pass the above stuff to further functions for damage dealing(suggested to break out attack roll vs damage assignment)
The attack method would not do anything with the displaytext of targetDefense, that would be for latter printing out. Likewise, if targetDefense.value is not passed, then attackresult1.IsHit would not be set. etc.
At the end of the day, just because you can't start writing your javascript code and testing in Maptool today, that does not mean you cannot put some thought into how your code is arranged and how your objects in the future should possible look. For example, I personally LOVE the way Veggisama's framework makes liberal use of the [t:] (I think thats the one????) option to format the various elements in an attack or damage roll for the tool tip as you get the result and a tooltip with a nice break down the elements that made up the result.
Edit: The above was meant solely as an example of the top off my head and should not be considered a final thought product. Of course, there are more things that need to be incorporated into the thoughts about how each object should work and of course each person will have some differences as to how to deal with attacks, damages, and how verbose the output display information will look. It would be nice if the attack resolution stuff were separate from the display and everyone using the same GameSystem used the same attack() and damage() methods(again, just an example name) and then used their own custom displayResults(or whatever you want to name it) to build your output string for chat.
I save all my Campaign Files to DropBox. Not only can I access a campaign file from pretty much any OS that will run Maptool(Win,OSX, linux), but each file is versioned, so if something goes crazy wild, I can always roll back to a previous version of the same file.
Get your Dropbox 2GB via my
referral link, and as a bonus, I get an extra 250 MB of space. Even if you don't don't use my link, I still enthusiastically recommend Dropbox..