Block dynamic NPCs in instances (#7429)
Fixes #7420 Thanks to @attackjom
This commit is contained in:
parent
4cb1af31f8
commit
96efb0e426
@ -67,7 +67,7 @@ Body:
|
||||
- Id: 3
|
||||
Name: Orc's Memory
|
||||
Enter:
|
||||
Map: 1@orcs
|
||||
Map: 1@orcs
|
||||
X: 179
|
||||
Y: 15
|
||||
AdditionalMaps:
|
||||
|
@ -67,7 +67,7 @@ Body:
|
||||
- Id: 3
|
||||
Name: Orc's Memory
|
||||
Enter:
|
||||
Map: 1@orcs
|
||||
Map: 1@orcs
|
||||
X: 179
|
||||
Y: 15
|
||||
AdditionalMaps:
|
||||
|
27
npc/mapflag/nodynamicnpc.txt
Normal file
27
npc/mapflag/nodynamicnpc.txt
Normal file
@ -0,0 +1,27 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Mapflag: No dynamic NPC map setting.
|
||||
//===== Description: =========================================
|
||||
//= Blocks the use of dynamic NPCs on a map.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 Initial script. [Lemongrass]
|
||||
//============================================================
|
||||
|
||||
// Endless Tower
|
||||
1@tower mapflag nodynamicnpc
|
||||
2@tower mapflag nodynamicnpc
|
||||
3@tower mapflag nodynamicnpc
|
||||
4@tower mapflag nodynamicnpc
|
||||
5@tower mapflag nodynamicnpc
|
||||
6@tower mapflag nodynamicnpc
|
||||
|
||||
// Sealed Catacomb
|
||||
1@cata mapflag nodynamicnpc
|
||||
2@cata mapflag nodynamicnpc
|
||||
|
||||
// Orc's Memory
|
||||
1@orcs mapflag nodynamicnpc
|
||||
2@orcs mapflag nodynamicnpc
|
||||
|
||||
// Nidhoggur's Nest
|
||||
1@nyd mapflag nodynamicnpc
|
||||
2@nyd mapflag nodynamicnpc
|
140
npc/re/mapflag/nodynamicnpc.txt
Normal file
140
npc/re/mapflag/nodynamicnpc.txt
Normal file
@ -0,0 +1,140 @@
|
||||
//===== rAthena Script =======================================
|
||||
//= Mapflag: No dynamic NPC map setting.
|
||||
//===== Description: =========================================
|
||||
//= Blocks the use of dynamic NPCs on a map.
|
||||
//===== Additional Comments: =================================
|
||||
//= 1.0 Initial script. [Lemongrass]
|
||||
//============================================================
|
||||
|
||||
// Mistwood Maze
|
||||
1@mist mapflag nodynamicnpc
|
||||
|
||||
// Culvert
|
||||
1@pump mapflag nodynamicnpc
|
||||
2@pump mapflag nodynamicnpc
|
||||
|
||||
// Octopus Cave
|
||||
1@cash mapflag nodynamicnpc
|
||||
|
||||
// Bangungot Hospital 2F
|
||||
1@ma_h mapflag nodynamicnpc
|
||||
|
||||
// Buwaya Cave
|
||||
1@ma_c mapflag nodynamicnpc
|
||||
|
||||
// Bakonawa Lake
|
||||
1@ma_b mapflag nodynamicnpc
|
||||
|
||||
// Wolfchev's Laboratory
|
||||
1@lhz mapflag nodynamicnpc
|
||||
|
||||
// Old Glast Heim
|
||||
1@gl_k mapflag nodynamicnpc
|
||||
2@gl_k mapflag nodynamicnpc
|
||||
|
||||
// Eclage Interior
|
||||
1@ecl mapflag nodynamicnpc
|
||||
|
||||
// Sara's Memories
|
||||
1@sara mapflag nodynamicnpc
|
||||
|
||||
// Geffen Magic Tournament
|
||||
1@gef mapflag nodynamicnpc
|
||||
1@gef_in mapflag nodynamicnpc
|
||||
1@ge_st mapflag nodynamicnpc
|
||||
|
||||
// Horror Toy Factory
|
||||
1@xm_d mapflag nodynamicnpc
|
||||
|
||||
// Faceworm's Nest
|
||||
1@face mapflag nodynamicnpc
|
||||
|
||||
// Ghost Palace
|
||||
1@spa mapflag nodynamicnpc
|
||||
|
||||
// Devil's Tower
|
||||
1@tnm1 mapflag nodynamicnpc
|
||||
1@tnm2 mapflag nodynamicnpc
|
||||
1@tnm3 mapflag nodynamicnpc
|
||||
|
||||
// Assault on the Airship
|
||||
1@air1 mapflag nodynamicnpc
|
||||
1@air2 mapflag nodynamicnpc
|
||||
|
||||
// Fenrir and Sarah
|
||||
1@glast mapflag nodynamicnpc
|
||||
|
||||
// Wave Mode - Forest
|
||||
1@def01 mapflag nodynamicnpc
|
||||
|
||||
// Wave Mode - Sky
|
||||
1@def02 mapflag nodynamicnpc
|
||||
|
||||
// Nightmarish Jitterbug
|
||||
1@jtb mapflag nodynamicnpc
|
||||
|
||||
// Isle of Bios
|
||||
1@dth1 mapflag nodynamicnpc
|
||||
1@dth2 mapflag nodynamicnpc
|
||||
1@dth3 mapflag nodynamicnpc
|
||||
|
||||
// Morse's Cave
|
||||
1@rev mapflag nodynamicnpc
|
||||
|
||||
// Temple of the Demon God
|
||||
1@eom mapflag nodynamicnpc
|
||||
|
||||
// Central Laboratory
|
||||
1@lab mapflag nodynamicnpc
|
||||
|
||||
// Last room
|
||||
1@uns mapflag nodynamicnpc
|
||||
|
||||
// Charleston in Distress
|
||||
1@mcd mapflag nodynamicnpc
|
||||
|
||||
// Ritual of Blessing
|
||||
2@mir mapflag nodynamicnpc
|
||||
|
||||
// Room of Consciousness
|
||||
1@mir mapflag nodynamicnpc
|
||||
|
||||
// Sky Fortress Invasion
|
||||
1@sthb mapflag nodynamicnpc
|
||||
1@sthc mapflag nodynamicnpc
|
||||
1@sthd mapflag nodynamicnpc
|
||||
|
||||
// Heart Hunter War Base 1 + 2
|
||||
1@swat mapflag nodynamicnpc
|
||||
|
||||
// Werner Laboratory central room#1 + 2
|
||||
1@slw mapflag nodynamicnpc
|
||||
|
||||
// Infinite Space
|
||||
1@infi mapflag nodynamicnpc
|
||||
|
||||
// Regenschirm
|
||||
1@rgsr mapflag nodynamicnpc
|
||||
|
||||
// Sealed OS
|
||||
1@os_b mapflag nodynamicnpc
|
||||
|
||||
// OS Occupation + 2nd OS Search
|
||||
1@os_a mapflag nodynamicnpc
|
||||
|
||||
// Cor Memorial
|
||||
1@cor mapflag nodynamicnpc
|
||||
|
||||
// Half Moon In The Daylight
|
||||
1@pop1 mapflag nodynamicnpc
|
||||
1@pop2 mapflag nodynamicnpc
|
||||
1@pop3 mapflag nodynamicnpc
|
||||
|
||||
// Weekend Dungeon
|
||||
1@md_pay mapflag nodynamicnpc
|
||||
|
||||
// Friday Dungeon
|
||||
1@md_gef mapflag nodynamicnpc
|
||||
|
||||
// Poring Village
|
||||
1@begi mapflag nodynamicnpc
|
@ -645,12 +645,13 @@ enum e_mapflag : int16 {
|
||||
MF_PRIVATEAIRSHIP_SOURCE,
|
||||
MF_PRIVATEAIRSHIP_DESTINATION,
|
||||
MF_SKILL_DURATION,
|
||||
MF_NOCASHSHOP,
|
||||
MF_NOCASHSHOP, // 70
|
||||
MF_NORODEX,
|
||||
MF_NORENEWALEXPPENALTY,
|
||||
MF_NORENEWALDROPPENALTY,
|
||||
MF_NOPETCAPTURE,
|
||||
MF_NOBUYINGSTORE,
|
||||
MF_NODYNAMICNPC,
|
||||
MF_MAX
|
||||
};
|
||||
|
||||
|
@ -5805,7 +5805,10 @@ struct npc_data* npc_duplicate_npc_for_player( struct npc_data& nd, struct map_s
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// TODO: check maps that might forbid usage? maybe create mapflag?
|
||||
if( map_getmapflag( sd.bl.m, MF_NODYNAMICNPC ) ){
|
||||
// It has been confirmed that there is no reply to the client
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
int16 new_x, new_y;
|
||||
|
||||
|
@ -536,6 +536,7 @@
|
||||
export_constant(MF_NORENEWALEXPPENALTY);
|
||||
export_constant(MF_NOPETCAPTURE);
|
||||
export_constant(MF_NOBUYINGSTORE);
|
||||
export_constant(MF_NODYNAMICNPC);
|
||||
|
||||
/* setcell types */
|
||||
export_constant(CELL_WALKABLE);
|
||||
|
Loading…
x
Reference in New Issue
Block a user