diff options
author | Jesusaves <cpntb1@ymail.com> | 2019-07-22 21:00:52 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2019-07-22 21:00:52 -0300 |
commit | 65d7567dfa9b5a9fbd72d479f737ff09acbbafc0 (patch) | |
tree | 93eb38d21a2ad27e973d5339bf22030627496f18 | |
parent | 415e14646f6737c230032eb77fc5676eb19627a0 (diff) | |
parent | 4f87977035126d5a4181fe11d651f2adc0a3399c (diff) | |
download | serverdata-65d7567dfa9b5a9fbd72d479f737ff09acbbafc0.tar.gz serverdata-65d7567dfa9b5a9fbd72d479f737ff09acbbafc0.tar.bz2 serverdata-65d7567dfa9b5a9fbd72d479f737ff09acbbafc0.tar.xz serverdata-65d7567dfa9b5a9fbd72d479f737ff09acbbafc0.zip |
Merge branch 'master' into testserver
-rw-r--r-- | db/constants.conf | 1 | ||||
-rw-r--r-- | db/re/item_db.conf | 18 | ||||
-rw-r--r-- | maps/re/003-1.mcache | bin | 1302 -> 1303 bytes | |||
-rw-r--r-- | npc/003-0-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/003-0-1/hiddenwarp.txt | 21 | ||||
-rw-r--r-- | npc/003-0/recepcionist.txt | 31 | ||||
-rw-r--r-- | npc/003-0/trickmaster.txt | 2 | ||||
-rw-r--r-- | npc/003-1/_warps.txt | 2 | ||||
-rw-r--r-- | npc/009-2/librarian.txt | 7 | ||||
-rw-r--r-- | npc/functions/util.txt | 20 |
10 files changed, 94 insertions, 9 deletions
diff --git a/db/constants.conf b/db/constants.conf index 16d5c0522..c46df610b 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -4269,6 +4269,7 @@ constants_db: { EE_SAXSO: 1 EE_DEMURE: 2 EE_PRSM: 4 + EE_MAGICSCHOOL: 8 comment__: "Teleporter enum" TP_NONE: 0 diff --git a/db/re/item_db.conf b/db/re/item_db.conf index ab9a954ce..cc0c5b935 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -5424,6 +5424,24 @@ item_db: ( Refine: false }, // <!-- ID 900~910 Reserved --> +{ + Id: 911 + AegisName: "ScholarshipBadge" + Name: "Scholarship Badge" + Type: "IT_ETC" + Buy: 10000 + Sell: 3500 + Weight: 1 + Refine: false + ViewSprite: 911 + Trade: { + notrade: true + nodrop: true + noselltonpc: true + nomail: true + noauction: true + } +}, // <!-- Necklaces --> { Id: 1000 diff --git a/maps/re/003-1.mcache b/maps/re/003-1.mcache Binary files differindex e87aff702..302929038 100644 --- a/maps/re/003-1.mcache +++ b/maps/re/003-1.mcache diff --git a/npc/003-0-1/_import.txt b/npc/003-0-1/_import.txt index 5aa9264e7..0d04be190 100644 --- a/npc/003-0-1/_import.txt +++ b/npc/003-0-1/_import.txt @@ -3,6 +3,7 @@ "npc/003-0-1/_warps.txt", "npc/003-0-1/audsbel.txt", "npc/003-0-1/guards.txt", +"npc/003-0-1/hiddenwarp.txt", "npc/003-0-1/maxime.txt", "npc/003-0-1/professor.txt", "npc/003-0-1/researcher.txt", diff --git a/npc/003-0-1/hiddenwarp.txt b/npc/003-0-1/hiddenwarp.txt new file mode 100644 index 000000000..d6f339b58 --- /dev/null +++ b/npc/003-0-1/hiddenwarp.txt @@ -0,0 +1,21 @@ +// TMW2 Script +// Author: +// Jesusalva +// Easter Egg for Hello World player +// TODO: In future, check player direction + +003-0-1,21,24,0 script #MSchoolRoof NPC_HIDDEN,0,0,{ + end; + +OnTouch: + warp "003-1", 49, 24; + .@q=getq(General_EasterEggs); + + if (!(.@q & EE_MAGICSCHOOL)) { + setq General_EasterEggs, .@q|EE_MAGICSCHOOL; + dispbottom l("For finding an Easter Egg, you got Strange Coins!"); + getitem StrangeCoin, 3; + } + + end; +} diff --git a/npc/003-0/recepcionist.txt b/npc/003-0/recepcionist.txt index 3cb3e89de..7bd39ef0f 100644 --- a/npc/003-0/recepcionist.txt +++ b/npc/003-0/recepcionist.txt @@ -2,7 +2,7 @@ // Author: // Jesusalva // Description: -// Magic School recepcionist +// Magic School recepcionist (TODO: Give S. Badge) 003-0,47,44,4 script Recepcionist#003-0 NPC_FEMALE,{ if (getskilllv(TMW2_SKILLPERMIT) == 2 && MAGIC_LVL >= 3 && ST_TIER >= 1) goto L_T3_S0; @@ -15,6 +15,8 @@ next; mesn; mesq l("I hope our new campus get built soon. It'll be much better than here."); + if (!MGQUEST) + goto L_Prologue; if (!MAGIC_LVL) close; next; @@ -36,6 +38,33 @@ goodbye; close; +////////////// +/* Prologue */ +////////////// +L_Prologue: + next; + mesn l("Magic Academy Tutorial"); + mesc l("The Magic Academy System is responsible for learning most skills ingame. For that, you need two things: Magic Skill Points and a reagent."); + next; + mesn l("Magic Academy Tutorial"); + mesc l("The reagent is always the same for the same class. If you do not have enough reagents but have an @@, it'll be used to continue.", getitemlink(ScholarshipBadge)); + next; + mesn l("Magic Academy Tutorial"); + mesc l("Magic Skill Points can be obtained in three ways: By touching a Mana Stone, by signing up in a Special Class (if you have enough magic power) and by having high amounts of Job Level."); + next; + mesn l("Magic Academy Tutorial"); + mesc l("Upgrading a skill level can be done the same away and will always cost a single Magic Skill Point. Job Level points are obtained only after Lv @@, and is a single point each @@ levels.", 15+12, 12); + next; + inventoryplace ScholarshipBadge, 1; + mesn; + mesq l("That being said, I'll give you an @@, which allows you to learn a skill even if you can't pay for it.", getitemlink(ScholarshipBadge)); + next; + mesn; + mesq l("Please note unless you have Magic Powers, obtained from the Mana Seed, all you will be able to learn are small tricks, so please make a wise choice."); + MGQUEST=true; + getitem ScholarshipBadge, 1; + close; + //////////////// /* First Tier */ //////////////// diff --git a/npc/003-0/trickmaster.txt b/npc/003-0/trickmaster.txt index 8a51c2c58..19c590955 100644 --- a/npc/003-0/trickmaster.txt +++ b/npc/003-0/trickmaster.txt @@ -5,7 +5,7 @@ // Trickmaster of Tricksters Class 003-0,40,30,0 script Trickmaster NPC_SITTED_NINJA,{ - if (!MAGIC_LVL) goto L_NoMagic; + //if (!MAGIC_LVL) goto L_NoMagic; mes l(".:: Trickster Class ::."); mesc l("Specialized in miscellaneous skills."); next; diff --git a/npc/003-1/_warps.txt b/npc/003-1/_warps.txt index 07b38bbfc..e552f7c33 100644 --- a/npc/003-1/_warps.txt +++ b/npc/003-1/_warps.txt @@ -20,3 +20,5 @@ 003-1,58,54,0 warp #003-1_58_54 0,0,003-1-3,82,82 003-1,25,45,0 warp #003-1_25_45 0,0,003-1-3,37,85 003-1,52,35,0 warp #003-1_52_35 1,0,003-0-1,48,51 +003-1,49,23,0 warp #003-1_49_23 0,0,003-0-1,22,25 +003-1,54,23,0 warp #003-1_54_23 0,0,003-0-1,69,24 diff --git a/npc/009-2/librarian.txt b/npc/009-2/librarian.txt index 19e43642e..4a471bbea 100644 --- a/npc/009-2/librarian.txt +++ b/npc/009-2/librarian.txt @@ -58,9 +58,9 @@ L_Prologue: mesq l("Ah... I see. You are a lost soul, without parents, lost on the world with only some basic stuff."); next; mesn; - mesq l("Alright, I'll look in the archives. I'll have an answer for you in two hours. Meanwhile, why don't you suppress the bandits on the cliff?"); + mesq l("Alright, I'll look in the archives. I'll have an answer for you in @@. Meanwhile, why don't you suppress the bandits on the cliff?", l("45 minutes")); // Please wait 2 hours - setq General_Narrator, 7, santime()+(60*60*2); + setq General_Narrator, 7, santime()+(60*45); next; mesn; mesq l("Also, Halinarzo is famous for the depleted mana mines in the town. You probably won't find a mana stone there, but it might be cool to look."); @@ -127,10 +127,13 @@ L_Report: mesn; mesq l("Their first stop was Hurnscald, so please go to Hurnscald Townhall, and speak with the mayor, he can help you getting there. You can't reach there normally, after all."); next; + inventoryplace ScholarshipBadge, 1; mesn; mesq l("Good luck, @@!", strcharinfo(0)); + mesc l("@@ hands you an @@.", .name$, getitemlink(ScholarshipBadge)); next; getexp BaseLevel*750, JobLevel*50;// Reference Levels: (40, 15) + getitem ScholarshipBadge, 1; mesc b(l(".:: Main Quest 2-3 ::.")), 3; mesc l("* Talk to Librarian in Halinarzo"), 2; mesc l("* Return to Hurnscald Townhall"), 9; diff --git a/npc/functions/util.txt b/npc/functions/util.txt index f41c343fc..0e50e2d30 100644 --- a/npc/functions/util.txt +++ b/npc/functions/util.txt @@ -590,8 +590,10 @@ function script sk_maxpoints { .@val=(MAGIC_LVL)*2; // 1 point every twice magic level .@val+=(MAGIC_LVL/2); - // Excluding first 15, 1 point every 10 job levels - .@val+=((JobLevel-15)/10); + // Excluding first 15, 1 point every 12 job levels (Up to JL 75) + .@val+=min(5, ((JobLevel-15)/12)); + // 1 point per being a player + .@val+=1; // 1 point per skill permit level .@val+=getskilllv(TMW2_SKILLPERMIT); return .@val; @@ -630,21 +632,29 @@ function script mlearn { .@ap=getarg(2); .@it=getarg(3); .@am=getarg(4); + .@learn$=l("learn"); if (getskilllv(.@sk) >= .@ff) { mesc l("You've reached the maximum level for this skill."), 1; return true; } - mesc l("To learn @@ you'll need @@/@@ point(s).", .@sk, .@ap, sk_points()); + if (getskilllv(.@sk)) { + .@ap=1; + .@learn$=l("upgrade"); + } + mesc l("To @@ @@ you'll need @@/@@ point(s).", .@learn$, .@sk, .@ap, sk_points()); mesc l("You'll also need to pay a fee of @@x @@", .@am, getitemlink(.@it)); next; if (askyesno() == ASK_NO) return true; - if (countitem(.@it) < .@am) + if (countitem(.@it) < .@am && !(countitem(ScholarshipBadge))) return false; if (!sk_canlvup(.@ap)) return false; - delitem .@it, .@am; + if (countitem(.@it) < .@am) + delitem ScholarshipBadge, 1; + else + delitem .@it, .@am; sk_lvup(.@sk, .@ap); return true; } |