From 51c6874a54b985b8e680cf5a670f60d3444fd428 Mon Sep 17 00:00:00 2001 From: technote24 Date: Thu, 19 Apr 2012 12:06:34 +0000 Subject: =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 --- src/map/atcommand.c | 210 ++++++++++++----------- src/map/map.h | 4 +- src/map/pc.c | 473 ++++++++++++++++++++++++++++++---------------------- src/map/pc.h | 3 +- 4 files changed, 392 insertions(+), 298 deletions(-) (limited to 'src/map') 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 )."); + clif_displaymessage(fd, "Please, enter a job ID (usage: @job/@jobchange )."); 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 )."); + clif_displaymessage(fd, "Please enter a valid job ID (usage: @job/@jobchange )."); 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 "+") -- cgit v1.2.3-70-g09d2