diff options
Diffstat (limited to 'npc/001-2-12')
-rw-r--r-- | npc/001-2-12/_import.txt | 5 | ||||
-rw-r--r-- | npc/001-2-12/_warps.txt | 5 | ||||
-rw-r--r-- | npc/001-2-12/mapflags.txt | 1 | ||||
-rw-r--r-- | npc/001-2-12/oscar.txt | 145 |
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; +} + |