| Posted by
| Nick Gammon
Australia (23,165 posts) Bio
Forum Administrator |
| Message
| "Use the Source, Luke ...".
The source gives a clue. Looking at spell_smaug I see this:
/* -Thoric
* Fancy dice expression parsing complete with order of operations,
* simple exponent support, dice support as well as a few extra
* variables: L = level, H = hp, M = mana, V = move, S = str, X = dex
* I = int, W = wis, C = con, A = cha, U = luck, A = age
*
* Used for spell dice parsing, ie: 3d8+L-6
*
*/
i
I also see:
switch(operation)
{
case '-': total -= rd_parse(ch, level, sexp[1]); break;
case '+': total += rd_parse(ch, level, sexp[1]); break;
case '*': total *= rd_parse(ch, level, sexp[1]); break;
case '/': total /= rd_parse(ch, level, sexp[1]); break;
case '%': total %= rd_parse(ch, level, sexp[1]); break;
case 'd': case 'D': total = dice( total, rd_parse(ch, level, sexp[1]
) ); break;
case '<': total = (total < rd_parse(ch, level, sexp[1]));
break;
case '>': total = (total > rd_parse(ch, level, sexp[1]));
break;
case '=': total = (total == rd_parse(ch, level, sexp[1]));
break;
case '{': total = UMIN( total, rd_parse(ch, level, sexp[1]
) ); break;
case '}': total = UMAX( total, rd_parse(ch, level, sexp[1]
) ); break;
case '^':
{
int y = rd_parse(ch, level, sexp[1]), z = total;
for (x = 1; x < y; ++x, z *= total);
total = z;
break;
}
}
return total;
So, it seems to be something to do with the minimum of two numbers. :) |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | | Top |
|