func int b_teachmagiccircle(var C_NPC slf,var C_NPC oth,var int circle)
{
var int kosten;
kosten = b_getlearncosttalent(oth,NPC_TALENT_MAGE);
if((circle < 1) || (circle > 6))
{
Print("*** ОШИБКА: неправильный параметр ***");
return FALSE;
};
if(circle == 1)
{
if(ATR_MANA_MAX < 30)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
};
if(circle == 2)
{
if(ATR_MANA_MAX < 60)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
};
if(circle == 3)
{
if(ATR_MANA_MAX < 90)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
};
if(circle == 4)
{
if(ATR_MANA_MAX < 120)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
};
if(circle == 5)
{
if(ATR_MANA_MAX < 150)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
};
if(circle == 6)
{
if(ATR_MANA_MAX < 180)
{
PrintScreen("Не хватает маны для дальнейшего обучения.",-1,-1,FONT_Screen,2);
B_Say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
if(oth.lp < kosten)
{
PrintScreen(PRINT_NOTENOUGHLP,-1,-1,FONT_SCREEN,2);
b_say(hero,oth,"$NOLEARNNOPOINTS");
return FALSE;
};
oth.lp = oth.lp - kosten;
Npc_SetTalentSkill(hero,NPC_TALENT_MAGE,circle);
Log_CreateTopic(TOPIC_TALENTMAGICCIRCLE,LOG_NOTE);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Магические руны, к которым я имею доступ, подразделяются по кругам. Я не могу использовать заклинание, требующее более высокого круга, нежели изученный мной.");
if(circle == 1)
{
PrintScreen(PRINT_LEARNCIRCLE_1,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 1-го круга: свет, огненная стрела, малая молния, лечение легких ранений и вызов скелета гоблина.");
return TRUE;
};
if(circle == 2)
{
PrintScreen(PRINT_LEARNCIRCLE_2,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 2-го круга: огненный шар, ледяная стрела, вызов волка, кулак ветра и сон.");
return TRUE;
};
if(circle == 3)
{
PrintScreen(PRINT_LEARNCIRCLE_3,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 3-го круга: лечение средних ранений, шаровая молния, малая огненная буря, создание скелета, страх и ледяной блок.");
return TRUE;
};
if(circle == 4)
{
PrintScreen(PRINT_LEARNCIRCLE_4,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 4-го круга: молния, создание каменного голема, уничтожение нежити и большой огненный шар.");
return TRUE;
};
if(circle == 5)
{
PrintScreen(PRINT_LEARNCIRCLE_5,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 5-го круга: большая огненная буря, ледяная волна, вызов демона и лечение тяжелых ранений.");
return TRUE;
};
if(circle == 6)
{
PrintScreen(PRINT_LEARNCIRCLE_6,-1,-1,FONT_SCREEN,2);
b_logentry(TOPIC_TALENTMAGICCIRCLE,"Заклинания 6-го круга: огненный дождь, дыхание смерти, волна смерти, армия тьмы и уменьшение монстра.");
return TRUE;
};
return FALSE;
};