summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/help.txt99
-rw-r--r--conf/msg_athena.conf52
-rw-r--r--src/map/atcommand.c28
3 files changed, 75 insertions, 104 deletions
diff --git a/conf/help.txt b/conf/help.txt
index e3a31f5ef..105371e9f 100644
--- a/conf/help.txt
+++ b/conf/help.txt
@@ -43,20 +43,20 @@ go: "Params: <city name|number>\n" "Warps you to a city.\n"
" -3: (Memo point 2) 14: louyang 31: mora\n"
" -2: (Memo point 1) 15: start point 32: dewata\n"
" -1: (Memo point 0) 16: prison/jail 33: malangdo island\n"
- " 0: prontera 17: jawaii 34: malaya port\n"
- " 1: morocc 18: ayothaya 35: eclage\n"
- " 2: geffen 19: einbroch\n"
- " 3: payon 20: lighthalzen\n"
- " 4: alberta 21: einbech\n"
- " 5: izlude 22: hugel\n"
- " 6: aldebaran 23: rachel\n"
- " 7: xmas (lutie) 24: veins\n"
- " 8: comodo 25: moscovia\n"
- " 9: yuno 26: midgard camp\n"
- " 10: amatsu 27: manuk\n"
- " 11: gonryun 28: splendide\n"
- " 12: umbala 29: brasilis\n"
- " 13: niflheim 30: el dicastes"
+ " 0: prontera 17: jawaii 34: malaya port\n"
+ " 1: morocc 18: ayothaya 35: eclage\n"
+ " 2: geffen 19: einbroch\n"
+ " 3: payon 20: lighthalzen\n"
+ " 4: alberta 21: einbech\n"
+ " 5: izlude 22: hugel\n"
+ " 6: aldebaran 23: rachel\n"
+ " 7: xmas (lutie) 24: veins\n"
+ " 8: comodo 25: moscovia\n"
+ " 9: yuno 26: midgard camp\n"
+ " 10: amatsu 27: manuk\n"
+ " 11: gonryun 28: splendide\n"
+ " 12: umbala 29: brasilis\n"
+ " 13: niflheim 30: el dicastes\n"
jumpto: "Params: <char name>\n" "Warps you to selected character."
follow: "Params: <char name>\n" "Follow a player."
mount: "Give/remove you a peco (Class is required, but not skill)"
@@ -74,31 +74,52 @@ load: "Warps you to your save point."
warp: "Params: <mapname> [<x> <y>]\n" "Warps you to the selected map and position."
jump: "Params: [<x> [<y>]]\n" "Randomly warps you like a flywing."
jobchange: "Params: <job name|ID>\n" "Changes your job.\n"
-" 0: Novice 18: Alchemist 4015: Paladin\n"
-" 1: Swordman 19: Bard 4016: Champion\n"
-" 2: Mage 20: Dancer 4017: Professor\n"
-" 3: Archer 23: Super Novice 4018: Stalker\n"
-" 4: Acolyte 4001: High Novice 4019: Creator\n"
-" 5: Merchant 4002: High Swordman 4020: Clown\n"
-" 6: Thief 4003: High Mage 4021: Gypsy\n"
-" 7: Knight 4004: High Archer 4046: Taekwon\n"
-" 8: Priest 4005: High Acolyte 4047: Star Gladiator\n"
-" 9: Wizard 4006: High Merchant 4049: Soul Linker\n"
-" 10: Blacksmith 4007: High Thief 24: Gunslinger\n"
-" 11: Hunter 4008: Lord Knight 25: Ninja\n"
-" 12: Assassin 4009: High Priest\n"
-" 14: Crusader 4010: High Wizard\n"
-" 15: Monk 4011: Whitesmith\n"
-" 16: Sage 4012: Sniper\n"
-" 17: Rogue 4013: Assassin Cross\n"
-" ---- Baby Classes ----\n"
-" 4023: Baby 4024: Baby Swordman 4025: Baby Mage\n"
-" 4026: Baby Archer 4027: Baby Acolyte 4028: Baby Merchant\n"
-" 4029: Baby Thief 4030: Baby Knight 4031: Baby Priest\n"
-" 4032: Baby Wizard 4033: Baby Blacksmith 4034: Baby Hunter\n"
-" 4035: Baby Assassin 4037: Baby Crusader 4038: Baby Monk\n"
-" 4039: Baby Sage 4040: Baby Rogue 4041: Baby Alchemist\n"
-" 4042: Baby Bard 4043: Baby Dancer 4045: Super Baby\n"
+ "----- Novice / 1st Class -----\n"
+ " 0 Novice 1 Swordman 2 Magician 3 Archer\n"
+ " 4 Acolyte 5 Merchant 6 Thief\n"
+ "----- 2nd Class -----\n"
+ " 7 Knight 8 Priest 9 Wizard 10 Blacksmith\n"
+ " 11 Hunter 12 Assassin 14 Crusader 15 Monk\n"
+ " 16 Sage 17 Rogue 18 Alchemist 19 Bard\n"
+ " 20 Dancer\n"
+ "----- High Novice / High 1st Class -----\n"
+ "4001 Novice High 4002 Swordman High 4003 Magician High 4004 Archer High\n"
+ "4005 Acolyte High 4006 Merchant High 4007 Thief High\n"
+ "----- Transcendent 2nd Class -----\n"
+ "4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith\n"
+ "4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion\n"
+ "4017 Professor 4018 Stalker 4019 Creator 4020 Clown\n"
+ "4021 Gypsy\n"
+ "----- 3rd Class (Regular) -----\n"
+ "4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop\n"
+ "4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer\n"
+ "4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic\n"
+ "4072 Shadow Chaser\n"
+ "----- 3rd Class (Transcendent) -----\n"
+ "4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop\n"
+ "4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer\n"
+ "4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic\n"
+ "4079 Shadow Chaser\n"
+ "----- Expanded Class -----\n"
+ " 23 Super Novice 24 Gunslinger 25 Ninja 4045 Super Baby\n"
+ "4046 Taekwon 4047 Star Gladiator 4049 Soul Linker 4050 Gangsi\n"
+ "4051 Death Knight 4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby\n"
+ "4211 Kagerou 4212 Oboro\n"
+ "----- Baby Novice And Baby 1st Class -----\n"
+ "4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer\n"
+ "4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief\n"
+ "---- Baby 2nd Class ----\n"
+ "4030 Baby Knight 4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith\n"
+ "4034 Baby Hunter 4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk\n"
+ "4039 Baby Sage 4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard\n"
+ "4043 Baby Dancer\n"
+ "---- Baby 3rd Class ----\n"
+ "4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger 4099 Baby Arch Bishop\n"
+ "4100 Baby Mechanic 4101 Baby Glt. Cross 4102 Baby Royal Guard 4103 Baby Sorcerer\n"
+ "4104 Baby Minstrel 4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic\n"
+ "4108 Baby Shadow Chaser\n"
+ "---- Modes And Others ----\n"
+ " 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)\n"
option: "Params: <param1> <param2>(stackable) <param3>(stackable)\n" "Adds different visual effects on or around your character.\n"
" <param1> <param2> <param3>\n"
"01: Stone 01: Sight 01: Sight 512: Cart Lv. 4\n"
diff --git a/conf/msg_athena.conf b/conf/msg_athena.conf
index 3f2c66512..86bc46488 100644
--- a/conf/msg_athena.conf
+++ b/conf/msg_athena.conf
@@ -639,55 +639,9 @@
921: Please enter at least one option.
// @jobchange
-922: Please enter a job ID (usage: @job/@jobchange <job name/ID>).
-923: ----- Novice / 1st Class -----
-924: 0 Novice 1 Swordman 2 Magician 3 Archer
-925: 4 Acolyte 5 Merchant 6 Thief
-926: ----- 2nd Class -----
-927: 7 Knight 8 Priest 9 Wizard 10 Blacksmith
-928: 11 Hunter 12 Assassin 14 Crusader 15 Monk
-929: 16 Sage 17 Rogue 18 Alchemist 19 Bard
-930: 20 Dancer
-931: ----- High Novice / High 1st Class -----
-932: 4001 Novice High 4002 Swordman High 4003 Magician High 4004 Archer High
-933: 4005 Acolyte High 4006 Merchant High 4007 Thief High
-934: ----- Transcendent 2nd Class -----
-935: 4008 Lord Knight 4009 High Priest 4010 High Wizard 4011 Whitesmith
-936: 4012 Sniper 4013 Assassin Cross 4015 Paladin 4016 Champion
-937: 4017 Professor 4018 Stalker 4019 Creator 4020 Clown
-938: 4021 Gypsy
-939: ----- 3rd Class (Regular) -----
-940: 4054 Rune Knight 4055 Warlock 4056 Ranger 4057 Arch Bishop
-941: 4058 Mechanic 4059 Guillotine Cross 4066 Royal Guard 4067 Sorcerer
-942: 4068 Minstrel 4069 Wanderer 4070 Sura 4071 Genetic
-943: 4072 Shadow Chaser
-944: ----- 3rd Class (Transcendent) -----
-945: 4060 Rune Knight 4061 Warlock 4062 Ranger 4063 Arch Bishop
-946: 4064 Mechanic 4065 Guillotine Cross 4073 Royal Guard 4074 Sorcerer
-947: 4075 Minstrel 4076 Wanderer 4077 Sura 4078 Genetic
-948: 4079 Shadow Chaser
-949: ----- Expanded Class -----
-950: 23 Super Novice 24 Gunslinger 25 Ninja 4045 Super Baby
-951: 4046 Taekwon 4047 Star Gladiator 4049 Soul Linker 4050 Gangsi
-952: 4051 Death Knight 4052 Dark Collector 4190 Ex. Super Novice 4191 Ex. Super Baby
-953: 4211 Kagerou 4212 Oboro
-954: ----- Baby Novice And Baby 1st Class -----
-955: 4023 Baby Novice 4024 Baby Swordman 4025 Baby Magician 4026 Baby Archer
-956: 4027 Baby Acolyte 4028 Baby Merchant 4029 Baby Thief
-957: ---- Baby 2nd Class ----
-958: 4030 Baby Knight 4031 Baby Priest 4032 Baby Wizard 4033 Baby Blacksmith
-959: 4034 Baby Hunter 4035 Baby Assassin 4037 Baby Crusader 4038 Baby Monk
-960: 4039 Baby Sage 4040 Baby Rogue 4041 Baby Alchemist 4042 Baby Bard
-961: 4043 Baby Dancer
-962: ---- Baby 3rd Class ----
-963: 4096 Baby Rune Knight 4097 Baby Warlock 4098 Baby Ranger 4099 Baby Arch Bishop
-964: 4100 Baby Mechanic 4101 Baby Glt. Cross 4102 Baby Royal Guard 4103 Baby Sorcerer
-965: 4104 Baby Minstrel 4105 Baby Wanderer 4106 Baby Sura 4107 Baby Genetic
-966: 4108 Baby Shadow Chaser
-967: ---- Modes And Others ----
-968: 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)
-
-//969-979 free (future jobs?)
+922: Please enter a job ID.
+
+//923-979 free (future jobs?)
// @kami
980: Please enter a message (usage: @kami <message>).
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index c352a729c..b334d7542 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -173,16 +173,19 @@ void do_final_msg(void)
* @param name the name of the command to retrieve help information for
* @return the string associated with the command, or NULL
*/
-static const char* atcommand_help_string(const char* name)
+static const char* atcommand_help_string(const char* command)
{
const char* str = NULL;
config_setting_t* info;
- if( *name == atcommand_symbol || *name == charcommand_symbol )
+ if( *command == atcommand_symbol || *command == charcommand_symbol )
{// remove the prefix symbol for the raw name of the command
- name ++;
+ command ++;
}
+ // convert alias to the real command name
+ command = atcommand_checkalias(command);
+
// attept to find the first default help command
info = config_lookup(&atcommand_config, "help");
@@ -191,7 +194,7 @@ static const char* atcommand_help_string(const char* name)
return NULL;
}
- if( !config_setting_lookup_string( info, name, &str ) )
+ if( !config_setting_lookup_string( info, command, &str ) )
{// failed to find the matching help string
return NULL;
}
@@ -991,6 +994,7 @@ ACMD_FUNC(jobchange)
{
//FIXME: redundancy, potentially wrong code, should use job_name() or similar instead of hardcoding the table [ultramage]
int job = 0, upper = 0;
+ const char* text;
nullpo_retr(-1, sd);
if (!message || !*message || sscanf(message, "%d %d", &job, &upper) < 1)
@@ -1137,13 +1141,9 @@ ACMD_FUNC(jobchange)
}
}
- // TODO: convert this to use atcommand_help_string()
if (!found) {
- int i;
- for (i = 922; i <= 966; ++i)
- clif_displaymessage(fd, msg_txt(i));
- clif_displaymessage(fd, msg_txt(967)); // ---- Modes And Others ----
- clif_displaymessage(fd, msg_txt(968)); // 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)
+ text = atcommand_help_string(command);
+ if (text) clif_displaymessage(fd, text);
return -1;
}
}
@@ -1163,12 +1163,8 @@ ACMD_FUNC(jobchange)
return -1;
}
} else {
- // TODO: convert this to use atcommand_help_string()
- int i;
- for (i = 922; i <= 966; ++i)
- clif_displaymessage(fd, msg_txt(i));
- clif_displaymessage(fd, msg_txt(967)); // ---- Modes And Others ----
- clif_displaymessage(fd, msg_txt(968)); // 22 Wedding 26 Christmas 27 Summer 4048 Star Gladiator (Union)
+ text = atcommand_help_string(command);
+ if (text) clif_displaymessage(fd, text);
return -1;
}