56 lines
1.6 KiB
C++
56 lines
1.6 KiB
C++
|
|
#ifndef BOE_GAME_INFODLG_H
|
|
#define BOE_GAME_INFODLG_H
|
|
|
|
#include "scenario/item.hpp"
|
|
#include "scenario/monster.hpp"
|
|
#include "universe/pc.hpp"
|
|
#include "universe/creature.hpp"
|
|
|
|
class cDialog;
|
|
void display_spells(eSkill mode,short force_spell,cDialog* parent, bool record=false);
|
|
void display_skills(eSkill force_skill,cDialog* parent, bool record=false);
|
|
void display_pc_item(short pc_num,short item,class cItem si,cDialog* parent);
|
|
void display_monst(short array_pos,cCreature *which_m,short mode);
|
|
void display_alchemy();
|
|
void display_traits_graphics();
|
|
void give_pc_info(short pc_num);
|
|
void adventure_notes();
|
|
void put_talk();
|
|
void talk_notes();
|
|
void journal();
|
|
void add_to_journal(short event);
|
|
void put_spec_item_info (short which_i);
|
|
void put_quest_info(short which_i);
|
|
|
|
// These are defined in pc.editors.cpp since they are also used by the character editor
|
|
void pick_race_abil(cPlayer *pc,short mode,cDialog* parent = nullptr);
|
|
void display_pc(short pc_num,short mode,cDialog* parent_num);
|
|
void display_alchemy(bool allowEdit,cDialog* parent);
|
|
|
|
// Callback for recording encounter strings
|
|
class cStringRecorder {
|
|
private:
|
|
eSpecCtxType spec_type;
|
|
eEncNoteType note_type;
|
|
short label1, label2;
|
|
std::string location;
|
|
public:
|
|
cStringRecorder(eSpecCtxType spec_type, eEncNoteType note_type) : spec_type(spec_type), note_type(note_type) {}
|
|
cStringRecorder& string1(short which) {
|
|
label1 = which;
|
|
return *this;
|
|
}
|
|
cStringRecorder& string2(short which) {
|
|
label2 = which;
|
|
return *this;
|
|
}
|
|
cStringRecorder& at(std::string where) {
|
|
location = where;
|
|
return *this;
|
|
}
|
|
void operator()(cDialog&);
|
|
};
|
|
|
|
#endif
|