diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | db/const.txt | 6 | ||||
-rw-r--r-- | src/map/atcommand.c | 12 | ||||
-rw-r--r-- | src/map/script.c | 292 |
4 files changed, 175 insertions, 136 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 840b76b3c..5a1232768 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,7 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2010/05/31 + * Added support for using 'town', 'autotrade', 'allowks', 'monster_noteleport', 'pvp_nocalcrank' and 'battleground' mapflags in scripts (bugreport:4226). [Paradox924X] * Replaced all occurrences of 'leaved' with 'withdraw'. [Paradox924X] * Rewrote and optimized clif_hpmeter to employ map_foreachinarea() rather than an iteration over every session (bugreport:3956). [Paradox924X] * Rewrote and reorganized checks in @autotrade to check and display most useful information first (bugreport:4253). [Paradox924X] diff --git a/db/const.txt b/db/const.txt index d4cd4fbfd..21735b3c1 100644 --- a/db/const.txt +++ b/db/const.txt @@ -224,6 +224,12 @@ mf_loadevent 42 mf_nochat 43 mf_noexppenalty 44 mf_guildlock 45 +mf_town 46 +mf_autotrade 47 +mf_allowks 48 +mf_monster_noteleport 49 +mf_pvpnocalcrank 50 +mf_battleground 51 cell_walkable 0 cell_shootable 1 diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 035cc5fe1..4b2fb8b33 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -4279,6 +4279,14 @@ int atcommand_mapinfo(const int fd, struct map_session_data* sd, const char* com sprintf(atcmd_output, "Map Name: %s | Players In Map: %d | NPCs In Map: %d | Chats In Map: %d", mapname, map[m_id].users, map[m_id].npc_num, chat_num); clif_displaymessage(fd, atcmd_output); clif_displaymessage(fd, "------ Map Flags ------"); + if (map[m_id].flag.town) + clif_displaymessage(fd, "Town Map"); + + clif_displaymessage(fd, "Autotrade %s", (battle_config.autotrade_mapflag == map[m_id].flag.autotrade) ? "Enabled" : "Disabled"); + + if (map[m_id].flag.battleground) + clif_displaymessage(fd, "Battlegrounds ON"); + strcpy(atcmd_output,"PvP Flags: "); if (map[m_id].flag.pvp) strcat(atcmd_output, "Pvp ON | "); @@ -4370,7 +4378,8 @@ int atcommand_mapinfo(const int fd, struct map_session_data* sd, const char* com strcat(atcmd_output, "NoSkill | "); if (map[m_id].flag.noicewall) strcat(atcmd_output, "NoIcewall | "); - + if (map[m_id].allowks) + strcat(atcmd_output, "AllowKS | "); clif_displaymessage(fd, atcmd_output); strcpy(atcmd_output,"Other Flags: "); @@ -4390,7 +4399,6 @@ int atcommand_mapinfo(const int fd, struct map_session_data* sd, const char* com strcat(atcmd_output, "GuildLock | "); clif_displaymessage(fd, atcmd_output); - switch (list) { case 0: // Do nothing. It's list 0, no additional display. diff --git a/src/map/script.c b/src/map/script.c index f542ff04a..f2c437082 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -336,7 +336,13 @@ enum { MF_LOADEVENT, MF_NOCHAT, MF_NOEXPPENALTY, - MF_GUILDLOCK + MF_GUILDLOCK, + MF_TOWN, + MF_AUTOTRADE, + MF_ALLOWKS, + MF_MONSTER_NOTELEPORT, + MF_PVPNOCALCRANK, //50 + MF_BATTLEGROUND }; const char* script_op2name(int op) @@ -9123,50 +9129,56 @@ BUILDIN_FUNC(getmapflag) m = map_mapname2mapid(str); if(m >= 0) { switch(i) { - case MF_NOMEMO: script_pushint(st,map[m].flag.nomemo); break; - case MF_NOTELEPORT: script_pushint(st,map[m].flag.noteleport); break; - case MF_NOBRANCH: script_pushint(st,map[m].flag.nobranch); break; - case MF_NOPENALTY: script_pushint(st,map[m].flag.noexppenalty); break; - case MF_NOZENYPENALTY: script_pushint(st,map[m].flag.nozenypenalty); break; - case MF_PVP: script_pushint(st,map[m].flag.pvp); break; - case MF_PVP_NOPARTY: script_pushint(st,map[m].flag.pvp_noparty); break; - case MF_PVP_NOGUILD: script_pushint(st,map[m].flag.pvp_noguild); break; - case MF_GVG: script_pushint(st,map[m].flag.gvg); break; - case MF_GVG_NOPARTY: script_pushint(st,map[m].flag.gvg_noparty); break; - case MF_GVG_DUNGEON: script_pushint(st,map[m].flag.gvg_dungeon); break; - case MF_GVG_CASTLE: script_pushint(st,map[m].flag.gvg_castle); break; - case MF_NOTRADE: script_pushint(st,map[m].flag.notrade); break; - case MF_NODROP: script_pushint(st,map[m].flag.nodrop); break; - case MF_NOSKILL: script_pushint(st,map[m].flag.noskill); break; - case MF_NOWARP: script_pushint(st,map[m].flag.nowarp); break; - case MF_NOICEWALL: script_pushint(st,map[m].flag.noicewall); break; - case MF_SNOW: script_pushint(st,map[m].flag.snow); break; - case MF_CLOUDS: script_pushint(st,map[m].flag.clouds); break; - case MF_CLOUDS2: script_pushint(st,map[m].flag.clouds2); break; - case MF_FOG: script_pushint(st,map[m].flag.fog); break; - case MF_FIREWORKS: script_pushint(st,map[m].flag.fireworks); break; - case MF_SAKURA: script_pushint(st,map[m].flag.sakura); break; - case MF_LEAVES: script_pushint(st,map[m].flag.leaves); break; - case MF_RAIN: script_pushint(st,map[m].flag.rain); break; - case MF_INDOORS: script_pushint(st,map[m].flag.indoors); break; - case MF_NIGHTENABLED: script_pushint(st,map[m].flag.nightenabled); break; - case MF_NOGO: script_pushint(st,map[m].flag.nogo); break; - case MF_NOBASEEXP: script_pushint(st,map[m].flag.nobaseexp); break; - case MF_NOJOBEXP: script_pushint(st,map[m].flag.nojobexp); break; - case MF_NOMOBLOOT: script_pushint(st,map[m].flag.nomobloot); break; - case MF_NOMVPLOOT: script_pushint(st,map[m].flag.nomvploot); break; - case MF_NORETURN: script_pushint(st,map[m].flag.noreturn); break; - case MF_NOWARPTO: script_pushint(st,map[m].flag.nowarpto); break; - case MF_NIGHTMAREDROP: script_pushint(st,map[m].flag.pvp_nightmaredrop); break; - case MF_RESTRICTED: script_pushint(st,map[m].flag.restricted); break; - case MF_NOCOMMAND: script_pushint(st,map[m].nocommand); break; - case MF_JEXP: script_pushint(st,map[m].jexp); break; - case MF_BEXP: script_pushint(st,map[m].bexp); break; - case MF_NOVENDING: script_pushint(st,map[m].flag.novending); break; - case MF_LOADEVENT: script_pushint(st,map[m].flag.loadevent); break; - case MF_NOCHAT: script_pushint(st,map[m].flag.nochat); break; - case MF_PARTYLOCK: script_pushint(st,map[m].flag.partylock); break; - case MF_GUILDLOCK: script_pushint(st,map[m].flag.guildlock); break; + case MF_NOMEMO: script_pushint(st,map[m].flag.nomemo); break; + case MF_NOTELEPORT: script_pushint(st,map[m].flag.noteleport); break; + case MF_NOBRANCH: script_pushint(st,map[m].flag.nobranch); break; + case MF_NOPENALTY: script_pushint(st,map[m].flag.noexppenalty); break; + case MF_NOZENYPENALTY: script_pushint(st,map[m].flag.nozenypenalty); break; + case MF_PVP: script_pushint(st,map[m].flag.pvp); break; + case MF_PVP_NOPARTY: script_pushint(st,map[m].flag.pvp_noparty); break; + case MF_PVP_NOGUILD: script_pushint(st,map[m].flag.pvp_noguild); break; + case MF_GVG: script_pushint(st,map[m].flag.gvg); break; + case MF_GVG_NOPARTY: script_pushint(st,map[m].flag.gvg_noparty); break; + case MF_GVG_DUNGEON: script_pushint(st,map[m].flag.gvg_dungeon); break; + case MF_GVG_CASTLE: script_pushint(st,map[m].flag.gvg_castle); break; + case MF_NOTRADE: script_pushint(st,map[m].flag.notrade); break; + case MF_NODROP: script_pushint(st,map[m].flag.nodrop); break; + case MF_NOSKILL: script_pushint(st,map[m].flag.noskill); break; + case MF_NOWARP: script_pushint(st,map[m].flag.nowarp); break; + case MF_NOICEWALL: script_pushint(st,map[m].flag.noicewall); break; + case MF_SNOW: script_pushint(st,map[m].flag.snow); break; + case MF_CLOUDS: script_pushint(st,map[m].flag.clouds); break; + case MF_CLOUDS2: script_pushint(st,map[m].flag.clouds2); break; + case MF_FOG: script_pushint(st,map[m].flag.fog); break; + case MF_FIREWORKS: script_pushint(st,map[m].flag.fireworks); break; + case MF_SAKURA: script_pushint(st,map[m].flag.sakura); break; + case MF_LEAVES: script_pushint(st,map[m].flag.leaves); break; + case MF_RAIN: script_pushint(st,map[m].flag.rain); break; + case MF_INDOORS: script_pushint(st,map[m].flag.indoors); break; + case MF_NIGHTENABLED: script_pushint(st,map[m].flag.nightenabled); break; + case MF_NOGO: script_pushint(st,map[m].flag.nogo); break; + case MF_NOBASEEXP: script_pushint(st,map[m].flag.nobaseexp); break; + case MF_NOJOBEXP: script_pushint(st,map[m].flag.nojobexp); break; + case MF_NOMOBLOOT: script_pushint(st,map[m].flag.nomobloot); break; + case MF_NOMVPLOOT: script_pushint(st,map[m].flag.nomvploot); break; + case MF_NORETURN: script_pushint(st,map[m].flag.noreturn); break; + case MF_NOWARPTO: script_pushint(st,map[m].flag.nowarpto); break; + case MF_NIGHTMAREDROP: script_pushint(st,map[m].flag.pvp_nightmaredrop); break; + case MF_RESTRICTED: script_pushint(st,map[m].flag.restricted); break; + case MF_NOCOMMAND: script_pushint(st,map[m].nocommand); break; + case MF_JEXP: script_pushint(st,map[m].jexp); break; + case MF_BEXP: script_pushint(st,map[m].bexp); break; + case MF_NOVENDING: script_pushint(st,map[m].flag.novending); break; + case MF_LOADEVENT: script_pushint(st,map[m].flag.loadevent); break; + case MF_NOCHAT: script_pushint(st,map[m].flag.nochat); break; + case MF_PARTYLOCK: script_pushint(st,map[m].flag.partylock); break; + case MF_GUILDLOCK: script_pushint(st,map[m].flag.guildlock); break; + case MF_TOWN: script_pushint(st,map[m].flag.town); break; + case MF_AUTOTRADE: script_pushint(st,map[m].flag.autotrade); break; + case MF_ALLOWKS: script_pushint(st,map[m].flag.allowks); break; + case MF_MONSTER_NOTELEPORT: script_pushint(st,map[m].flag.monster_noteleport); break; + case MF_PVPNOCALCRANK: script_pushint(st,map[m].flag.pvpnocalcrank); break; + case MF_BATTLEGROUND: script_pushint(st,map[m].flag.battleground); break; } } @@ -9187,50 +9199,56 @@ BUILDIN_FUNC(setmapflag) m = map_mapname2mapid(str); if(m >= 0) { switch(i) { - case MF_NOMEMO: map[m].flag.nomemo=1; break; - case MF_NOTELEPORT: map[m].flag.noteleport=1; break; - case MF_NOBRANCH: map[m].flag.nobranch=1; break; - case MF_NOPENALTY: map[m].flag.noexppenalty=1; map[m].flag.nozenypenalty=1; break; - case MF_NOZENYPENALTY: map[m].flag.nozenypenalty=1; break; - case MF_PVP: map[m].flag.pvp=1; break; - case MF_PVP_NOPARTY: map[m].flag.pvp_noparty=1; break; - case MF_PVP_NOGUILD: map[m].flag.pvp_noguild=1; break; - case MF_GVG: map[m].flag.gvg=1; break; - case MF_GVG_NOPARTY: map[m].flag.gvg_noparty=1; break; - case MF_GVG_DUNGEON: map[m].flag.gvg_dungeon=1; break; - case MF_GVG_CASTLE: map[m].flag.gvg_castle=1; break; - case MF_NOTRADE: map[m].flag.notrade=1; break; - case MF_NODROP: map[m].flag.nodrop=1; break; - case MF_NOSKILL: map[m].flag.noskill=1; break; - case MF_NOWARP: map[m].flag.nowarp=1; break; - case MF_NOICEWALL: map[m].flag.noicewall=1; break; - case MF_SNOW: map[m].flag.snow=1; break; - case MF_CLOUDS: map[m].flag.clouds=1; break; - case MF_CLOUDS2: map[m].flag.clouds2=1; break; - case MF_FOG: map[m].flag.fog=1; break; - case MF_FIREWORKS: map[m].flag.fireworks=1; break; - case MF_SAKURA: map[m].flag.sakura=1; break; - case MF_LEAVES: map[m].flag.leaves=1; break; - case MF_RAIN: map[m].flag.rain=1; break; - case MF_INDOORS: map[m].flag.indoors=1; break; - case MF_NIGHTENABLED: map[m].flag.nightenabled=1; break; - case MF_NOGO: map[m].flag.nogo=1; break; - case MF_NOBASEEXP: map[m].flag.nobaseexp=1; break; - case MF_NOJOBEXP: map[m].flag.nojobexp=1; break; - case MF_NOMOBLOOT: map[m].flag.nomobloot=1; break; - case MF_NOMVPLOOT: map[m].flag.nomvploot=1; break; - case MF_NORETURN: map[m].flag.noreturn=1; break; - case MF_NOWARPTO: map[m].flag.nowarpto=1; break; - case MF_NIGHTMAREDROP: map[m].flag.pvp_nightmaredrop=1; break; - case MF_RESTRICTED: map[m].flag.restricted=1; break; - case MF_NOCOMMAND: map[m].nocommand = (!val || atoi(val) <= 0) ? 100 : atoi(val); break; - case MF_JEXP: map[m].jexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break; - case MF_BEXP: map[m].bexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break; - case MF_NOVENDING: map[m].flag.novending=1; break; - case MF_LOADEVENT: map[m].flag.loadevent=1; break; - case MF_NOCHAT: map[m].flag.nochat=1; break; - case MF_PARTYLOCK: map[m].flag.partylock=1; break; - case MF_GUILDLOCK: map[m].flag.guildlock=1; break; + case MF_NOMEMO: map[m].flag.nomemo=1; break; + case MF_NOTELEPORT: map[m].flag.noteleport=1; break; + case MF_NOBRANCH: map[m].flag.nobranch=1; break; + case MF_NOPENALTY: map[m].flag.noexppenalty=1; map[m].flag.nozenypenalty=1; break; + case MF_NOZENYPENALTY: map[m].flag.nozenypenalty=1; break; + case MF_PVP: map[m].flag.pvp=1; break; + case MF_PVP_NOPARTY: map[m].flag.pvp_noparty=1; break; + case MF_PVP_NOGUILD: map[m].flag.pvp_noguild=1; break; + case MF_GVG: map[m].flag.gvg=1; break; + case MF_GVG_NOPARTY: map[m].flag.gvg_noparty=1; break; + case MF_GVG_DUNGEON: map[m].flag.gvg_dungeon=1; break; + case MF_GVG_CASTLE: map[m].flag.gvg_castle=1; break; + case MF_NOTRADE: map[m].flag.notrade=1; break; + case MF_NODROP: map[m].flag.nodrop=1; break; + case MF_NOSKILL: map[m].flag.noskill=1; break; + case MF_NOWARP: map[m].flag.nowarp=1; break; + case MF_NOICEWALL: map[m].flag.noicewall=1; break; + case MF_SNOW: map[m].flag.snow=1; break; + case MF_CLOUDS: map[m].flag.clouds=1; break; + case MF_CLOUDS2: map[m].flag.clouds2=1; break; + case MF_FOG: map[m].flag.fog=1; break; + case MF_FIREWORKS: map[m].flag.fireworks=1; break; + case MF_SAKURA: map[m].flag.sakura=1; break; + case MF_LEAVES: map[m].flag.leaves=1; break; + case MF_RAIN: map[m].flag.rain=1; break; + case MF_INDOORS: map[m].flag.indoors=1; break; + case MF_NIGHTENABLED: map[m].flag.nightenabled=1; break; + case MF_NOGO: map[m].flag.nogo=1; break; + case MF_NOBASEEXP: map[m].flag.nobaseexp=1; break; + case MF_NOJOBEXP: map[m].flag.nojobexp=1; break; + case MF_NOMOBLOOT: map[m].flag.nomobloot=1; break; + case MF_NOMVPLOOT: map[m].flag.nomvploot=1; break; + case MF_NORETURN: map[m].flag.noreturn=1; break; + case MF_NOWARPTO: map[m].flag.nowarpto=1; break; + case MF_NIGHTMAREDROP: map[m].flag.pvp_nightmaredrop=1; break; + case MF_RESTRICTED: map[m].flag.restricted=1; break; + case MF_NOCOMMAND: map[m].nocommand = (!val || atoi(val) <= 0) ? 100 : atoi(val); break; + case MF_JEXP: map[m].jexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break; + case MF_BEXP: map[m].bexp = (!val || atoi(val) < 0) ? 100 : atoi(val); break; + case MF_NOVENDING: map[m].flag.novending=1; break; + case MF_LOADEVENT: map[m].flag.loadevent=1; break; + case MF_NOCHAT: map[m].flag.nochat=1; break; + case MF_PARTYLOCK: map[m].flag.partylock=1; break; + case MF_GUILDLOCK: map[m].flag.guildlock=1; break; + case MF_TOWN: map[m].flag.town=1; break; + case MF_AUTOTRADE: map[m].flag.autotrade=1; break; + case MF_ALLOWKS: map[m].flag.allowks=1; break; + case MF_MONSTER_NOTELEPORT: map[m].flag.monster_noteleport=1; break; + case MF_PVPNOCALCRANK: map[m].flag.pvpnocalcrank=1; break; + case MF_BATTLEGROUND: map[m].flag.battleground = (!val || atoi(val) < - || atoi(val) > 2) ? 1 : atoi(val); break; } } @@ -9247,51 +9265,57 @@ BUILDIN_FUNC(removemapflag) m = map_mapname2mapid(str); if(m >= 0) { switch(i) { - case MF_NOMEMO: map[m].flag.nomemo=0; break; - case MF_NOTELEPORT: map[m].flag.noteleport=0; break; - case MF_NOSAVE: map[m].flag.nosave=0; break; - case MF_NOBRANCH: map[m].flag.nobranch=0; break; - case MF_NOPENALTY: map[m].flag.noexppenalty=0; map[m].flag.nozenypenalty=0; break; - case MF_PVP: map[m].flag.pvp=0; break; - case MF_PVP_NOPARTY: map[m].flag.pvp_noparty=0; break; - case MF_PVP_NOGUILD: map[m].flag.pvp_noguild=0; break; - case MF_GVG: map[m].flag.gvg=0; break; - case MF_GVG_NOPARTY: map[m].flag.gvg_noparty=0; break; - case MF_GVG_DUNGEON: map[m].flag.gvg_dungeon=0; break; - case MF_GVG_CASTLE: map[m].flag.gvg_castle=0; break; - case MF_NOZENYPENALTY: map[m].flag.nozenypenalty=0; break; - case MF_NOTRADE: map[m].flag.notrade=0; break; - case MF_NODROP: map[m].flag.nodrop=0; break; - case MF_NOSKILL: map[m].flag.noskill=0; break; - case MF_NOWARP: map[m].flag.nowarp=0; break; - case MF_NOICEWALL: map[m].flag.noicewall=0; break; - case MF_SNOW: map[m].flag.snow=0; break; - case MF_CLOUDS: map[m].flag.clouds=0; break; - case MF_CLOUDS2: map[m].flag.clouds2=0; break; - case MF_FOG: map[m].flag.fog=0; break; - case MF_FIREWORKS: map[m].flag.fireworks=0; break; - case MF_SAKURA: map[m].flag.sakura=0; break; - case MF_LEAVES: map[m].flag.leaves=0; break; - case MF_RAIN: map[m].flag.rain=0; break; - case MF_INDOORS: map[m].flag.indoors=0; break; - case MF_NIGHTENABLED: map[m].flag.nightenabled=0; break; - case MF_NOGO: map[m].flag.nogo=0; break; - case MF_NOBASEEXP: map[m].flag.nobaseexp=0; break; - case MF_NOJOBEXP: map[m].flag.nojobexp=0; break; - case MF_NOMOBLOOT: map[m].flag.nomobloot=0; break; - case MF_NOMVPLOOT: map[m].flag.nomvploot=0; break; - case MF_NORETURN: map[m].flag.noreturn=0; break; - case MF_NOWARPTO: map[m].flag.nowarpto=0; break; - case MF_NIGHTMAREDROP: map[m].flag.pvp_nightmaredrop=0; break; - case MF_RESTRICTED: map[m].flag.restricted=0; break; - case MF_NOCOMMAND: map[m].nocommand=0; break; - case MF_JEXP: map[m].jexp=100; break; - case MF_BEXP: map[m].bexp=100; break; - case MF_NOVENDING: map[m].flag.novending=0; break; - case MF_LOADEVENT: map[m].flag.loadevent=0; break; - case MF_NOCHAT: map[m].flag.nochat=0; break; - case MF_PARTYLOCK: map[m].flag.partylock=0; break; - case MF_GUILDLOCK: map[m].flag.guildlock=0; break; + case MF_NOMEMO: map[m].flag.nomemo=0; break; + case MF_NOTELEPORT: map[m].flag.noteleport=0; break; + case MF_NOSAVE: map[m].flag.nosave=0; break; + case MF_NOBRANCH: map[m].flag.nobranch=0; break; + case MF_NOPENALTY: map[m].flag.noexppenalty=0; map[m].flag.nozenypenalty=0; break; + case MF_PVP: map[m].flag.pvp=0; break; + case MF_PVP_NOPARTY: map[m].flag.pvp_noparty=0; break; + case MF_PVP_NOGUILD: map[m].flag.pvp_noguild=0; break; + case MF_GVG: map[m].flag.gvg=0; break; + case MF_GVG_NOPARTY: map[m].flag.gvg_noparty=0; break; + case MF_GVG_DUNGEON: map[m].flag.gvg_dungeon=0; break; + case MF_GVG_CASTLE: map[m].flag.gvg_castle=0; break; + case MF_NOZENYPENALTY: map[m].flag.nozenypenalty=0; break; + case MF_NOTRADE: map[m].flag.notrade=0; break; + case MF_NODROP: map[m].flag.nodrop=0; break; + case MF_NOSKILL: map[m].flag.noskill=0; break; + case MF_NOWARP: map[m].flag.nowarp=0; break; + case MF_NOICEWALL: map[m].flag.noicewall=0; break; + case MF_SNOW: map[m].flag.snow=0; break; + case MF_CLOUDS: map[m].flag.clouds=0; break; + case MF_CLOUDS2: map[m].flag.clouds2=0; break; + case MF_FOG: map[m].flag.fog=0; break; + case MF_FIREWORKS: map[m].flag.fireworks=0; break; + case MF_SAKURA: map[m].flag.sakura=0; break; + case MF_LEAVES: map[m].flag.leaves=0; break; + case MF_RAIN: map[m].flag.rain=0; break; + case MF_INDOORS: map[m].flag.indoors=0; break; + case MF_NIGHTENABLED: map[m].flag.nightenabled=0; break; + case MF_NOGO: map[m].flag.nogo=0; break; + case MF_NOBASEEXP: map[m].flag.nobaseexp=0; break; + case MF_NOJOBEXP: map[m].flag.nojobexp=0; break; + case MF_NOMOBLOOT: map[m].flag.nomobloot=0; break; + case MF_NOMVPLOOT: map[m].flag.nomvploot=0; break; + case MF_NORETURN: map[m].flag.noreturn=0; break; + case MF_NOWARPTO: map[m].flag.nowarpto=0; break; + case MF_NIGHTMAREDROP: map[m].flag.pvp_nightmaredrop=0; break; + case MF_RESTRICTED: map[m].flag.restricted=0; break; + case MF_NOCOMMAND: map[m].nocommand=0; break; + case MF_JEXP: map[m].jexp=100; break; + case MF_BEXP: map[m].bexp=100; break; + case MF_NOVENDING: map[m].flag.novending=0; break; + case MF_LOADEVENT: map[m].flag.loadevent=0; break; + case MF_NOCHAT: map[m].flag.nochat=0; break; + case MF_PARTYLOCK: map[m].flag.partylock=0; break; + case MF_GUILDLOCK: map[m].flag.guildlock=0; break; + case MF_TOWN: map[m].flag.town=0; break; + case MF_AUTOTRADE: map[m].flag.autotrade=0; break; + case MF_ALLOWKS: map[m].flag.allowks=0; break; + case MF_MONSTER_NOTELEPORT: map[m].flag.monster_noteleport=0; break; + case MF_PVPNOCALCRANK: map[m].flag.pvpnocalcrank=0; break; + case MF_BATTLEGROUND: map[m].flag.battleground=0; break; } } |