Added support for using 'town', 'autotrade', 'allowks', 'monster_noteleport', 'pvp_nocalcrank' and 'battleground' mapflags in scripts (bugreport:4226).
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14322 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
486e534d5d
commit
00a2a3283e
@ -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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2010/05/31
|
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]
|
* 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 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]
|
* Rewrote and reorganized checks in @autotrade to check and display most useful information first (bugreport:4253). [Paradox924X]
|
||||||
|
@ -224,6 +224,12 @@ mf_loadevent 42
|
|||||||
mf_nochat 43
|
mf_nochat 43
|
||||||
mf_noexppenalty 44
|
mf_noexppenalty 44
|
||||||
mf_guildlock 45
|
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_walkable 0
|
||||||
cell_shootable 1
|
cell_shootable 1
|
||||||
|
@ -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);
|
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, atcmd_output);
|
||||||
clif_displaymessage(fd, "------ Map Flags ------");
|
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: ");
|
strcpy(atcmd_output,"PvP Flags: ");
|
||||||
if (map[m_id].flag.pvp)
|
if (map[m_id].flag.pvp)
|
||||||
strcat(atcmd_output, "Pvp ON | ");
|
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 | ");
|
strcat(atcmd_output, "NoSkill | ");
|
||||||
if (map[m_id].flag.noicewall)
|
if (map[m_id].flag.noicewall)
|
||||||
strcat(atcmd_output, "NoIcewall | ");
|
strcat(atcmd_output, "NoIcewall | ");
|
||||||
|
if (map[m_id].allowks)
|
||||||
|
strcat(atcmd_output, "AllowKS | ");
|
||||||
clif_displaymessage(fd, atcmd_output);
|
clif_displaymessage(fd, atcmd_output);
|
||||||
|
|
||||||
strcpy(atcmd_output,"Other Flags: ");
|
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 | ");
|
strcat(atcmd_output, "GuildLock | ");
|
||||||
clif_displaymessage(fd, atcmd_output);
|
clif_displaymessage(fd, atcmd_output);
|
||||||
|
|
||||||
|
|
||||||
switch (list) {
|
switch (list) {
|
||||||
case 0:
|
case 0:
|
||||||
// Do nothing. It's list 0, no additional display.
|
// Do nothing. It's list 0, no additional display.
|
||||||
|
@ -336,7 +336,13 @@ enum {
|
|||||||
MF_LOADEVENT,
|
MF_LOADEVENT,
|
||||||
MF_NOCHAT,
|
MF_NOCHAT,
|
||||||
MF_NOEXPPENALTY,
|
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)
|
const char* script_op2name(int op)
|
||||||
@ -9167,6 +9173,12 @@ BUILDIN_FUNC(getmapflag)
|
|||||||
case MF_NOCHAT: script_pushint(st,map[m].flag.nochat); 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_PARTYLOCK: script_pushint(st,map[m].flag.partylock); break;
|
||||||
case MF_GUILDLOCK: script_pushint(st,map[m].flag.guildlock); 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9231,6 +9243,12 @@ BUILDIN_FUNC(setmapflag)
|
|||||||
case MF_NOCHAT: map[m].flag.nochat=1; break;
|
case MF_NOCHAT: map[m].flag.nochat=1; break;
|
||||||
case MF_PARTYLOCK: map[m].flag.partylock=1; break;
|
case MF_PARTYLOCK: map[m].flag.partylock=1; break;
|
||||||
case MF_GUILDLOCK: map[m].flag.guildlock=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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9292,6 +9310,12 @@ BUILDIN_FUNC(removemapflag)
|
|||||||
case MF_NOCHAT: map[m].flag.nochat=0; break;
|
case MF_NOCHAT: map[m].flag.nochat=0; break;
|
||||||
case MF_PARTYLOCK: map[m].flag.partylock=0; break;
|
case MF_PARTYLOCK: map[m].flag.partylock=0; break;
|
||||||
case MF_GUILDLOCK: map[m].flag.guildlock=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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user