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

March 04 (5 years ago)
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

March 05 (5 years ago)
Ravenknight
KS Backer


Victor B. said:

Status Update: I'm getting close to publishing this to Roll20

Awesome!




March 05 (5 years ago)
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.

March 05 (5 years ago)
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

March 05 (5 years ago)
Kraynic
Pro
Sheet Author

!cmaster is longest of those three, but is probably less likely to end up duplicated elsewhere.

March 05 (5 years ago)
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.

March 06 (5 years ago)
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)
March 06 (5 years ago)
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.

March 06 (5 years ago)

Edited March 06 (5 years ago)
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

March 06 (5 years ago)
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

March 06 (5 years ago)
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.

March 06 (5 years ago)

Edited March 06 (5 years ago)
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.  

March 06 (5 years ago)

Edited March 06 (5 years ago)
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.  

March 06 (5 years ago)
Mik Holmes
Pro
Marketplace Creator

Any news on when the next update will hit github?

March 06 (5 years ago)
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.

March 07 (5 years ago)
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%

March 07 (5 years ago)

Edited March 07 (5 years ago)
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.  

March 07 (5 years ago)

Edited March 07 (5 years ago)


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.


March 07 (5 years ago)
Victor B.
Pro
Sheet Author
API Scripter

Version 1.8 Alpha found here: https://github.com/vicberg/CombatMaster

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.  

- Help needs a few updates and reformats

Can't wait to test it out! Did these two bugs get a fix yet?

March 08 (5 years ago)
Victor B.
Pro
Sheet Author
API Scripter

No missed those

March 08 (5 years ago)

Edited March 08 (5 years ago)

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: "<p>A grappled creature's speed becomes 0, and it can’t benefit from any bonus to its speed.</p> <p>The condition ends if the Grappler is <i>incapacitated</i>.</p> <p>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.</p>",

March 08 (5 years ago)
Ravenknight
KS Backer


Victor B. said:

Version 1.8 Alpha found here: https://github.com/vicberg/CombatMaster


- 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}
March 08 (5 years ago)
Ravenknight
KS Backer


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.

March 08 (5 years ago)

Edited March 08 (5 years ago)
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.

https://docs.google.com/spreadsheets/d/1FYm2zIIZJut8CdMIdZ0f7W_RHHv7DMqZL_FJpUl33zc/edit?usp=sharing

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!

March 08 (5 years ago)

Edited March 08 (5 years ago)

I am not sure why or what was causing this error.  However, I was receiving an issue, id undefined error, within handleGraphicMovement. 

I fixed it with a check

handleGraphicMovement = function (obj /*, prev */) {
        let turnID, objID
        if (debug) {
            log ('Handle Graphic Movement')
        }
 
        if(!inFight()) return;
        let currentTurn = getCurrentTurn();
        if (obj.hasOwnProperty("id") && currentTurn.hasOwnProperty("id")) {
            if (currentTurn.id && obj.get('id')) {
                if(currentTurn.id === obj.get('id')){
                    changeMarker(obj);
                }
            }  
        }   

    },
March 08 (5 years ago)
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!

March 09 (5 years ago)
Victor B.
Pro
Sheet Author
API Scripter

@jakvike, I haven't had an issue in handleGraphicMovement in a long time.  But I went ahead and added your change to be safe

@keith, I'm using it in my games.  1.8 has a LOT of changes in it but no one has posted a serious issue since yesterday.  I'd say yes

March 09 (5 years ago)

Edited March 09 (5 years ago)
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? 

March 09 (5 years ago)
Victor B.
Pro
Sheet Author
API Scripter

Play added conditions? 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?

March 09 (5 years ago)
Ravenknight
KS Backer

That would work just fine!

March 09 (5 years ago)
Victor B.
Pro
Sheet Author
API Scripter

Ok, I'll add it.  

March 09 (5 years ago)

Edited March 09 (5 years ago)
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.  That will come following week

And there will be a new thread for Combat Master.  

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.

March 09 (5 years ago)
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.

March 11 (5 years ago)

Yo @Victor, when using Dynamic Initiative with 1.8, it results in the scripts disabling to prevent an infinite loop