diff options
author | valaris <valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-20 17:04:06 +0000 |
---|---|---|
committer | valaris <valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2004-11-20 17:04:06 +0000 |
commit | 050f7d33c4e4c849e8c4bc2f37a982d8a93811b8 (patch) | |
tree | d22baa09846535eaed015534d4889f719f1b6487 /src/map | |
parent | cf6c884771293b2ecd4b491225d4f6bf3476a224 (diff) | |
download | hercules-050f7d33c4e4c849e8c4bc2f37a982d8a93811b8.tar.gz hercules-050f7d33c4e4c849e8c4bc2f37a982d8a93811b8.tar.bz2 hercules-050f7d33c4e4c849e8c4bc2f37a982d8a93811b8.tar.xz hercules-050f7d33c4e4c849e8c4bc2f37a982d8a93811b8.zip |
* Added "nogo" mapflag to prevent the use of @go on a specified map. [Valaris]
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@273 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/atcommand.c | 5 | ||||
-rw-r--r-- | src/map/map.h | 1 | ||||
-rw-r--r-- | src/map/npc.c | 3 | ||||
-rw-r--r-- | src/map/script.c | 8 |
4 files changed, 16 insertions, 1 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 2739a5cf8..265180932 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -2740,6 +2740,11 @@ int atcommand_go( char output[200]; int m; + if(map[sd->bl.m].flag.nogo) { + clif_displaymessage(sd->fd,"You can not use @go on this map."); + return 0; + } + struct { char map[16]; int x, y; } data[] = { { "prontera.gat", 156, 191 }, // 0=Prontera { "morocc.gat", 156, 93 }, // 1=Morroc diff --git a/src/map/map.h b/src/map/map.h index e7f1811ee..1d0e6b900 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -517,6 +517,7 @@ struct map_data { unsigned leaves : 1; // [Valaris] unsigned rain : 1; // [Valaris] unsigned indoors : 1; // celest + unsigned nogo : 1; // [Valaris] } 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 eea869aa5..ca15afa2b 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -2116,6 +2116,9 @@ static int npc_parse_mapflag(char *w1,char *w2,char *w3,char *w4) else if (strcmpi(w3,"indoors")==0) { // celest map[m].flag.indoors=1; } + else if (strcmpi(w3,"nogo")==0) { // celest + map[m].flag.nogo=1; + } return 0; } diff --git a/src/map/script.c b/src/map/script.c index 667fc0b8e..4089159e9 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -4585,7 +4585,7 @@ int buildin_isloggedin(struct script_state *st) *------------------------------------------ */ enum { MF_NOMEMO,MF_NOTELEPORT,MF_NOSAVE,MF_NOBRANCH,MF_NOPENALTY,MF_NOZENYPENALTY,MF_PVP,MF_PVP_NOPARTY,MF_PVP_NOGUILD,MF_GVG,MF_GVG_NOPARTY,MF_NOTRADE,MF_NOSKILL, MF_NOWARP,MF_NOPVP,MF_NOICEWALL, - MF_SNOW, MF_FOG, MF_SAKURA, MF_LEAVES, MF_RAIN, MF_INDOORS }; + MF_SNOW, MF_FOG, MF_SAKURA, MF_LEAVES, MF_RAIN, MF_INDOORS, MF_NOGO }; int buildin_setmapflagnosave(struct script_state *st) { @@ -4674,6 +4674,9 @@ int buildin_setmapflag(struct script_state *st) case MF_INDOORS: // celest map[m].flag.indoors=1; break; + case MF_NOGO: // celest + map[m].flag.nogo=1; + break; } } @@ -4747,6 +4750,9 @@ int buildin_removemapflag(struct script_state *st) case MF_INDOORS: // celest map[m].flag.indoors=0; break; + case MF_NOGO: // celest + map[m].flag.nogo=0; + break; } } |