summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/map.h1
-rw-r--r--src/map/npc.c15
3 files changed, 11 insertions, 7 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 086c14b..76c38e5 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -6896,7 +6896,7 @@ void clif_parse_DropItem(int fd, struct map_session_data *sd) {
clif_clearchar_area(&sd->bl, 1);
return;
}
- if (sd->npc_id != 0 || sd->opt1 > 0 ||
+ if (sd->npc_id != 0 || sd->opt1 > 0 || map[sd->bl.m].flag.no_player_drops ||
(sd->sc_data && (sd->sc_data[SC_AUTOCOUNTER].timer != -1 || //�I�[�g�J�E���^�[
sd->sc_data[SC_BLADESTOP].timer != -1 || //���n����
sd->sc_data[SC_BERSERK].timer != -1)) ) //�o�[�T�[�N
diff --git a/src/map/map.h b/src/map/map.h
index 30c03f4..9a6b3ef 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -546,6 +546,7 @@ struct map_data {
unsigned sakura : 1; // [Valaris]
unsigned leaves : 1; // [Valaris]
unsigned rain : 1; // [Valaris]
+ unsigned no_player_drops : 1; // [Jaxad0127]
} flag;
struct point save;
struct npc_data *npc[MAX_NPC_PER_MAP];
diff --git a/src/map/npc.c b/src/map/npc.c
index 1a0462f..0c6c922 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -1833,22 +1833,25 @@ static int npc_parse_mapflag(char *w1,char *w2,char *w3,char *w4)
}
else if (strcmpi(w3,"noicewall")==0) { // noicewall [Valaris]
map[m].flag.noicewall=1;
- }
+ }
else if (strcmpi(w3,"snow")==0) { // snow [Valaris]
map[m].flag.snow=1;
- }
+ }
else if (strcmpi(w3,"fog")==0) { // fog [Valaris]
map[m].flag.fog=1;
- }
+ }
else if (strcmpi(w3,"sakura")==0) { // sakura [Valaris]
map[m].flag.sakura=1;
- }
+ }
else if (strcmpi(w3,"leaves")==0) { // leaves [Valaris]
map[m].flag.leaves=1;
- }
+ }
else if (strcmpi(w3,"rain")==0) { // rain [Valaris]
map[m].flag.rain=1;
- }
+ }
+ else if (strcmpi(w3,"no_player_drops")==0) { // rain [Valaris]
+ map[m].flag.no_player_drops=1;
+ }
return 0;
}