B_TeachPlayerTalentSmith
// ************************
// B_TeachPlayerTalentSmith
// ************************
func int B_TeachPlayerTalentSmith (var C_NPC slf, var C_NPC oth, var int waffe)
{
// ------ Kosten festlegen ------
var int kosten;
var int WEAPON_Armor;
var int WEAPON_Ice;
kosten = B_GetLearnCostTalent(oth, NPC_TALENT_SMITH, waffe);
//EXIT IF...
// ------ Player hat zu wenig Lernpunkte ------
if (oth.lp < kosten)
{
PrintScreen (PRINT_NotEnoughLearnPoints, -1,-1, FONT_ScreenSmall ,2);
B_Say (slf, oth, "$NOLEARNNOPOINTS");
return FALSE;
};
// FUNC
// ------ Lernpunkte abziehen ------
oth.lp = oth.lp - kosten;
Log_CreateTopic (TOPIC_TalentSmith,LOG_NOTE);
B_LogEntry (TOPIC_TalentSmith,"Jeśli zechcę wykuć jakąś broń, to po pierwsze będzie mi potrzebny kawał surowej stali, który muszę rozgrzać do czerwoności w kuźni, a następnie nadać mu odpowiedni kształt na kowadle. Jeśli zechcę nadać broni jakieś specjalne charakterystyki, to będę musiał użyć dodatkowych składników.");
// ------ Waffe schmieden lernen ------
//Bennet
if (waffe == WEAPON_Common) { PLAYER_TALENT_SMITH[WEAPON_Common] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Najprostszy miecz nie potrzebuje żadnych dodatków.");};
if (waffe == WEAPON_1H_Special_01) { PLAYER_TALENT_SMITH[WEAPON_1H_Special_01] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 1 bryłkę rudy, zrobię ´DŁUGI MIECZ Z RUDY´.");};
if (waffe == WEAPON_2H_Special_01) { PLAYER_TALENT_SMITH[WEAPON_2H_Special_01] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 2 bryłki rudy, zrobię ´MIECZ DWURĘCZNY Z RUDY´.");};
if (waffe == WEAPON_1H_Special_02) { PLAYER_TALENT_SMITH[WEAPON_1H_Special_02] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 2 bryłki rudy, zrobię ´MIECZ PÓŁTORARĘCZNY Z RUDY´.");};
if (waffe == WEAPON_2H_Special_02) { PLAYER_TALENT_SMITH[WEAPON_2H_Special_02] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 3 bryłki rudy, zrobię ´CIĘŻKI MIECZ DWURĘCZNY Z RUDY´.");};
if (waffe == WEAPON_1H_Special_03) { PLAYER_TALENT_SMITH[WEAPON_1H_Special_03] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 3 bryłki rudy, zrobię ´OSTRZE BOJOWE Z RUDY´.");};
if (waffe == WEAPON_2H_Special_03) { PLAYER_TALENT_SMITH[WEAPON_2H_Special_03] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 4 bryłki rudy, zrobię ´CIĘŻKIE OSTRZE BOJOWE Z RUDY´.");};
if (waffe == WEAPON_1H_Special_04) { PLAYER_TALENT_SMITH[WEAPON_1H_Special_04] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 4 bryłki rudy i 5 porcji smoczej krwi, zrobię ´OSTRZE Z RUDY NA SMOKI´.");};
if (waffe == WEAPON_2H_Special_04) { PLAYER_TALENT_SMITH[WEAPON_2H_Special_04] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Gdy zdobędę 5 bryłek rudy i 5 porcji smoczej krwi, zrobię ´DUŻE OSTRZE Z RUDY NA SMOKI´.");};
//Harad - Addon
if (waffe == WEAPON_1H_Harad_01) { PLAYER_TALENT_SMITH[WEAPON_1H_Harad_01] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Teraz mogę wykuć dobry miecz."); };
if (waffe == WEAPON_1H_Harad_02) { PLAYER_TALENT_SMITH[WEAPON_1H_Harad_02] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Teraz mogę wykuć także długi miecz."); };
if (waffe == WEAPON_1H_Harad_03) { PLAYER_TALENT_SMITH[WEAPON_1H_Harad_03] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Teraz mogę wykuć nawet Rubinowe Ostrze."); };
if (waffe == WEAPON_1H_Harad_04) { PLAYER_TALENT_SMITH[WEAPON_1H_Harad_04] = TRUE; B_LogEntry (TOPIC_TalentSmith,"Harad nauczył mnie, jak wykuć 'El Bastardo' – jedną z najlepszych znanych broni jednoręcznych."); };
//Inne
if (waffe == WEAPON_Ice) { PLAYER_TALENT_SMITH[WEAPON_Ice] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Teraz mogę tworzyć wyroby z lodu!");};
if (waffe == WEAPON_Armor) { PLAYER_TALENT_SMITH[WEAPON_Armor] = TRUE;
B_LogEntry (TOPIC_TalentSmith,"Teraz mogę tworzyć zbroje!");};
PrintScreen (PRINT_LearnSmith, -1, -1, FONT_Screen, 2);
// ------ bei jeder Waffe: Waffen-Talent lernen (programmvariable, wird nur zur Ausgabe in StatusScreen benutzt) ------
Npc_SetTalentSkill (oth, NPC_TALENT_SMITH, 1);
return TRUE;
};
A to jest SmithWeapon
//*******************************************************
INSTANCE PC_ItAr_Ice_Armor (C_INFO)
{
npc = PC_Hero;
condition = PC_ItMw_1H_Common_Condition;
information = PC_ItMw_1H_Common_Info;
permanent = TRUE;
};
FUNC INT PC_ItAr_Ice_Armor_Condition()
{
if (PLAYER_TALENT_SMITH[WEAPON_Ice] == TRUE))
&& (PLAYER_TALENT_SMITH[WEAPON_Armor] == TRUE))
if (Npc_HasItems (hero, ItMi_Ice) >= 200)
{
return TRUE;
};
};
FUNC VOID PC_ItAr_Ice_Armor_Info ()
{
CreateInvItems (hero, ItAr_Ice_Armor, 1);
Print (PRINT_SmithSuccess);
B_ENDPRODUCTIONDIALOG ();
};
Wkleiłem z SmithWeapon tylko najważniejszy fragment, w którym coś zmieniałem. Pomożecie?