summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2009-09-26 13:06:52 -0600
committerJared Adams <jaxad0127@gmail.com>2009-09-26 13:06:52 -0600
commit02ce702acb0fadcaf76470a94194f1d20e4c8bc0 (patch)
treeef20f6d00f373936540c0c297b70bc230f14ecef /src
parent3ef2cb492970da40f82df9643c4cfc570bc3aa62 (diff)
downloadtmwa-02ce702acb0fadcaf76470a94194f1d20e4c8bc0.tar.gz
tmwa-02ce702acb0fadcaf76470a94194f1d20e4c8bc0.tar.bz2
tmwa-02ce702acb0fadcaf76470a94194f1d20e4c8bc0.tar.xz
tmwa-02ce702acb0fadcaf76470a94194f1d20e4c8bc0.zip
Add a no player drop flag for maps
Diffstat (limited to 'src')
-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;
}