Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

CombatMaster Alpha

1583350429
Victor B.
Pro
Sheet Author
API Scripter
From what?  CM or CT and what version of CT?  
Victor B. said: From what?  CM or CT and what version of CT?   I am trying to import my condition from CM 1.7.1 to another one of my games also with CM 1.7.1
Victor B. said: Status Update: I'm getting close to publishing this to Roll20 Awesome!
1583392186
Dumbhuman
Pro
Marketplace Creator
I'm glad to see that the ability to execute a specifically-named macro on a character's turn is functioning correctly now.  Thank you for that.  Overall, I think I'm about ready to make the switch to using CombatMaster instead of CombatTracker & StatusInfo. There are however two tiny things that I wanted to point out that you might want to look into before trying to publish the script.  The first is that there's an API script known as CashMaster which also listens for !cm for its commands.  You might want to consider switching yours to !combat or some such to head off any conflicts there. The second consideration regards the journal entries that CombatMaster creates for its help files.  While I appreciate having extensive documentation, I personally would prefer having such provided in the chat window when I enter a command like !combat help, especially because the handouts created by CombatMaster always pop out of whatever folder I place them in and reassert their position at the bottom of my journal entries which I'd rather keep clean (because I use folders a little obsessively). I can fix both of the above for myself if I use a slightly tweaked version of your code (replacing !cm for !combat and commenting out the buildhelp call), but I just wanted to point them out as slight changes that are possibly worth thinking about.  I haven't run any actual sessions with CombatMaster yet, but I'm looking forward to doing so next week.
1583417650
Victor B.
Pro
Sheet Author
API Scripter
Ouch another !cm.... -- I have help in HTML, so it would be that much to convert to !cm --help.  hmmm aboutt the !cm.  I guess I have no choice.  !combat or !com or !cmaster
1583417797
Kraynic
Pro
Sheet Author
!cmaster is longest of those three, but is probably less likely to end up duplicated elsewhere.
1583442146
Victor B.
Pro
Sheet Author
API Scripter
I have the logic to add conditions not in the list.   Right now, it's duration/direction/message.  Are APIs needed?  I wouldn't think so because in that case, it really should be a more permanent condition.  
@Victor, I agree, I don't see any reason to have dynamic conditions be anymore complicated than that. If an API could be used in conjunction with one, it would be easiest to run it separately I think.
I wasn't gonna say anything about the Cash Master thing but yeah a fix would be really cool. I've been swapping between Combat Master and Cash Master.
1583485177
Mik Holmes
Pro
Marketplace Creator
Bug - 1.7.1 Import/Export Import/Export seems to not work altogether. Tested in a fresh game with fresh tokenLib and CM 1.7.1.  Even with default settings, importing the default export gives: TypeError: Cannot read property 'command' of undefined TypeError: Cannot read property 'command' of undefined at importConditions (apiscript.js:953:28) at commandHandler (apiscript.js:533:13) at _.each (apiscript.js:301:21) at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:186:9) at inputHandler (apiscript.js:296:19) at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:65:16) at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:70:8) at /home/node/d20-api-server/api.js:1638:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147)
1583490188
Havoc
Sheet Author
API Scripter
Victor B. said: conditions What about the ability to modify the conditions on the fly? Like, adding X Condition and have on the turn order message a cog to edit the values (add turns, remove them, make it permanent, change icon etc.). Maybe even a command that shows all the token conditions and allows them to be edited.
1583505817

Edited 1583506002
Victor B.
Pro
Sheet Author
API Scripter
Import was screwed up.  It's been fixed I've changed over to cmaster I've added logic to add conditions that aren't in the list Working on the targeted conditions functionality I've changed HELP from handouts to !cmaster --help.  Help needs some love, future item
1583509798
Victor B.
Pro
Sheet Author
API Scripter
Havoc, that's getting challenging.  You are talking about an assigned condition that you want to modify.  What I generally do, is remove the condition and assign a new one.  I'll think about that
1583513775
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I'm still getting the issue that if I make any changes to the Custom Token Marker set, CM is not recognizing them. 1) The token marker assignment drop down still reports the old list. I cannot assign new token markers, and trying to set a new token marker that is identically named to an old one (ex: "Blinded") will cause it to appear in the CM main menu, but not on the token, when CM assigns it. 2) If the new set contains an identically named token marker (ex: "Blinded"), it can read the marker if set manually. I.e. if I assign Blinded through the Token Marker popup menu, CM will report the token as Blinded. If I try to set the condition through CM, no token marker appears, though the condition is recorded and reported and can be removed.
1583520739

Edited 1583520974
Victor B.
Pro
Sheet Author
API Scripter
I saw code last night that may be the issue in CM for displaying the old list.  Let me check it out.  Try a restart of the API sandbox.  That usually works.  
1583520960

Edited 1583520986
Victor B.
Pro
Sheet Author
API Scripter
And wait, you're saying the icon isn't displaying on the token.  I saw something similar yesterday.  I imported from one game to another.  Added the icon sets to the new game and they weren't being recognized.  I'm not sure that's a CM issue because after doing a few exits and restarts of the API it worked.  I think that's a Roll20 thing, somehow.  I know it's not a coding issue because the if the icon doesn't display for one, it wouldn't display for any.  
1583529590
Mik Holmes
Pro
Marketplace Creator
Any news on when the next update will hit github?
1583535413
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
I have restarted the sandbox, the game and flush the cache several times without change. I believe this is pretty much the same issue I was reporting earlier, which I solved with the nuclear option of creating a new game, just to test CM. It will display a generic color dot icon, but none of the custom token markers, once they have been changed, even if they bear the same name.
1583548230
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
And now it's working properly. In case anyone wants to duplicate my success, the trick was to go do shopping, do some artwork, let the dog out and back in, have dinner, and then try again.
keithcurtis said: And now it's working properly. In case anyone wants to duplicate my success, the trick was to go do shopping, do some artwork, let the dog out and back in, have dinner, and then try again. The recipe for any great success story!
Mik Holmes said: Bug - 1.7.1 Import/Export Import/Export seems to not work altogether. Tested in a fresh game with fresh tokenLib and CM 1.7.1.  Even with default settings, importing the default export gives: TypeError: Cannot read property 'command' of undefined TypeError: Cannot read property 'command' of undefined at importConditions (apiscript.js:953:28) at commandHandler (apiscript.js:533:13) at _.each (apiscript.js:301:21) at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:186:9) at inputHandler (apiscript.js:296:19) at eval (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:65:16) at Object.publish (eval at <anonymous> (/home/node/d20-api-server/api.js:154:1), <anonymous>:70:8) at /home/node/d20-api-server/api.js:1638:12 at /home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:93:560 at hc (/home/node/d20-api-server/node_modules/firebase/lib/firebase-node.js:39:147) I am still getting this error when trying to import.
The Devilish DM said: @Vic i dug around in the libTokenMarkers script and found the scale options. I was able to adjust it there. Meant to ask you this before, but how did you go about doing this? Which line/values did you adjust? I want to size up my markers by about 10%
1583592304

Edited 1583592334
Victor B.
Pro
Sheet Author
API Scripter
@keith it could be a time thing.  It just takes Roll20 some time to fully load those icons? @Anthony, import has been fixed in next release @Persephone, there's scale options in libTokenMarker.  I have then hard coded in Combat Master.   @Mik, it may be ready today or tomorrow.  
1583608751

Edited 1583608868
keithcurtis  said: And now it's working properly. In case anyone wants to duplicate my success, the trick was to go do shopping, do some artwork, let the dog out and back in, have dinner, and then try again. I have a system to make it work. I have no idea if this is exactly what is needed but it worked for me once so now I repeat it every time. Fresh save libtokenmarker script. Restart api sandbox. reload game window. IN THAT ORDER. XD Persephone said: The Devilish DM said: @Vic i dug around in the libTokenMarkers script and found the scale options. I was able to adjust it there. Meant to ask you this before, but how did you go about doing this? Which line/values did you adjust? I want to size up my markers by about 10% I messed with the scale numbers in these lines below.
1583621505
Victor B.
Pro
Sheet Author
API Scripter
Version 1.8 Alpha found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> Fixed - Import New Functionality - !cm changed to !cmaster - help changed from handouts to !cmaster --help - you can add conditions that aren't in the list - targeted conditions, where you assign the condition to the original token, then select other "target tokens" Not Fixed: - I haven't figured out what to display on a targeted announcement.&nbsp;&nbsp; - Help needs a few updates and reformats
Can't wait to test it out! Did these two bugs get a fix yet?
1583626701
Victor B.
Pro
Sheet Author
API Scripter
No missed those
1583627733

Edited 1583627990
Regarding dynamic conditions, is there a way to disable the condition description link for only those types of conditions in the turn announcement (without disabling that function for other conditions)? Or have it return a message to chat like "this is a temporary condition" if it is clicked? Since they don't exist in the list, if that link is accidentally clicked the API crashes. Also, some sort of confirmation message after adding a dynamic condition to a token might be useful, just so the user knows the command worked.
As a heads up there is a small type on line 2717 in the description of the grappled condition you may wish to correct for the full release. I'm sure "can’t" should read as either "can't" or "can not". description: "&lt;p&gt;A grappled creature's speed becomes 0, and it can’t benefit from any bonus to its speed.&lt;/p&gt; &lt;p&gt;The condition ends if the Grappler is &lt;i&gt;incapacitated&lt;/i&gt;.&lt;/p&gt; &lt;p&gt;The condition also ends if an effect removes the grappled creature from the reach of the Grappler or Grappling effect, such as when a creature is hurled away by the Thunderwave spell.&lt;/p&gt;",
Victor B. said: Version 1.8 Alpha found here:&nbsp; <a href="https://github.com/vicberg/CombatMaster" rel="nofollow">https://github.com/vicberg/CombatMaster</a> - you can add conditions that aren't in the list Woot! A big thank you for adding this Victor! ( But I don't understand how to actually do this. :/ Can someone assist? )
@Ravenknight, similar to how you said you did it in CT, but the syntax is changed. Try this macro. !cmaster --add,condition=?{Condition Name},duration=?{Duration|1},direction=?{Direction|-1},message=?{Message}
Persephone said: @Ravenknight, similar to how you said you did it in CT, but the syntax is changed. Try this macro. !cmaster --add,condition=?{Condition Name},duration=?{Duration|1},direction=?{Direction|-1},message=?{Message} That did it! Thanks mate.
1583657632

Edited 1583657663
Mik Holmes
Pro
Marketplace Creator
If you're like me, you love Combat Master, and you're constantly adding new conditions and status markers to your games. However, doing all the condition work in Roll20 can be pretty tedious! Now that Import/Export is working, I made a tool. <a href="https://docs.google.com/spreadsheets/d/1FYm2zIIZJut8CdMIdZ0f7W_RHHv7DMqZL_FJpUl33zc/edit?usp=sharing" rel="nofollow">https://docs.google.com/spreadsheets/d/1FYm2zIIZJut8CdMIdZ0f7W_RHHv7DMqZL_FJpUl33zc/edit?usp=sharing</a> This spreadsheet lets you build your configuration from scratch, and outputs a text string that you can import directly to your games. I am working on upgrading this to be easier to use later on. Thanks Vic for such a great script!
1583698065

Edited 1583701396
I am not sure why or what was causing this error.&nbsp; However, I was receiving an issue, id undefined error, within handleGraphicMovement.&nbsp; I fixed it with a check handleGraphicMovement = function (obj /*, prev */) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let turnID, objID &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (debug) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log ('Handle Graphic Movement') &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!inFight()) return; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; let currentTurn = getCurrentTurn(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (obj.hasOwnProperty("id") &amp;&amp; currentTurn.hasOwnProperty("id")) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (currentTurn.id &amp;&amp; obj.get('id')) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(currentTurn.id === obj.get('id')){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; changeMarker(obj); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; },
1583702631
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Victor, in your opinion, is this latest version safe enough to begin testing installation on an active game? I've been confining testing to a specific test game until this point.
@Mik, that's an awesome tool, thank you for sharing!
1583714320
Victor B.
Pro
Sheet Author
API Scripter
@jakvike, I haven't had an issue in handleGraphicMovement in a long time.&nbsp; But I went ahead and added your change to be safe @keith, I'm using it in my games.&nbsp; 1.8 has a LOT of changes in it but no one has posted a serious issue since yesterday.&nbsp; I'd say yes
1583729118

Edited 1583731593
Ravenknight
KS Backer
@Keith, We tried it in our main campaign and it certainly seems stabile enough. Victor, the ability for players to add conditions works great but the menu that shows up at the start of each turn ended up being too intrusive for my players. (We mostly play text only and use macros for any token-changes.) Would it be possible to add a toggle that kept the ability but removed the player menu?&nbsp;
1583729719
Victor B.
Pro
Sheet Author
API Scripter
Play added conditions?&nbsp;So when a player comes up in turnorder, I could add an condition button along with delay and done and they can click to show condition list and add their condition???? Work?
That would work just fine!
1583731790
Victor B.
Pro
Sheet Author
API Scripter
Ok, I'll add it.&nbsp;&nbsp;
1583731941

Edited 1583731996
Victor B.
Pro
Sheet Author
API Scripter
I'm going to post current version to Roll20 tomorrow, then I'll address the player added conditions, other bugs reports and update help.&nbsp; That will come following week And there will be a new thread for Combat Master.&nbsp;&nbsp;
One other minor bug in 1.8 is the API console output still shows the command as being !cm which could be confusing for new users.
1583733385
Victor B.
Pro
Sheet Author
API Scripter
Yep I'll fix that
Getting this error when trying to change the name of a condition that has a description.
All looking good so far in my game - any update on the Rotation aspect from CombatTracker?
Im a little confused... Can I allow Players to add Conditions to other Tokens (That they do not own and can not select)? If so How exactly? Ex: Player 1 attacks Player 2. Player 1's attack adds the poisoned condition for 2 rounds. If I make a Custom poisoned condition can I script it so that Player 1 can apply it (via @target) Or do I as the GM have to add it?
@Victor, regarding the markers being exponentially added, I just realized I mistook the cause. It only happens with markers from sets bought in the Roll20 marketplace, and the duration is set to 10 or higher. This doesn't happen with default markers or custom uploaded markers.
Yo @Victor, when using Dynamic Initiative with 1.8, it results in the scripts disabling to prevent an infinite loop