summaryrefslogtreecommitdiff
path: root/npc/001-2-9/janus.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/001-2-9/janus.txt')
-rw-r--r--npc/001-2-9/janus.txt170
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 00000000..200dbd6c
--- /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."),
+ l("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 -= .@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)),
+ l("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 -= .@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 {
+ // NOTE: "human" refers to all races in Gasaron, so usage is correct.
+ 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,
+ l("Welcome!");
+
+ 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);
+
+ closeclientdialog;
+ goodbye;
+ close;
+
+OnInit:
+ .distance = 3;
+ end;
+}