diff --git a/complex2.cpp b/complex2.cpp index 9ca6c34d..26b0ee8d 100644 --- a/complex2.cpp +++ b/complex2.cpp @@ -1153,6 +1153,12 @@ EX namespace dice { return isDie(c->wall) || isDie(c->monst); } + EX string describe(cell *c) { + if (!data.count(c)) return "BUG: die data missing"; + else if (!data[c].which) return "BUG: die data default-initialized"; + else return XLAT("d%1 rolled %2", its(data[c].which->faces), its(data[c].val + 1)); + } + EX void roll(movei mi) { auto &cto = mi.t; auto &th = mi.s; diff --git a/help.cpp b/help.cpp index 323cc789..a3b9e2e5 100644 --- a/help.cpp +++ b/help.cpp @@ -945,6 +945,9 @@ EX void describeMouseover() { if(c->wall == waRose) out += " (" + its(7-rosephase) + ")"; if(c->wall == waTerraWarrior) out += " (" + its(c->landparam) + ")"; + #if CAP_COMPLEX2 + if(isDie(c->wall)) out += " (" + dice::describe(c) + ")"; + #endif if((c->wall == waBigTree || c->wall == waSmallTree) && c->land != laDryForest) help = @@ -972,6 +975,10 @@ EX void describeMouseover() { else if(c->monst) { out += ", "; out += XLAT1(minf[c->monst].name); + #if CAP_COMPLEX2 + if(isDie(c->monst)) + out += " (" + dice::describe(c) + ")"; + #endif if(hasHitpoints(c->monst)) out += " (" + its(c->hitpoints)+" HP)"; if(isMutantIvy(c))