diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/001-1/rewards.txt | 9 | ||||
-rw-r--r-- | npc/003-1/cyndala.txt | 144 | ||||
-rw-r--r-- | npc/003-1/silvia.txt | 2 |
3 files changed, 152 insertions, 3 deletions
diff --git a/npc/001-1/rewards.txt b/npc/001-1/rewards.txt index 7fe26ca17..cf3f36b97 100644 --- a/npc/001-1/rewards.txt +++ b/npc/001-1/rewards.txt @@ -31,10 +31,17 @@ OnInit: tradertype(NST_CUSTOM); - //sellitem GoldenWarlordPlate,2500; // Item still not balanced + // Equipment sellitem ThunderStaff,20000; sellitem PiouEgg,5000; sellitem Googles,800; + + // Temporary, but later may sell rare dyes (eg. golden?) + sellitem RedCottonDye, 50; + sellitem GreenCottonDye, 50; + sellitem BlueCottonDye, 50; + + // Consumables sellitem ElixirOfLife,35; sellitem Grenade,12; sellitem Curshroom,7; diff --git a/npc/003-1/cyndala.txt b/npc/003-1/cyndala.txt index a11b06e6b..9fd6e4620 100644 --- a/npc/003-1/cyndala.txt +++ b/npc/003-1/cyndala.txt @@ -1,12 +1,152 @@ +// TMW2 Script. // Author: // Saulc +// Jesusalva +// Description: +// Will be with dye functions for a while... + +// Original code from evol +// Authors: +// Reid 003-1,41,80,0 script Cyndala NPC_FEMALE,{ -hello; + function explain_dyes { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Look at your equipment, can you guess what material it is made from?"), + l("Seek a colorant for that material: Cotton, cashmere, leather, Lazurite..."), + l("Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material."), + l("Example:"), + l("Drag and drop a @@ in a @@, and you will obtain a @@.", getitemlink(RedCottonDye), getitemlink(ArtisTankTop), getitemlink(ArtisTankTop, RedCottonDye)), + l("Dye cards are not the only thing which exist, but they are the coolest!"); + } + + 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; + } + + 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; + } + } + + mesn; + mesq l("Hello, darling!"); + mes ""; + + do + { + select + l("Excuse me."), + l("Could you bleach my clothes?"), + l("What can you say about dyes?"), + rif(getgmlevel(), l("Technical problem, gimme info about an item.")); + + switch (@menu) + { + case 2: + remove_cards_from_item(); + break; + case 3: + explain_dyes(); + break; + case 4: + .@item = requestitemindex(); + mes "Item index selected: " + str(.@item); + mes "slots=" + str(MAX_SLOTS); + for (.@i = 0; .@i < MAX_SLOTS; .@i++) + { + mes "slot " + str(.@i) + " = " + str(getcardbyindex(.@item, .@i)); + } + mes str(@inventorylist_card1[.@item]); + mes str(YellowCottonDye); + mes "item options:"; + for (.@i = 0; .@i < 5; .@i ++) + { + mes sprintf("%d: Option: %d, Value: %d", .@i, getitemoptionidbyindex(.@item, .@i), getitemoptionvaluebyindex(.@item, .@i)); + } + break; + default: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("I wish you a good time in town."); + break; + } + + } while (@menu != 1); + + + closeclientdialog; + goodbye; + close; + + + + + + + + + + + + + OnInit: - .@npcId = getnpcid(0, "Cyndala"); + .@npcId = getnpcid(0, .name$); //setunitdata(.@npcId, UDT_HEADTOP, 2929); setunitdata(.@npcId, UDT_HEADMIDDLE, 1319);//TODO setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); diff --git a/npc/003-1/silvia.txt b/npc/003-1/silvia.txt index 9e3ceaa57..b98dbd4dc 100644 --- a/npc/003-1/silvia.txt +++ b/npc/003-1/silvia.txt @@ -1,5 +1,7 @@ +// TMW2 Script. // Author: // Saulc +// Jesusalva 003-1,109,150,0 script Silvia NPC_FEMALE,{ |