Skip to content
This repository was archived by the owner on Dec 28, 2019. It is now read-only.

Commit 8dba695

Browse files
committed
DB improvement + 2nd job info
Fixed a major performance problem with installing over 10000 threads when a given amount of accounts exists on the DB. Added information for the available 2nd jobs of the Explorers, introducing to the players the gists of each job branch.
1 parent a3b6cf5 commit 8dba695

File tree

7 files changed

+85
-39
lines changed

7 files changed

+85
-39
lines changed

docs/mychanges_ptbr.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -703,4 +703,7 @@ Aprimorado mec
703703

704704
28 Novembro 2017,
705705
Diversas refatora��es de classes no projeto.
706-
Novo release: HeavenMS.
706+
Novo release: HeavenMS.
707+
708+
02 Dezembro 2017,
709+
Adicionado informa��o de classes nos NPCs para os 2o jobs de Explorer.

scripts/npc/1012100.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ function action(mode, type, selection) {
8484
if (cm.canHold(1452051) && cm.canHold(2060000)){
8585
if (cm.getJobId() == 0){
8686
cm.changeJobById(300);
87-
cm.gainItem(1452051, 1);
88-
cm.gainItem(2060000, 1000);
89-
cm.resetStats();
87+
cm.gainItem(1452051, 1);
88+
cm.gainItem(2060000, 1000);
89+
cm.resetStats();
9090
}
9191
cm.sendNext("Alright, from here out, you are a part of us! You'll be living the life of a wanderer at ..., but just be patient as soon, you'll be living the high life. Alright, it ain't much, but I'll give you some of my abilities... HAAAHHH!!!");
9292
} else {
@@ -95,12 +95,14 @@ function action(mode, type, selection) {
9595
}
9696
} else if (status == 2)
9797
cm.sendNextPrev("You've gotten much stronger now. Plus every single one of your inventories have added slots. A whole row, to be exact. Go see for it yourself. I just gave you a little bit of #bSP#k. When you open up the #bSkill#k menu on the lower left corner of the screen, there are skills you can learn by using SP's. One warning, though: You can't raise it all together all at once. There are also skills you can acquire only after having learned a couple of skills first.");
98-
else
99-
cm.dispose();
100-
} else if(actionx["2ndJob"]){
98+
else if (status == 3)
99+
cm.sendNextPrev("Now a reminder. Once you have chosen, you cannot change up your mind and try to pick another path. Go now, and live as a proud Bowman.");
100+
else
101+
cm.dispose();
102+
} else if(actionx["2ndJob"]){
101103
if (status == 0){
102104
if (cm.haveItem(4031012))
103-
cm.sendSimple("Alright, when you have made your decision, click on [I'll choose my occupation] at the bottom.#b\r\n#L0#Please explain to me what being the Hunter is all about.\r\n#L1#Please explain to me what being the Crossbowman is all about.\r\n#L2#I'll choose my occupation!");
105+
cm.sendSimple("Alright, when you have made your decision, click on [I'll choose my occupation] at the bottom.#b\r\n#L0#Please explain to me what being the Hunter is all about.\r\n#L1#Please explain to me what being the Crossbowman is all about.\r\n#L3#I'll choose my occupation!");
104106
else {
105107
cm.sendNext("Good decision. You look strong, but I need to see if you really are strong enough to pass the test, it's not a difficult test, so you'll do just fine. Here, take my letter first... make sure you don't lose it!");
106108
if(!cm.isQuestStarted(100000)) cm.startQuest(100000);
@@ -117,8 +119,13 @@ function action(mode, type, selection) {
117119
cm.dispose();
118120
}
119121
} else {
120-
if (selection < 2){
121-
cm.sendNext("Not done.");
122+
if (selection < 3){
123+
if(selection == 0) { //hunter
124+
cm.sendNext("Archers that master #rBows#k.\r\n\r\n#bHunters#k have a higher damage/minute output in early levels, with attacks having a faster pace but slightly weaker than Crossbowmans. #bHunters#k get #rArrow Bomb#k, a slightly weaker attack that can cause up to 6 enemies to get stunned.");
125+
} else if(selection == 1) { //crossbowman
126+
cm.sendNext("Archers that master #rCrossbows#k.\r\n\r\n#bCrossbowmans'#k attack power grows higher the higher level you are, when compared to Hunters. #bCrossbowmans#k get #rIron Arrow#k, a stronger attack that does not home on enemies but can go through walls.");
127+
}
128+
122129
status -= 2;
123130
} else
124131
cm.sendSimple("Now... have you made up your mind? Please choose the job you'd like to select for your 2nd job advancement. #b\r\n#L0#Hunter\r\n#L1#Crossbowman");
@@ -138,7 +145,7 @@ function action(mode, type, selection) {
138145
else if (status == 5)
139146
cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottomleft corner. you'll be able to boost up the newer acquired 2nd level skills. A word of warning, though. You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure yo remember that.");
140147
else if (status == 6)
141-
cm.sendNextPrev((job == 310 ? "Hunter" : "Crossbowman") + " need to be strong. But remember that you can't abuse that power and use it on a weaking. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
148+
cm.sendNextPrev((job == 310 ? "Hunter" : "Crossbowman") + " need to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
142149
} else if (actionx["3thJobI"]){
143150
if (status == 0){
144151
if (cm.getPlayer().gotPartyQuestItem("JB3")){
@@ -258,6 +265,6 @@ function action(mode, type, selection) {
258265
else if (status == 5)
259266
cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottomleft corner. you'll be able to boost up the newer acquired 2nd level skills. A word of warning, though. You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure yo remember that.");
260267
else if (status == 6)
261-
cm.sendNextPrev((job == 310 ? "Hunter" : "Crossbowman") + " need to be strong. But remember that you can't abuse that power and use it on a weaking. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
268+
cm.sendNextPrev((job == 310 ? "Hunter" : "Crossbowman") + " need to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
262269
}
263270
}*/

scripts/npc/1022000.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,17 @@ function action(mode, type, selection) {
8888
cm.gainItem(1302077, 1);
8989
cm.resetStats();
9090
}
91-
cm.sendNext("From here on out, you are going to the (Incomplete)");
91+
cm.sendNext("From here on out, you are going to the Warrior path. This is not an easy job, but if you have discipline and confidence in your own body and skills, you will overcome any difficulties in your path. Go, young Warrior!");
9292
} else {
9393
cm.sendNext("Make some room in your inventory and talk back to me.");
9494
cm.dispose();
9595
}
9696
} else if (status == 2)
9797
cm.sendNextPrev("You've gotten much stronger now. Plus every single one of your inventories have added slots. A whole row, to be exact. Go see for it yourself. I just gave you a little bit of #bSP#k. When you open up the #bSkill#k menu on the lower left corner of the screen, there are skills you can learn by using SP's. One warning, though: You can't raise it all together all at once. There are also skills you can acquire only after having learned a couple of skills first.");
9898
else if (status == 3)
99-
cm.sendNextPrev("One more warning. Once you have chosed you (Incomplete)");
99+
cm.sendNextPrev("Now a reminder. Once you have chosen, you cannot change up your mind and try to pick another path. Go now, and live as a proud Warrior.");
100+
else
101+
cm.dispose();
100102
} else if(actionx["2ndJob"]){
101103
if (status == 0){
102104
if (cm.haveItem(4031012))
@@ -117,7 +119,14 @@ function action(mode, type, selection) {
117119
}
118120
}else{
119121
if (selection < 3){
120-
cm.sendNext("Make up your mind and then talk to me."); //there goes the explanation of the 3 WARRIOR PATHS.
122+
if(selection == 0) { //fighter
123+
cm.sendNext("Warriors that master #rSwords or Axes#k.\r\n\r\n#rFighters#k get #bRage#k, which boosts your party's weapon attack by 10. During 2nd job this is strongly appreciated, as it is free (except for -10 wep def, which is not going to impact the damage you take much at all), takes no Use slots and increases each party member's damage (except Mages) by several hundreds. The other classes can give themselves a weapon attack boost as well, but need items to do so. #rFighters#k also get #bPower Guard#k, reducing touch damage by 40% and deals it back to the monster. This is the main reason why #rFighters#k are considered soloers is because this reduces pot costs immensely.");
124+
} else if(selection == 1) { //page
125+
cm.sendNext("Warriors that master #rSwords or Maces/Blunt weapons#k.\r\n\r\n#rPages#k get #bThreaten#k, a skill that lowers the enemies' weapon defense and weapon attack by 20; this is mostly used to lower damage dealt to you. Pages also get #bPower Guard#k, reducing touch damage by 40% and deals it back to the monster. This is one of the main reason why #bPages/WKs#k are considered soloers, that's because this reduces pot costs immensely. Of course, constant KB and #bIce Charge#k helps also to the soloing factor.");
126+
} else { //spearman
127+
cm.sendNext("Warriors that master #rSpears or Polearms#k.\r\n\r\n#rSpearmen#k get #bHyper Body#k, which boosts your max HP/MP and that of your party by 60% when maxed. This skill is particularly useful for helping partied Thieves, Archers, and Mages to survive more hits from enemies and/or PQ bosses. They also get #bIron Will#k which gives +20 wep def and +20 mag def for 300 sec. It is basically a nerfed Bless with 100 seconds more duration but gives no accuracy or avoidability bonus. Even with this skill maxed, it isn't even close to being in the same league as Power Guard and is why Spearmen/Dark Knights are not considered a soloing class.");
128+
}
129+
121130
status -= 2;
122131
} else
123132
cm.sendSimple("Now... have you made up your mind? Please choose the job you'd like to select for your 2nd job advancement. #b\r\n#L0#Fighter\r\n#L1#Page\r\n#L2#Spearman");
@@ -144,7 +153,7 @@ function action(mode, type, selection) {
144153
else if (status == 5)
145154
cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottomleft corner. you'll be able to boost up the newer acquired 2nd level skills. A word of warning, though. You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure yo remember that.");
146155
else if (status == 6)
147-
cm.sendNextPrev((job == 110 ? "Fighter" : job == 120 ? "Page" : "Spearman") + " need to be strong. But remember that you can't abuse that power and use it on a weaking. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
156+
cm.sendNextPrev((job == 110 ? "Fighter" : job == 120 ? "Page" : "Spearman") + " need to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
148157
} else if (actionx["3thJobI"]){
149158
if (status == 0){
150159
if (cm.getPlayer().gotPartyQuestItem("JB3")){

scripts/npc/1032001.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,9 @@ function action(mode, type, selection) {
100100
else if (status == 4)
101101
cm.sendNextPrev("Now, one more word of warning to you. If you fail in battle from this point on, you will lose a portion of your total EXP. Be extra mindful of this, since you have less HP than most.");
102102
else if (status == 5)
103-
cm.sendPrev("This is all I can teach you. Good luck on your journey, young Magician.");
103+
cm.sendNextPrev("This is all I can teach you. Good luck on your journey, young Magician.");
104+
else
105+
cm.dispose();
104106
} else if(actionx["2ndJob"]){
105107
if (status == 0){
106108
if (cm.haveItem(4031012))
@@ -121,7 +123,14 @@ function action(mode, type, selection) {
121123
}
122124
}else{
123125
if (selection < 3){
124-
cm.sendNext("Not done.");
126+
if(selection == 0) {
127+
cm.sendNext("Magicians that master #rFire/Poison-based magic#k.\r\n\r\n#bWizards#k are a active class that deal magical, elemental damage. These abilities grants them a significant advantage against enemies weak to their element. With their skills #rMeditation#k and #rSlow#k, #bWizards#k can increase their magic attack and reduce the opponent's mobility. #bFire/Poison Wizards#k contains a powerful flame arrow attack and poison attack."); //f/p mage
128+
} else if(selection == 1) {
129+
cm.sendNext("Magicians that master #rIce/Lightning-based magic#k.\r\n\r\n#bWizards#k are a active class that deal magical, elemental damage. These abilities grants them a significant advantage against enemies weak to their element. With their skills #rMeditation#k and #rSlow#k, #bWizards#k can increase their magic attack and reduce the opponent's mobility. #bIce/Lightning Wizards#k have a freezing ice attack and a striking lightning attack."); //i/l mage
130+
} else {
131+
cm.sendNext("Magicians that master #rHoly magic#k.\r\n\r\n#bClerics#k are a powerful supportive class, bound to be accepted into any Party. That's because the have the power to #rHeal#k themselves and others in their party. Using #rBless#k, #bClerics#k can buff the attributes and reduce the amount of damage taken. This class is on worth going for if you find it hard to survive. #bClerics#k are especially effective against undead monsters."); //cleric
132+
}
133+
125134
status -= 2;
126135
} else
127136
cm.sendSimple("Now... have you made up your mind? Please choose the job you'd like to select for your 2nd job advancement. #b\r\n#L0#Wizard (Fire / Poison)\r\n#L1#Wizard (Ice / Lighting)\r\n#L2#Cleric");
@@ -145,7 +154,7 @@ function action(mode, type, selection) {
145154
else if (status == 5)
146155
cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottomleft corner. you'll be able to boost up the newer acquired 2nd level skills. A word of warning, though. You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure you remember that.");
147156
else if (status == 6)
148-
cm.sendNextPrev((job == 210 ? "Wizard (Fire / Poison)" : job == 220 ? "Wizard (Ice / Lighting)" : "Cleric") + " need to be strong. But remember that you can't abuse that power and use it on a weaking. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
157+
cm.sendNextPrev((job == 210 ? "Wizard (Fire / Poison)" : job == 220 ? "Wizard (Ice / Lighting)" : "Cleric") + " need to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
149158
} else if (actionx["3thJobI"]){
150159
if (status == 0){
151160
if (cm.getPlayer().gotPartyQuestItem("JB3")){

scripts/npc/1052001.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ function action(mode, type, selection) {
9898
} else if (status == 2)
9999
cm.sendNextPrev("You've gotten much stronger now. Plus every single one of your inventories have added slots. A whole row, to be exact. Go see for it yourself. I just gave you a little bit of #bSP#k. When you open up the #bSkill#k menu on the lower left corner of the screen, there are skills you can learn by using SP's. One warning, though: You can't raise it all together all at once. There are also skills you can acquire only after having learned a couple of skills first.");
100100
else if (status == 3)
101-
cm.sendNextPrev("One more warning. Once you have chosed you (Incomplete)");
101+
cm.sendNextPrev("Now a reminder. Once you have chosen, you cannot change up your mind and try to pick another path. Go now, and live as a proud Thief.");
102+
else
103+
cm.dispose();
102104
} else if(actionx["2ndJob"]){
103105
if (status == 0){
104106
if (cm.haveItem(4031012))
@@ -119,7 +121,12 @@ function action(mode, type, selection) {
119121
}
120122
}else{
121123
if (selection < 3){
122-
cm.sendNext("Not done.");
124+
if(selection == 0) { //assassin
125+
cm.sendNext("Thieves that master #rClaws#k.\r\n\r\n#bAssassins#k are far ranged attackers. They are quite Meso efficient and have good damage potential, but cost more than Bandits.");
126+
} else if(selection == 1) { //bandit
127+
cm.sendNext("Thieves that master #rDaggers#k.\r\n\r\n#bBandits#k are quick melee attackers and are quite powerful among the 2nd jobs. They aren't as Meso efficient as Assassins and do not have the benefit of ranged attack but make up for it in much greater raw power.");
128+
}
129+
123130
status -= 2;
124131
} else
125132
cm.sendSimple("Now... have you made up your mind? Please choose the job you'd like to select for your 2nd job advancement. #b\r\n#L0#Assassin\r\n#L1#Bandit");
@@ -146,7 +153,7 @@ function action(mode, type, selection) {
146153
else if (status == 5)
147154
cm.sendNextPrev("I have also given you a little bit of #bSP#k. Open the #bSkill Menu#k located at the bottomleft corner. you'll be able to boost up the newer acquired 2nd level skills. A word of warning, though. You can't boost them up all at once. Some of the skills are only available after you have learned other skills. Make sure yo remember that.");
148155
else if (status == 6)
149-
cm.sendNextPrev((job == 410 ? "Assassin" : "Bandit") + " need to be strong. But remember that you can't abuse that power and use it on a weaking. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
156+
cm.sendNextPrev((job == 410 ? "Assassin" : "Bandit") + " need to be strong. But remember that you can't abuse that power and use it on a weakling. Please use your enormous power the right way, because... for you to use that the right way, that is much harden than just getting stronger. Please find me after you have advanced much further. I'll be waiting for you.");
150157
} else if (actionx["3thJobI"]){
151158
if (status == 0){
152159
if (cm.getPlayer().gotPartyQuestItem("JB3")){

0 commit comments

Comments
 (0)