Перейти к содержанию
Авторизация  
smehotronik

Потребление MP Valakas'ом на скилы

Рекомендуемые сообщения

В 14.04.2020 в 19:09, Rogue сказал:

Мана берн работает в процентах, там достаточно раз 6 вала сбернить и у него 0 мп. Но скиллы бесплатные у него все равно, так что смысла нет.

Открой аи,скрипты птс посмотри

Изменено пользователем donero

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 часа назад, donero сказал:

Открой аи,скрипты птс посмотри

Ну дак 0 мп цена у его скиллов на птс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет

В 16.04.2020 в 16:01, Rogue сказал:

Ну дак 0 мп цена у его скиллов на птс.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 22.04.2020 в 17:25, BlooDLucifer сказал:

Нет

 

Спойлер

skill_begin	skill_name=[s_valakas_trample_left]	skill_id=4681	level=1	operate_type=A1	magic_level=75	effect={{i_p_attack;23397;10}}	is_magic=0	mp_consume2=0	cast_range=50	effective_range=400	skill_hit_time=1	skill_cool_time=1.5	skill_hit_cancel_time=0.5	reuse_delay=0	attribute=attr_valakas	effect_point=-100	target_type=enemy	affect_scope=square	affect_object=not_friend	fan_range={0;15;250;160}	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_trample_right]	skill_id=4682	level=1	operate_type=A1	magic_level=75	effect={{i_p_attack;23397;10}}	is_magic=0	mp_consume2=0	cast_range=50	effective_range=400	skill_hit_time=1	skill_cool_time=1.5	skill_hit_cancel_time=0.5	reuse_delay=0	attribute=attr_valakas	effect_point=-100	target_type=enemy	affect_scope=square	affect_object=not_friend	fan_range={0;-15;250;160}	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_dragon_breath_low]	skill_id=4683	level=1	operate_type=A2	magic_level=75	effect={{i_m_attack;499};{t_hp;-72;5}}	is_magic=0	mp_consume2=0	cast_range=600	effective_range=1100	skill_hit_time=3	skill_cool_time=2	skill_hit_cancel_time=0.5	reuse_delay=0	activate_rate=80	lv_bonus_rate=2	basic_property=men	abnormal_time=10	abnormal_lv=1	abnormal_type=dragon_breath	attribute=attr_fire	effect_point=-100	target_type=enemy	affect_scope=fan	affect_object=not_friend	fan_range={0;0;1200;35}	affect_limit={0;0}	next_action=none	debuff=1	ride_state={@ride_none}	affect_scope_height={-100;100}	skill_end
skill_begin	skill_name=[s_valakas_dragon_breath_high]	skill_id=4684	level=1	operate_type=A2	magic_level=75	effect={{i_m_attack;499};{t_hp;-72;5}}	is_magic=0	mp_consume2=0	cast_range=900	effective_range=1400	skill_hit_time=3	skill_cool_time=2	skill_hit_cancel_time=0.5	reuse_delay=0	activate_rate=80	lv_bonus_rate=2	basic_property=men	abnormal_time=10	abnormal_lv=1	abnormal_type=dragon_breath	attribute=attr_fire	effect_point=-100	target_type=enemy	affect_scope=square	affect_object=not_friend	fan_range={0;0;1700;160}	affect_limit={0;0}	next_action=none	debuff=1	ride_state={@ride_none}	affect_scope_height={100;300}	skill_end
skill_begin	skill_name=[s_valakas_tail_stomp_a]	skill_id=4685	level=1	operate_type=A1	magic_level=75	effect={{i_p_attack;37224;10}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=3	skill_cool_time=1	skill_hit_cancel_time=0.5	reuse_delay=0	attribute=attr_fire	effect_point=-100	target_type=self	affect_scope=square_pb	affect_object=not_friend	fan_range={0;180;1000;120}	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_tail_stomp_b]	skill_id=4686	level=1	operate_type=A1	magic_level=75	effect={{i_m_attack;121}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=0	skill_cool_time=0	skill_hit_cancel_time=0	reuse_delay=0	attribute=attr_fire	effect_point=-100	target_type=self	affect_scope=square_pb	affect_object=not_friend	fan_range={0;180;500;120}	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_tail_stomp_visual]	skill_id=4687	level=1	operate_type=A1	magic_level=75	effect={}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=3	skill_cool_time=0	skill_hit_cancel_time=0.5	reuse_delay=0	attribute=attr_none	effect_point=0	target_type=target	affect_scope=single	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_tail_lash]	skill_id=4688	level=1	operate_type=A2	magic_level=75	effect={{i_p_attack;21423;10};{i_fly_away};{p_block_act}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=3	skill_cool_time=3	skill_hit_cancel_time=0.5	reuse_delay=0	activate_rate=80	lv_bonus_rate=1	basic_property=con	abnormal_time=9	abnormal_lv=1	abnormal_type=fly_away	attribute=attr_shock	effect_point=-100	target_type=self	affect_scope=square_pb	affect_object=not_friend	fan_range={0;180;250;500}	affect_limit={0;0}	next_action=none	debuff=1	ride_state={@ride_none}	skill_end
skill_begin	skill_name=[s_valakas_fear]	skill_id=4689	level=1	operate_type=A2	magic_level=75	effect={{p_fear};{p_block_controll};{i_save_position}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=3	skill_cool_time=2	skill_hit_cancel_time=0	reuse_delay=0	activate_rate=80	lv_bonus_rate=1	basic_property=men	abnormal_time=30	abnormal_lv=1	abnormal_type=turn_flee	attribute=attr_derangement	effect_point=-100	target_type=self	affect_scope=point_blank	affect_range=1000	affect_object=not_friend	affect_limit={0;0}	next_action=none	debuff=1	ride_state={@ride_none}	affect_scope_height={-100;300}	skill_end
skill_begin	skill_name=[s_valakas_fear_visual]	skill_id=4689	level=2	operate_type=A2	magic_level=75	effect={{p_fear};{p_block_controll};{i_save_position}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=0	skill_cool_time=0	skill_hit_cancel_time=0	reuse_delay=0	activate_rate=-1	lv_bonus_rate=0	basic_property=men	abnormal_time=30	abnormal_lv=1	abnormal_type=turn_flee	attribute=attr_derangement	effect_point=-100	target_type=self	affect_scope=point_blank	affect_range=1000	affect_object=not_friend	affect_limit={0;0}	next_action=none	debuff=1	ride_state={@ride_none}	affect_scope_height={-100;300}	skill_end
skill_begin	skill_name=[s_valakas_meteor_storm]	skill_id=4690	level=1	operate_type=A1	magic_level=75	effect={{i_m_attack;834}}	is_magic=0	mp_consume2=0	cast_range=-1	effective_range=-1	skill_hit_time=8	skill_cool_time=2	skill_hit_cancel_time=0.5	reuse_delay=0	attribute=attr_fire	effect_point=-100	target_type=self	affect_scope=balakas_scope	affect_range=300	affect_object=not_friend	affect_limit={0;0}	next_action=none	ride_state={@ride_none}	skill_end

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Господи, во-первых в ПТС-дате многие скиллы валакаса имеют 0 мп, это верно.

Во-вторых выжигание МП боссам и мобам работает в целом, потому что перед каждым юзом скиллов они проверяют соблюдение условий для попытки юза, но Валакас может кастовать потому что смотрим в первый пункт. 

 

Вот к примеру декомпил части АИ валакаса, чтобы было наглядно, что перед любым Дизаером на юз скилла делаются проверки:

Спойлер

 


class ai_boss07_valakas_select_target_skill extends ai_boss07_valakas_decide_action
{
	parameters:

	EventHandler CREATED(reply, i0)
	{
		super;
		myself->c_ai0 = gg->GetNullCreature();
		myself->c_ai1 = gg->GetNullCreature();
		for (i0 = 0; i0 < 4; i0 = i0->++)
		{
			myself->SetHateInfoListIndex(i0);
			myself->SetMaxHateListSize(200);
		}
		myself->i_ai0 = 1;
		myself->AddTimerEx(1003, 60 * 1000);
	}

	EventHandler ATTACKED(attacker, damage, i0, i1, i2, c0, c2, skill_name_id, h0, h1)
	{
		super;
		if (attacker->yongma_type == 1 && gg->GetAbnormalLevel(attacker, myself->Skill_GetAbnormalType(279052289)) <= 0)
		{
			if (myself->Skill_GetConsumeMP(279052289) < myself->sm->mp && myself->Skill_GetConsumeHP(279052289) < myself->sm->hp && myself->Skill_InReuseDelay(279052289) == 0)
			{
				myself->AddUseSkillDesire(attacker, 279052289, 0, 1, 1000000);
			}
		}
		if (attacker->is_pc == 0 && myself->IsInCategory(12, attacker->npc_class_id) == 1)
		{
			if ((gg->FloatToInt(attacker->master->z) - gg->FloatToInt(attacker->z)) > 100)
			{
				c0 = attacker->master;
				if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
				{
					myself->i_ai0 = 5;
					if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
				{
					myself->i_ai0 = 4;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
				{
					myself->i_ai0 = 3;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
				{
					myself->i_ai0 = 2;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else
				{
					myself->i_ai0 = 1;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
				}
				if (myself->IsInCategory(5, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 2;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 5;
							break;
						}
					}
				}
				else if (myself->IsInCategory(112, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 6;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 3;
							break;
						}
					}
				}
				else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 6;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 10;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 3;
							break;
						}
					}
				}
				else
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 10;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 8;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 4;
							break;
						}
					}
				}
				myself->SetHateInfoListIndex(0);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				if (myself->IsInCategory(5, c0->occupation))
				{
					myself->SetHateInfoListIndex(1);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
				else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
				{
					myself->SetHateInfoListIndex(3);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
				else if (myself->IsInCategory(3, c0->occupation))
				{
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / (myself->i_ai1 * 2)), 0, 1, 1);
				}
				else
				{
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
				gg->BroadcastOnScreenMsgFStr(myself->sm, 4000, 2, 0, 0, 0, 0, 1, 10000, 0, 1900176, "", "", "", "", "");
				myself->InstantTeleport(c0, 211807, -113739, -1632);
			}
			else
			{
				c0 = attacker->master;
				if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
				{
					myself->i_ai0 = 5;
					if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
				{
					myself->i_ai0 = 4;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
				{
					myself->i_ai0 = 3;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
				{
					myself->i_ai0 = 2;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else
				{
					myself->i_ai0 = 1;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
				}
				if (myself->IsInCategory(5, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 2;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 5;
							break;
						}
					}
				}
				else if (myself->IsInCategory(112, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 6;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 3;
							break;
						}
					}
				}
				else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 6;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 10;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 3;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 3;
							break;
						}
					}
				}
				else
				{
					switch (myself->i_ai0)
					{
						case 1:
						{
							myself->i_ai1 = 10;
							break;
						}
						case 2:
						{
							myself->i_ai1 = 8;
							break;
						}
						case 3:
						{
							myself->i_ai1 = 7;
							break;
						}
						case 4:
						{
							myself->i_ai1 = 5;
							break;
						}
						case 5:
						{
							myself->i_ai1 = 4;
							break;
						}
					}
				}
				myself->SetHateInfoListIndex(0);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				if (myself->IsInCategory(5, c0->occupation))
				{
					myself->SetHateInfoListIndex(1);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
				else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
				{
					myself->SetHateInfoListIndex(3);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
				else if (myself->IsInCategory(3, c0->occupation))
				{
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / (myself->i_ai1 * 2)), 0, 1, 1);
				}
				else
				{
					myself->SetHateInfoListIndex(2);
					myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				}
			}
		}
		else
		{
			c0 = attacker;
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			if (myself->IsInCategory(5, c0->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 2;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 5;
						break;
					}
				}
			}
			else if (myself->IsInCategory(112, c0->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 8;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 4;
						break;
					}
				}
			}
			myself->SetHateInfoListIndex(0);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
			if (myself->IsInCategory(5, c0->occupation))
			{
				myself->SetHateInfoListIndex(1);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
			{
				myself->SetHateInfoListIndex(3);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(3, c0->occupation))
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / (myself->i_ai1 * 2)), 0, 1, 1);
			}
			else
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
			}
		}
		if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
		{
			myself->i_ai0 = 5;
			if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
		{
			myself->i_ai0 = 4;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
		{
			myself->i_ai0 = 3;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
		{
			myself->i_ai0 = 2;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else
		{
			myself->i_ai0 = 1;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
		}
		if (myself->IsInCategory(5, c0->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 2;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 5;
					break;
				}
			}
		}
		else if (myself->IsInCategory(112, c0->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 6;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 3;
					break;
				}
			}
		}
		else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 6;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 10;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 3;
					break;
				}
			}
		}
		else
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 10;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 8;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 4;
					break;
				}
			}
		}
		myself->SetHateInfoListIndex(0);
		myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
		if (myself->IsInCategory(5, c0->occupation))
		{
			myself->SetHateInfoListIndex(1);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
		}
		else if (myself->IsInCategory(1, c0->occupation) || myself->IsInCategory(70, c0->occupation))
		{
			myself->SetHateInfoListIndex(3);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
		}
		else if (myself->IsInCategory(3, c0->occupation))
		{
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / (myself->i_ai1 * 2)), 0, 1, 1);
		}
		else
		{
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(c0, gg->FloatToInt(damage / myself->i_ai1), 0, 1, 1);
		}
		if (myself->sm->db_value == 3 && (myself->p_state == 1 || myself->p_state == 0))
		{
			myself->SetHateInfoListIndex(1);
			if (myself->GetHateInfoCount() == 0)
			{
				myself->SetHateInfoListIndex(0);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					c2 = h0->creature;
				}
			}
			else
			{
				i1 = gg->Rand(4);
				myself->SetHateInfoListIndex(i1);
				h1 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h1) == 0)
				{
					if (myself->IsInCategory(5, h1->creature->occupation) == 1)
					{
						c2 = h1->creature;
					}
					else
					{
						myself->SetHateInfoListIndex(1);
						h0 = myself->GetMaxHateInfo(0);
						if (myself->IsNullHateInfo(h0) == 0)
						{
							if (h1->hate < (h0->hate * 0.700000))
							{
								c2 = h0->creature;
							}
							else
							{
								c2 = h1->creature;
							}
						}
					}
				}
			}
			if (myself->IsNullCreature(c2) == 1)
			{
				myself->SetHateInfoListIndex(0);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					c2 = h0->creature;
				}
			}
			if (myself->IsNullCreature(c2) == 0)
			{
				if (gg->Rand(100) < 10)
				{
					for (i0 = 0; i0 < 4; i0 = i0->++)
					{
						myself->SetHateInfoListIndex(i0);
						h0 = myself->GetHateInfoByCreature(c2);
						if (myself->IsNullHateInfo(h0) == 0)
						{
							if (myself->IsNullCreature(h0->creature) == 0)
							{
								myself->AddHateInfo(c2, h0->hate / 2, 0, 1, 0);
							}
						}
					}
				}
			}
			if (myself->IsNullCreature(c2) == 0)
			{
				if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
				{
					myself->i_ai0 = 5;
					if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
				{
					myself->i_ai0 = 4;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
				{
					myself->i_ai0 = 3;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
				{
					myself->i_ai0 = 2;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else
				{
					myself->i_ai0 = 1;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
				}
				switch (myself->i_ai0)
				{
					case 1:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1000)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1000 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 2:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 4000)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 3:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 1000)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1000 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 4:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 2500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 5:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 2500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
				}
			}
		}
	}

	EventHandler TIMER_FIRED_EX(timer_id, i0, i1, i2, i3, i4, c2, h0, h1)
	{
		super;
		if (timer_id == 1003)
		{
			if (myself->sm->db_value == 3 && (myself->p_state == 1 || myself->p_state == 0))
			{
				myself->SetHateInfoListIndex(1);
				if (myself->GetHateInfoCount() == 0)
				{
					myself->SetHateInfoListIndex(0);
					h0 = myself->GetMaxHateInfo(0);
					if (myself->IsNullHateInfo(h0) == 0)
					{
						c2 = h0->creature;
					}
				}
				else
				{
					i1 = gg->Rand(4);
					myself->SetHateInfoListIndex(i1);
					h1 = myself->GetMaxHateInfo(0);
					if (myself->IsNullHateInfo(h1) == 0)
					{
						if (myself->IsInCategory(5, h1->creature->occupation) == 1)
						{
							c2 = h1->creature;
						}
						else
						{
							myself->SetHateInfoListIndex(1);
							h0 = myself->GetMaxHateInfo(0);
							if (myself->IsNullHateInfo(h0) == 0)
							{
								if (h1->hate < (h0->hate * 0.700000))
								{
									c2 = h0->creature;
								}
								else
								{
									c2 = h1->creature;
								}
							}
						}
					}
				}
				if (myself->IsNullCreature(c2) == 1)
				{
					myself->SetHateInfoListIndex(0);
					h0 = myself->GetMaxHateInfo(0);
					if (myself->IsNullHateInfo(h0) == 0)
					{
						c2 = h0->creature;
					}
				}
				if (myself->IsNullCreature(c2) == 0)
				{
					if (gg->Rand(100) < 10)
					{
						for (i0 = 0; i0 < 4; i0 = i0->++)
						{
							myself->SetHateInfoListIndex(i0);
							h0 = myself->GetHateInfoByCreature(c2);
							if (myself->IsNullHateInfo(h0) == 0)
							{
								if (myself->IsNullCreature(h0->creature) == 0)
								{
									myself->AddHateInfo(c2, h0->hate / 2, 0, 1, 0);
								}
							}
						}
					}
				}
				if (myself->IsNullCreature(c2) == 0)
				{
					if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
					{
						myself->i_ai0 = 5;
						if (myself->i_ai0 < myself->i_ai0)
						{
							if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
							{
								myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
							}
						}
					}
					else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
					{
						myself->i_ai0 = 4;
						if (myself->i_ai0 > myself->i_ai0)
						{
							myself->i_ai0 = myself->i_ai0 + 1;
						}
						else if (myself->i_ai0 < myself->i_ai0)
						{
							if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
							{
								myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
							}
						}
					}
					else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
					{
						myself->i_ai0 = 3;
						if (myself->i_ai0 > myself->i_ai0)
						{
							myself->i_ai0 = myself->i_ai0 + 1;
						}
						else if (myself->i_ai0 < myself->i_ai0)
						{
							if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
							{
								myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
							}
						}
					}
					else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
					{
						myself->i_ai0 = 2;
						if (myself->i_ai0 > myself->i_ai0)
						{
							myself->i_ai0 = myself->i_ai0 + 1;
						}
						else if (myself->i_ai0 < myself->i_ai0)
						{
							if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
							{
								myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
							}
						}
					}
					else
					{
						myself->i_ai0 = 1;
						if (myself->i_ai0 > myself->i_ai0)
						{
							myself->i_ai0 = myself->i_ai0 + 1;
						}
					}
					switch (myself->i_ai0)
					{
						case 1:
						{
							i0 = 0;
							i1 = 0;
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i0 = 1;
							}
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i1 = 1;
							}
							if (gg->Rand(10000) < 500)
							{
								myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 1000)
							{
								myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 1000 && i0 == 1 && myself->i_quest0 == 1)
							{
								myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
								myself->i_quest0 == 0
							}
							else if (gg->Rand(10000) < 1500 && i1 == 1)
							{
								myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
							}
							else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5618, 10 * 1000);
							}
							else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5619, 10 * 1000);
							}
							else if (gg->Rand(10000) < 1500)
							{
								myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
							}
							else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
							{
								myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
							}
							else
							{
								myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
							}
							break;
						}
						case 2:
						{
							i0 = 0;
							i1 = 0;
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i0 = 1;
							}
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i1 = 1;
							}
							if (gg->Rand(10000) < 500)
							{
								myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 4000)
							{
								myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
							{
								myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
								myself->i_quest0 == 0
							}
							else if (gg->Rand(10000) < 1500 && i1 == 1)
							{
								myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
							}
							else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5618, 10 * 1000);
							}
							else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5619, 10 * 1000);
							}
							else if (gg->Rand(10000) < 1500)
							{
								myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
							}
							else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
							{
								myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
							}
							else
							{
								myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
							}
							break;
						}
						case 3:
						{
							i0 = 0;
							i1 = 0;
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i0 = 1;
							}
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i1 = 1;
							}
							if (gg->Rand(10000) < 1000)
							{
								myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 1500)
							{
								myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
							{
								myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
								myself->i_quest0 == 0
							}
							else if (gg->Rand(10000) < 1000 && i1 == 1)
							{
								myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
							}
							else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5618, 10 * 1000);
							}
							else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5619, 10 * 1000);
							}
							else if (gg->Rand(10000) < 2500)
							{
								myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
							}
							else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
							{
								myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
							}
							else
							{
								myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
							}
							break;
						}
						case 4:
						{
							i0 = 0;
							i1 = 0;
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i0 = 1;
							}
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i1 = 1;
							}
							if (gg->Rand(10000) < 1500)
							{
								myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 2500)
							{
								myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
							{
								myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
								myself->i_quest0 == 0
							}
							else if (gg->Rand(10000) < 2500 && i1 == 1)
							{
								myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
							}
							else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5618, 10 * 1000);
							}
							else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5619, 10 * 1000);
							}
							else if (gg->Rand(10000) < 2500)
							{
								myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
							}
							else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
							{
								myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
							}
							else
							{
								myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
							}
							break;
						}
						case 5:
						{
							i0 = 0;
							i1 = 0;
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i0 = 1;
							}
							if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
							{
								i1 = 1;
							}
							if (gg->Rand(10000) < 3700)
							{
								myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 3700)
							{
								myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
							}
							else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
							{
								myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
								myself->i_quest0 == 0
							}
							else if (gg->Rand(10000) < 2500 && i1 == 1)
							{
								myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
							}
							else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5618, 10 * 1000);
							}
							else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
							{
								myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
								myself->c_ai1 = c2;
								myself->AddTimerEx(5619, 10 * 1000);
							}
							else if (gg->Rand(10000) < 3700)
							{
								myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
							}
							else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
							{
								myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
							}
							else
							{
								myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
							}
							break;
						}
					}
				}
			}
			myself->AddTimerEx(1003, 60 * 1000);
		}
		if (timer_id == 3423)
		{
			for (i0 = 0; i0 < 4; i0 = i0->++)
			{
				myself->SetHateInfoListIndex(i0);
				for (i1 = 0; i1 < myself->GetHateInfoCount(); i1 = i1->++)
				{
					h0 = myself->GetHateInfoByIndex(i1);
					if (myself->IsNullHateInfo(h0) == 0)
					{
						if (myself->IsNullCreature(h0->creature) == 0)
						{
							myself->AddHateInfo(h0->creature, h0->hate / 2, 0, 1, 0);
						}
					}
				}
			}
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->AddTimerEx(3423, 180 * 1000);
					break;
				}
				case 2:
				{
					myself->AddTimerEx(3423, 150 * 1000);
					break;
				}
				case 3:
				{
					myself->AddTimerEx(3423, 120 * 1000);
					break;
				}
				case 4:
				{
					myself->AddTimerEx(3423, 60 * 1000);
					break;
				}
				case 5:
				{
					myself->AddTimerEx(3423, 30 * 1000);
					break;
				}
			}
		}
		if (timer_id == 3424)
		{
			if (myself->IsNullCreature(myself->c_ai0) == 0)
			{
				myself->SetHateInfoListIndex(0);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					myself->c_ai0 = h0->creature;
				}
			}
			else
			{
				myself->SetHateInfoListIndex(1);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					if (myself->c_ai0 == h0->creature)
					{
						for (i0 = 0; i0 < 4; i0 = i0->++)
						{
							myself->SetHateInfoListIndex(i0);
							h0 = myself->GetHateInfoByCreature(myself->c_ai0);
							if (myself->IsNullHateInfo(h0) == 0)
							{
								if (myself->IsNullCreature(h0->creature) == 0)
								{
									myself->AddHateInfo(myself->c_ai0, h0->hate / 2, 0, 1, 0);
								}
							}
						}
						myself->c_ai0 = gg->GetNullCreature();
					}
				}
			}
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->AddTimerEx(3424, 45 * 1000);
					break;
				}
				case 2:
				{
					myself->AddTimerEx(3424, 45 * 1000);
					break;
				}
				case 3:
				{
					myself->AddTimerEx(3424, 60 * 1000);
					break;
				}
				case 4:
				{
					myself->AddTimerEx(3424, 30 * 1000);
					break;
				}
				case 5:
				{
					myself->AddTimerEx(3424, 45 * 1000);
					break;
				}
			}
		}
		if (timer_id == 5618)
		{
			if (myself->IsNullCreature(myself->c_ai1) == 0)
			{
				myself->AddUseSkillDesire(myself->c_ai1, PowerWord_Body_2nd, 0, 1, 10000000);
				myself->c_ai1 = gg->GetNullCreature();
			}
		}
		if (timer_id == 5619)
		{
			if (myself->IsNullCreature(myself->c_ai1) == 0)
			{
				myself->AddUseSkillDesire(myself->c_ai1, PowerWord_Soul_2nd, 0, 1, 10000000);
				myself->c_ai1 = gg->GetNullCreature();
			}
		}
	}

	EventHandler SEE_CREATURE(creature, i0, i1, i2, c2, h0, h1)
	{
		super;
		if (myself->sm->db_value == 3 && myself->IsInCategory(3, creature->occupation))
		{
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			if (myself->IsInCategory(5, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 2;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 5;
						break;
					}
				}
			}
			else if (myself->IsInCategory(112, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else if (myself->IsInCategory(1, creature->occupation) || myself->IsInCategory(70, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 8;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 4;
						break;
					}
				}
			}
			myself->SetHateInfoListIndex(0);
			myself->AddHateInfo(creature, gg->FloatToInt(10 / myself->i_ai1), 0, 1, 1);
			if (myself->IsInCategory(5, creature->occupation))
			{
				myself->SetHateInfoListIndex(1);
				myself->AddHateInfo(creature, gg->FloatToInt(10 / myself->i_ai1), 0, 1, 1);
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(10 / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(1, creature->occupation) || myself->IsInCategory(70, creature->occupation))
			{
				myself->SetHateInfoListIndex(3);
				myself->AddHateInfo(creature, gg->FloatToInt(10 / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(3, creature->occupation))
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(10 / (myself->i_ai1 * 2)), 0, 1, 1);
			}
			else
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(10 / myself->i_ai1), 0, 1, 1);
			}
		}
		else if (creature->is_pc == 1)
		{
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			if (myself->IsInCategory(5, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 2;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 5;
						break;
					}
				}
			}
			else if (myself->IsInCategory(112, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else if (myself->IsInCategory(1, creature->occupation) || myself->IsInCategory(70, creature->occupation))
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 6;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 3;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 3;
						break;
					}
				}
			}
			else
			{
				switch (myself->i_ai0)
				{
					case 1:
					{
						myself->i_ai1 = 10;
						break;
					}
					case 2:
					{
						myself->i_ai1 = 8;
						break;
					}
					case 3:
					{
						myself->i_ai1 = 7;
						break;
					}
					case 4:
					{
						myself->i_ai1 = 5;
						break;
					}
					case 5:
					{
						myself->i_ai1 = 4;
						break;
					}
				}
			}
			myself->SetHateInfoListIndex(0);
			myself->AddHateInfo(creature, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
			if (myself->IsInCategory(5, creature->occupation))
			{
				myself->SetHateInfoListIndex(1);
				myself->AddHateInfo(creature, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(1, creature->occupation) || myself->IsInCategory(70, creature->occupation))
			{
				myself->SetHateInfoListIndex(3);
				myself->AddHateInfo(creature, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
			}
			else if (myself->IsInCategory(3, creature->occupation))
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(1 / (myself->i_ai1 * 2)), 0, 1, 1);
			}
			else
			{
				myself->SetHateInfoListIndex(2);
				myself->AddHateInfo(creature, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
		{
			myself->i_ai0 = 5;
			if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
		{
			myself->i_ai0 = 4;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
		{
			myself->i_ai0 = 3;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
		{
			myself->i_ai0 = 2;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
			else if (myself->i_ai0 < myself->i_ai0)
			{
				if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
				{
					myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
				}
			}
		}
		else
		{
			myself->i_ai0 = 1;
			if (myself->i_ai0 > myself->i_ai0)
			{
				myself->i_ai0 = myself->i_ai0 + 1;
			}
		}
		if (myself->IsInCategory(5, creature->master->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 2;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 5;
					break;
				}
			}
		}
		else if (myself->IsInCategory(112, creature->master->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 6;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 3;
					break;
				}
			}
		}
		else if (myself->IsInCategory(1, creature->master->occupation) || myself->IsInCategory(70, creature->master->occupation))
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 6;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 10;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 3;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 3;
					break;
				}
			}
		}
		else
		{
			switch (myself->i_ai0)
			{
				case 1:
				{
					myself->i_ai1 = 10;
					break;
				}
				case 2:
				{
					myself->i_ai1 = 8;
					break;
				}
				case 3:
				{
					myself->i_ai1 = 7;
					break;
				}
				case 4:
				{
					myself->i_ai1 = 5;
					break;
				}
				case 5:
				{
					myself->i_ai1 = 4;
					break;
				}
			}
		}
		myself->SetHateInfoListIndex(0);
		myself->AddHateInfo(creature->master, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
		if (myself->IsInCategory(5, creature->master->occupation))
		{
			myself->SetHateInfoListIndex(1);
			myself->AddHateInfo(creature->master, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(creature->master, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
		}
		else if (myself->IsInCategory(1, creature->master->occupation) || myself->IsInCategory(70, creature->master->occupation))
		{
			myself->SetHateInfoListIndex(3);
			myself->AddHateInfo(creature->master, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
		}
		else if (myself->IsInCategory(3, creature->master->occupation))
		{
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(creature->master, gg->FloatToInt(1 / (myself->i_ai1 * 2)), 0, 1, 1);
		}
		else
		{
			myself->SetHateInfoListIndex(2);
			myself->AddHateInfo(creature->master, gg->FloatToInt(1 / myself->i_ai1), 0, 1, 1);
		}
		if (myself->sm->db_value == 3 && (myself->p_state == 1 || myself->p_state == 0))
		{
			myself->SetHateInfoListIndex(1);
			if (myself->GetHateInfoCount() == 0)
			{
				myself->SetHateInfoListIndex(0);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					c2 = h0->creature;
				}
			}
			else
			{
				i1 = gg->Rand(4);
				myself->SetHateInfoListIndex(i1);
				h1 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h1) == 0)
				{
					if (myself->IsInCategory(5, h1->creature->occupation) == 1)
					{
						c2 = h1->creature;
					}
					else
					{
						myself->SetHateInfoListIndex(1);
						h0 = myself->GetMaxHateInfo(0);
						if (myself->IsNullHateInfo(h0) == 0)
						{
							if (h1->hate < (h0->hate * 0.700000))
							{
								c2 = h0->creature;
							}
							else
							{
								c2 = h1->creature;
							}
						}
					}
				}
			}
			if (myself->IsNullCreature(c2) == 1)
			{
				myself->SetHateInfoListIndex(0);
				h0 = myself->GetMaxHateInfo(0);
				if (myself->IsNullHateInfo(h0) == 0)
				{
					c2 = h0->creature;
				}
			}
			if (myself->IsNullCreature(c2) == 0)
			{
				if (gg->Rand(100) < 10)
				{
					for (i0 = 0; i0 < 4; i0 = i0->++)
					{
						myself->SetHateInfoListIndex(i0);
						h0 = myself->GetHateInfoByCreature(c2);
						if (myself->IsNullHateInfo(h0) == 0)
						{
							if (myself->IsNullCreature(h0->creature) == 0)
							{
								myself->AddHateInfo(c2, h0->hate / 2, 0, 1, 0);
							}
						}
					}
				}
			}
			if (myself->IsNullCreature(c2) == 0)
			{
				if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
				{
					myself->i_ai0 = 5;
					if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
				{
					myself->i_ai0 = 4;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
				{
					myself->i_ai0 = 3;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
				{
					myself->i_ai0 = 2;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
					else if (myself->i_ai0 < myself->i_ai0)
					{
						if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
						{
							myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
						}
					}
				}
				else
				{
					myself->i_ai0 = 1;
					if (myself->i_ai0 > myself->i_ai0)
					{
						myself->i_ai0 = myself->i_ai0 + 1;
					}
				}
				switch (myself->i_ai0)
				{
					case 1:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1000)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1000 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 2:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 4000)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 3:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 1000)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 1000 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 4:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 1500)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 2500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 2500)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
					case 5:
					{
						i0 = 0;
						i1 = 0;
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i0 = 1;
						}
						if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
						{
							i1 = 1;
						}
						if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
						}
						else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
						{
							myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
							myself->i_quest0 == 0
						}
						else if (gg->Rand(10000) < 2500 && i1 == 1)
						{
							myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
						}
						else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5618, 10 * 1000);
						}
						else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
						{
							myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
							myself->c_ai1 = c2;
							myself->AddTimerEx(5619, 10 * 1000);
						}
						else if (gg->Rand(10000) < 3700)
						{
							myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
						}
						else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
						{
							myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
						}
						else
						{
							myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
						}
						break;
					}
				}
			}
		}
	}

	EventHandler DESIRE_MANIPULATION(speller, desire)
	{
		myself->MakeAttackEvent(speller, desire * 3, 0);
	}

	EventHandler USE_SKILL_FINISHED(i0, i1, i2, c2, h0, h1)
	{
		myself->SetHateInfoListIndex(1);
		if (myself->GetHateInfoCount() == 0)
		{
			myself->SetHateInfoListIndex(0);
			h0 = myself->GetMaxHateInfo(0);
			if (myself->IsNullHateInfo(h0) == 0)
			{
				c2 = h0->creature;
			}
		}
		else
		{
			i1 = gg->Rand(4);
			myself->SetHateInfoListIndex(i1);
			h1 = myself->GetMaxHateInfo(0);
			if (myself->IsNullHateInfo(h1) == 0)
			{
				if (myself->IsInCategory(5, h1->creature->occupation) == 1)
				{
					c2 = h1->creature;
				}
				else
				{
					myself->SetHateInfoListIndex(1);
					h0 = myself->GetMaxHateInfo(0);
					if (myself->IsNullHateInfo(h0) == 0)
					{
						if (h1->hate < (h0->hate * 0.700000))
						{
							c2 = h0->creature;
						}
						else
						{
							c2 = h1->creature;
						}
					}
				}
			}
		}
		if (myself->IsNullCreature(c2) == 1)
		{
			myself->SetHateInfoListIndex(0);
			h0 = myself->GetMaxHateInfo(0);
			if (myself->IsNullHateInfo(h0) == 0)
			{
				c2 = h0->creature;
			}
		}
		if (myself->IsNullCreature(c2) == 0)
		{
			if (gg->Rand(100) < 10)
			{
				for (i0 = 0; i0 < 4; i0 = i0->++)
				{
					myself->SetHateInfoListIndex(i0);
					h0 = myself->GetHateInfoByCreature(c2);
					if (myself->IsNullHateInfo(h0) == 0)
					{
						if (myself->IsNullCreature(h0->creature) == 0)
						{
							myself->AddHateInfo(c2, h0->hate / 2, 0, 1, 0);
						}
					}
				}
			}
		}
		if (myself->IsNullCreature(c2) == 0)
		{
			if (myself->sm->hp < ((myself->sm->max_hp * 1.000000) / 5.000000))
			{
				myself->i_ai0 = 5;
				if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 2.000000) / 5.000000))
			{
				myself->i_ai0 = 4;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 3.000000) / 5.000000))
			{
				myself->i_ai0 = 3;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else if (myself->sm->hp < ((myself->sm->max_hp * 4.000000) / 5.000000))
			{
				myself->i_ai0 = 2;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
				else if (myself->i_ai0 < myself->i_ai0)
				{
					if (myself->Skill_GetConsumeMP(PowerUp) < myself->sm->mp && myself->Skill_GetConsumeHP(PowerUp) < myself->sm->hp && myself->Skill_InReuseDelay(PowerUp) == 0)
					{
						myself->AddUseSkillDesire(myself->sm, PowerUp, 1, 1, 1000000);
					}
				}
			}
			else
			{
				myself->i_ai0 = 1;
				if (myself->i_ai0 > myself->i_ai0)
				{
					myself->i_ai0 = myself->i_ai0 + 1;
				}
			}
			switch (myself->i_ai0)
			{
				case 1:
				{
					i0 = 0;
					i1 = 0;
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i0 = 1;
					}
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i1 = 1;
					}
					if (gg->Rand(10000) < 500)
					{
						myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 1000)
					{
						myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 1000 && i0 == 1 && myself->i_quest0 == 1)
					{
						myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
						myself->i_quest0 == 0
					}
					else if (gg->Rand(10000) < 1500 && i1 == 1)
					{
						myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
					}
					else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5618, 10 * 1000);
					}
					else if (((gg->Rand(10000) < 500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5619, 10 * 1000);
					}
					else if (gg->Rand(10000) < 1500)
					{
						myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
					}
					else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
					{
						myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
					}
					else
					{
						myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
					}
					break;
				}
				case 2:
				{
					i0 = 0;
					i1 = 0;
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i0 = 1;
					}
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i1 = 1;
					}
					if (gg->Rand(10000) < 500)
					{
						myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 4000)
					{
						myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
					{
						myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
						myself->i_quest0 == 0
					}
					else if (gg->Rand(10000) < 1500 && i1 == 1)
					{
						myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
					}
					else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5618, 10 * 1000);
					}
					else if (((gg->Rand(10000) < 700 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5619, 10 * 1000);
					}
					else if (gg->Rand(10000) < 1500)
					{
						myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
					}
					else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
					{
						myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
					}
					else
					{
						myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
					}
					break;
				}
				case 3:
				{
					i0 = 0;
					i1 = 0;
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i0 = 1;
					}
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i1 = 1;
					}
					if (gg->Rand(10000) < 1000)
					{
						myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 1500)
					{
						myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 1500 && i0 == 1 && myself->i_quest0 == 1)
					{
						myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
						myself->i_quest0 == 0
					}
					else if (gg->Rand(10000) < 1000 && i1 == 1)
					{
						myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
					}
					else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5618, 10 * 1000);
					}
					else if (((gg->Rand(10000) < 2600 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5619, 10 * 1000);
					}
					else if (gg->Rand(10000) < 2500)
					{
						myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
					}
					else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
					{
						myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
					}
					else
					{
						myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
					}
					break;
				}
				case 4:
				{
					i0 = 0;
					i1 = 0;
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i0 = 1;
					}
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i1 = 1;
					}
					if (gg->Rand(10000) < 1500)
					{
						myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 2500)
					{
						myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
					{
						myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
						myself->i_quest0 == 0
					}
					else if (gg->Rand(10000) < 2500 && i1 == 1)
					{
						myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
					}
					else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5618, 10 * 1000);
					}
					else if (((gg->Rand(10000) < 1500 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5619, 10 * 1000);
					}
					else if (gg->Rand(10000) < 2500)
					{
						myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
					}
					else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
					{
						myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
					}
					else
					{
						myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
					}
					break;
				}
				case 5:
				{
					i0 = 0;
					i1 = 0;
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i0 = 1;
					}
					if ((myself->DistFromMe(c2) < 1423 && myself->GetDirection(c2) < (180 + 8) && myself->GetDirection(c2) > (180 - 8)) || (myself->DistFromMe(c2) < 802 && myself->GetDirection(c2) < (180 + 14) && myself->GetDirection(c2) > (180 - 14)))
					{
						i1 = 1;
					}
					if (gg->Rand(10000) < 3700)
					{
						myself->AddUseSkillDesire(myself->sm, Meteor, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 3700)
					{
						myself->AddUseSkillDesire(c2, Fear, 0, 1, 1000000);
					}
					else if (gg->Rand(10000) < 2500 && i0 == 1 && myself->i_quest0 == 1)
					{
						myself->AddUseSkillDesire(c2, RearStrike, 0, 1, 1000000);
						myself->i_quest0 == 0
					}
					else if (gg->Rand(10000) < 2500 && i1 == 1)
					{
						myself->AddUseSkillDesire(c2, RearThrow, 0, 1, 1000000);
					}
					else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Body, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5618, 10 * 1000);
					}
					else if (((gg->Rand(10000) < 1570 && (myself->IsInCategory(1, c2->occupation) || myself->IsInCategory(70, c2->occupation) || myself->IsInCategory(3, c2->occupation))) && (gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Body)) <= 0 || gg->GetAbnormalLevel(c2, myself->Skill_GetAbnormalType(PowerWord_Soul)) <= 0)) && myself->IsNullCreature(myself->c_ai1))
					{
						myself->AddUseSkillDesire(c2, PowerWord_Soul, 0, 1, 1000000);
						myself->c_ai1 = c2;
						myself->AddTimerEx(5619, 10 * 1000);
					}
					else if (gg->Rand(10000) < 3700)
					{
						myself->AddUseSkillDesire(c2, BreathLow, 0, 1, 1000000);
					}
					else if (myself->GetDirection(c2) > 0 && myself->GetDirection(c2) <= 180)
					{
						myself->AddUseSkillDesire(c2, NorMalAttackRight, 0, 1, 1000000);
					}
					else
					{
						myself->AddUseSkillDesire(c2, NorMalAttackLeft, 0, 1, 1000000);
					}
					break;
				}
			}
		}
	}

}

 

 

 

 

Изменено пользователем Роман_Яблонский

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...