summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authortechnote24 <technote24@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-19 12:06:34 +0000
committertechnote24 <technote24@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-04-19 12:06:34 +0000
commit51c6874a54b985b8e680cf5a670f60d3444fd428 (patch)
treebd9f6dbae5f8890c4acdb9e40ed05ea819e416fb /src/map
parent4f5f759f09c2cd938aae953d4471148c39305679 (diff)
downloadhercules-51c6874a54b985b8e680cf5a670f60d3444fd428.tar.gz
hercules-51c6874a54b985b8e680cf5a670f60d3444fd428.tar.bz2
hercules-51c6874a54b985b8e680cf5a670f60d3444fd428.tar.xz
hercules-51c6874a54b985b8e680cf5a670f60d3444fd428.zip
=General
*Added some extra data here and there that will be used in the future. -Mostly stuff for adding more jobs. *Corrected how the server listed a few job names. Like Mage should be Magician. -As the job name is seen hard coded in the client. *Added support for all 3rd jobs in the pre-re exp table. -Base levels use a copy of the Trans exp table. Job levels use a copy of the -Trans 2nd job exp table. *Added baby 3rd's to the renewal exp table. *Did some cleaning and updating in the atcommand.c file for the jobchange command. -Added a few job changes by job name typing. -Spaced things out in the message strings to allow job names of up to 16 characters. -If a name is bigger then 16 characters, it will need to be reduced to fit the space. -No more then 4 jobs listed max per line -Also removed unneeded text lines as the ID's they point to are dummy ID's. -Finally, updated the list of dummy ID's to prevent changing to, as well as added a -message to display if someone attempts to job change to one of those dummy ID's. *Readded the spaces in the pc.c file as tabs in the middle causes unorganized viewing issues. -The space gap is now big enough to allow everything to line up. =Jobs *Added 3rd job babys. -Everything is working properly for them except the max stats and skill trees. -I will add this stuff in the next update. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15873 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r--src/map/atcommand.c210
-rw-r--r--src/map/map.h4
-rw-r--r--src/map/pc.c473
-rw-r--r--src/map/pc.h3
4 files changed, 392 insertions, 298 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 7301a2252..83f3811a3 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -938,7 +938,9 @@ ACMD_FUNC(jobchange)
int i, found = 0;
const struct { char name[24]; int id; } jobs[] = {
{ "novice", 0 },
+ { "swordman", 1 },
{ "swordsman", 1 },
+ { "magician", 2 },
{ "mage", 2 },
{ "archer", 3 },
{ "acolyte", 4 },
@@ -963,8 +965,11 @@ ACMD_FUNC(jobchange)
{ "gunslinger", 24 },
{ "gunner", 24 },
{ "ninja", 25 },
+ { "novice high", 4001 },
{ "high novice", 4001 },
+ { "swordman high", 4002 },
{ "swordsman high", 4002 },
+ { "magician high", 4003 },
{ "mage high", 4003 },
{ "archer high", 4004 },
{ "acolyte high", 4005 },
@@ -985,7 +990,9 @@ ACMD_FUNC(jobchange)
{ "clown", 4020 },
{ "gypsy", 4021 },
{ "baby novice", 4023 },
+ { "baby swordman", 4024 },
{ "baby swordsman", 4024 },
+ { "baby magician", 4025 },
{ "baby mage", 4025 },
{ "baby archer", 4026 },
{ "baby acolyte", 4027 },
@@ -1011,32 +1018,54 @@ ACMD_FUNC(jobchange)
{ "taekwon girl", 4046 },
{ "star gladiator", 4047 },
{ "soul linker", 4049 },
+ //{ "gangsi", 4050 },
+ //{ "bongun", 4050 },
+ //{ "munak", 4050 },
+ //{ "death knight", 4051 },
+ //{ "dark collector", 4052 },
{ "rune knight", 4054 },
{ "warlock", 4055 },
- { "ranger", 4056 },
+ { "ranger", 4056 },
{ "arch bishop", 4057 },
{ "mechanic", 4058 },
{ "guillotine", 4059 },
- { "rune knight (Trans)", 4060 },
- { "warlock (Trans)", 4061 },
- { "ranger (Trans)", 4062 },
- { "arch bishop (Trans)", 4063 },
- { "mechanic (Trans)", 4064 },
- { "guillotine (Trans)", 4065 },
+ { "rune knight2", 4060 },
+ { "warlock2", 4061 },
+ { "ranger2", 4062 },
+ { "arch bishop2", 4063 },
+ { "mechanic2", 4064 },
+ { "guillotine2", 4065 },
{ "royal guard", 4066 },
{ "sorcerer", 4067 },
{ "minstrel", 4068 },
{ "wanderer", 4069 },
- { "sura", 4070 },
+ { "sura", 4070 },
{ "genetic", 4071 },
{ "shadow chaser", 4072 },
- { "royal guard (Trans)", 4073 },
- { "sorcerer (Trans)", 4074 },
- { "minstrel (Trans)", 4075 },
- { "wanderer (Trans)", 4076 },
- { "sura (Trans)", 4077 },
- { "genetic (Trans)", 4078 },
- { "shadow chaser (Trans)", 4079 },
+ { "royal guard2", 4073 },
+ { "sorcerer2", 4074 },
+ { "minstrel2", 4075 },
+ { "wanderer2", 4076 },
+ { "sura2", 4077 },
+ { "genetic2", 4078 },
+ { "shadow chaser2", 4079 },
+ { "baby rune", 4096 },
+ { "baby warlock", 4097 },
+ { "baby ranger", 4098 },
+ { "baby bishop", 4099 },
+ { "baby mechanic", 4100 },
+ { "baby cross", 4101 },
+ { "baby guard", 4102 },
+ { "baby sorcerer", 4103 },
+ { "baby minstrel", 4104 },
+ { "baby wanderer", 4105 },
+ { "baby sura", 4106 },
+ { "baby genetic", 4107 },
+ { "baby chaser", 4108 },
+ //{ "super novice e", 4190 },
+ //{ "super baby e", 4191 },
+ //{ "kagerou", 4211 },
+ //{ "oboro", 4212 },
};
for (i=0; i < ARRAYLENGTH(jobs); i++) {
@@ -1049,65 +1078,62 @@ ACMD_FUNC(jobchange)
}
if (!found) {
- clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
+ clif_displaymessage(fd, "Please, enter a job ID (usage: @job/@jobchange <job name/ID>).");
clif_displaymessage(fd, "----- Novice / 1st Class -----");
- clif_displaymessage(fd, " 0 Novice 1 Swordman 2 Mage 3 Archer");
- clif_displaymessage(fd, " 4 Acolyte 5 Merchant 6 Thief");
+ clif_displaymessage(fd, " 0 Novice 1 Swordman 2 Magician 3 Archer");
+ clif_displaymessage(fd, " 4 Acolyte 5 Merchant 6 Thief");
clif_displaymessage(fd, "----- 2nd Class -----");
- clif_displaymessage(fd, " 7 Knight 8 Priest 9 Wizard 10 Blacksmith");
- clif_displaymessage(fd, " 11 Hunter 12 Assassin 14 Crusader 15 Monk");
- clif_displaymessage(fd, " 16 Sage 17 Rogue 18 Alchemist 19 Bard");
+ clif_displaymessage(fd, " 7 Knight 8 Priest 9 Wizard 10 Blacksmith");
+ clif_displaymessage(fd, " 11 Hunter 12 Assassin 14 Crusader 15 Monk");
+ clif_displaymessage(fd, " 16 Sage 17 Rogue 18 Alchemist 19 Bard");
clif_displaymessage(fd, " 20 Dancer");
clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
- clif_displaymessage(fd, "4001 Novice High 4002 Swordman High 4003 Mage High 4004 Archer High");
- clif_displaymessage(fd, "4005 Acolyte High 4006 Merchant High 4007 Thief High");
+ clif_displaymessage(fd, "4001 Novice High 4002 Swordman High 4003 Magician High 4004 Archer High");
+ clif_displaymessage(fd, "4005 Acolyte High 4006 Merchant High 4007 Thief High");
clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
- clif_displaymessage(fd, "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith");
- clif_displaymessage(fd, "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion");
- clif_displaymessage(fd, "4017 Professor 4018 Stalker 4019 Creator 4020 Clown");
+ clif_displaymessage(fd, "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith");
+ clif_displaymessage(fd, "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion");
+ clif_displaymessage(fd, "4017 Professor 4018 Stalker 4019 Creator 4020 Clown");
clif_displaymessage(fd, "4021 Gypsy");
clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
- clif_displaymessage(fd, "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop");
- clif_displaymessage(fd, "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer");
- clif_displaymessage(fd, "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic");
+ clif_displaymessage(fd, "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop");
+ clif_displaymessage(fd, "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer");
+ clif_displaymessage(fd, "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic");
clif_displaymessage(fd, "4072 Shadow Chaser");
clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
- clif_displaymessage(fd, "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop");
- clif_displaymessage(fd, "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer");
- clif_displaymessage(fd, "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic");
+ clif_displaymessage(fd, "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop");
+ clif_displaymessage(fd, "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer");
+ clif_displaymessage(fd, "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic");
clif_displaymessage(fd, "4079 Shadow Chaser");
clif_displaymessage(fd, "----- Expanded Class -----");
- clif_displaymessage(fd, " 23 Super Novice 24 Gunslinger 25 Ninja 26 Xmas");
- clif_displaymessage(fd, " 27 Summer 4046 Taekwon 4047 Star Gladiator 4049 Soul Linker");
- //clif_displaymessage(fd, "4050 Gangsi 4051 Death Knight 4052 Dark Collector");
+ clif_displaymessage(fd, " 23 Super Novice 24 Gunslinger 25 Ninja 4046 Taekwon");
+ clif_displaymessage(fd, "4047 Star Gladiator 4049 Soul Linker");
+ //clif_displaymessage(fd, "4047 Star Gladiator 4049 Soul Linker 4050 Gangsi 4051 Death Knight");
+ //clif_displaymessage(fd, "4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby");
+ //clif_displaymessage(fd, "4211 Kagerou 4212 Oboro");
clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
- clif_displaymessage(fd, "4023 Baby Novice 4024 Baby Swordsman 4025 Baby Mage 4026 Baby Archer");
- clif_displaymessage(fd, "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief 4030 Baby Knight");
- clif_displaymessage(fd, "4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith 4034 Baby Hunter");
- clif_displaymessage(fd, "4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk 4039 Baby Sage");
- clif_displaymessage(fd, "4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard 4043 Baby Dancer");
+ clif_displaymessage(fd, "4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer");
+ clif_displaymessage(fd, "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief 4030 Baby Knight");
+ clif_displaymessage(fd, "4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith 4034 Baby Hunter");
+ clif_displaymessage(fd, "4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk 4039 Baby Sage");
+ clif_displaymessage(fd, "4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard 4043 Baby Dancer");
clif_displaymessage(fd, "4045 Super Baby");
- //clif_displaymessage(fd, "---- 3rd Baby Class ----");
- //clif_displaymessage(fd, "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger");
- //clif_displaymessage(fd, "4099 Baby Arch Bishop 4100 Baby Mechanic 4101 Baby Guillotine Cross");
- //clif_displaymessage(fd, "4102 Baby Royal Guard 4103 Baby Sorcerer 4104 Baby Minstrel");
- //clif_displaymessage(fd, "4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic");
- //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
- //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
- //clif_displaymessage(fd, " 13 Knight (Peco) 21 Crusader (Peco) 22 Wedding 26 Christmas");
- //clif_displaymessage(fd, " 27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco) 4036 Baby Knight (Peco)");
- //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
- //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
- //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
- //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
+ clif_displaymessage(fd, "---- 3rd Baby Class ----");
+ clif_displaymessage(fd, "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger 4099 Baby Arch Bishop");
+ clif_displaymessage(fd, "4100 Baby Mechanic 4101 Baby Glt. Cross 4102 Baby Royal Guard 4103 Baby Sorcerer");
+ clif_displaymessage(fd, "4104 Baby Minstrel 4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic");
+ clif_displaymessage(fd, "4108 Baby Shadow Chaser");
+ //clif_displaymessage(fd, "---- Modes And Others ----");
+ //clif_displaymessage(fd, " 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)");
return -1;
}
}
- if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27
- || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
+ if (job == 13 || job == 21 || job == 22 || job == 26 || job == 27 || job == 4014 || job == 4022 || job == 4036 || job == 4044 || job == 4048
+ || (job >= JOB_RUNE_KNIGHT2 && job <= JOB_MECHANIC_T2) || (job >= JOB_BABY_RUNE2 && job <= JOB_BABY_MECHANIC2)
) // Deny direct transformation into dummy jobs
- return 0;
+ {clif_displaymessage(fd, "You can not change to this job by command.");
+ return 0;}
if (pcdb_checkid(job))
{
@@ -1118,57 +1144,53 @@ ACMD_FUNC(jobchange)
return -1;
}
} else {
- clif_displaymessage(fd, "Please, enter job ID (usage: @job/@jobchange <job name/ID>).");
+ clif_displaymessage(fd, "Please enter a valid job ID (usage: @job/@jobchange <job name/ID>).");
clif_displaymessage(fd, "----- Novice / 1st Class -----");
- clif_displaymessage(fd, " 0 Novice 1 Swordman 2 Mage 3 Archer");
- clif_displaymessage(fd, " 4 Acolyte 5 Merchant 6 Thief");
+ clif_displaymessage(fd, " 0 Novice 1 Swordman 2 Magician 3 Archer");
+ clif_displaymessage(fd, " 4 Acolyte 5 Merchant 6 Thief");
clif_displaymessage(fd, "----- 2nd Class -----");
- clif_displaymessage(fd, " 7 Knight 8 Priest 9 Wizard 10 Blacksmith");
- clif_displaymessage(fd, " 11 Hunter 12 Assassin 14 Crusader 15 Monk");
- clif_displaymessage(fd, " 16 Sage 17 Rogue 18 Alchemist 19 Bard");
+ clif_displaymessage(fd, " 7 Knight 8 Priest 9 Wizard 10 Blacksmith");
+ clif_displaymessage(fd, " 11 Hunter 12 Assassin 14 Crusader 15 Monk");
+ clif_displaymessage(fd, " 16 Sage 17 Rogue 18 Alchemist 19 Bard");
clif_displaymessage(fd, " 20 Dancer");
clif_displaymessage(fd, "----- High Novice / High 1st Class -----");
- clif_displaymessage(fd, "4001 Novice High 4002 Swordman High 4003 Mage High 4004 Archer High");
- clif_displaymessage(fd, "4005 Acolyte High 4006 Merchant High 4007 Thief High");
+ clif_displaymessage(fd, "4001 Novice High 4002 Swordman High 4003 Magician High 4004 Archer High");
+ clif_displaymessage(fd, "4005 Acolyte High 4006 Merchant High 4007 Thief High");
clif_displaymessage(fd, "----- Transcendent 2nd Class -----");
- clif_displaymessage(fd, "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith");
- clif_displaymessage(fd, "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion");
- clif_displaymessage(fd, "4017 Professor 4018 Stalker 4019 Creator 4020 Clown");
+ clif_displaymessage(fd, "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith");
+ clif_displaymessage(fd, "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion");
+ clif_displaymessage(fd, "4017 Professor 4018 Stalker 4019 Creator 4020 Clown");
clif_displaymessage(fd, "4021 Gypsy");
clif_displaymessage(fd, "----- 3rd Class (Regular to 3rd) -----");
- clif_displaymessage(fd, "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop");
- clif_displaymessage(fd, "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer");
- clif_displaymessage(fd, "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic");
+ clif_displaymessage(fd, "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop");
+ clif_displaymessage(fd, "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer");
+ clif_displaymessage(fd, "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic");
clif_displaymessage(fd, "4072 Shadow Chaser");
clif_displaymessage(fd, "----- 3rd Class (Transcendent to 3rd) -----");
- clif_displaymessage(fd, "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop");
- clif_displaymessage(fd, "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer");
- clif_displaymessage(fd, "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic");
+ clif_displaymessage(fd, "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop");
+ clif_displaymessage(fd, "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer");
+ clif_displaymessage(fd, "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic");
clif_displaymessage(fd, "4079 Shadow Chaser");
clif_displaymessage(fd, "----- Expanded Class -----");
- clif_displaymessage(fd, " 23 Super Novice 24 Gunslinger 25 Ninja 26 Xmas");
- clif_displaymessage(fd, " 27 Summer 4046 Taekwon 4047 Star Gladiator 4049 Soul Linker");
- //clif_displaymessage(fd, "4050 Gangsi 4051 Death Knight 4052 Dark Collector");
+ clif_displaymessage(fd, " 23 Super Novice 24 Gunslinger 25 Ninja 4046 Taekwon");
+ clif_displaymessage(fd, "4047 Star Gladiator 4049 Soul Linker");
+ //clif_displaymessage(fd, "4047 Star Gladiator 4049 Soul Linker 4050 Gangsi 4051 Death Knight");
+ //clif_displaymessage(fd, "4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby");
+ //clif_displaymessage(fd, "4211 Kagerou 4212 Oboro");
clif_displaymessage(fd, "---- 1st And 2nd Baby Class ----");
- clif_displaymessage(fd, "4023 Baby Novice 4024 Baby Swordsman 4025 Baby Mage 4026 Baby Archer");
- clif_displaymessage(fd, "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief 4030 Baby Knight");
- clif_displaymessage(fd, "4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith 4034 Baby Hunter");
- clif_displaymessage(fd, "4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk 4039 Baby Sage");
- clif_displaymessage(fd, "4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard 4043 Baby Dancer");
+ clif_displaymessage(fd, "4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer");
+ clif_displaymessage(fd, "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief 4030 Baby Knight");
+ clif_displaymessage(fd, "4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith 4034 Baby Hunter");
+ clif_displaymessage(fd, "4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk 4039 Baby Sage");
+ clif_displaymessage(fd, "4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard 4043 Baby Dancer");
clif_displaymessage(fd, "4045 Super Baby");
- //clif_displaymessage(fd, "---- 3rd Baby Class ----");
- //clif_displaymessage(fd, "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger");
- //clif_displaymessage(fd, "4099 Baby Arch Bishop 4100 Baby Mechanic 4101 Baby Guillotine Cross");
- //clif_displaymessage(fd, "4102 Baby Royal Guard 4103 Baby Sorcerer 4104 Baby Minstrel");
- //clif_displaymessage(fd, "4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic");
- //clif_displaymessage(fd, "4108 Baby Shadow Chaser");
- //clif_displaymessage(fd, "---- Mounts, Modes, And Others ----");
- //clif_displaymessage(fd, " 13 Knight (Peco) 21 Crusader (Peco) 22 Wedding 26 Christmas");
- //clif_displaymessage(fd, " 27 Summer 4014 Lord Knight (Peco) 4022 Paladin (Peco) 4036 Baby Knight (Peco)");
- //clif_displaymessage(fd, "4044 Baby Crusader (Peco) 4048 Star Gladiator (Union) 4080 Rune Knight (Dragon)");
- //clif_displaymessage(fd, "4081 Rune Knight Trans (Dragon) 4082 Royal Guard (Gryphon)");
- //clif_displaymessage(fd, "4083 Royal Guard Trans (Gryphon) 4084 Ranger (Warg) 4085 Ranger Trans (Warg)");
- //clif_displaymessage(fd, "4086 Mechanic (Mado) 4087 Mechanic Trans (Mado)");
+ clif_displaymessage(fd, "---- 3rd Baby Class ----");
+ clif_displaymessage(fd, "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger 4099 Baby Arch Bishop");
+ clif_displaymessage(fd, "4100 Baby Mechanic 4101 Baby Glt. Cross 4102 Baby Royal Guard 4103 Baby Sorcerer");
+ clif_displaymessage(fd, "4104 Baby Minstrel 4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic");
+ clif_displaymessage(fd, "4108 Baby Shadow Chaser");
+ //clif_displaymessage(fd, "---- Modes And Others ----");
+ //clif_displaymessage(fd, " 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)");
return -1;
}
diff --git a/src/map/map.h b/src/map/map.h
index cfaa8bb3d..1c749babe 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -182,7 +182,7 @@ enum {
MAPID_SHADOW_CHASER_T,
//Baby 3-1 Jobs
//MAPID_SUPER_BABY_E = JOBL_THIRD|JOBL_BABY|JOBL_2_1|0x0,
- /*MAPID_BABY_RUNE = JOBL_THIRD|JOBL_BABY|JOBL_2_1|0x1,
+ MAPID_BABY_RUNE = JOBL_THIRD|JOBL_BABY|JOBL_2_1|0x1,
MAPID_BABY_WARLOCK,
MAPID_BABY_RANGER,
MAPID_BABY_BISHOP,
@@ -194,7 +194,7 @@ enum {
MAPID_BABY_MINSTRELWANDERER,
MAPID_BABY_SURA,
MAPID_BABY_GENETIC,
- MAPID_BABY_CHASER,*/
+ MAPID_BABY_CHASER,
};
//Max size for inputs to Graffiti, Talkie Box and Vending text prompts
diff --git a/src/map/pc.c b/src/map/pc.c
index 3753c0e0f..5645cf4b2 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4713,120 +4713,136 @@ int pc_jobid2mapid(unsigned short b_class)
switch(b_class)
{
//Novice And 1-1 Jobs
- case JOB_NOVICE: return MAPID_NOVICE;
- case JOB_SWORDMAN: return MAPID_SWORDMAN;
- case JOB_MAGE: return MAPID_MAGE;
- case JOB_ARCHER: return MAPID_ARCHER;
- case JOB_ACOLYTE: return MAPID_ACOLYTE;
- case JOB_MERCHANT: return MAPID_MERCHANT;
- case JOB_THIEF: return MAPID_THIEF;
- case JOB_TAEKWON: return MAPID_TAEKWON;
- case JOB_WEDDING: return MAPID_WEDDING;
- case JOB_GUNSLINGER: return MAPID_GUNSLINGER;
- case JOB_NINJA: return MAPID_NINJA;
- case JOB_XMAS: return MAPID_XMAS;
- case JOB_SUMMER: return MAPID_SUMMER;
- //case JOB_GANGSI: return MAPID_GANGSI;
+ case JOB_NOVICE: return MAPID_NOVICE;
+ case JOB_SWORDMAN: return MAPID_SWORDMAN;
+ case JOB_MAGE: return MAPID_MAGE;
+ case JOB_ARCHER: return MAPID_ARCHER;
+ case JOB_ACOLYTE: return MAPID_ACOLYTE;
+ case JOB_MERCHANT: return MAPID_MERCHANT;
+ case JOB_THIEF: return MAPID_THIEF;
+ case JOB_TAEKWON: return MAPID_TAEKWON;
+ case JOB_WEDDING: return MAPID_WEDDING;
+ case JOB_GUNSLINGER: return MAPID_GUNSLINGER;
+ case JOB_NINJA: return MAPID_NINJA;
+ case JOB_XMAS: return MAPID_XMAS;
+ case JOB_SUMMER: return MAPID_SUMMER;
+ //case JOB_GANGSI: return MAPID_GANGSI;
//2-1 Jobs
- case JOB_SUPER_NOVICE: return MAPID_SUPER_NOVICE;
- case JOB_KNIGHT: return MAPID_KNIGHT;
- case JOB_WIZARD: return MAPID_WIZARD;
- case JOB_HUNTER: return MAPID_HUNTER;
- case JOB_PRIEST: return MAPID_PRIEST;
- case JOB_BLACKSMITH: return MAPID_BLACKSMITH;
- case JOB_ASSASSIN: return MAPID_ASSASSIN;
- case JOB_STAR_GLADIATOR: return MAPID_STAR_GLADIATOR;
+ case JOB_SUPER_NOVICE: return MAPID_SUPER_NOVICE;
+ case JOB_KNIGHT: return MAPID_KNIGHT;
+ case JOB_WIZARD: return MAPID_WIZARD;
+ case JOB_HUNTER: return MAPID_HUNTER;
+ case JOB_PRIEST: return MAPID_PRIEST;
+ case JOB_BLACKSMITH: return MAPID_BLACKSMITH;
+ case JOB_ASSASSIN: return MAPID_ASSASSIN;
+ case JOB_STAR_GLADIATOR: return MAPID_STAR_GLADIATOR;
//case JOB_KAGEROU:
- //case JOB_OBORO: return MAPID_KAGEROUOBORO;
- //case JOB_DEATHKNIGHT: return MAPID_DEATHKNIGHT;
+ //case JOB_OBORO: return MAPID_KAGEROUOBORO;
+ //case JOB_DEATHKNIGHT: return MAPID_DEATHKNIGHT;
//2-2 Jobs
- case JOB_CRUSADER: return MAPID_CRUSADER;
- case JOB_SAGE: return MAPID_SAGE;
+ case JOB_CRUSADER: return MAPID_CRUSADER;
+ case JOB_SAGE: return MAPID_SAGE;
case JOB_BARD:
- case JOB_DANCER: return MAPID_BARDDANCER;
- case JOB_MONK: return MAPID_MONK;
- case JOB_ALCHEMIST: return MAPID_ALCHEMIST;
- case JOB_ROGUE: return MAPID_ROGUE;
- case JOB_SOUL_LINKER: return MAPID_SOUL_LINKER;
- //case JOB_DARKCOLLECTOR: return MAPID_DARKCOLLECTOR;
+ case JOB_DANCER: return MAPID_BARDDANCER;
+ case JOB_MONK: return MAPID_MONK;
+ case JOB_ALCHEMIST: return MAPID_ALCHEMIST;
+ case JOB_ROGUE: return MAPID_ROGUE;
+ case JOB_SOUL_LINKER: return MAPID_SOUL_LINKER;
+ //case JOB_DARKCOLLECTOR: return MAPID_DARKCOLLECTOR;
//Trans Novice And Trans 1-1 Jobs
- case JOB_NOVICE_HIGH: return MAPID_NOVICE_HIGH;
- case JOB_SWORDMAN_HIGH: return MAPID_SWORDMAN_HIGH;
- case JOB_MAGE_HIGH: return MAPID_MAGE_HIGH;
- case JOB_ARCHER_HIGH: return MAPID_ARCHER_HIGH;
- case JOB_ACOLYTE_HIGH: return MAPID_ACOLYTE_HIGH;
- case JOB_MERCHANT_HIGH: return MAPID_MERCHANT_HIGH;
- case JOB_THIEF_HIGH: return MAPID_THIEF_HIGH;
+ case JOB_NOVICE_HIGH: return MAPID_NOVICE_HIGH;
+ case JOB_SWORDMAN_HIGH: return MAPID_SWORDMAN_HIGH;
+ case JOB_MAGE_HIGH: return MAPID_MAGE_HIGH;
+ case JOB_ARCHER_HIGH: return MAPID_ARCHER_HIGH;
+ case JOB_ACOLYTE_HIGH: return MAPID_ACOLYTE_HIGH;
+ case JOB_MERCHANT_HIGH: return MAPID_MERCHANT_HIGH;
+ case JOB_THIEF_HIGH: return MAPID_THIEF_HIGH;
//Trans 2-1 Jobs
- case JOB_LORD_KNIGHT: return MAPID_LORD_KNIGHT;
- case JOB_HIGH_WIZARD: return MAPID_HIGH_WIZARD;
- case JOB_SNIPER: return MAPID_SNIPER;
- case JOB_HIGH_PRIEST: return MAPID_HIGH_PRIEST;
- case JOB_WHITESMITH: return MAPID_WHITESMITH;
- case JOB_ASSASSIN_CROSS: return MAPID_ASSASSIN_CROSS;
+ case JOB_LORD_KNIGHT: return MAPID_LORD_KNIGHT;
+ case JOB_HIGH_WIZARD: return MAPID_HIGH_WIZARD;
+ case JOB_SNIPER: return MAPID_SNIPER;
+ case JOB_HIGH_PRIEST: return MAPID_HIGH_PRIEST;
+ case JOB_WHITESMITH: return MAPID_WHITESMITH;
+ case JOB_ASSASSIN_CROSS: return MAPID_ASSASSIN_CROSS;
//Trans 2-2 Jobs
- case JOB_PALADIN: return MAPID_PALADIN;
- case JOB_PROFESSOR: return MAPID_PROFESSOR;
+ case JOB_PALADIN: return MAPID_PALADIN;
+ case JOB_PROFESSOR: return MAPID_PROFESSOR;
case JOB_CLOWN:
- case JOB_GYPSY: return MAPID_CLOWNGYPSY;
- case JOB_CHAMPION: return MAPID_CHAMPION;
- case JOB_CREATOR: return MAPID_CREATOR;
- case JOB_STALKER: return MAPID_STALKER;
+ case JOB_GYPSY: return MAPID_CLOWNGYPSY;
+ case JOB_CHAMPION: return MAPID_CHAMPION;
+ case JOB_CREATOR: return MAPID_CREATOR;
+ case JOB_STALKER: return MAPID_STALKER;
//Baby Novice And Baby 1-1 Jobs
- case JOB_BABY: return MAPID_BABY;
- case JOB_BABY_SWORDMAN: return MAPID_BABY_SWORDMAN;
- case JOB_BABY_MAGE: return MAPID_BABY_MAGE;
- case JOB_BABY_ARCHER: return MAPID_BABY_ARCHER;
- case JOB_BABY_ACOLYTE: return MAPID_BABY_ACOLYTE;
- case JOB_BABY_MERCHANT: return MAPID_BABY_MERCHANT;
- case JOB_BABY_THIEF: return MAPID_BABY_THIEF;
+ case JOB_BABY: return MAPID_BABY;
+ case JOB_BABY_SWORDMAN: return MAPID_BABY_SWORDMAN;
+ case JOB_BABY_MAGE: return MAPID_BABY_MAGE;
+ case JOB_BABY_ARCHER: return MAPID_BABY_ARCHER;
+ case JOB_BABY_ACOLYTE: return MAPID_BABY_ACOLYTE;
+ case JOB_BABY_MERCHANT: return MAPID_BABY_MERCHANT;
+ case JOB_BABY_THIEF: return MAPID_BABY_THIEF;
//Baby 2-1 Jobs
- case JOB_SUPER_BABY: return MAPID_SUPER_BABY;
- case JOB_BABY_KNIGHT: return MAPID_BABY_KNIGHT;
- case JOB_BABY_WIZARD: return MAPID_BABY_WIZARD;
- case JOB_BABY_HUNTER: return MAPID_BABY_HUNTER;
- case JOB_BABY_PRIEST: return MAPID_BABY_PRIEST;
- case JOB_BABY_BLACKSMITH: return MAPID_BABY_BLACKSMITH;
- case JOB_BABY_ASSASSIN: return MAPID_BABY_ASSASSIN;
+ case JOB_SUPER_BABY: return MAPID_SUPER_BABY;
+ case JOB_BABY_KNIGHT: return MAPID_BABY_KNIGHT;
+ case JOB_BABY_WIZARD: return MAPID_BABY_WIZARD;
+ case JOB_BABY_HUNTER: return MAPID_BABY_HUNTER;
+ case JOB_BABY_PRIEST: return MAPID_BABY_PRIEST;
+ case JOB_BABY_BLACKSMITH: return MAPID_BABY_BLACKSMITH;
+ case JOB_BABY_ASSASSIN: return MAPID_BABY_ASSASSIN;
//Baby 2-2 Jobs
- case JOB_BABY_CRUSADER: return MAPID_BABY_CRUSADER;
- case JOB_BABY_SAGE: return MAPID_BABY_SAGE;
+ case JOB_BABY_CRUSADER: return MAPID_BABY_CRUSADER;
+ case JOB_BABY_SAGE: return MAPID_BABY_SAGE;
case JOB_BABY_BARD:
- case JOB_BABY_DANCER: return MAPID_BABY_BARDDANCER;
- case JOB_BABY_MONK: return MAPID_BABY_MONK;
- case JOB_BABY_ALCHEMIST: return MAPID_BABY_ALCHEMIST;
- case JOB_BABY_ROGUE: return MAPID_BABY_ROGUE;
+ case JOB_BABY_DANCER: return MAPID_BABY_BARDDANCER;
+ case JOB_BABY_MONK: return MAPID_BABY_MONK;
+ case JOB_BABY_ALCHEMIST: return MAPID_BABY_ALCHEMIST;
+ case JOB_BABY_ROGUE: return MAPID_BABY_ROGUE;
//3-1 Jobs
- //case JOB_SUPER_NOVICE_E: return MAPID_SUPER_NOVICE_E;
- case JOB_RUNE_KNIGHT: return MAPID_RUNE_KNIGHT;
- case JOB_WARLOCK: return MAPID_WARLOCK;
- case JOB_RANGER: return MAPID_RANGER;
- case JOB_ARCH_BISHOP: return MAPID_ARCH_BISHOP;
- case JOB_MECHANIC: return MAPID_MECHANIC;
- case JOB_GUILLOTINE_CROSS: return MAPID_GUILLOTINE_CROSS;
+ //case JOB_SUPER_NOVICE_E: return MAPID_SUPER_NOVICE_E;
+ case JOB_RUNE_KNIGHT: return MAPID_RUNE_KNIGHT;
+ case JOB_WARLOCK: return MAPID_WARLOCK;
+ case JOB_RANGER: return MAPID_RANGER;
+ case JOB_ARCH_BISHOP: return MAPID_ARCH_BISHOP;
+ case JOB_MECHANIC: return MAPID_MECHANIC;
+ case JOB_GUILLOTINE_CROSS: return MAPID_GUILLOTINE_CROSS;
//3-2 Jobs
- case JOB_ROYAL_GUARD: return MAPID_ROYAL_GUARD;
- case JOB_SORCERER: return MAPID_SORCERER;
+ case JOB_ROYAL_GUARD: return MAPID_ROYAL_GUARD;
+ case JOB_SORCERER: return MAPID_SORCERER;
case JOB_MINSTREL:
- case JOB_WANDERER: return MAPID_MINSTRELWANDERER;
- case JOB_SURA: return MAPID_SURA;
- case JOB_GENETIC: return MAPID_GENETIC;
- case JOB_SHADOW_CHASER: return MAPID_SHADOW_CHASER;
+ case JOB_WANDERER: return MAPID_MINSTRELWANDERER;
+ case JOB_SURA: return MAPID_SURA;
+ case JOB_GENETIC: return MAPID_GENETIC;
+ case JOB_SHADOW_CHASER: return MAPID_SHADOW_CHASER;
//Trans 3-1 Jobs
- case JOB_RUNE_KNIGHT_T: return MAPID_RUNE_KNIGHT_T;
- case JOB_WARLOCK_T: return MAPID_WARLOCK_T;
- case JOB_RANGER_T: return MAPID_RANGER_T;
- case JOB_ARCH_BISHOP_T: return MAPID_ARCH_BISHOP_T;
- case JOB_MECHANIC_T: return MAPID_MECHANIC_T;
- case JOB_GUILLOTINE_CROSS_T: return MAPID_GUILLOTINE_CROSS_T;
+ case JOB_RUNE_KNIGHT_T: return MAPID_RUNE_KNIGHT_T;
+ case JOB_WARLOCK_T: return MAPID_WARLOCK_T;
+ case JOB_RANGER_T: return MAPID_RANGER_T;
+ case JOB_ARCH_BISHOP_T: return MAPID_ARCH_BISHOP_T;
+ case JOB_MECHANIC_T: return MAPID_MECHANIC_T;
+ case JOB_GUILLOTINE_CROSS_T: return MAPID_GUILLOTINE_CROSS_T;
//Trans 3-2 Jobs
- case JOB_ROYAL_GUARD_T: return MAPID_ROYAL_GUARD_T;
- case JOB_SORCERER_T: return MAPID_SORCERER_T;
+ case JOB_ROYAL_GUARD_T: return MAPID_ROYAL_GUARD_T;
+ case JOB_SORCERER_T: return MAPID_SORCERER_T;
case JOB_MINSTREL_T:
- case JOB_WANDERER_T: return MAPID_MINSTRELWANDERER_T;
- case JOB_SURA_T: return MAPID_SURA_T;
- case JOB_GENETIC_T: return MAPID_GENETIC_T;
- case JOB_SHADOW_CHASER_T: return MAPID_SHADOW_CHASER_T;
+ case JOB_WANDERER_T: return MAPID_MINSTRELWANDERER_T;
+ case JOB_SURA_T: return MAPID_SURA_T;
+ case JOB_GENETIC_T: return MAPID_GENETIC_T;
+ case JOB_SHADOW_CHASER_T: return MAPID_SHADOW_CHASER_T;
+ //Baby 3-1 Jobs
+ //case JOB_SUPER_BABY_E: return MAPID_SUPER_BABY_E;
+ case JOB_BABY_RUNE: return MAPID_BABY_RUNE;
+ case JOB_BABY_WARLOCK: return MAPID_BABY_WARLOCK;
+ case JOB_BABY_RANGER: return MAPID_BABY_RANGER;
+ case JOB_BABY_BISHOP: return MAPID_BABY_BISHOP;
+ case JOB_BABY_MECHANIC: return MAPID_BABY_MECHANIC;
+ case JOB_BABY_CROSS: return MAPID_BABY_CROSS;
+ //Baby 3-2 Jobs
+ case JOB_BABY_GUARD: return MAPID_BABY_GUARD;
+ case JOB_BABY_SORCERER: return MAPID_BABY_SORCERER;
+ case JOB_BABY_MINSTREL:
+ case JOB_BABY_WANDERER: return MAPID_BABY_MINSTRELWANDERER;
+ case JOB_BABY_SURA: return MAPID_BABY_SURA;
+ case JOB_BABY_GENETIC: return MAPID_BABY_GENETIC;
+ case JOB_BABY_CHASER: return MAPID_BABY_CHASER;
default:
return -1;
}
@@ -4838,114 +4854,129 @@ int pc_mapid2jobid(unsigned short class_, int sex)
switch(class_)
{
//Novice And 1-1 Jobs
- case MAPID_NOVICE: return JOB_NOVICE;
- case MAPID_SWORDMAN: return JOB_SWORDMAN;
- case MAPID_MAGE: return JOB_MAGE;
- case MAPID_ARCHER: return JOB_ARCHER;
- case MAPID_ACOLYTE: return JOB_ACOLYTE;
- case MAPID_MERCHANT: return JOB_MERCHANT;
- case MAPID_THIEF: return JOB_THIEF;
- case MAPID_TAEKWON: return JOB_TAEKWON;
- case MAPID_WEDDING: return JOB_WEDDING;
- case MAPID_GUNSLINGER: return JOB_GUNSLINGER;
- case MAPID_NINJA: return JOB_NINJA;
- case MAPID_XMAS: return JOB_XMAS;
- case MAPID_SUMMER: return JOB_SUMMER;
- //case MAPID_GANGSI: return JOB_GANGSI;
+ case MAPID_NOVICE: return JOB_NOVICE;
+ case MAPID_SWORDMAN: return JOB_SWORDMAN;
+ case MAPID_MAGE: return JOB_MAGE;
+ case MAPID_ARCHER: return JOB_ARCHER;
+ case MAPID_ACOLYTE: return JOB_ACOLYTE;
+ case MAPID_MERCHANT: return JOB_MERCHANT;
+ case MAPID_THIEF: return JOB_THIEF;
+ case MAPID_TAEKWON: return JOB_TAEKWON;
+ case MAPID_WEDDING: return JOB_WEDDING;
+ case MAPID_GUNSLINGER: return JOB_GUNSLINGER;
+ case MAPID_NINJA: return JOB_NINJA;
+ case MAPID_XMAS: return JOB_XMAS;
+ case MAPID_SUMMER: return JOB_SUMMER;
+ //case MAPID_GANGSI: return JOB_GANGSI;
//2-1 Jobs
- case MAPID_SUPER_NOVICE: return JOB_SUPER_NOVICE;
- case MAPID_KNIGHT: return JOB_KNIGHT;
- case MAPID_WIZARD: return JOB_WIZARD;
- case MAPID_HUNTER: return JOB_HUNTER;
- case MAPID_PRIEST: return JOB_PRIEST;
- case MAPID_BLACKSMITH: return JOB_BLACKSMITH;
- case MAPID_ASSASSIN: return JOB_ASSASSIN;
- case MAPID_STAR_GLADIATOR: return JOB_STAR_GLADIATOR;
- //case MAPID_KAGEROUOBORO: return sex?JOB_KAGEROU:JOB_OBORO;
- //case MAPID_DEATHKNIGHT: return JOB_DEATHKNIGHT;
+ case MAPID_SUPER_NOVICE: return JOB_SUPER_NOVICE;
+ case MAPID_KNIGHT: return JOB_KNIGHT;
+ case MAPID_WIZARD: return JOB_WIZARD;
+ case MAPID_HUNTER: return JOB_HUNTER;
+ case MAPID_PRIEST: return JOB_PRIEST;
+ case MAPID_BLACKSMITH: return JOB_BLACKSMITH;
+ case MAPID_ASSASSIN: return JOB_ASSASSIN;
+ case MAPID_STAR_GLADIATOR: return JOB_STAR_GLADIATOR;
+ //case MAPID_KAGEROUOBORO: return sex?JOB_KAGEROU:JOB_OBORO;
+ //case MAPID_DEATHKNIGHT: return JOB_DEATHKNIGHT;
//2-2 Jobs
- case MAPID_CRUSADER: return JOB_CRUSADER;
- case MAPID_SAGE: return JOB_SAGE;
- case MAPID_BARDDANCER: return sex?JOB_BARD:JOB_DANCER;
- case MAPID_MONK: return JOB_MONK;
- case MAPID_ALCHEMIST: return JOB_ALCHEMIST;
- case MAPID_ROGUE: return JOB_ROGUE;
- case MAPID_SOUL_LINKER: return JOB_SOUL_LINKER;
- //case MAPID_DARKCOLLECTOR: return JOB_DARKCOLLECTOR;
+ case MAPID_CRUSADER: return JOB_CRUSADER;
+ case MAPID_SAGE: return JOB_SAGE;
+ case MAPID_BARDDANCER: return sex?JOB_BARD:JOB_DANCER;
+ case MAPID_MONK: return JOB_MONK;
+ case MAPID_ALCHEMIST: return JOB_ALCHEMIST;
+ case MAPID_ROGUE: return JOB_ROGUE;
+ case MAPID_SOUL_LINKER: return JOB_SOUL_LINKER;
+ //case MAPID_DARKCOLLECTOR: return JOB_DARKCOLLECTOR;
//Trans Novice And Trans 2-1 Jobs
- case MAPID_NOVICE_HIGH: return JOB_NOVICE_HIGH;
- case MAPID_SWORDMAN_HIGH: return JOB_SWORDMAN_HIGH;
- case MAPID_MAGE_HIGH: return JOB_MAGE_HIGH;
- case MAPID_ARCHER_HIGH: return JOB_ARCHER_HIGH;
- case MAPID_ACOLYTE_HIGH: return JOB_ACOLYTE_HIGH;
- case MAPID_MERCHANT_HIGH: return JOB_MERCHANT_HIGH;
- case MAPID_THIEF_HIGH: return JOB_THIEF_HIGH;
+ case MAPID_NOVICE_HIGH: return JOB_NOVICE_HIGH;
+ case MAPID_SWORDMAN_HIGH: return JOB_SWORDMAN_HIGH;
+ case MAPID_MAGE_HIGH: return JOB_MAGE_HIGH;
+ case MAPID_ARCHER_HIGH: return JOB_ARCHER_HIGH;
+ case MAPID_ACOLYTE_HIGH: return JOB_ACOLYTE_HIGH;
+ case MAPID_MERCHANT_HIGH: return JOB_MERCHANT_HIGH;
+ case MAPID_THIEF_HIGH: return JOB_THIEF_HIGH;
//Trans 2-1 Jobs
- case MAPID_LORD_KNIGHT: return JOB_LORD_KNIGHT;
- case MAPID_HIGH_WIZARD: return JOB_HIGH_WIZARD;
- case MAPID_SNIPER: return JOB_SNIPER;
- case MAPID_HIGH_PRIEST: return JOB_HIGH_PRIEST;
- case MAPID_WHITESMITH: return JOB_WHITESMITH;
- case MAPID_ASSASSIN_CROSS: return JOB_ASSASSIN_CROSS;
+ case MAPID_LORD_KNIGHT: return JOB_LORD_KNIGHT;
+ case MAPID_HIGH_WIZARD: return JOB_HIGH_WIZARD;
+ case MAPID_SNIPER: return JOB_SNIPER;
+ case MAPID_HIGH_PRIEST: return JOB_HIGH_PRIEST;
+ case MAPID_WHITESMITH: return JOB_WHITESMITH;
+ case MAPID_ASSASSIN_CROSS: return JOB_ASSASSIN_CROSS;
//Trans 2-2 Jobs
- case MAPID_PALADIN: return JOB_PALADIN;
- case MAPID_PROFESSOR: return JOB_PROFESSOR;
- case MAPID_CLOWNGYPSY: return sex?JOB_CLOWN:JOB_GYPSY;
- case MAPID_CHAMPION: return JOB_CHAMPION;
- case MAPID_CREATOR: return JOB_CREATOR;
- case MAPID_STALKER: return JOB_STALKER;
+ case MAPID_PALADIN: return JOB_PALADIN;
+ case MAPID_PROFESSOR: return JOB_PROFESSOR;
+ case MAPID_CLOWNGYPSY: return sex?JOB_CLOWN:JOB_GYPSY;
+ case MAPID_CHAMPION: return JOB_CHAMPION;
+ case MAPID_CREATOR: return JOB_CREATOR;
+ case MAPID_STALKER: return JOB_STALKER;
//Baby Novice And Baby 1-1 Jobs
- case MAPID_BABY: return JOB_BABY;
- case MAPID_BABY_SWORDMAN: return JOB_BABY_SWORDMAN;
- case MAPID_BABY_MAGE: return JOB_BABY_MAGE;
- case MAPID_BABY_ARCHER: return JOB_BABY_ARCHER;
- case MAPID_BABY_ACOLYTE: return JOB_BABY_ACOLYTE;
- case MAPID_BABY_MERCHANT: return JOB_BABY_MERCHANT;
- case MAPID_BABY_THIEF: return JOB_BABY_THIEF;
+ case MAPID_BABY: return JOB_BABY;
+ case MAPID_BABY_SWORDMAN: return JOB_BABY_SWORDMAN;
+ case MAPID_BABY_MAGE: return JOB_BABY_MAGE;
+ case MAPID_BABY_ARCHER: return JOB_BABY_ARCHER;
+ case MAPID_BABY_ACOLYTE: return JOB_BABY_ACOLYTE;
+ case MAPID_BABY_MERCHANT: return JOB_BABY_MERCHANT;
+ case MAPID_BABY_THIEF: return JOB_BABY_THIEF;
//Baby 2-1 Jobs
- case MAPID_SUPER_BABY: return JOB_SUPER_BABY;
- case MAPID_BABY_KNIGHT: return JOB_BABY_KNIGHT;
- case MAPID_BABY_WIZARD: return JOB_BABY_WIZARD;
- case MAPID_BABY_HUNTER: return JOB_BABY_HUNTER;
- case MAPID_BABY_PRIEST: return JOB_BABY_PRIEST;
- case MAPID_BABY_BLACKSMITH: return JOB_BABY_BLACKSMITH;
- case MAPID_BABY_ASSASSIN: return JOB_BABY_ASSASSIN;
+ case MAPID_SUPER_BABY: return JOB_SUPER_BABY;
+ case MAPID_BABY_KNIGHT: return JOB_BABY_KNIGHT;
+ case MAPID_BABY_WIZARD: return JOB_BABY_WIZARD;
+ case MAPID_BABY_HUNTER: return JOB_BABY_HUNTER;
+ case MAPID_BABY_PRIEST: return JOB_BABY_PRIEST;
+ case MAPID_BABY_BLACKSMITH: return JOB_BABY_BLACKSMITH;
+ case MAPID_BABY_ASSASSIN: return JOB_BABY_ASSASSIN;
//Baby 2-2 Jobs
- case MAPID_BABY_CRUSADER: return JOB_BABY_CRUSADER;
- case MAPID_BABY_SAGE: return JOB_BABY_SAGE;
- case MAPID_BABY_BARDDANCER: return sex?JOB_BABY_BARD:JOB_BABY_DANCER;
- case MAPID_BABY_MONK: return JOB_BABY_MONK;
- case MAPID_BABY_ALCHEMIST: return JOB_BABY_ALCHEMIST;
- case MAPID_BABY_ROGUE: return JOB_BABY_ROGUE;
+ case MAPID_BABY_CRUSADER: return JOB_BABY_CRUSADER;
+ case MAPID_BABY_SAGE: return JOB_BABY_SAGE;
+ case MAPID_BABY_BARDDANCER: return sex?JOB_BABY_BARD:JOB_BABY_DANCER;
+ case MAPID_BABY_MONK: return JOB_BABY_MONK;
+ case MAPID_BABY_ALCHEMIST: return JOB_BABY_ALCHEMIST;
+ case MAPID_BABY_ROGUE: return JOB_BABY_ROGUE;
//3-1 Jobs
- //case MAPID_SUPER_NOVICE_E: return JOB_SUPER_NOVICE_E;
- case MAPID_RUNE_KNIGHT: return JOB_RUNE_KNIGHT;
- case MAPID_WARLOCK: return JOB_WARLOCK;
- case MAPID_RANGER: return JOB_RANGER;
- case MAPID_ARCH_BISHOP: return JOB_ARCH_BISHOP;
- case MAPID_MECHANIC: return JOB_MECHANIC;
- case MAPID_GUILLOTINE_CROSS: return JOB_GUILLOTINE_CROSS;
+ //case MAPID_SUPER_NOVICE_E: return JOB_SUPER_NOVICE_E;
+ case MAPID_RUNE_KNIGHT: return JOB_RUNE_KNIGHT;
+ case MAPID_WARLOCK: return JOB_WARLOCK;
+ case MAPID_RANGER: return JOB_RANGER;
+ case MAPID_ARCH_BISHOP: return JOB_ARCH_BISHOP;
+ case MAPID_MECHANIC: return JOB_MECHANIC;
+ case MAPID_GUILLOTINE_CROSS: return JOB_GUILLOTINE_CROSS;
//3-2 Jobs
- case MAPID_ROYAL_GUARD: return JOB_ROYAL_GUARD;
- case MAPID_SORCERER: return JOB_SORCERER;
- case MAPID_MINSTRELWANDERER: return sex?JOB_MINSTREL:JOB_WANDERER;
- case MAPID_SURA: return JOB_SURA;
- case MAPID_GENETIC: return JOB_GENETIC;
- case MAPID_SHADOW_CHASER: return JOB_SHADOW_CHASER;
+ case MAPID_ROYAL_GUARD: return JOB_ROYAL_GUARD;
+ case MAPID_SORCERER: return JOB_SORCERER;
+ case MAPID_MINSTRELWANDERER: return sex?JOB_MINSTREL:JOB_WANDERER;
+ case MAPID_SURA: return JOB_SURA;
+ case MAPID_GENETIC: return JOB_GENETIC;
+ case MAPID_SHADOW_CHASER: return JOB_SHADOW_CHASER;
//Trans 3-1 Jobs
- case MAPID_RUNE_KNIGHT_T: return JOB_RUNE_KNIGHT_T;
- case MAPID_WARLOCK_T: return JOB_WARLOCK_T;
- case MAPID_RANGER_T: return JOB_RANGER_T;
- case MAPID_ARCH_BISHOP_T: return JOB_ARCH_BISHOP_T;
- case MAPID_MECHANIC_T: return JOB_MECHANIC_T;
- case MAPID_GUILLOTINE_CROSS_T: return JOB_GUILLOTINE_CROSS_T;
+ case MAPID_RUNE_KNIGHT_T: return JOB_RUNE_KNIGHT_T;
+ case MAPID_WARLOCK_T: return JOB_WARLOCK_T;
+ case MAPID_RANGER_T: return JOB_RANGER_T;
+ case MAPID_ARCH_BISHOP_T: return JOB_ARCH_BISHOP_T;
+ case MAPID_MECHANIC_T: return JOB_MECHANIC_T;
+ case MAPID_GUILLOTINE_CROSS_T: return JOB_GUILLOTINE_CROSS_T;
//Trans 3-2 Jobs
- case MAPID_ROYAL_GUARD_T: return JOB_ROYAL_GUARD_T;
- case MAPID_SORCERER_T: return JOB_SORCERER_T;
- case MAPID_MINSTRELWANDERER_T: return sex?JOB_MINSTREL_T:JOB_WANDERER_T;
- case MAPID_SURA_T: return JOB_SURA_T;
- case MAPID_GENETIC_T: return JOB_GENETIC_T;
- case MAPID_SHADOW_CHASER_T: return JOB_SHADOW_CHASER_T;
+ case MAPID_ROYAL_GUARD_T: return JOB_ROYAL_GUARD_T;
+ case MAPID_SORCERER_T: return JOB_SORCERER_T;
+ case MAPID_MINSTRELWANDERER_T: return sex?JOB_MINSTREL_T:JOB_WANDERER_T;
+ case MAPID_SURA_T: return JOB_SURA_T;
+ case MAPID_GENETIC_T: return JOB_GENETIC_T;
+ case MAPID_SHADOW_CHASER_T: return JOB_SHADOW_CHASER_T;
+ //Baby 3-1 Jobs
+ //case MAPID_SUPER_BABY_E: return JOB_SUPER_BABY_E;
+ case MAPID_BABY_RUNE: return JOB_BABY_RUNE;
+ case MAPID_BABY_WARLOCK: return JOB_BABY_WARLOCK;
+ case MAPID_BABY_RANGER: return JOB_BABY_RANGER;
+ case MAPID_BABY_BISHOP: return JOB_BABY_BISHOP;
+ case MAPID_BABY_MECHANIC: return JOB_BABY_MECHANIC;
+ case MAPID_BABY_CROSS: return JOB_BABY_CROSS;
+ //Baby 3-2 Jobs
+ case MAPID_BABY_GUARD: return JOB_BABY_GUARD;
+ case MAPID_BABY_SORCERER: return JOB_BABY_SORCERER;
+ case MAPID_BABY_MINSTRELWANDERER: return sex?JOB_BABY_MINSTREL:JOB_BABY_WANDERER;
+ case MAPID_BABY_SURA: return JOB_BABY_SURA;
+ case MAPID_BABY_GENETIC: return JOB_BABY_GENETIC;
+ case MAPID_BABY_CHASER: return JOB_BABY_CHASER;
default:
return -1;
}
@@ -5058,7 +5089,7 @@ const char* job_name(int class_)
case JOB_BABY_ALCHEMIST:
case JOB_BABY_BARD:
case JOB_BABY_DANCER:
- return msg_txt(608 - JOB_BABY_CRUSADER +class_);
+ return msg_txt(608 - JOB_BABY_CRUSADER + class_);
case JOB_BABY_CRUSADER2:
return msg_txt(608);
@@ -5074,21 +5105,26 @@ const char* job_name(int class_)
case JOB_SOUL_LINKER:
return msg_txt(618);
+ //case JOB_GANGSI:
+ //case JOB_DEATH_KNIGHT:
+ //case JOB_DARK_COLLECTOR:
+ // return msg_txt(622 - JOB_GANGSI+class_);
+
case JOB_RUNE_KNIGHT:
case JOB_WARLOCK:
case JOB_RANGER:
case JOB_ARCH_BISHOP:
case JOB_MECHANIC:
case JOB_GUILLOTINE_CROSS:
- return msg_txt(625 - JOB_RUNE_KNIGHT + class_);
-
+ return msg_txt(625 - JOB_RUNE_KNIGHT+class_);
+
case JOB_RUNE_KNIGHT_T:
case JOB_WARLOCK_T:
case JOB_RANGER_T:
case JOB_ARCH_BISHOP_T:
case JOB_MECHANIC_T:
case JOB_GUILLOTINE_CROSS_T:
- return msg_txt(625 - JOB_RUNE_KNIGHT_T + class_);
+ return msg_txt(625 - JOB_RUNE_KNIGHT_T+class_);
case JOB_ROYAL_GUARD:
case JOB_SORCERER:
@@ -5097,8 +5133,8 @@ const char* job_name(int class_)
case JOB_SURA:
case JOB_GENETIC:
case JOB_SHADOW_CHASER:
- return msg_txt(631 - JOB_ROYAL_GUARD + class_);
-
+ return msg_txt(631 - JOB_ROYAL_GUARD+class_);
+
case JOB_ROYAL_GUARD_T:
case JOB_SORCERER_T:
case JOB_MINSTREL_T:
@@ -5106,8 +5142,8 @@ const char* job_name(int class_)
case JOB_SURA_T:
case JOB_GENETIC_T:
case JOB_SHADOW_CHASER_T:
- return msg_txt(631 - JOB_ROYAL_GUARD_T + class_);
-
+ return msg_txt(631 - JOB_ROYAL_GUARD_T+class_);
+
case JOB_RUNE_KNIGHT2:
case JOB_RUNE_KNIGHT_T2:
return msg_txt(625);
@@ -5124,8 +5160,43 @@ const char* job_name(int class_)
case JOB_MECHANIC_T2:
return msg_txt(629);
+ case JOB_BABY_RUNE:
+ case JOB_BABY_WARLOCK:
+ case JOB_BABY_RANGER:
+ case JOB_BABY_BISHOP:
+ case JOB_BABY_MECHANIC:
+ case JOB_BABY_CROSS:
+ case JOB_BABY_GUARD:
+ case JOB_BABY_SORCERER:
+ case JOB_BABY_MINSTREL:
+ case JOB_BABY_WANDERER:
+ case JOB_BABY_SURA:
+ case JOB_BABY_GENETIC:
+ case JOB_BABY_CHASER:
+ return msg_txt(638 - JOB_BABY_RUNE+class_);
+
+ case JOB_BABY_RUNE2:
+ return msg_txt(638);
+
+ case JOB_BABY_GUARD2:
+ return msg_txt(644);
+
+ case JOB_BABY_RANGER2:
+ return msg_txt(640);
+
+ case JOB_BABY_MECHANIC2:
+ return msg_txt(642);
+
+ //case JOB_SUPER_NOVICE_E:
+ //case JOB_SUPER_BABY_E:
+ // return msg_txt(651 - JOB_SUPER_NOVICE_E+class_);
+
+ //case JOB_KAGEROU:
+ //case JOB_OBORO:
+ // return msg_txt(653 - JOB_KAGEROU+class_);
+
default:
- return msg_txt(651);
+ return msg_txt(655);
}
}
diff --git a/src/map/pc.h b/src/map/pc.h
index 38a954b0f..9cd6f9525 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -649,7 +649,8 @@ enum e_pc_permission {
( \
( (class_) >= JOB_NOVICE && (class_) < JOB_MAX_BASIC ) \
|| ( (class_) >= JOB_NOVICE_HIGH && (class_) <= JOB_SOUL_LINKER ) \
-|| ( (class_) >= JOB_RUNE_KNIGHT && (class_) < JOB_MAX ) \
+|| ( (class_) >= JOB_RUNE_KNIGHT && (class_) <= JOB_MECHANIC_T2 ) \
+|| ( (class_) >= JOB_BABY_RUNE && (class_) < JOB_MAX ) \
)
// clientside atk display macros (values to the left/right of the "+")