diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/map.h | 1 | ||||
-rw-r--r-- | src/map/npc.c | 15 |
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; } |