diff options
Diffstat (limited to 'npc/003-6/cyndala.txt')
-rw-r--r-- | npc/003-6/cyndala.txt | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/npc/003-6/cyndala.txt b/npc/003-6/cyndala.txt deleted file mode 100644 index 9dd039f..0000000 --- a/npc/003-6/cyndala.txt +++ /dev/null @@ -1,249 +0,0 @@ -// TMW2 Script. -// Author: -// Saulc -// Jesusalva -// Dye Quest added by: -// Povo -// Description: -// Will be with dye functions for a while... May be wrong. Only Card2 is available per hercules rules - -// Original code from evol -// Authors: -// Reid - -003-6,33,30,0 script Cyndala NPC_FEMALE_ARGAES,{ - function explain_dyes; - function item_is_bleachable; - function remove_cards_from_item; - function give_yellow_dye; - function deny_yellow_dye; - function craft_yellow_dye; - - mesn; - mesq l("Hello, darling!"); - mes ""; - - do - { - .@q = getq(TulimsharQuest_Cyndala); - select - l("Excuse me."), - l("Could you bleach my equipment?"), - l("What can you say about dyes?"), - rif(.@q > 0, l("I would like to order some dye.")), - rif(is_staff(), "Technical problem, gimme info about an item."); - - switch (@menu) { - case 2: - remove_cards_from_item(); - break; - case 3: - explain_dyes(); - break; - case 4: - craft_yellow_dye(); - break; - case 5: - .@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(YellowDye); - mes "item options:"; - for (.@i = 0; .@i < 5; .@i ++) - { - mes sprintf("%d: Option: %d, Value: %d", .@i, getitemoptionidbyindex(.@item, .@i), - getitemoptionvaluebyindex(.@item, .@i)); - } - mes "Note named items (Card1 254 and 255) have Card3 and Card4 reserved"; - break; - default: - mes ""; - mesn; - mesq l("I wish you a good time in town."); - next; - break; - } - - } while (@menu != 1); - - - closeclientdialog; - goodbye; - close; - -///////////////////////////////////////////////////////////////////////////////// -function explain_dyes { - .@q = getq(TulimsharQuest_Cyndala); - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Dyes are a special kind of ink to make certain objects fancier."), - l("Once you have the appropriate colorant for the item, ##bdrag the colorant##b to the material."), - l("Example:"), - l("Drag and drop a %s in a %s, and you will obtain a %s.", getitemlink(YellowDye), - getitemlink(ArtisTankTop), getitemlink(ArtisTankTop, YellowDye)), - l("Dye cards are not the only thing which exist, but they are the coolest!"); - if (.@q < 1) { - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("By the way, did you know that the official color of Tulimshar is yellow?"), - l("In fact, the Tulimshar Noble District is world-renowned for crafting high-quality yellow garments!"), - l("Normally I would offer to make you some %s, but economic problems in Halinarzo have caused a shortage of supplies...", - getitemlink(YellowDye)); - if (BaseLevel > 20 && - .@q < 1) { - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Wait a minute! I have an idea!"), - l("You look like you have enough experience to know your way around town..."), - l("If you can manage to gather the supplies I need, I can surely craft some %s for you!", - getitemlink(YellowDye)), - l("Of course, I do charge a nominal fee of for the service. %s GP to be exact.", fnum(50)), - l("In addition to my fee, I will also need the following items:"); - mesq l("%d/%d %s", countitem(BottleOfSewerWater), 1, getitemlink(BottleOfSewerWater)); - mesq l("%d/%d %s", countitem(PiouFeathers), 50, getitemlink(PiouFeathers)); - next; - mesq l("I am sure that an adventurer like you can gather everything in no time at all!"); - setq TulimsharQuest_Cyndala, 1; - } - } -} - -function item_is_bleachable -{ - .@item_index = getarg(0); - if (.@item_index < 0) - return false; - - // Collect the item ID - delinventorylist(); - getinventorylist(); - .@x=@inventorylist_id[.@id]; - - // Debug info - if (is_staff()) - mesf "Item Index %d (%s) - ID %d", .@item_index, - getitemlink(@inventorylist_id[.@item_index]), - @inventorylist_id[.@item_index]; - - // No duplicates - if (countitem(.@x) > 1) { - mesc l("You are carrying duplicates of the same item. Sorry, but I have no idea which one you want to tweak."), 1; - return false; - } - - // Must have a card, d'oh - if (@inventorylist_card1[.@item_index] == 0) - return false; - - return true; -} - -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; - } - .@item_id = @inventorylist_id[.@item_index]; - - speech S_LAST_NEXT, - l("Your mind is set? You will probably lose all the dyes and/or cards during on the item during this process. You're bleaching a %s by the way.", getitemlink(.@item_id)); - - switch (askyesno()) { - case ASK_YES: - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Ok, let me see..."), - l("..."); - - // FIXME: Register this on picklog - if (rand2(1, 800) > readparam2(bLuk)) { - failedremovecardsindex .@item_index, 1; - logmes("Deleted Cards from item: "+.@item_id); - } else { - successremovecardsindex(.@item_index); - logmes("Removed Cards from item: "+.@item_id); - } - - // First option slot of weapon: Raises STR in 5 - // setequipoption(EQI_HAND_R, 1, VAR_STRAMOUNT, 5); - // This is an option :3 - - speech S_LAST_NEXT | S_NO_NPC_NAME, - l("..."), - l("Here it is, clean like a whistle!"); - break; - default: - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Is it truly a hard choice to make?"); - break; - } - return; -} - -function give_yellow_dye { - .@q = getq(TulimsharQuest_Cyndala); - - inventoryplace YellowDye, 1, EmptyBottle, 1; - Zeny = Zeny - 50; - delitem BottleOfSewerWater, 1; - delitem PiouFeathers, 50; - - mesn; - mesq l("Here you are, you won't find a dye more yellow than this!"); - getitem(YellowDye, 1); - getitem(EmptyBottle, 1); - - if (.@q == 1) { - setq TulimsharQuest_Cyndala, 2; - getexp 80, 0; - } - return; -} - -function deny_yellow_dye { - mesn; - mesc l("I am sorry, but it does not look like you have everything. You will need to bring:"); - next; - mesc l("%d/%d %s", countitem(BottleOfSewerWater), 1, getitemlink(BottleOfSewerWater)); - mesc l("%d/%d %s", countitem(PiouFeathers), 50, getitemlink(PiouFeathers)); - mesc l("%s/%s GP", fnum(Zeny), fnum(50)); - next; - return; -} - -function craft_yellow_dye { - if (countitem(BottleOfSewerWater) < 1 || - countitem(PiouFeathers) < 50 || - Zeny < 50) - deny_yellow_dye(); - else - give_yellow_dye(); - return; -} - -OnInit: - .@npcId = getnpcid(.name$); - setunitdata(.@npcId, UDT_HEADTOP, NPCEyesD); - setunitdata(.@npcId, UDT_HEADMIDDLE, ValentineDress); //TODO - setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers); - setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots - setunitdata(.@npcId, UDT_HAIRSTYLE, 16); - setunitdata(.@npcId, UDT_HAIRCOLOR, 11); - - .sex = G_FEMALE; - .distance = 5; - end; -} |