diff options
Diffstat (limited to 'npc/001-2-9/janus.txt')
-rw-r--r-- | npc/001-2-9/janus.txt | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/npc/001-2-9/janus.txt b/npc/001-2-9/janus.txt new file mode 100644 index 000000000..a652a7c5e --- /dev/null +++ b/npc/001-2-9/janus.txt @@ -0,0 +1,170 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Party NPC +// Variable: +// General_Janus +// Values: +// 0 Default. +// 1 Basic information given. +// 2 Party creation enabled. +// 3 Guild certificate given. + +001-2-9,30,28,0 script Janus NPC_JANUS,{ + + function create_party { + .@party_price = 1000; + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Creating a party has some advantages, it's a pretty good choice!"), + l("I remember when I created my first party, we were amazed to share some experience with a small group of adventurer..."), + l("Oh! And our party chat was really entertaining, I do highly recommend you to share this fun as well."), + lg("The cost to create a party is @@ E, are you interested?", + "The cost to create a party is @@ E, are you interested?", .@party_price); + + if (askyesno() == 1) + { + if (Zeny < .@party_price) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring @@ E.", .@party_price); + } + else + { + Zeny = Zeny - .@party_price; + setq General_Janus, 2; + skill NV_BASIC, 7, 0; + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Awesome, come back if you ever want to create a larger group!"); + } + } + } + + function create_guild { + .@guild_price = 35000; + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Oh oh... I see, your party became so big that you want to create an even larger structure?"), + l("Or do you want to keep your friendships and adventures in different groups?"), + l("Anyway, the guild creation is perfect for both!"), + l("You can keep your current party as it is, while leading or being part of a guild in order to talk and share different items with all of its members!"), + l("The @@ is a one time item, you can use it as many times as you want, but you can only have one!", getitemlink(GuildCertification)), + lg("The cost to create a guild is @@ E, are you interested?", + "The cost to create a guild is @@ E, are you interested?", .@guild_price); + + if (askyesno() == 1) + { + if (Zeny < .@guild_price) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("You don't have enough money, bring @@ E.", .@guild_price); + } + else + { + inventoryplace GuildCertification, 1; + Zeny = Zeny - .@guild_price; + setq General_Janus, 3; + getitem GuildCertification, 1; + + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Enjoy the fraternity and excitement of your future guild!"); + } + } + } + + function explain_service { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You are on the human resource wing of the Town Hall."), + l("We offer party and guild certifications and we can also teach you how to use some basic communication skills."), + l("Do you know how to speak with people around you?"); + + if (askyesno() == 2) + { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("You lack some very basic skills..."); + + if (compareandsetq(General_Janus, 0, 1)) + { + speech S_LAST_NEXT | S_NO_NPC_NAME, + l("This book contains everything you should know about it, take it!"); + + inventoryplace CommunicationTheory, 1; + getitem CommunicationTheory, 1; + } + else + { + speech S_LAST_NEXT | S_NO_NPC_NAME, + l("You can read the book that I gave you earlier at the library if you lost it."); + } + } + else + { + if (compareandsetq(General_Janus, 0, 1)) + { + speech S_LAST_NEXT | S_NO_NPC_NAME, + l("Anyway."), + l("This book contains everything you should know about it, take it!"); + + inventoryplace CommunicationTheory, 1; + getitem CommunicationTheory, 1; + } + + } + + return; + } + + function janus_is_not_ianus { + speech S_FIRST_BLANK_LINE, + l("Janus!"); + emotion E_UPSET; + next; + + speech S_LAST_NEXT | S_NO_NPC_NAME, + l("Ianus is from the Legion of Aemil, don't compare me to this brigand."); + + return; + } + + speech S_LAST_NEXT, + lg("Welcome miss.", "Good day sir."); + + do + { + // Beta users by-pass check. + if (getskilllv(NV_BASIC) > 6 && getq(General_Janus) == 1) + { + setq General_Janus, 2; + } + + select + rif(getq(General_Janus) == 1, l("I would like to create a party.")), + rif(getq(General_Janus) == 2, l("I would like to create a guild.")), + l("What service do you offer?"), + l("Your name is Ianus or Janus?"), + menuaction(l("Quit")); + + switch (@menu) + { + case 1: + create_party; + break; + case 2: + create_guild; + break; + case 3: + explain_service; + break; + case 4: + janus_is_not_ianus; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} |