Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions conf/messages.conf
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,10 @@
668: Shadow Chaser T
669: Summoner

//670-855 FREE (please start using from the top if you need, leave the 670+ range for new jobs)
//670-853 FREE (please start using from the top if you need, leave the 670+ range for new jobs)

// Mapflag to disable Autoloot Commands
854: Auto loot item are disabled on this map.

// MVP exp message issue clients 2013-12-23cRagexe and newer.
855: Congratulations! You are the MVP! Your reward EXP Points are %u !!
Expand Down Expand Up @@ -856,7 +859,7 @@
1060: NoWarp |
1061: NoWarpTo |
1062: NoReturn |
//1063 FREE
1063: NoAutoloot |
1064: NoMemo |
1065: No Exp Penalty: %s | No Zeny Penalty: %s
1066: On
Expand Down
3 changes: 2 additions & 1 deletion db/constants.conf
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,8 @@ constants_db: {
mf_reset: 52
mf_notomb: 53
mf_nocashshop: 54
mf_noviewid: 55
mf_noautoloot: 55
mf_noviewid: 56

comment__: "Cell Properties"
cell_walkable: 0
Expand Down
2 changes: 2 additions & 0 deletions src/map/atcommand.c
Original file line number Diff line number Diff line change
Expand Up @@ -3906,6 +3906,8 @@ ACMD(mapinfo)
strcat(atcmd_output, msg_fd(fd,1096)); // PartyLock |
if (map->list[m_id].flag.guildlock)
strcat(atcmd_output, msg_fd(fd,1097)); // GuildLock |
if (map->list[m_id].flag.noautoloot)
strcat(atcmd_output, msg_fd(fd, 1063)); // NoAutoloot |
if (map->list[m_id].flag.noviewid != EQP_NONE)
strcat(atcmd_output, msg_fd(fd,1079)); // NoViewID |
clif->message(fd, atcmd_output);
Expand Down
1 change: 1 addition & 0 deletions src/map/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,7 @@ struct map_data {
unsigned noknockback : 1;
unsigned notomb : 1;
unsigned nocashshop : 1;
unsigned noautoloot : 1;
uint32 noviewid; ///< noviewid (bitmask - @see enum equip_pos)
} flag;
struct point save;
Expand Down
1 change: 1 addition & 0 deletions src/map/mob.c
Original file line number Diff line number Diff line change
Expand Up @@ -1904,6 +1904,7 @@ void mob_item_drop(struct mob_data *md, struct item_drop_list *dlist, struct ite

if( sd
&& (drop_rate <= sd->state.autoloot || pc->isautolooting(sd, ditem->item_data.nameid))
&& (!map->list[sd->bl.m].flag.noautoloot)
&& (battle_config.idle_no_autoloot == 0 || DIFF_TICK(sockt->last_tick, sd->idletime) < battle_config.idle_no_autoloot)
&& (battle_config.homunculus_autoloot?1:!flag)
#ifdef AUTOLOOT_DISTANCE
Expand Down
2 changes: 2 additions & 0 deletions src/map/npc.c
Original file line number Diff line number Diff line change
Expand Up @@ -4300,6 +4300,8 @@ const char *npc_parse_mapflag(const char *w1, const char *w2, const char *w3, co
map->list[m].flag.reset=state;
else if (!strcmpi(w3,"notomb"))
map->list[m].flag.notomb=state;
else if (!strcmpi(w3, "noautoloot"))
map->list[m].flag.noautoloot = state;
else if (!strcmpi(w3,"adjust_unit_duration")) {
int skill_id, k;
char skill_name[MAP_ZONE_MAPFLAG_LENGTH], modifier[MAP_ZONE_MAPFLAG_LENGTH];
Expand Down
3 changes: 3 additions & 0 deletions src/map/script.c
Original file line number Diff line number Diff line change
Expand Up @@ -12833,6 +12833,7 @@ BUILDIN(getmapflag)
case MF_RESET: script_pushint(st,map->list[m].flag.reset); break;
case MF_NOTOMB: script_pushint(st,map->list[m].flag.notomb); break;
case MF_NOCASHSHOP: script_pushint(st,map->list[m].flag.nocashshop); break;
case MF_NOAUTOLOOT: script_pushint(st, map->list[m].flag.noautoloot); break;
case MF_NOVIEWID: script_pushint(st,map->list[m].flag.noviewid); break;
}
}
Expand Down Expand Up @@ -12957,6 +12958,7 @@ BUILDIN(setmapflag) {
case MF_RESET: map->list[m].flag.reset = 1; break;
case MF_NOTOMB: map->list[m].flag.notomb = 1; break;
case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 1; break;
case MF_NOAUTOLOOT: map->list[m].flag.noautoloot = 1; break;
case MF_NOVIEWID: map->list[m].flag.noviewid = (val <= 0) ? EQP_NONE : val; break;
}
}
Expand Down Expand Up @@ -13044,6 +13046,7 @@ BUILDIN(removemapflag) {
case MF_RESET: map->list[m].flag.reset = 0; break;
case MF_NOTOMB: map->list[m].flag.notomb = 0; break;
case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 0; break;
case MF_NOAUTOLOOT: map->list[m].flag.noautoloot = 0; break;
case MF_NOVIEWID: map->list[m].flag.noviewid = EQP_NONE; break;
}
}
Expand Down
1 change: 1 addition & 0 deletions src/map/script.h
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,7 @@ enum {
MF_RESET,
MF_NOTOMB,
MF_NOCASHSHOP,
MF_NOAUTOLOOT,
MF_NOVIEWID
};

Expand Down