class 1 misa1 : citizen
{
handler:
EventHandler TALK_SELECTED( fhtml0, talker )
{
if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
{
myself::ShowSystemMessage( talker, 1118 );
return;
}
if( _from_choice == 0 )
{
if( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 1 )
{
_choiceN = _choiceN + 1;
_code = 0;
myself::AddChoice( _code, "The Other Side of Truth" );
}
if( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 2 )
{
_choiceN = _choiceN + 1;
_code = 1;
myself::AddChoice( _code, "The Other Side of Truth (Continue)" );
}
if( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 3 )
{
_choiceN = _choiceN + 1;
_code = 2;
myself::AddChoice( _code, "The Other Side of Truth (Continue)" );
}
if( _choiceN > 1 )
{
myself::ShowChoicePage( talker, 1 );
return;
}
}
if( _from_choice || _choiceN == 1 )
{
switch( _code )
{
case 0:
{
if( _from_choice == 0 ||
( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 1 ) )
{
myself::SetCurrentQuestID( @the_other_side_of_truth );
if( myself::OwnItemCount( talker, @q_misas_letter ) == 0 )
{
if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 )
{
talker.quest_last_reward_time = myself::GetCurrentTick();
myself::GiveItem1( talker, @q_misas_letter, 1 );
myself::ShowPage( talker, "misa_q0115_01.htm" );
myself::SetFlagJournal( talker, @the_other_side_of_truth, 2 );
}
}
else
{
myself::ShowPage( talker, "misa_q0115_02.htm" );
}
}
break;
}
case 1:
{
if( _from_choice == 0 ||
( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 2 ) )
{
myself::SetCurrentQuestID( @the_other_side_of_truth );
myself::ShowPage( talker, "misa_q0115_03.htm" );
}
break;
}
case 2:
{
if( _from_choice == 0 ||
( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 3 ) )
{
myself::SetCurrentQuestID( @the_other_side_of_truth );
myself::ShowPage( talker, "misa_q0115_05.htm" );
}
break;
}
}
return;
}
super;
}
EventHandler MENU_SELECTED( ask, reply, talker )
{
if( myself::GetInventoryInfo( talker, 0 ) >= myself::GetInventoryInfo( talker, 1 ) * 0.800000 ||
myself::GetInventoryInfo( talker, 2 ) >= myself::GetInventoryInfo( talker, 3 ) * 0.800000 )
{
myself::ShowSystemMessage( talker, 1118 );
return;
}
if( ask == 115 )
{
myself::SetCurrentQuestID( @the_other_side_of_truth );
if( reply == 1 )
{
if( myself::HaveMemo( talker, @the_other_side_of_truth ) == 1 &&
myself::GetMemoState( talker, @the_other_side_of_truth ) == 2 )
{
if( myself::OwnItemCount( talker, @q_raffortys_letter ) == 1 )
{
if( myself::GetCurrentTick() - talker.quest_last_reward_time > 1 )
{
talker.quest_last_reward_time = myself::GetCurrentTick();
myself::DeleteItem1( talker, @q_raffortys_letter, 1 );
myself::SetMemoState( talker, @the_other_side_of_truth, 3 );
myself::SetMemoStateEx( talker, @the_other_side_of_truth, 1, 0 );
myself::SetFlagJournal( talker, @the_other_side_of_truth, 7 );
myself::ShowPage( talker, "misa_q0115_04.htm" );
}
}
}
}
}
super;
}
}