Feedback (Complaints, Suggestions and Offers)

Thoughts, Help, Feature Requests, Bug Reports, Developing code for...

Moderators: dorpond, trevor, Azhrei

Forum rules
PLEASE don't post images of your entire desktop, attach entire campaign files when only a single file is needed, or generally act in some other anti-social behavior. :)
Post Reply
Rooster
Kobold
Posts: 5
Joined: Mon Jul 17, 2006 3:59 pm

Feedback (Complaints, Suggestions and Offers)

Post by Rooster »

So. I haven't posted in a long while. Our last Gestalt game died a horrible death, and we've been puttering along in IRC until recently. We've dusted off and updated our MapTools in preparation for a new game and have been oohing and aahing at all the new features and updates. Nice work! It's really coming along! I especially like how the things attached to the left side can be docked/autohid now. Really frees up pixel real estate on screen and lets me use it for what I'm using it for perfectly.

However, we've been doing some practice sessions and dry runs to get the new blood used to MapTool.

I still can't set a Light Source from the center of the square. I *really* wouldn't mind if it behaved like Vision did in terms of origin. But it kinda looks weird when the glowing is a four square box of which the character is the lower right... when it should be a + shaped set of five boxes on the character.

We are playing with Fog of War this time around, and I've been showing the GM of the game how it works... but I've noticed an issue. Say I have an L shaped hallway. I want them to see the nice pretty wall edge, but I don't want the corner of the wall to be half a cell back... I want it to be at the corner. How do I make the visibility work right while letting them see the pretty corridors instead of just blackness where there is solid rock?

Your dice roller requires pimping. I offer to do said pimping. I don't know Java, but I know C++ already and pick up new syntax pretty fast. If someone can talk with me, I'd be glad to work on it.

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Hiya rooster, good to hear from you !

I'm assuming you are using blocky vision ? That's an item on my todo: list already, so look for it soon. If you aren't using block vision, tell me a little more about your setup.

The fog is a tricky one. There was a pretty long discussion about how to draw it a while back.

http://forums.rptools.net/viewtopic.php?t=1234

Dorpond has since been using a method that combines C and D with reasonable results. We're still working on making a more simple built-in solution. We're open to ideas :)
Dreaming of a 1.3 release

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Oh yeah, tell me about what you mean about pimping the roller, what specifically are you looking for ?

As a point of note, giliath just last night integrated his new dice engine. We're still working out the kinks, but you'll be able to do a lot more interesting things with it now (even to the point of arbitrary calculations, the pythagorean theorem for example)
Dreaming of a 1.3 release

Rooster
Kobold
Posts: 5
Joined: Mon Jul 17, 2006 3:59 pm

Post by Rooster »

At the very least, I would like to see the ability to mark my rolls.
That is...
/roll 1d20+4 Initiative
* Rooster rolls: 1d20+4 -> (3) + 4 => 7 [ Initiative ]

I would PREFER complex rolling syntax. For example, I've written in Lua a bot that can understand this:

roll 1d20&17+1d20&12+1d20&7+1d20&2 Full Attack

It returns:

[Roll] Rooster rolls 1d20&17+1d20&12+1d20&7+1d20&2: 28 {11 17} + 23 {11 12} + 10 {3 7} + 22 {20 2} = 83. [ Full Attack ]

This lets me roll my full attack at once. More useful yet is rolling all my damage at once. Say I'm a rogue sneak attacking with a falchion. Further, I have the saint template and I'm attacking an evil creature. My damage looks like this:

roll 2d4+1d8+4d6 Slashing+Holy+Sneak Attack

[Roll] Rooster rolls 2d4+1d8+4d6: 4 {1 3} + 5 + 17 {3 5 3 6} = 26. [ Sneak Attack]

...with the current roller, these complicated and compound rolls require several uses of the roller. It's a good deal more code to generate this sort of output, but anything worth doing is doing right, right?

---

Also, I just realized. You HAVE several key character stats... you could tie it to the roller for further convience.
Last edited by Rooster on Thu Feb 22, 2007 5:05 pm, edited 1 time in total.

User avatar
jay
RPTools Team
Posts: 1767
Joined: Tue Feb 07, 2006 1:07 am
Location: Austin, Tx

Post by jay »

Giliath's new die roll parser does all of this. However, I don't think that it is part of a build yet.

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

Rooster wrote:A
Also, I just realized. You HAVE several key character stats... you could tie it to the roller for further convience.
Definitely :)
Dreaming of a 1.3 release

Rooster
Kobold
Posts: 5
Joined: Mon Jul 17, 2006 3:59 pm

Post by Rooster »

Ah cool, when's it going to get merged in?

User avatar
trevor
Codeum Arcanum (RPTools Founder)
Posts: 11311
Joined: Mon Jan 09, 2006 4:16 pm
Location: Austin, Tx
Contact:

Post by trevor »

It's been merged in, we'll be working out the syntactical kinks over the next couple builds
Dreaming of a 1.3 release

User avatar
mudpyr8
Giant
Posts: 142
Joined: Fri Mar 17, 2006 10:53 am
Location: Michigan
Contact:

Post by mudpyr8 »

Any chance we could get a Hero Dice roller incorporated as well? Something like:


/roll 6d6N
* mudpyr8 rolls: 6d6N -> 1, 2, 3, 4, 5, 6 => 21 STUN, 6 BODY

In Hero, for Normal Damage (xd6N) the total is the STUN and you count the BODY on each die (1s = 0, 2-5s = 1, 6s = 2).

/roll 2d6K
* mudpyr8 rolls: 2d6K -> 3, 5, (5) => 8 BODY, 32 STUN
In Hero, for Killing Damage (xd6K) the total is the BODY and the STUN is a random multiplier (1d6-1, so 0-5 times); in the example above the STUN multiplier die roll was a 5, resulting in 4x STUN.

Just asking. The K damage one isn't that big a deal, especially if we can put an extra 1d6-1 roll on the /roll line, but he Normal Damage one would be a huge time saver.
Legendsmiths presents:
NOVA6, streamlined universal RPG where action happens at the speed of narrative
Narosia * Sea of Tears, a complete fantasy game powered by the Hero System.

User avatar
giliath
RPTools Founder
Posts: 275
Joined: Tue Jan 31, 2006 11:10 am
Location: Austin, TX

Post by giliath »

Rooster wrote:At the very least, I would like to see the ability to mark /roll 1d20+4 Initiative
* Rooster rolls: 1d20+4 -> (3) + 4 => 7 [ Initiative ]
Currently the easiest way to do this is inline rolls.
/say I rolled a [1d20+4] Initiative

which would look like

Rooter says: I rolled a «1d20+4 => 17 + 4 => 21» Initiative
Rooster wrote: I would PREFER complex rolling syntax. For example, I've written in Lua a bot that can understand this:

roll 1d20&17+1d20&12+1d20&7+1d20&2 Full Attack

It returns:

[Roll] Rooster rolls 1d20&17+1d20&12+1d20&7+1d20&2: 28 {11 17} + 23 {11 12} + 10 {3 7} + 22 {20 2} = 83. [ Full Attack ]
This is doable
/roll 1d20+17+1d20+12+1d20+7+1d20+2
would result in

1d20+17+1d20+12+1d20+7+1d20+2 => 11+17+11+12+3+7+20+2 => 83


I will look into seeing if I can do a subgrouping, but that is tricky with a standard approach to expressions. I am currently using Antlr to generate an mathematical expression parser that implements full PEMDAS + functions support. You can do fairly complicated things like:
sqrt(3^2, 4^2)
100d6 * (2 + 3 + 7)
Rooster wrote: Further, I have the saint template and I'm attacking an evil creature. My damage looks like this:

roll 2d4+1d8+4d6 Slashing+Holy+Sneak Attack

[Roll] Rooster rolls 2d4+1d8+4d6: 4 {1 3} + 5 + 17 {3 5 3 6} = 26. [ Sneak Attack]
/roll 2d4+1d8+4d6
Rooster rolls 2d4+1d8+4d6 => 4 + 5 + 17 => 26

For right now the only way to see each individual die roll in a grouping is to split them out.

/roll d4+d4+d8+d6+d6+d6+d6
Rooster rolls d4+d4+d8+d6+d6+d6+d6 => 1+3+5+3+5+3+6 => 26

I plan on working more on the output formats and will keep in mind your request.
Rooster wrote: Also, I just realized. You HAVE several key character stats... you could tie it to the roller for further convience.
We are looking at how we can integrate key character stats into the rolls as well.

Thanks for the suggestions.
~Giliath

User avatar
giliath
RPTools Founder
Posts: 275
Joined: Tue Jan 31, 2006 11:10 am
Location: Austin, TX

Post by giliath »

mudpyr8 wrote:Any chance we could get a Hero Dice roller incorporated as well?
Yep, thanks for reminding me the syntax of Hero rolls... As I was driving to work today I was thinking about how to deal with this sort of thing. The new parser has 2 main mechanisms that make it very extensible.

1) It supports pre-parsing. X[dD]Y support for dice rolling is just a regular expression preparser that is replaced with roll(X, Y). This is necessary because of the ambiguous nature of d8 (looks like a variable named d8). Adding a preparser that supports X[dD]YN should be very straight forward.

2) It supports arbitrary functions. As a matter of fact, there is already code in place to allow javascript functions. Since this parser was implemented to replace the parser in DiceTool it needed to support the full range of features. The biggest complexity is that it currently doesn't have a way to return multiple results, however I think I might know a workaround.
mudpyr8 wrote: Just asking. The K damage one isn't that big a deal, especially if we can put an extra 1d6-1 roll on the /roll line, but he Normal Damage one would be a huge time saver.
Right now the rolling does not support multiple expressions. I haven't decided how I want to do this, but this is a must before I can integrate it back into DiceTool.

Thanks for the great suggestions.
~Giliath

Rooster
Kobold
Posts: 5
Joined: Mon Jul 17, 2006 3:59 pm

Post by Rooster »

I will look into seeing if I can do a subgrouping, but that is tricky with a standard approach to expressions. I am currently using Antlr to generate an mathematical expression parser that implements full PEMDAS + functions support. You can do fairly complicated things like:
The way I implemented it was by building a main output string and a sub-output string and only adding the latter to the former when it encountered an operator that wasn't &(append to last) or the end of the roll expression.

(I basically scan through and find either XdY, X or an operator, and then process accordingly.)

...yes, append drove me nuts to get working right, but I like how it looks.

I could also use something instead like /roll 1d20+7|1d20+7|1d20+7 which is basically doing three separate rolls on one line... for macro/lack of spam friendliness.

Post Reply

Return to “MapTool”