Changes to game: - Permanent martyr's shield is now customizable - extra1 is per-mille chance to activate each time damage is taken, and extra2 is percent of damage taken to apply to attacker - Absort spells is now customizable - extra1 is per-mille chance to activate each time damage is taken or a magic effect is applied, and extra2 is how much hp to gain from non-damaging magic effects - Splits ability is now customizable - extra1 is per-mille chance of splitting each time damage is taken - Special node ability is now called before the monster tries its normal attack, and multiple monsters can use them per round (though each can only use theirs once) - Fix issue with breath weapons and icy touch abilities conflicting (legacy import issue) - Add two variations of the summoning ability - summon according to summoning level (like the spells), or summon a random creature of a particular species - Fix touch abilities using the range as chance to use Changes to dialog engine: - Fix tab order handling to exclude fields that are currently hidden - Add method to retrieve the parameter passed to toast(), as a quick way to distinguish between the user clicking OK or Cancel after run() has exited - Fix hidden fields being drawn anyway - Fix setting stack page sometimes crashing if the current page was invalid due to earlier reducing the page count to 0
39 lines
1.8 KiB
C++
39 lines
1.8 KiB
C++
|
|
#include <string>
|
|
#include "pict.hpp" // for ePicType
|
|
class cDialog;
|
|
|
|
enum eStrType {
|
|
STRT_MONST, STRT_ITEM, STRT_TER, STRT_BUTTON,
|
|
STRT_SPEC_ITEM, STRT_MAGE, STRT_PRIEST, STRT_ALCHEMY,
|
|
STRT_TOWN, STRT_SECTOR, STRT_SKILL, STRT_TRAIT, STRT_RACE,
|
|
STRT_PICT, STRT_SND, STRT_CMP, STRT_ACCUM, STRT_TRAP,
|
|
STRT_ATTITUDE, STRT_STAIR, STRT_LIGHT, STRT_CONTEXT,
|
|
STRT_SHOP, STRT_COST_ADJ, STRT_STAIR_MODE, STRT_TALK_NODE,
|
|
STRT_STATUS, STRT_SPELL_PAT, STRT_SUMMON,
|
|
};
|
|
|
|
bool cre(short val,short min,short max,std::string text1,std::string text2,cDialog* parent) ;
|
|
void display_strings(char *text1, char *text2,
|
|
char *title,short sound_num,short graphic_num,short graphic_type,cDialog* parent);
|
|
void put_choice_pics(short g_type);
|
|
pic_num_t choose_graphic(short cur_choice,ePicType g_type,cDialog* parent);
|
|
short choose_text_res(std::string res_list,short first_t,short last_t,unsigned short cur_choice,cDialog* parent,const char *title);
|
|
short choose_text(eStrType list, unsigned short cur_choice, cDialog* parent,const char* title);
|
|
void edit_text_str(short which_str,short mode);
|
|
bool edit_spec_enc(short which_node,short mode,cDialog* parent);
|
|
short get_fresh_spec(short which_mode);
|
|
void edit_spec_text(short mode,short *str1,short *str2,cDialog* parent);
|
|
void edit_dialog_text(short mode,short *str1,cDialog* parent);
|
|
void edit_spec_text(short mode,short *str1,short *str2,cDialog* parent);
|
|
short edit_special_num(short mode,short what_start);
|
|
void edit_scen_intro();
|
|
bool edit_area_rect_str(short which_str,short mode);
|
|
void make_cursor_sword() ;
|
|
void edit_dialog_text(short mode,short *str1,cDialog* parent);
|
|
size_t num_strs(short str_mode);
|
|
|
|
pic_num_t choose_damage_type(short cur, cDialog* parent);
|
|
short choose_field_type(short cur, cDialog* parent, bool includeSpec);
|
|
pic_num_t choose_status_effect(short cur, bool party, cDialog* parent);
|