~ubuntu-branches/ubuntu/saucy/lordsawar/saucy

« back to all changes in this revision

Viewing changes to src/gui/ruin-report-dialog.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Barry deFreese, Barry deFreese
  • Date: 2008-12-20 13:52:12 UTC
  • mfrom: (1.1.6 upstream) (5.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20081220135212-noeb2w3y98ebo7o9
Tags: 0.1.4-1
[ Barry deFreese ]
* New upstream release.
* Move 0.0.8-2.1 changelog entry to correct point in changelog.
* Make lordsawar-data suggest lordsawar.
* Update my e-mail address.
* Add build-depends on intltool, uuid-dev, and libboost-dev.
* Don't install locales since there are no translations currently.
* Add simple man page for new lordsawar-pbm binary.
* Drop gcc4.3 patches as they have been fixed upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
#include "glade-helpers.h"
28
28
#include "image-helpers.h"
29
29
#include "input-helpers.h"
30
 
#include "../ucompose.hpp"
31
 
#include "../defs.h"
32
 
#include "../GameMap.h"
33
 
#include "../File.h"
34
 
#include "../sound.h"
35
 
#include "../ruin.h"
36
 
#include "../ruinlist.h"
37
 
#include "../templelist.h"
 
30
#include "ucompose.hpp"
 
31
#include "defs.h"
 
32
#include "GameMap.h"
 
33
#include "File.h"
 
34
#include "sound.h"
 
35
#include "ruin.h"
 
36
#include "ruinlist.h"
 
37
#include "templelist.h"
38
38
 
39
39
RuinReportDialog::RuinReportDialog(Vector<int> pos)
40
40
{
45
45
  Gtk::Dialog *d = 0;
46
46
  xml->get_widget("dialog", d);
47
47
  dialog.reset(d);
 
48
  decorate(dialog.get());
 
49
  window_closed.connect(sigc::mem_fun(dialog.get(), &Gtk::Dialog::hide));
48
50
 
49
51
  xml->get_widget("map_image", map_image);
50
52
 
74
76
  map_eventbox->add_events(Gdk::BUTTON_PRESS_MASK);
75
77
  map_eventbox->signal_button_press_event().connect(
76
78
    sigc::mem_fun(*this, &RuinReportDialog::on_map_mouse_button_event));
77
 
  dialog->set_title(_("Ruins and Temples"));
 
79
  set_title(_("Ruins and Temples"));
78
80
 
79
81
  xml->get_widget("name_label", name_label);
80
82
  xml->get_widget("type_label", type_label);
81
83
  xml->get_widget("explored_label", explored_label);
 
84
  xml->get_widget("description_label", description_label);
82
85
 
83
86
  fill_in_ruin_info();
84
87
}
97
100
void RuinReportDialog::run()
98
101
{
99
102
  ruinmap->resize();
100
 
  ruinmap->draw();
 
103
  ruinmap->draw(Playerlist::getActiveplayer());
101
104
 
102
105
  Sound::getInstance()->playMusic("hero", 1);
103
106
  dialog->show_all();
125
128
{
126
129
  NamedLocation *l = ruinmap->getNamedLocation();
127
130
  name_label->set_text(l->getName());
 
131
  description_label->set_text(l->getDescription());
128
132
  Ruin *ruin = Ruinlist::getInstance()->getObjectAt(l->getPos());
129
133
  Temple *temple = Templelist::getInstance()->getObjectAt(l->getPos());
130
134
  if (ruin)
137
141
      if (ruin->isSearched())
138
142
        explored_label->set_text(_("Yes"));
139
143
      else
140
 
        explored_label->set_text(_("No"));
 
144
        {
 
145
          std::string hint = "  ";
 
146
          explored_label->set_text(_("No"));
 
147
          //add the difficulty hint.
 
148
          if (ruin->getOccupant() != NULL)
 
149
            {
 
150
              Stack *s = ruin->getOccupant();
 
151
              switch ((*s->front()).getStat(Army::STRENGTH))
 
152
                {
 
153
                case 9: 
 
154
                  hint += _("It is especially well-guarded."); break;
 
155
                case 8: 
 
156
                  hint += _("Rumour speaks of a formidable force within."); 
 
157
                  break;
 
158
                case 7: 
 
159
                  hint += _("Even heroes are wary of this site."); break;
 
160
                case 6: 
 
161
                  hint += _("Bones litter this place."); break;
 
162
                case 5: case 4: case 3: case 2: case 1: 
 
163
                  hint += _("It is guarded."); break;
 
164
                case 0: 
 
165
                  hint += ""; break;
 
166
                default: 
 
167
                  hint += ""; break;
 
168
                }
 
169
            }
 
170
          else
 
171
            hint += _("Bones litter this place.");
 
172
          description_label->set_text(description_label->get_text() + hint);
 
173
        }
141
174
    }
142
175
  else if (temple)
143
176
    {
146
179
    }
147
180
  else
148
181
    type_label->set_text("");
 
182
 
149
183
}