summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/const.txt1
-rw-r--r--doc/script_commands.txt53
-rw-r--r--src/map/pc.c394
-rw-r--r--src/map/script.c3
4 files changed, 235 insertions, 216 deletions
diff --git a/db/const.txt b/db/const.txt
index 8310085e9..4e88ac46e 100644
--- a/db/const.txt
+++ b/db/const.txt
@@ -1315,6 +1315,7 @@ MOB_SIZE 18
MOB_RACE 19
MOB_ELEMENT 20
MOB_MODE 21
+MOB_MVPEXP 22
AI_ACTION_TYPE 0
AI_ACTION_TAR_TYPE 1
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index 95d6d76b4..002ca62d4 100644
--- a/doc/script_commands.txt
+++ b/doc/script_commands.txt
@@ -3050,17 +3050,29 @@ It will return -1 if there is no such monster (or the type value is invalid),
or "null" if you requested the monster's name.
Valid types are listed in const.txt:
- MOB_NAME 0 MOB_LV 1
- MOB_MAXHP 2 MOB_BASEEXP 3
- MOB_JOBEXP 4 MOB_ATK1 5
- MOB_ATK2 6 MOB_DEF 7
- MOB_MDEF 8 MOB_STR 9
- MOB_AGI 10 MOB_VIT 11
- MOB_INT 12 JOB_DEX 13
- MOB_LUK 14 MOB_RANGE 15
- MOB_RANGE2 16 MOB_RANGE3 17
- MOB_SIZE 18 MOB_RACE 19
- MOB_ELEMENT 20 MOB_MODE 21
+ MOB_NAME 0
+ MOB_LV 1
+ MOB_MAXHP 2
+ MOB_BASEEXP 3
+ MOB_JOBEXP 4
+ MOB_ATK1 5
+ MOB_ATK2 6
+ MOB_DEF 7
+ MOB_MDEF 8
+ MOB_STR 9
+ MOB_AGI 10
+ MOB_VIT 11
+ MOB_INT 12
+ MOB_DEX 13
+ MOB_LUK 14
+ MOB_RANGE 15
+ MOB_RANGE2 16
+ MOB_RANGE3 17
+ MOB_SIZE 18
+ MOB_RACE 19
+ MOB_ELEMENT 20
+ MOB_MODE 21
+ MOB_MVPEXP 22
Check sample in doc/sample/getmonsterinfo.txt
@@ -3334,13 +3346,18 @@ bird and 0 if they don't.
---------------------------------------
-*checkvending ({"<player name>"})
-*checkchatting ({"<Player Name>"})
+*checkvending({"<player name>"})
+*checkchatting({"<Player Name>"})
-If the player's name is given, this command checks for that player
-to be online and whether he/she is chatting or vending.
-When no name is given, the attached player is used for checking.
-Returns true or false (1 or 0) when the player is chatting/vending or not.
+Checks if the player is vending or in a chatroom.
+Name is optional, and defaults to the attached player if omitted.
+
+Return values for 'checkvending' are
+ 0 = not vending
+ 1 = normal vending
+ 2 = vending using @autotrade
+
+'checkchatting' returns 1 if they are in a chat room, 0 if they are not.
Example(s):
if (checkVending("Aaron")) mes "Aaron is currently vending!";
@@ -3349,7 +3366,7 @@ if (checkVending("Aaron")) mes "Aaron is currently vending!";
if (checkChatting()) mes "You are currently chatting!";
//This will check if you're in a chat room or not
-
+
---------------------------------------
*agitcheck()
diff --git a/src/map/pc.c b/src/map/pc.c
index 667c37575..3753c0e0f 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -4713,120 +4713,120 @@ 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;
default:
return -1;
}
@@ -4838,114 +4838,114 @@ 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;
default:
return -1;
}
@@ -6010,11 +6010,11 @@ int pc_skillheal_bonus(struct map_session_data *sd, int skill_num)
{
switch( skill_num )
{
- case AL_HEAL: if( !(battle_config.skill_add_heal_rate&1) ) bonus = 0; break;
- case PR_SANCTUARY: if( !(battle_config.skill_add_heal_rate&2) ) bonus = 0; break;
- case AM_POTIONPITCHER: if( !(battle_config.skill_add_heal_rate&4) ) bonus = 0; break;
- case CR_SLIMPITCHER: if( !(battle_config.skill_add_heal_rate&8) ) bonus = 0; break;
- case BA_APPLEIDUN: if( !(battle_config.skill_add_heal_rate&16) ) bonus = 0; break;
+ case AL_HEAL: if( !(battle_config.skill_add_heal_rate&1) ) bonus = 0; break;
+ case PR_SANCTUARY: if( !(battle_config.skill_add_heal_rate&2) ) bonus = 0; break;
+ case AM_POTIONPITCHER: if( !(battle_config.skill_add_heal_rate&4) ) bonus = 0; break;
+ case CR_SLIMPITCHER: if( !(battle_config.skill_add_heal_rate&8) ) bonus = 0; break;
+ case BA_APPLEIDUN: if( !(battle_config.skill_add_heal_rate&16)) bonus = 0; break;
}
}
diff --git a/src/map/script.c b/src/map/script.c
index 549e14266..d58233dc5 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -13922,6 +13922,7 @@ BUILDIN_FUNC(getmonsterinfo)
case 19: script_pushint(st,mob->status.race); break;
case 20: script_pushint(st,mob->status.def_ele); break;
case 21: script_pushint(st,mob->status.mode); break;
+ case 22: script_pushint(st,mob->mexp); break;
default: script_pushint(st,-1); //wrong Index
}
return 0;
@@ -13937,7 +13938,7 @@ BUILDIN_FUNC(checkvending) // check vending [Nab4]
sd = script_rid2sd(st);
if(sd)
- script_pushint(st,sd->state.vending);
+ script_pushint(st, sd->state.autotrade ? 2 : sd->state.vending);
else
script_pushint(st,0);