diff --git a/doc/editor/appendix/Specials.html b/doc/editor/appendix/Specials.html index 39348986..79b2ee8b 100644 --- a/doc/editor/appendix/Specials.html +++ b/doc/editor/appendix/Specials.html @@ -1674,7 +1674,7 @@ spell pattern relative to a specified space. spell pattern relative to a specified space.
Extra 1a, Extra 1b, Extra 1c:
Same as above node.
-
Extra 2a
The type of damage to deal
+
Extra 2a:
The type of damage to deal
The amount of damage to deal. This is the number of six-sided dice to roll to calculate the damage.
If 0, it will animate each affected creature sequentially using simply booms, diff --git a/rsrc/strings/specials-text-affect.txt b/rsrc/strings/specials-text-affect.txt index 3b4a37f0..1d3481a7 100644 --- a/rsrc/strings/specials-text-affect.txt +++ b/rsrc/strings/specials-text-affect.txt @@ -152,10 +152,10 @@ Unused Unused How many AP 0 - give, 1 = take -extra 1c -extra 2a -extra 2b -extra 2c +Unused +Unused +Unused +Unused Special to Jump To -------------------- Affect Name @@ -174,16 +174,32 @@ Unused Unused Special to Jump To -------------------- -Unused Node -Unused -Unused +Affect Level +Unused +Unused +First part of message +Second part of message +Unused +Unused +Unused +Number of levels +0 - add levels, 1 - remove Unused Unused Unused Unused +Special to Jump To +-------------------- +Affect Morale +Unused +Unused +First part of message +Second part of message Unused Unused Unused +Amount to change +0 - increase, 1 - decrease Unused Unused Unused @@ -222,66 +238,50 @@ Unused Unused Special to Jump To -------------------- -Unused Node -Unused -Unused -Unused -Unused -Unused -Unused +Affect Soul Crystal +Unused +Unused +First part of message +Second part of message Unused Unused Unused +0 - record, 1 - erase +0 - allow resist, 1 - force Unused Unused Unused Unused Special to Jump To -------------------- -Unused Node -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused +Affect Monster Attack +Unused +Unused +First part of message +Second part of message Unused Unused Unused +Attack to change (0 ... 2) +Amount to change dice +Amount to change sides +0 - increase, 1 - decrease Unused Unused Special to Jump To -------------------- -Unused Node -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Unused -Special to Jump To --------------------- -Unused Node -Unused -Unused -Unused -Unused -Unused -Unused -Unused +Affect Monster Statistic +Unused +Unused +First part of message +Second part of message Unused Unused Unused +Amount to change +0 - increase, 1 - decrease Unused +Which stat (0 ... 10) Unused Unused Special to Jump To diff --git a/src/classes/special.cpp b/src/classes/special.cpp index dec4eaed..ce0ef9d6 100644 --- a/src/classes/special.cpp +++ b/src/classes/special.cpp @@ -365,6 +365,7 @@ std::istream& operator >> (std::istream& in, eSpecType& e) { // I - Choose button to select a special item // t - Choose button to select a terrain type // c - Choose button to select a monster type +// C - Choose button to select a monster statistic // a - Choose button to select an alchemy recipe // A - Choose button to select a mage spell // P - Choose button to select a priest spell @@ -420,7 +421,7 @@ static const char*const button_dict[7][11] = { "s s s S", // ex2b " ", // ex2c }, { // affect pc nodes - "mmmmmmmmmmm mmmmmmmmmm", // msg1 + "mmmmmmmmmmmmm mmmmmmmmmmmmm", // msg1 " ", // msg2 " M M ", // msg3 " 5 ", // pic @@ -428,7 +429,7 @@ static const char*const button_dict[7][11] = { " w q AP a ", // ex1a " s", // ex1b " e Q ", // ex1c - " K E ", // ex2a + " CK E ", // ex2a " D ", // ex2b " x ", // ex2c }, { // if-then nodes diff --git a/src/scenedit/scen.keydlgs.cpp b/src/scenedit/scen.keydlgs.cpp index 15634dff..f0d96468 100644 --- a/src/scenedit/scen.keydlgs.cpp +++ b/src/scenedit/scen.keydlgs.cpp @@ -337,6 +337,12 @@ short choose_text(eStrType list, unsigned short cur_choice, cDialog* parent, std case STRT_TREASURE: strings = {"0 - Junk", "1 - Lousy", "2 - So-so", "3 - Good", "4 - Great"}; break; + case STRT_MONST_STAT: + strings = { + "Maximum Health", "Maximum Magic Points", "Armor", "Skill", "Speed", "Mage Spells", "Priest Spells", + "Magic Resistance", "Fire Resistance", "Cold Resistance", "Poison Resistance", + }; + break; } if(cur_choice < 0 || cur_choice >= strings.size()) cur_choice = -1; @@ -780,6 +786,7 @@ static bool edit_spec_enc_value(cDialog& me, std::string item_hit, node_stack_t& case 'I': strt = STRT_SPEC_ITEM; title = "Which special item?"; break; case 't': strt = STRT_TER; title = "Which terrain?"; break; case 'c': strt = STRT_MONST; title = "Which monster?"; break; + case 'C': strt = STRT_MONST_STAT; title = "Which statistic?"; break; case 'a': strt = STRT_ALCHEMY; title = "Which recipe?"; break; case 'A': strt = STRT_MAGE; title = "Which spell?"; break; case 'P': strt = STRT_PRIEST; title = "Which spell?"; break; diff --git a/src/scenedit/scen.keydlgs.h b/src/scenedit/scen.keydlgs.h index f00417e9..2290696b 100644 --- a/src/scenedit/scen.keydlgs.h +++ b/src/scenedit/scen.keydlgs.h @@ -12,7 +12,7 @@ enum eStrType { STRT_SHOP, STRT_COST_ADJ, STRT_STAIR_MODE, STRT_TALK_NODE, STRT_STATUS, STRT_SPELL_PAT, STRT_SUMMON, STRT_TALK, STRT_ENCHANT, STRT_DIR, STRT_QUEST, STRT_QUEST_STATUS, - STRT_HEALING, STRT_TREASURE, + STRT_HEALING, STRT_TREASURE, STRT_MONST_STAT, }; bool cre(short val,short min,short max,std::string text1,std::string text2,cDialog* parent) ;