Rolisteam / rolisteam

Rolisteam is a virtual tabletop. It helps you to manage tabletop role playing games with remote friends/players. It provides many features to share maps, pictures, dice roller, manage background music and much more. The main git repository is available here: [https://invent.kde.org/kde/rolisteam].
http://www.rolisteam.org/
Other
187 stars 27 forks source link

Crash on dice roll #97

Closed sioc-de-narf closed 4 years ago

sioc-de-narf commented 5 years ago

Your configuration:

Rolisteam version: 1.8.2 Operating System and version (remove irrelevant):

Rolisteam Setting (remove irrelevant):

What did you do ? (Explain each step from starting rolisteam to the issue)

What did you expect to see ? (Make sentences and explains in details with words)

What did you get instead ? (Describe in details the issue)

Software crashed

I did other test by changing the (), replacing the e<Value< by e[=] I also tried to set it up as macro...

Lookks like you can't add a bonus or malus to each roll or to the final result you want to be kept. It's ignored (if added after the mk1) or client crashed if used like described.

We need a way to add modifiers to roll.

Thanks

obiwankennedy commented 5 years ago

Yes, the support of instructions (;) is bad in rolisteam v1.8.2.

Have you tried: !1d8e8;1d6e6mk1+2 ? if you add 2 at each dice then no need to make the operation twice and then keep the higher result. ((1d8e8+2);(1d6e6+2)) basically this is wrong. As you have two instructions in the same parenthesis. Instructions are at the top. Instruction contains parenthesis, but parenthesis can't contain instruction.

The right command should be: !1d8e8+2;1d6e6+2mk1 But I know this does not work, and the missing feature is here.

Anyway, this command does not lead to crash on recent version of the dicesystem.

sioc-de-narf commented 5 years ago

!1d8e8+2;1d6e6+2mk1 => client crashed

sioc-de-narf commented 5 years ago

!1d8e8;1d6e6mk1+2 => +2 not taken in the math

obiwankennedy commented 5 years ago

1d8e8+2;1d6e6+2mk1

I checked a bit, in fact, the k operator expects dice result from previous node. the +2 transforms the dice result in scalar result. So K can't operate. So this should not be used. In rolisteam v1.9, it is not crashing but merge operator only merge dice result. So the scalar result (dice value + 2 ) is ignored.

1d8e8;1d6e6mk1+2

It looks to me to be the best solution. It is working just fine in rolisteam v1.9

sioc-de-narf commented 5 years ago

ok, when do we get the 1.9 ?