diff options
Diffstat (limited to 'src')
-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; } } |