set_compiler_opt base_event_type(@NTYPE_NPC_EVENT)
class yohan : cleric_coach {
handler:
EventHandler TALK_SELECTED(fhtml0,talker)
{
if( _from_choice == 0 )
{
if( HaveMemo(talker, @save_my_sister1) == 1 && OwnItemCount(talker, @poison_sac) > 0 )
{
_choiceN = _choiceN + 1;
_code = 0;
AddChoice(0, "Save My Sister (Выполняется)");
}
if( HaveMemo(talker, @save_my_sister1) == 1 && OwnItemCount(talker, @fever_medicine) > 0 )
{
_choiceN = _choiceN + 1;
_code = 1;
AddChoice(1, "Save My Sister (Выполняется)");
}
if( _choiceN > 1 )
{
ShowChoicePage(talker, 1);
return;
}
}
if( _from_choice || _choiceN == 1 )
{
select( _code )
{
case 0:
{
if( ( _from_choice == 0 || ( HaveMemo(talker, @save_my_sister1) == 1 && OwnItemCount(talker, @poison_sac) > 0 ) ) )
{
SetCurrentQuestID(@save_my_sister1);
if( GetInventoryInfo(talker, 0) >= GetInventoryInfo(talker, 1) * 0.800000 || GetInventoryInfo(talker, 2) >= GetInventoryInfo(talker, 3) * 0.800000 )
{
ShowSystemMessage(talker, 1118);
return;
}
if( OwnItemCount(talker, @poison_sac) == 1 )
{
if( ( GetCurrentTick() - talker.quest_last_reward_time ) > 1 )
{
talker.quest_last_reward_time = GetCurrentTick();
GiveItem1(talker, @fever_medicine, 1);
DeleteItem1(talker, @poison_sac, 1);
ShowPage(talker, "yohan_q0259_01.htm");
SetFlagJournal(talker, @save_my_sister1, 3);
ShowQuestMark(talker, @save_my_sister1);
SoundEffect(talker, "ItemSound.quest_middle");
}
}
else if( OwnItemCount(talker, @fever_medicine) == 1 )
{
ShowPage(talker, "yohan_q0259_02.htm");
}
}
break;
}
case 1:
{
if( ( _from_choice == 0 || ( HaveMemo(talker, @save_my_sister1) == 1 && OwnItemCount(talker, @fever_medicine) > 0 ) ) )
{
SetCurrentQuestID(@save_my_sister1);
if( GetInventoryInfo(talker, 0) >= GetInventoryInfo(talker, 1) * 0.800000 || GetInventoryInfo(talker, 2) >= GetInventoryInfo(talker, 3) * 0.800000 )
{
ShowSystemMessage(talker, 1118);
return;
}
ShowPage(talker, "yohan_q0259_02.htm");
}
break;
}
}
return;
}
super;
}
}