From c6942b93f81dff44fd58cb92dafb9d5323a2f799 Mon Sep 17 00:00:00 2001 From: Fate Date: Sat, 19 Sep 2009 21:15:55 +0000 Subject: Updated skills db to new format expected with skill pools --- db/skill_db.txt | 59 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 27 deletions(-) (limited to 'db') diff --git a/db/skill_db.txt b/db/skill_db.txt index d1563303..293088d2 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -1,27 +1,32 @@ -//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, 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 -343, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC_TRANSMUTE -344, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC_NATURE -345, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0 //TMW_MAGIC_ASTRAL +//id, range, hit, inf, pl, nk, maxrse, max, list_num, castcancel, cast_defence_rate, inf2, maxcount, skill_type, blow_count, pool, stat, name +1, 0, 0, 0, 0, 0, 0, 1, 0, no, 0, 0, 0, none, 0, no, none, Emote //NV_EMOTE +2, 0, 0, 0, 0, 0, 0, 1, 0, no, 0, 0, 0, none, 0, no, none, Trade //NV_TRADE +3, 0, 0, 0, 0, 0, 0, 2, 0, no, 0, 0, 0, none, 0, no, none, Party //NV_PARTY +4, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0, no, none, X0 //SM_SWORD +6, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0, no, none, X1 //SM_RECOVERY +11, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0, no, none, X2 //MG_SRECOVERY +38, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0, no, none, X3 //MC_INCCARRY +39, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0, no, none, X4 //MC_DISCOUNT +40, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, none, 0, no, none, X5 //MC_OVERCHARGE +50, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0, no, none, X6 //TF_DOUBLE +51, 0, 0, 0, 0, 0, 0, 10, 0, no, 0, 0, 0, weapon, 0, no, none, X7 //TF_MISS +54, 1, 6, 4, 0, 0, 0, 100, 1, no, 0, 1, 0, none, 0, no, none, X8 //TF_POISON +144, 0, 6, 4, 0, 1, 0, 1, 1, no, 0, 1, 0, none, 0, no, none, X9 //NV_FIRSTAID +146, 0, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, none, 0, no, none, X10 //SM_MOVINGRECOVERY +148, 0, 0, 0, 0, 0, 0, 1, 0, no, 0, 1, 0, weapon, 0, no, none, X11 //SM_AUTOBERSERK +152, 0, 6, 4, 0, 1, 0, 1, 1, no, 0, 1, 0, weapon, 5, no, none, X12 //TF_BACKSLIDING +178, 1, 6, 4, 0, 0, 0, 100, 1, no, 0, 1, 0, none, 0, no, none, X13 //NPC_POISON +190, 1, 6, 4, 0, 0, 0, 100, 1, no, 0, 1, 0, none, 0, no, none, X14 //NPC_POISONATTACK +198, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, magic, 0, no, none, X15 //NPC_SUMMONSLAVE +199, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, none, 0, no, none, X16 //NPC_EMOTION +339 0, 0, 0, 0, 0, 0, 3, 0, no, 0, 0, 0, none, 0, no, none Skill_Pool //TMW_SKILLPOOL +340, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Magic //TMW_MAGIC +341, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Life_Magic //TMW_MAGIC_LIFE +342, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none War_Magic //TMW_MAGIC_WAR +343, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Transmutation_Magic //TMW_MAGIC_TRANSMUTE +344, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Nature_Magic //TMW_MAGIC_NATURE +345, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Astral_Magic //TMW_MAGIC_ASTRAL +// maxrse describes the max. level that the skill can be raised to through the `raise skill' option. Further raising has to happen via quests. +// maxrse < max. +// `pool' can be `no', `active', or `passive'. +// `stat' can be `none', `str', `dex', `agi', `vit', `int', `luk'. -- cgit v1.2.3-60-g2f50 From 9861d88220a0f26fc4c00bdca31cd0f7ae0eac3f Mon Sep 17 00:00:00 2001 From: Fate Date: Tue, 22 Sep 2009 23:45:53 +0000 Subject: Initial skill NPC support --- db/const.txt | 3 ++ npc/001-1_Tulimshar/bard.txt | 26 ++++++++--- npc/001-1_Tulimshar/man.txt | 100 ++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 122 insertions(+), 7 deletions(-) (limited to 'db') diff --git a/db/const.txt b/db/const.txt index 190e9755..b51e3aa1 100644 --- a/db/const.txt +++ b/db/const.txt @@ -194,6 +194,9 @@ NIBBLE_6_MASK 251658240 NIBBLE_7_SHIFT 28 // Only three bits available in this one NIBBLE_7_MASK 1879048192 // should be 4026531840 +// Skill pools +SKILL_FOCUS 349 + // Magic skills SKILL_MAGIC 340 SKILL_MAGIC_LIFE 341 diff --git a/npc/001-1_Tulimshar/bard.txt b/npc/001-1_Tulimshar/bard.txt index 8b416ec5..ea1c1578 100644 --- a/npc/001-1_Tulimshar/bard.txt +++ b/npc/001-1_Tulimshar/bard.txt @@ -1,6 +1,6 @@ // -001-1.gat,37,73,0 script Bard 152,{ +001-1.gat,46,76,0 script Bard 152,{ setarray @songs$, "\"There once was a bard, who had it hard, because a man in dark green, was very mean.\"", "\"At Hurnscald inn, there was a person of fairest skin, declining wedding bands from quite a many hands.\"", "\"As the Sun sets down in the forest's brown, she whom the fragrance holds counts her gold.\""; @@ -21,20 +21,34 @@ L_Main: L_News: mes "[" + @name$ + "]"; - mes "\"News I have for you indeed, lest you have already overheard (for then it would no longer be news to you!)\""; + mes "\"Quite, quite! Rumour has it that Luca the Hunter, from this very town of Tulimshar, has returned from a long journey.\""; next; mes "[" + @name$ + "]"; - mes "\"Rumor has it that an ancient source of magic, a Mana Seed, has been sighted in the west, beyond the fair town of Hurnscald.\""; + mes "\"Many perilous battles he fought, or so his tales go... I am still working on a sonnet that I wish to dedicate to his exploits.\""; next; - set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_MANASEED_RUMOUR; mes "[" + @name$ + "]"; - mes "\"Whence it came, nobody knows... but they say that sometimes such Mana Seeds may choose a powerful individual to impart some of its mystic power to!\""; + mes "\"He says that he learned some new skills along the way and wishes to pass them on to others like him, who do not fear the fire of battle!\""; next; mes "[" + @name$ + "]"; - mes "\"I wonder who might be qualified?\""; + mes "\"If you are experienced enough, perhaps he will teach you?\""; next; goto L_Main; +// mes "[" + @name$ + "]"; +// mes "\"News I have for you indeed, lest you have already overheard (for then it would no longer be news to you!)\""; +// next; +// mes "[" + @name$ + "]"; +// mes "\"Rumor has it that an ancient source of magic, a Mana Seed, has been sighted in the west, beyond the fair town of Hurnscald.\""; +// next; +// set MAGIC_FLAGS, MAGIC_FLAGS | MFLAG_MANASEED_RUMOUR; +// mes "[" + @name$ + "]"; +// mes "\"Whence it came, nobody knows... but they say that sometimes such Mana Seeds may choose a powerful individual to impart some of its mystic power to!\""; +// next; +// mes "[" + @name$ + "]"; +// mes "\"I wonder who might be qualified?\""; +// next; +// goto L_Main; + L_Question: callfunc "MagicTalkOptionsSetup"; set @ignore, 0; diff --git a/npc/001-1_Tulimshar/man.txt b/npc/001-1_Tulimshar/man.txt index 804acf8e..831e8b0f 100644 --- a/npc/001-1_Tulimshar/man.txt +++ b/npc/001-1_Tulimshar/man.txt @@ -1,6 +1,13 @@ // 001-1.gat,108,55,0 script Luca 102,{ + + if (BaseLevel >= 45) + goto L_teach_soon; + + if (BaseLevel >= 50) + goto L_teach; + mes "[Luca the Hunter]"; mes "\"Ouch! It hurts, this wound I got from battle.\""; next; @@ -8,7 +15,10 @@ L_Exp: mes "[Luca the Hunter]"; - mes "\"I was fighting scorpions for experience and I bumped into a RED one. I had NEVER seen it before!\""; + mes "\"I was just coming back from a long journey. I ran into a group of scorpions and started fighting them for experience.\""; + next; + mes "[Luca the Hunter]"; + mes "\"Then, out of a cave came a BLACK one! I had NEVER seen it before!\""; next; mes "[Luca the Hunter]"; mes "\"Luckily i had a camera with me! Here's a picture of it... Let me find it, I put it in my pocket somewhere...\""; @@ -21,4 +31,92 @@ L_Nev: mes "[Luca the Hunter]"; mes "\"Hmpf!\""; close; + + +L_teach_soon: + mes "[Luca the Hunter]"; + mes "\"Hey, you look like you're quite a hunter yourself! If you train a little more, maybe I can teach you a special skill or two?\""; + close; + +L_teach: + if (getskilllv(SKILL_POOL)) + goto L_teachmore; + + mes "[Luca the Hunter]"; + mes "\"Hey there! You're quite the adventurer, aren't you? But if you want to become stronger, you need to learn a skill or two!\""; + next; + mes "[Luca the Hunter]"; + mes "\"If you want, I can help you a bit with that!\""; + next; + menu + "Sure, that sounds fun!", -, + "I'm not interested.", L_Nev; + + mes "[Luca the Hunter]"; + mes "\"All right! It's not all that easy, though. First I have to teach you teach you how to focus. That's because you can learn many skills, but you can't focus on all of them all the time.\""; + next; + + mes "[Luca the Hunter]"; + mes "\"Then I can teach you some skills, and you can tell me which ones you want to focus on. Deal?\""; + next; + + menu + "Yeah!", L_teach0_follow, + "Certainly!", L_teach0_follow, + "Wait... what do you mean?", -, + "Please explain it first.", -, + "No.", L_Nev; + + callsub S_explain; +L_teach0_follow: + + +S_explain: + mes "[Luca the Hunter]"; + mes "\"Alright, what do you want to know?\""; + next; +S_explain_loop: + menu + "What's skill focus?", L_explain_focus, + "What skills are there?", L_explain_skills, + "How do skills work?", L_explain_work, + "Thanks, I think I got it!", -; + return; + +L_explain_focus: + mes "[Luca the Hunter]"; + mes "\"Well, you can learn many, many skills. But you can't really use all of them at once, not even old Aulsbels' head is big enough for that! So you have to focus.\""; + next; + mes "[Luca the Hunter]"; + mes "\"But you can change that focus whenever you want. It works like this: You come to me, you tell me what you want to focus on, and we do exercises until it's stuck in your head.\""; + next; + mes "[Luca the Hunter]"; + mes "\"If there's not enough space in your head, you'll first have to stop thinking about some other thing. There's an exercise I learned to do that, so when you talk to me you can just let me know what you want to forget.\""; + next; + mes "[Luca the Hunter]"; + if (getskilllv(SKILL_POOL) == 0) + mes "\"Right now you can't focus on anything yet, so I'll first have to teach you a simple skill to keep your focus.\""; + if (getskilllv(SKILL_POOL) == 1) + mes "\"Right now you can only focus on one thing at a time. So if you want to change, you have to forget whatever else you've focused on.\""; + if (getskilllv(SKILL_POOL) > 1) + mes "\"You can focus on " + getskilllv(SKILL_POOL) " skills right now.\""; + next; + mes "[Luca the Hunter]"; + mes "\"You can come back to me to focus or unfocus whenever you want, I'm here all day.\""; + next; + goto S_explain_loop; + +L_explain_skills: + mes "[Luca the Hunter]"; + mes "\"\""; + next; + goto S_explain_loop; + +L_explain_work: + mes "[Luca the Hunter]"; + mes "\"\""; + next; + goto S_explain_loop; + +L_teachmore: } -- cgit v1.2.3-60-g2f50 From 699b403f799d780c4106a7bfefd0dc95c72d0041 Mon Sep 17 00:00:00 2001 From: Fate Date: Sat, 26 Sep 2009 18:14:36 +0000 Subject: Updated skill_db file to latest version required by updated server skills code --- db/skill_db.txt | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'db') diff --git a/db/skill_db.txt b/db/skill_db.txt index 293088d2..7b36e74e 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -19,13 +19,19 @@ 190, 1, 6, 4, 0, 0, 0, 100, 1, no, 0, 1, 0, none, 0, no, none, X14 //NPC_POISONATTACK 198, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, magic, 0, no, none, X15 //NPC_SUMMONSLAVE 199, 0, 0, 4, 0, 1, 0, 10, 1, no, 0, 2, 0, none, 0, no, none, X16 //NPC_EMOTION -339 0, 0, 0, 0, 0, 0, 3, 0, no, 0, 0, 0, none, 0, no, none Skill_Pool //TMW_SKILLPOOL -340, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Magic //TMW_MAGIC -341, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Life_Magic //TMW_MAGIC_LIFE -342, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none War_Magic //TMW_MAGIC_WAR -343, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Transmutation_Magic //TMW_MAGIC_TRANSMUTE -344, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Nature_Magic //TMW_MAGIC_NATURE -345, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none Astral_Magic //TMW_MAGIC_ASTRAL +339 0, 0, 0, 0, 0, 0, 3, 0, no, 0, 0, 0, none, 0, no, none, Skill_Pool //TMW_SKILLPOOL +340, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Magic //TMW_MAGIC +341, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Life_Magic //TMW_MAGIC_LIFE +342, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, War_Magic //TMW_MAGIC_WAR +343, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Transmutation_Magic //TMW_MAGIC_TRANSMUTE +344, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Nature_Magic //TMW_MAGIC_NATURE +345, 0, 0, 0, 0, 0, 0, 5, 0, no, 0, 0, 0, magic, 0, no, none, Astral_Magic //TMW_MAGIC_ASTRAL +350, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, weapon, 0, passive,agi, Brawling //TMW_BRAWLING +351, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, weapon, 0, passive,luk, Lucky_Counter //TMW_LUCKY_COUNTER +352, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, none, 0, passive,agi, Speed //TMW_SPEED +353, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, none, 0, passive,vit, Poison_Resistance //TMW_POISON_RESISTANCE +354, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, magic, 0, passive,int, Astral_Soul //TMW_ASTRAL_SOUL +45, 0, 0, 0, 0, 0, 9, 10, 0, no, 0, 0, 0, weapon, 0, passive,dex, Mallard's_Eye //AC_OWL // maxrse describes the max. level that the skill can be raised to through the `raise skill' option. Further raising has to happen via quests. // maxrse < max. // `pool' can be `no', `active', or `passive'. -- cgit v1.2.3-60-g2f50