diff options
-rw-r--r-- | conf/battle_athena.conf | 2 | ||||
-rw-r--r-- | db/skill_db.txt | 38 | ||||
-rw-r--r-- | npc/001-1_Tulimshar/_import.txt | 1 | ||||
-rw-r--r-- | npc/001-1_Tulimshar/trader.txt | 56 | ||||
-rw-r--r-- | npc/021-2_Tulimshar/government_building.txt | 63 |
5 files changed, 140 insertions, 20 deletions
diff --git a/conf/battle_athena.conf b/conf/battle_athena.conf index 5bd98111..782a05bd 100644 --- a/conf/battle_athena.conf +++ b/conf/battle_athena.conf @@ -231,7 +231,7 @@ mob_count_rate: 100 // Quest skills can be learned? (Note 1) // Setting this to yes can open an exploit on your server! -quest_skill_learn: no +quest_skill_learn: yes // When skills are reset, quest skills are reset as well? (Note 1) // Setting this to yes can open an exploit on your server! diff --git a/db/skill_db.txt b/db/skill_db.txt index f43ee8c6..d1563303 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -1,22 +1,24 @@ //id, range, hit, inf, pl, nk, max, list_num, castcancel, cast_defence_rate, inf2, maxcount, skill_type, blow_count -1, 0, 0, 0, 0, 0, 9, 0, no, 0, 0, 0, none, 0 //NV_BASIC -2, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //SM_SWORD -4, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //SM_RECOVERY -9, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MG_SRECOVERY -36, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_INCCARRY -37, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_DISCOUNT -38, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_OVERCHARGE -48, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //TF_DOUBLE -49, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //TF_MISS -52, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //TF_POISON -142, 0, 6, 4, 0, 1, 1, 1, no, 0, 1, 0, none, 0 //NV_FIRSTAID -144, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, none, 0 //SM_MOVINGRECOVERY -146, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, weapon, 0 //SM_AUTOBERSERK -150, 0, 6, 4, 0, 1, 1, 1, no, 0, 1, 0, weapon, 5 //TF_BACKSLIDING -176, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //NPC_POISON -188, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //NPC_POISONATTACK -196, 0, 0, 4, 0, 1, 10, 1, no, 0, 2, 0, magic, 0 //NPC_SUMMONSLAVE -197, 0, 0, 4, 0, 1, 10, 1, no, 0, 2, 0, none, 0 //NPC_EMOTION +1, 0, 0, 0, 0, 0, 1, 0, no, 0, 0, 0, none, 0 //NV_EMOTE +2, 0, 0, 0, 0, 0, 1, 0, no, 0, 0, 0, none, 0 //NV_TRADE +3, 0, 0, 0, 0, 0, 2, 0, no, 0, 0, 0, none, 0 //NV_PARTY +4, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //SM_SWORD +6, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //SM_RECOVERY +11, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MG_SRECOVERY +38, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_INCCARRY +39, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_DISCOUNT +40, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0 //MC_OVERCHARGE +50, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //TF_DOUBLE +51, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0 //TF_MISS +54, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //TF_POISON +144, 0, 6, 4, 0, 1, 1, 1, no, 0, 1, 0, none, 0 //NV_FIRSTAID +146, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, none, 0 //SM_MOVINGRECOVERY +148, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, weapon, 0 //SM_AUTOBERSERK +152, 0, 6, 4, 0, 1, 1, 1, no, 0, 1, 0, weapon, 5 //TF_BACKSLIDING +178, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //NPC_POISON +190, 1, 6, 4, 0, 0, 100, 1, no, 0, 1, 0, none, 0 //NPC_POISONATTACK +198, 0, 0, 4, 0, 1, 10, 1, no, 0, 2, 0, magic, 0 //NPC_SUMMONSLAVE +199, 0, 0, 4, 0, 1, 10, 1, no, 0, 2, 0, none, 0 //NPC_EMOTION 340, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC 341, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC_LIFE 342, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC_WAR diff --git a/npc/001-1_Tulimshar/_import.txt b/npc/001-1_Tulimshar/_import.txt index b66c4168..6e189ffd 100644 --- a/npc/001-1_Tulimshar/_import.txt +++ b/npc/001-1_Tulimshar/_import.txt @@ -17,4 +17,5 @@ npc: npc/001-1_Tulimshar/rewards_master.txt npc: npc/001-1_Tulimshar/rules.txt npc: npc/001-1_Tulimshar/sandra.txt npc: npc/001-1_Tulimshar/soul-menhir.txt +npc: npc/001-1_Tulimshar/trader.txt npc: npc/001-1_Tulimshar/vincent.txt diff --git a/npc/001-1_Tulimshar/trader.txt b/npc/001-1_Tulimshar/trader.txt new file mode 100644 index 00000000..73221326 --- /dev/null +++ b/npc/001-1_Tulimshar/trader.txt @@ -0,0 +1,56 @@ +// + +001-1.gat,57,33,0 script Trader 115,{ + set @TRADE_SKILL, 2; + if (getskilllv(@TRADE_SKILL) > 0) goto L_Has; + + mes "[Trader]"; + mes "\"Hello. I came here to trade wares with the people of Tulimshar. Unfortunately for you, I've traded everything I had.\""; + next; + menu + "Oh. I'll go then.", -, + "You don't have anything?", L_More; + close; + +L_More: + mes "[Trader]"; + mes "\"No. I have nothing for you. Except...\""; + next; + menu + "Yes?", L_Except, + "Ok then.", -; + close; + +L_Except: + mes "[Trader]"; + mes "\"I could teach you how to trade. It'll cost you 5GP.\""; + next; + menu + "Sure", L_Teach, + "No thank you", -; + close; + +L_Teach: + if (zeny < 5) L_NotEnoughMoney; + set zeny, zeny - 5; + setskill @TRADE_SKILL, 1; + mes "[Trader]"; + mes "\"You can initiate trade with someone by right-clicking on them and choosing trade."; + mes "You'll both add the items and set the GP you're putting up then press propose trade."; + mes "After both parties have proposed their side, you can both review the trade, and then accept or reject by closing the window.\""; + next; + mes "[Trader]"; + mes "\"Items added to the trade cannot be removed, and so mistakes have to be dealt with by canceling the trade."; + mes "You need to press the change button to let the other person know about GP changes.\""; + close; + +L_Has: + mes "[Trader]"; + mes "\"I still don't have anything to trade. I wonder where that shipment is....\""; + close; + +L_NotEnoughMoney: + mes "[Trader]"; + mes "\"You don't have enough GP\""; + close; +} diff --git a/npc/021-2_Tulimshar/government_building.txt b/npc/021-2_Tulimshar/government_building.txt index 92ca1f35..894a8f67 100644 --- a/npc/021-2_Tulimshar/government_building.txt +++ b/npc/021-2_Tulimshar/government_building.txt @@ -140,14 +140,75 @@ S_give_rings: return; } -// A clerk (TODO: give out party skill levels) 021-2.gat,36,17,0 script Tathin 107,{ + set @PARTY_SKILL, 3; + mes "[Tathin]"; mes "\"Hello what Can I do for you?\""; next; + + if (getskilllv(@PARTY_SKILL) == 2 ) goto L_Base_Menu; + if (BaseLevel >= 15 && getskilllv(@PARTY_SKILL) == 1) goto L_Can_Make_Party; + if (BaseLevel >= 10) goto L_Can_Party; + +L_Base_Menu: + menu + "Nothing, I guess.", -; + close; + +L_Can_Party: + menu + "I'd like to get a party permit.", L_Get_Party, + "Nothing, I guess.", -; + close; + +L_Can_Make_Party: menu + "I'd like to get a party creator permit.", L_Get_Make_Party, "Nothing, I guess.", -; close; + +L_Get_Party: + mes "[Tathin]"; + mes "\"A permit to join parties costs 10 GP.\""; + next; + menu + "OK", L_Give_Party, + "No thank you", -; + close; + +L_Give_Party: + if (zeny < 10) L_NotEnoughMoney; + set zeny, zeny - 10; + setskill @PARTY_SKILL, 1; + mes "[Tathin]"; + mes "\"Here's your permit. You'll need to be invited by an existing member of a party to join it.\""; + next; + mes "[Tathin]"; + mes "\"Remember, parties cannot share experience if any members are more than 10 levels apart.\""; + close; + +L_Get_Make_Party: + mes "[Tathin]"; + mes "\"A permit to create parties costs 50 GP.\""; + next; + menu + "OK", L_Give_Make_Party, + "No thank you", -; + close; + +L_Give_Make_Party: + if (zeny < 50) L_NotEnoughMoney; + set zeny, zeny - 50; + setskill @PARTY_SKILL, 2; + mes "[Tathin]"; + mes "\"Here's your permit. You can create parties with the 'new' or 'create' commands on the Party tab in the client. Parties need to have unique names.\""; + close; + +L_NotEnoughMoney: + mes "[Tathin]"; + mes "\"You don't have enough GP\""; + close; } // Guard |