Fix spellcasting and dynamic menus

- Spell targeting line and array draws nicely, though not the same as the original
- Fix targeting falsely complaining about being off the edge of town
- Monster info dialog works properly; attacks now display correctly
- Fix dialogs always showing the wrong terrain or monster graphic
- Spell menus, monster menus, and PC editor item menus all work
- Spellcasting dialog now chooses the correct spell
- Fix out-of-place LED in spellcasting dialog
This commit is contained in:
2014-04-22 02:06:31 -04:00
parent d90a006e43
commit a4430cdf5a
15 changed files with 71 additions and 100 deletions

View File

@@ -429,8 +429,9 @@ static void put_monst_info(cDialog& me)
for(i = 0; i < 3; i++) {
if (store_m->a[i] > 0) {
std::ostringstream sout(store_text);
sout << store_m->a[i] / 100 + 1 << 'd' << store_m->a[i] % 100;
if(store_m->a[i].sides == 0) continue;
std::ostringstream sout(std::ios_base::ate);
sout << store_m->a[i];
store_text = sout.str();
sout.str("attack");
sout << i + 1;
@@ -494,7 +495,7 @@ static bool display_monst_event_filter(cDialog& me, std::string item_hit, eKeyMo
void display_monst(short array_pos,cCreature *which_m,short mode)
//creature_data_type *which_m; // if NULL, show full roster
//short mode; // if 1, full roster, else use monster from storwhich_me_m
//short mode; // if 1, full roster, else use monster from store_m
{
position = array_pos;
full_roster = false;