summaryrefslogtreecommitdiff
path: root/npc/functions
diff options
context:
space:
mode:
Diffstat (limited to 'npc/functions')
-rw-r--r--npc/functions/banker.txt6
-rw-r--r--npc/functions/clear_vars.txt60
-rw-r--r--npc/functions/dailyquest.txt14
-rw-r--r--npc/functions/ferry.txt10
-rw-r--r--npc/functions/game_rules.txt12
-rw-r--r--npc/functions/magic.txt47
-rw-r--r--npc/functions/mob_points.txt10
7 files changed, 114 insertions, 45 deletions
diff --git a/npc/functions/banker.txt b/npc/functions/banker.txt
index 08b67229..2f738478 100644
--- a/npc/functions/banker.txt
+++ b/npc/functions/banker.txt
@@ -50,7 +50,7 @@ L_Dep_Input:
"Go back", L_Start,
"Try again", L_Dep_Input,
"Deposit all", L_Dep_All,
- "Quit", -;
+ "Nevermind", -;
goto L_Nev;
L_Dep_5k:
@@ -119,7 +119,7 @@ L_With:
"All of my money", L_With_All,
"I've changed my mind", L_Start,
"Quit", -;
- next;
+ return;
L_With_Input:
input @Amount;
@@ -130,7 +130,7 @@ L_With_Input:
"Go back", L_Start,
"Try again", L_With_Input,
"Withdraw all", L_With_All,
- "Quit", -;
+ "Nevermind", -;
goto L_Nev;
L_With_5k:
diff --git a/npc/functions/clear_vars.txt b/npc/functions/clear_vars.txt
index 07f05247..a4c24ae5 100644
--- a/npc/functions/clear_vars.txt
+++ b/npc/functions/clear_vars.txt
@@ -23,7 +23,7 @@ function script ClearVariables {
set HWQUEST18, 0;
set HWQUEST19, 0;
set HWQUEST20, 0;
-
+
// Christmas 2006
set XMASQUEST1, 0;
set XMASQUEST2, 0;
@@ -45,26 +45,62 @@ function script ClearVariables {
set XMASQUEST18, 0;
set XMASQUEST19, 0;
set XMASQUEST20, 0;
-
+
set QUEST_xmas07_state, 0;
set QUEST_xmas07_milk, 0;
set QUEST_xmas07_cookies, 0;
set QUEST_xmas07_presents, 0;
-
+
set QUEST_Easter08_state, 0;
-
+
set Halloween08, 0;
-
+
set QUEST_xmas08_state, 0;
-
+
set QUEST_Easter09, 0;
-
+
set Candyman, 0; // Halloween 2009
-
+
set QUEST_Christmas09_state, 0;
-
+
+ set QUEST_Easter09_slots, 0;
+
+ // easter 2010
+ // This must not be cleared: since some people would like to go to the easter island!
+ // set Easter_2010_QuestState, 0;
+ set Easter_2010_EggState1, 0;
+ set Easter_2010_EggState2, 0;
+ set Easter_2010_EggState3, 0;
+ set Easter_2010_EggState4, 0;
+ set Easter_2010_EggState5, 0;
+
+ // halloween 2010
+ set hween10, 0;
+ set hween10_collect_canpump, 0;
+ set hween10_credits, 0;
+ set hween10_collect, 0;
+ set hween10_collect_mmallow, 0;
+ set hween10_collect_jelskul, 0;
+ set hween10_bonecount, 0;
+ set hween10_collect_tondel, 0;
+ set hween10_paid, 0;
+
+ // Xmas 2010:
+ set Count_Yellow, 0;
+ set Count_White, 0;
+ set Maze, 0;
+ set Yellow, 0;
+ set White, 0;
+ set Xmas2010, 0;
+ set Golbenez_Inn_Cost, 0;
+
+ // these two vars are only used for time measurement.
+ // so it won't be needed after your run through the deserts.
+ set QUEST_MIRIAM_run, 0;
+ set QUEST_MIRIAM_start, 0;
+
if (#BankAccount < 0) goto FixBank;
-
+
return;
FixBank:
@@ -81,7 +117,7 @@ L_Fix_Full:
return;
//Tulimshar and Mine Variables
set Scorp, 0;
- set Bugleg, 0;
+ set Bugleg, 0;
set ChestQuest, 0;
-
+
}
diff --git a/npc/functions/dailyquest.txt b/npc/functions/dailyquest.txt
index e62c604f..820516d6 100644
--- a/npc/functions/dailyquest.txt
+++ b/npc/functions/dailyquest.txt
@@ -34,10 +34,10 @@ L_Start:
if (BaseLevel < @dq_level) goto L_Low_Level;
if (DailyQuestPoints < @dq_cost) goto L_Not_Enough_Points;
- mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + " I will give you a reward\"";
- menu "I have them for you", L_Trade,
- "Ok, Ill get them", -,
- "I'm not going to help you", -;
+ mes "\"If you bring me " + @dq_count + " " + @dq_friendly_name$ + ", I will give you a reward.\"";
+ menu "I have what you want.", L_Trade,
+ "Ok, I'll get to work.", -,
+ "Nah, I'm not going to help you.", -;
set @dq_return, 1;
goto L_Exit;
@@ -63,17 +63,17 @@ L_Exit_Good:
goto L_Exit;
L_Not_Enough:
- if (!@dq_handle_return) mes "\"I said " + @dq_count + " " + @dq_friendly_name$ + ", learn to count\"";
+ if (!@dq_handle_return) mes "\"I said " + @dq_count + " " + @dq_friendly_name$ + "; you should learn to count.\"";
set @dq_return, 3;
goto L_Exit;
L_Low_Level:
- if (!@dq_handle_return) mes "\"Hey, you should go kill some things to get stronger\"";
+ if (!@dq_handle_return) mes "\"Hey, you should go kill some things to get stronger first.\"";
set @dq_return, 0;
goto L_Exit;
L_Not_Enough_Points:
- if (!@dq_handle_return) mes "\"You look exhausted, maybe you should rest some.\"";
+ if (!@dq_handle_return) mes "\"You look exhausted, maybe you should rest a bit.\"";
set @dq_return, 2;
goto L_Exit;
diff --git a/npc/functions/ferry.txt b/npc/functions/ferry.txt
index b9c0e320..95a176ec 100644
--- a/npc/functions/ferry.txt
+++ b/npc/functions/ferry.txt
@@ -2,11 +2,11 @@
function script Ferry {
if (BaseLevel < 20) goto L_LowerCost;
- set @cost_tulimshar, 1000;
- set @cost_hurnscald, 1000;
+ set @cost_tulimshar, 500;
+ set @cost_hurnscald, 500;
L_Start:
- set @cost_candor, 3000;
+ set @cost_candor, 1500;
mes "Where would you like to go?";
next;
if (BaseLevel < 40) goto L_PlainMenu;
@@ -67,7 +67,7 @@ L_NotEnoughGP:
close;
L_LowerCost:
- set @cost_tulimshar, 500;
- set @cost_hurnscald, 500;
+ set @cost_tulimshar, 250;
+ set @cost_hurnscald, 250;
goto L_Start;
}
diff --git a/npc/functions/game_rules.txt b/npc/functions/game_rules.txt
index 2870a46d..05fe2922 100644
--- a/npc/functions/game_rules.txt
+++ b/npc/functions/game_rules.txt
@@ -24,6 +24,7 @@ L_English:
mes "4. No begging";
mes "5. Speak English on public chat";
mes "6. Treat others the same way you would like to be treated";
+ mes "7. Do not use more than one character at the same time during battle";
next;
mes "Botting will be determined by talking to players who are moving and/or attacking.";
next;
@@ -31,12 +32,13 @@ L_English:
L_German:
mes "Wir bitten um das Einhalten der folgenden Regeln:";
- mes "1. Keine Beleidigungen, Schimpfwoerter, Schmaehungen oder Rufmord";
+ mes "1. Keine Beleidigungen, Schimpfwoerter, Schmaehungen oder Rufmord.";
mes "2. Keine 'bots' (automatisierte Spieler). Dies beinhaltet JEGLICHE Teilnahme am Spiel waehrend der Abwesenheit des Spielers.";
mes "3. Kein 'spamming' oder 'flooding' (schnelles Wiederholen von Nachrichten oder Aufforderungen zum Warenhandel).";
mes "4. Kein Betteln.";
mes "5. Englisch ist die einzige zulaessige Sprache im oeffentlichen Raum.";
mes "6. Behandelt andere so, wie Ihr behandelt werden wollt.";
+ mes "7. Kein Kaempfen mit mehr als einem Charakter.";
mes "Jegliche Regelverstoesse koennen bestraft werden, entweder durch ein Zuruecksetzen der Charaktereigenschaften und -besitztuemer auf den Ausgangszustand, oder durch einen temporaeren oder permanenten Ausschluss aus dem Spiel.";
next;
mes "Automatisiertes Spielverhalten liegt vor, wenn ein sich bewegender/kaempfender Spieler nicht intelligent auf Gespraechsaufforderungen reagiert.";
@@ -51,6 +53,7 @@ L_Dutch:
mes "4. Verboden te bedelen";
mes "5. Spreek Engels op de publieke chat";
mes "6. Behandel andere zoals ook jij behandeld wilt worden";
+ mes "7. Gebruik niet meer dan 1 karakter tegelijkertijd tijdens het vechten";
next;
mes "Botten word bepaald door te praten tegen spelers die aan het bewegen en/of aanvallen zijn.";
next;
@@ -64,6 +67,7 @@ L_Danish:
mes "4. Det er forbudt at tigge (for eksempel: Maa jeg ikke nok faa dit svaerd, kom nu, vaer nu soed... og saa videre)";
mes "5. Det er forbudt at snakke andre sprog end Engelsk, i den aabne chat. (Dog er det lovligt ved at bruge foelgende kommandoen /whisper)";
mes "6. Husk at goere mod andre, som du vil have de skal goere imod dig (opfoer dig ordenligt!)";
+ mes "7. Brug ikke mere end et tegn pa samme tidspunkt i lobet af kampen";
next;
mes "Botting bliver fastlagt paa grundlag af, at man snakker til andre spillere, der gaar rundt og/eller der angriber og de ikke svare igen.";
next;
@@ -77,6 +81,7 @@ L_French:
mes "4. Ne demandez pas d'items ou d'argent (les echanges doivent se faire de preference sur forums.themanaworld.org)";
mes "5. Parlez anglais dans les salons de discussions publics (principalement en ville)";
mes "6. Traitez les autres de la meme maniere que vous voudriez etre traite(e)";
+ mes "7. N'utilisez pas plus d'un personnage a la fois pendant les combats";
next;
mes "L'utilisation de \"bot\" sera determinee en parlant aux joueurs(ses) en train de bouger et/ou d'attaquer.";
next;
@@ -90,6 +95,7 @@ L_Spanish:
mes "4. Esta prohibida cualquier forma de mendicidad";
mes "5. Hable solamente en Ingles en el chat publico";
mes "6. Trata a los demas de la misma manera que te gustaria ser tratado";
+ mes "7. No usar mas de un personaje al mismo tiempo durante batalla";
next;
mes "El uso de programas automaticos se investigara hablando con jugadores que esten moviendose y/o atacando.";
next;
@@ -103,6 +109,7 @@ L_Swedish:
mes "4. Tigg inte";
mes "5. Prata bara engelska i den offentliga chatten";
mes "6. Behandla andra som du vill bli behandlad";
+ mes "7. Anvand inte flera karaktarer samtidigt under strid";
next;
mes "Hysta misstankar om bottande kontrolleras genom att prata med spelaren under dess kringvandrande eller attackerande.";
next;
@@ -116,6 +123,7 @@ L_Portuguese:
mes "4. Pedintes serao ignorados, ou banidos.";
mes "5. Fale ingles em lugares publicos.";
mes "6. Trate os outros da mesma maneira que quer ser tratado(a).";
+ mes "7. Nao use mais de um character durante uma luta";
next;
mes "O \"botting\" sera determinado, falando com os jogadores que se movem e/ou atacam.";
next;
@@ -129,6 +137,7 @@ L_Polish:
mes "4. Zabrania sie zebrania";
mes "5. Na publicznym kanale rozmawiamy po angielsku";
mes "6. Traktuj innych tak jak sam chcesz byc traktowany";
+ mes "7. Nie stosowac wiecej niz jeden znak w tym samym czasie bitwy";
next;
mes "Uzywanie botow zostanie okreslone na podstawie rozmow z innymi graczami podczas aktywnosci gracza.";
next;
@@ -142,6 +151,7 @@ L_Italian:
mes "4. Vietato implorare";
mes "5. Parlare solo inglese nella chat pubblica";
mes "6. Tratta gli altri giocatori come vuoi che gli altri trattino te.";
+ mes "7. Non usare piu di un personaggio allo stesso temp durante un combattimento";
next;
mes "I bot saranno determinati in base alle risposte e ai movimenti dei giocatori esaminati.";
next;
diff --git a/npc/functions/magic.txt b/npc/functions/magic.txt
index 2bf8ef64..4dadb2a9 100644
--- a/npc/functions/magic.txt
+++ b/npc/functions/magic.txt
@@ -23,12 +23,13 @@ function script MagicGainBasic {
function script MagicTalkOptionsSetup {
set @QQ_ELANORE, 1;
set @QQ_MANASEED, 2;
- set @QQ_MANAPOTION, 3;
- set @QQ_WYARA, 4;
- set @QQ_SAGATHA, 5;
- set @QQ_AULDSBEL, 6;
- set @QQ_IMP, 7;
- set @QQ_OLDWIZ, 8;
+ set @QQ_MANAPOTION, 4;
+ set @QQ_WYARA, 8;
+ set @QQ_SAGATHA, 16;
+ set @QQ_AULDSBEL, 32;
+ set @QQ_IMP, 64;
+ set @QQ_OLDWIZ, 128;
+ set @QQ_ASTRALSOUL, 256;
return;
}
@@ -40,11 +41,11 @@ function script MagicTalkOptionsSetup {
function script MagicTalkMenu {
- setarray @choice$, "", "", "", "", "", "", "", "", "";
+ setarray @choice$, "", "", "", "", "", "", "", "", "", "";
set @choices_nr, 0;
- setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0;
+ setarray @choice_idx, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0;
- if (@ignore == @QQ_ELANORE)
+ if (@ignore & @QQ_ELANORE)
goto L_Q_post_elanore;
set @choice$[@choices_nr], "...Elanore the Healer?";
set @choice_idx[@choices_nr], @QQ_ELANORE;
@@ -60,7 +61,7 @@ L_Q_post_elanore:
set @choices_nr, @choices_nr + 1;
L_Q_post_manaseed:
- if (@ignore == @QQ_MANAPOTION)
+ if (@ignore & @QQ_MANAPOTION)
goto L_Q_post_manapotion;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_MANAPOTION))
goto L_Q_post_manapotion;
@@ -69,7 +70,7 @@ L_Q_post_manaseed:
set @choices_nr, @choices_nr + 1;
L_Q_post_manapotion:
- if (@ignore == @QQ_WYARA)
+ if (@ignore & @QQ_WYARA)
goto L_Q_post_wyara;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_WYARA))
goto L_Q_post_wyara;
@@ -78,7 +79,7 @@ L_Q_post_manapotion:
set @choices_nr, @choices_nr + 1;
L_Q_post_wyara:
- if (@ignore == @QQ_SAGATHA)
+ if (@ignore & @QQ_SAGATHA)
goto L_Q_post_sagatha;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_SAGATHA))
goto L_Q_post_sagatha;
@@ -87,7 +88,7 @@ L_Q_post_wyara:
set @choices_nr, @choices_nr + 1;
L_Q_post_sagatha:
- if (@ignore == @QQ_AULDSBEL)
+ if (@ignore & @QQ_AULDSBEL)
goto L_Q_post_auldsbel;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_AULDSBEL))
goto L_Q_post_auldsbel;
@@ -96,7 +97,7 @@ L_Q_post_sagatha:
set @choices_nr, @choices_nr + 1;
L_Q_post_auldsbel:
- if (@ignore == @QQ_OLDWIZ)
+ if (@ignore & @QQ_OLDWIZ)
goto L_Q_post_oldwiz;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_OLD_WIZARD))
goto L_Q_post_oldwiz;
@@ -105,7 +106,7 @@ L_Q_post_auldsbel:
set @choices_nr, @choices_nr + 1;
L_Q_post_oldwiz:
- if (@ignore == @QQ_IMP)
+ if (@ignore & @QQ_IMP)
goto L_Q_post_imp;
if (!(MAGIC_FLAGS & MFLAG_KNOWS_IMP))
goto L_Q_post_imp;
@@ -114,6 +115,17 @@ L_Q_post_oldwiz:
set @choices_nr, @choices_nr + 1;
L_Q_post_imp:
+ if (@ignore & @QQ_ASTRALSOUL)
+ goto L_Q_post_astralsoul;
+ if (!(getskilllv(SKILL_MAGIC)))
+ goto L_Q_post_astralsoul;
+ if (!(getskilllv(SKILL_POOL)))
+ goto L_Q_post_astralsoul;
+ set @choice$[@choices_nr], "...ways to improve my magic?";
+ set @choice_idx[@choices_nr], @QQ_IMP;
+ set @choices_nr, @choices_nr + 1;
+L_Q_post_astralsoul:
+
set @choice$[@choices_nr], "...never mind.";
set @choice_idx[@choices_nr], 0;
set @choices_nr, @choices_nr + 1;
@@ -126,13 +138,14 @@ L_Q_post_imp:
@choice$[5], -,
@choice$[6], -,
@choice$[7], -,
- @choice$[8], -;
+ @choice$[8], -,
+ @choice$[9], -;
set @menu, @menu - 1;
if (@menu >= @choices_nr)
set @menu, 0;
-
+
set @c, @choice_idx[@menu];
return @c;
}
diff --git a/npc/functions/mob_points.txt b/npc/functions/mob_points.txt
index 768b874d..8c53e36f 100644
--- a/npc/functions/mob_points.txt
+++ b/npc/functions/mob_points.txt
@@ -64,6 +64,16 @@ function script MobPoints {
36, // Giant Cave Maggot
40, // Moggun
100, // Terranite
+ 10, // Pumpkin
+ 10, // Bandit
+ 20, // Bandit Lord
+ 50, // Vampire Bat
+ 100, // The Lost
+ 200, // Reaper
+ 20, // Scythe
+ 20, // Ball Lightning
+ 30, // Ice Element
+ 40, // Yeti
// Add more here
0; // END