summaryrefslogtreecommitdiff
path: root/npc/001-2-12
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-2-12')
-rw-r--r--npc/001-2-12/_import.txt5
-rw-r--r--npc/001-2-12/_warps.txt5
-rw-r--r--npc/001-2-12/mapflags.txt1
-rw-r--r--npc/001-2-12/oscar.txt145
4 files changed, 156 insertions, 0 deletions
diff --git a/npc/001-2-12/_import.txt b/npc/001-2-12/_import.txt
new file mode 100644
index 000000000..fa40eb2b4
--- /dev/null
+++ b/npc/001-2-12/_import.txt
@@ -0,0 +1,5 @@
+// Map 001-2-12: Noble House
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/001-2-12/_warps.txt",
+"npc/001-2-12/mapflags.txt",
+"npc/001-2-12/oscar.txt",
diff --git a/npc/001-2-12/_warps.txt b/npc/001-2-12/_warps.txt
new file mode 100644
index 000000000..c03a6b0bd
--- /dev/null
+++ b/npc/001-2-12/_warps.txt
@@ -0,0 +1,5 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 001-2-12: Noble House warps
+001-2-12,27,27,0 warp #001-2-12_27_27 1,0,001-2-13,27,29
+001-2-12,34,36,0 warp #001-2-12_34_36 0,0,001-1,142,31
+001-2-12,29,28,0 warp #001-2-12_29_28 0,0,001-2-14,25,29
diff --git a/npc/001-2-12/mapflags.txt b/npc/001-2-12/mapflags.txt
new file mode 100644
index 000000000..a84ff9382
--- /dev/null
+++ b/npc/001-2-12/mapflags.txt
@@ -0,0 +1 @@
+001-2-12 mapflag town
diff --git a/npc/001-2-12/oscar.txt b/npc/001-2-12/oscar.txt
new file mode 100644
index 000000000..3beecf36b
--- /dev/null
+++ b/npc/001-2-12/oscar.txt
@@ -0,0 +1,145 @@
+// Evol scripts.
+// Author:
+// Reid
+// Description:
+// Old man living in the rich hill, can bleach clothes.
+
+001-2-12,38,30,0 script Oscar#001-2-12 NPC_OSCAR,{
+
+ function live_here_alone
+ {
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Meh!"),
+ l("This is a harsh word to use, you are never alone in the beautiful place of Artis."),
+ l("Mob is doing its daily noise, nature is singing its sumptuous melody, none is alone.");
+
+ return;
+ }
+
+ function item_is_bleachable
+ {
+ .@item_index = getarg(0);
+ if (.@item_index < 0)
+ return false;
+
+ getinventorylist;
+
+ if (@inventorylist_card1[.@item_index] != 0)
+ {
+ if ((@inventorylist_card1[.@item_index] > YellowCottonDye) ||
+ (@inventorylist_card1[.@item_index] < CrimsonCashmereDye))
+ {
+ return false;
+ }
+ .@is_bleachable = true;
+ }
+ if (@inventorylist_card2[.@item_index] != 0)
+ {
+ if ((@inventorylist_card2[.@item_index] > YellowCottonDye) ||
+ (@inventorylist_card2[.@item_index] < CrimsonCashmereDye))
+ {
+ return false;
+ }
+ .@is_bleachable = true;
+ }
+ if (@inventorylist_card3[.@item_index] != 0)
+ {
+ if ((@inventorylist_card3[.@item_index] > YellowCottonDye) ||
+ (@inventorylist_card3[.@item_index] < CrimsonCashmereDye))
+ {
+ return false;
+ }
+ .@is_bleachable = true;
+ }
+ if (@inventorylist_card4[.@item_index] != 0)
+ {
+ if ((@inventorylist_card4[.@item_index] > YellowCottonDye) ||
+ (@inventorylist_card4[.@item_index] < CrimsonCashmereDye))
+ {
+ return false;
+ }
+ .@is_bleachable = true;
+ }
+
+ return .@is_bleachable;
+ }
+
+ function remove_cards_from_item
+ {
+ .@item_index = -1;
+
+ speech S_FIRST_BLANK_LINE,
+ l("What item would you like to bleach?");
+
+ narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("You can drag and drop an item to the NPC window or select an item through your inventory.");
+
+ .@item_index = requestitemindex();
+ if (!item_is_bleachable(.@item_index))
+ {
+ speech S_LAST_NEXT,
+ l("You should know this, an item like this can't be bleached.");
+
+ return;
+ }
+
+ speech S_LAST_NEXT,
+ l("Your mind is set? You will loose the color dye during this process.");
+
+ switch (askyesno())
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Ok, let me see..."),
+ l("...");
+
+ failedremovecardsindex .@item_index, 1;
+
+ speech S_LAST_NEXT | S_NO_NPC_NAME,
+ l("..."),
+ l("Here it is, clean like a whistle!");
+ break;
+ case 2:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Is it truly a hard choice to make?");
+ break;
+ }
+
+ return;
+ }
+
+ .@hour = gettime(GETTIME_HOUR);
+ speech S_LAST_NEXT, (.@hour > 6 && .@hour < 18) ? l("Good day to you.") : lg("Good night milady.", "Good evening sir.");
+
+ do
+ {
+ select
+ l("Could you bleach my clothes?"),
+ l("Do you live here alone?"),
+ menuaction(l("Quit"));
+
+ switch (@menu)
+ {
+ case 1:
+ remove_cards_from_item();
+ break;
+ case 2:
+ live_here_alone();
+ break;
+ case 3:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I wish you a good time in town.");
+ break;
+ }
+
+ } while (@menu != 3);
+
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 3;
+ end;
+}
+