guided enchantment choices in talk node
This commit is contained in:
@@ -42,4 +42,5 @@
|
|||||||
</text>
|
</text>
|
||||||
<button name='chooseB' type='regular' top='135' left='414'>Choose</button>
|
<button name='chooseB' type='regular' top='135' left='414'>Choose</button>
|
||||||
<button name='chooseA' type='large' top='112' left='414'>Create/Edit</button>
|
<button name='chooseA' type='large' top='112' left='414'>Create/Edit</button>
|
||||||
|
<button name='chooseA-regular' type='regular' top='112' left='414'>Choose</button>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
@@ -118,7 +118,7 @@ Unused
|
|||||||
Person identifying items says:
|
Person identifying items says:
|
||||||
Unused
|
Unused
|
||||||
Enchant Weapons
|
Enchant Weapons
|
||||||
Type of enchantment (See docs. for list)
|
Type of enchantment
|
||||||
Unused
|
Unused
|
||||||
Unused
|
Unused
|
||||||
Unused
|
Unused
|
||||||
|
@@ -1137,9 +1137,18 @@ static void put_talk_node_in_dlog(cDialog& me, std::stack<node_ref_t>& talk_edit
|
|||||||
if(talk_node.type == eTalkNode::SHOP)
|
if(talk_node.type == eTalkNode::SHOP)
|
||||||
me["chooseB"].show();
|
me["chooseB"].show();
|
||||||
else me["chooseB"].hide();
|
else me["chooseB"].hide();
|
||||||
if(talk_node.type != eTalkNode::CALL_TOWN_SPEC && talk_node.type != eTalkNode::CALL_SCEN_SPEC)
|
me["chooseA-regular"].hide();
|
||||||
me["chooseA"].hide();
|
switch(talk_node.type){
|
||||||
else me["chooseA"].show();
|
case eTalkNode::ENCHANT:
|
||||||
|
me["chooseA-regular"].show();
|
||||||
|
break;
|
||||||
|
case eTalkNode::CALL_TOWN_SPEC: case eTalkNode::CALL_SCEN_SPEC:
|
||||||
|
me["chooseA"].show();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
me["chooseA"].hide();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if(talk_edit_stack.size() > 1)
|
if(talk_edit_stack.size() > 1)
|
||||||
me["back"].show();
|
me["back"].show();
|
||||||
@@ -1195,6 +1204,10 @@ static bool select_talk_node_value(cDialog& me, std::string item_hit, const std:
|
|||||||
spec = get_fresh_spec(mode);
|
spec = get_fresh_spec(mode);
|
||||||
if(edit_spec_enc(spec,mode,&me))
|
if(edit_spec_enc(spec,mode,&me))
|
||||||
me["extra1"].setTextToNum(spec);
|
me["extra1"].setTextToNum(spec);
|
||||||
|
} else if(item_hit == "chooseA-regular") {
|
||||||
|
int i = me["extra1"].getTextAsNum();
|
||||||
|
i = choose_text(STRT_ENCHANT,i,&me,"Which enchantment?");
|
||||||
|
me["extra1"].setTextToNum(i);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1212,7 +1225,7 @@ short edit_talk_node(short which_node) {
|
|||||||
talk_dlg["back"].attachClickHandler(std::bind(talk_node_back, _1, std::ref(talk_edit_stack)));
|
talk_dlg["back"].attachClickHandler(std::bind(talk_node_back, _1, std::ref(talk_edit_stack)));
|
||||||
talk_dlg["new"].attachClickHandler(std::bind(talk_node_branch, _1, std::ref(talk_edit_stack)));
|
talk_dlg["new"].attachClickHandler(std::bind(talk_node_branch, _1, std::ref(talk_edit_stack)));
|
||||||
talk_dlg["choose-type"].attachClickHandler(std::bind(select_talk_node_type, _1, std::ref(talk_edit_stack)));
|
talk_dlg["choose-type"].attachClickHandler(std::bind(select_talk_node_type, _1, std::ref(talk_edit_stack)));
|
||||||
talk_dlg.attachClickHandlers(std::bind(select_talk_node_value, _1, _2, std::ref(talk_edit_stack)), {"chooseA", "chooseB"});
|
talk_dlg.attachClickHandlers(std::bind(select_talk_node_value, _1, _2, std::ref(talk_edit_stack)), {"chooseA","chooseA-regular","chooseB"});
|
||||||
talk_dlg["who"].attachFocusHandler(check_talk_personality);
|
talk_dlg["who"].attachFocusHandler(check_talk_personality);
|
||||||
talk_dlg.attachFocusHandlers(check_talk_key, {"key1", "key2"});
|
talk_dlg.attachFocusHandlers(check_talk_key, {"key1", "key2"});
|
||||||
talk_dlg.attachFocusHandlers(std::bind(check_talk_xtra, _1, std::ref(talk_edit_stack), _2, _3), {"extra1", "extra2", "extra3", "extra4"});
|
talk_dlg.attachFocusHandlers(std::bind(check_talk_xtra, _1, std::ref(talk_edit_stack), _2, _3), {"extra1", "extra2", "extra3", "extra4"});
|
||||||
|
Reference in New Issue
Block a user