// Como adicionar:
//----------------
//
// conf\maps_athena.conf
// map: 1@new
// map: 2@new
// map: 3@new
// map: 4@new
// map: 5@new
//
//-----------------
//
// db\map_index.txt
// 1@new
// 2@new
// 3@new
// 4@new
// 5@new
//
//-----------------
//
// Adicione os novos mapas e recompile o emulador desejado
//
//=====================================================================================================
//= Endless Tower 2: The Endless Cellar
//==== Credits ========================================================================================
//= Chilly
//= Saithis (for allowing me to use many parts of his endless tower script)
//==== Version ========================================================================================
//= 1.0
//===== Compatible With ===============================================================================
//= eAthena SVN
//==== Description ====================================================================================
//= A custom sequel to Endless Tower containing almost all the monsters that were not in the original tower. 77 floors total and mvps are every 4 floors.
//= Angel Pori Pori is the same as the Eternal Brazier in Endless Tower, this also applies to the Arc Pori Pori and Lost Soul npcs.
//= Excluded monsters: Great Demon Baphomet because he has the skill NPC_INVINCIBLE, and any monsters that drop quest items like Kublin and Hellion Revenant for example.
//==== Changelog ======================================================================================
//= 1.0 First Release
//=====================================================================================================
// = Settings
// ====================================================================================================
- script EC_Settings -1,{
OnInit:
set $EC_Cooldown,
583200;
// Seconds
set $EC_Timelimit,
14400;
// Seconds
set $EC_Minparty,
1;
// # of players a party must have
set $EC_AshID,
6000;
// ItemID
set $EC_GM,
60;
// Min GM level to control the cellar
}
// = Cellar Protection Stone - Start the instance and enter the dungeon here
// ====================================================================================================
e_tower,82,80,3 script Cellar Protection Stone 406,{
set .@hours,.@last
/ 60 / 60;
set .@minutes,.@last
/ 60 % 60;
set .@seconds,.@last
% 60;
mes "Due to the entree aftereffect,";
mes "you cannot enter the dungeon right";
mes "now, "+.@hours
+"hours "+.@minutes
+"minutes "+.@seconds
+"seconds";
mes "left to enter the next dungeon.";
mes "Here is dangerous. Let me move you to the place where you were.";
}
if(!getcharid(1) || $@partymembercount < $EC_Minparty
){
mes "Make or join the party with more than "+$EC_Minparty
+" member or try again.";
}
if(EC_makeparty){
mes "Confirmed. You are in a party. What would you like to do?";
}
mes "If you have the dungeon generated already, you can enter it.";
select("Endless CellarDungeon Generated:Enter the Endless Cellar:Return to Alberta:Cancel");
} else {
select(":Enter the Endless Cellar:Return to Alberta:Cancel");
}
case 1:
if(instance_mapname("1@new") == ""){
mes "Your group is already registered at an other instance.";
}
mes "Your group is already registered.";
mes "Select ^0000FFEnter the Dungeon^000000 in the main menu to enter.";
}
mes "Your cooldown for the memorial dungeon Endless Cellar isn't over yet.";
}
mes "^0000FFEndless Cellar^000000 - Try to reserve";
mes "After making a reservation, you have to talk to NPC behind and";
mes "select the menu 'Enter the Dungeon' to enter the dungeon";
mes "Failed to create Memorial Dungeon.";
mes "^FF0000Memorial Dungeon instances reached its limit.^000000";
mes "Please report this error to an administrator or GM.";
}
case 2:
if(!instance_id(1) || instance_mapname
("1@new") == ""){
mes "The memorial dungeon Endless Cellar does not exist.";
mes "Please confirm with your party leader wether the memorial dungeon";
mes "has been destructed or if the time given for entering has been expired.";
}
set EC_Lasttime,'EC_Lasttime;
}
warp instance_mapname
("1@new"),
96,
393;
case 3:
case 4:
}
}
// = EC_Manager
// ====================================================================================================
5@new,1,1,1 script EC_Manager 111,{
OnInit:
OnInstanceInit:
while(.@k < 77){
}
if('EC_Floor <= 77){
getmapxy(.@map$,.@x,.@y,
1,
("ECwarp_"+'EC_Floor
));
} else
OnMobDead:
if('EC_Mobs){
instance_announce .@i,
"Monsters remaining on Floor "+'EC_Floor
+": "+'EC_Mobs,
bc_map,0x00FF00;
}
if('EC_Floor < 77)
if('EC_Floor == 40)
instance_announce .@i,
"All monsters on the "+'EC_Floor
+('EC_Floor
% 10 == 1 ?
"st" : ('EC_Floor
% 10 == 2 ?
"nd" : ('EC_Floor
% 10 == 3 ?
"rd" : "th")))+" level have been defeated.",
bc_map;
set 'EC_Floor,'EC_Floor
+1;
if('EC_Floor == 77)
else if('EC_Floor < 77)
else {
mes "Error on OnMobDead Label";
mes "'EC_Floor = "+'EC_Floor;
mes "Please report this to a Game Master or Administrator.";
}
OnPorDead:
instance_announce .@i,
"Squeaky Voice: That innocent poring did not harm you.",
bc_map,0xFF0000;
instance_announce .@i,
"Squeaky Voice: You evil humans should pick on someone your own size.",
bc_map,0xFF0000;
instance_announce .@i,
"Squeaky Voice: I know. I'll let you play with my pets, the Six Great Pains.",
bc_map,0xFF0000;
instance_announce .@i,
"Squeaky Voice: Try not to die too fast, they need thier exercise.",
bc_map,0xFF0000;
OnPain1:
instance_announce .@i,
"Squeaky Voice: You are stronger than you look, now try the pain of magic.",
bc_map,0xFF0000;
OnPain2:
instance_announce .@i,
"Squeaky Voice: Impressive, but how will you handle the pain of distance?",
bc_map,0xFF0000;
OnPain3:
instance_announce .@i,
"Squeaky Voice: Have you ever fought something you couldn't see?",
bc_map,0xFF0000;
OnPain4:
instance_announce .@i,
"Squeaky Voice: You murderers, it's time to feel the pain of paralysis.",
bc_map,0xFF0000;
OnPain5:
instance_announce .@i,
"Squeaky Voice: I'm getting annoyed, my last pet will finish you off.",
bc_map,0xFF0000;
OnPain6:
instance_announce .@i,
"Squeaky Voice: Well, It seems I've greatly underestimated you.",
bc_map,0x00FF00;
instance_announce .@i,
"Squeaky Voice: Do you really want to know who I am?",
bc_map,0x00FF00;
instance_announce .@i,
"Squeaky Voice: The few who have seen me were laughing right before I killed them!",
bc_map,0x00FF00;
instance_announce .@i,
"Squeaky Voice: Baphomet, make these weaklings entertain me a little more before they die.",
bc_map,0x00FF00;
areamonster "5@new",
130,
114,
181,
150,
"Wish Maiden",
1931,
3;
OnBapho:
instance_announce .@i,
"Squeaky Voice: This is your last chance to run.",
bc_map,0x00FF00;
instance_announce .@i,
"Squeaky Voice: No? Then its time to show you who I am.",
bc_map,0x00FF00;
areamonster "5@new",
130,
114,
181,
150,
"Golden Savage",
1840,
10;
areamonster "5@new",
130,
114,
181,
150,
"Bomb Poring",
1904,
20;
OnPoripori:
instance_announce .@i,
"Pori Pori: What..... what is happening? How could I..... lose.....",
bc_map,0xFFD700;
instance_announce .@i,
"Pori Pori: I'll return when I've healed, then..... then you'll all suffer!!!",
bc_map,0xFFD700;
}
// = Angel Pori Pori - Allows you to use a Dark Ash to skip to floor 40
// ====================================================================================================
1@new,106,392,4 script Angel Pori Pori 948,{
switch(select("Skip GM Menu:Set to Level:Warp to Level:instance infos:Delete Instance:Cancel")){
case 1:
case 2:
mes "to which level should I set the instance?";
for(set .@k,
1; .@k < 'EC_Floor
&& .@k <
77;
set .@k,.@k
+ 1)
mes "Should I warp you there now?";
case 3:
if(!.@level){
mes "Input the Level you want to warp to:";
}
if(.@level == 77)
warp instance_mapname
("5@new"),
156,
65;
else {
set .@x,.@warpx
[((.@level
-1) % 20) % 4];
set .@y,.@warpy
[((.@level
-1) % 20) / 4];
warp instance_mapname
(((.@level
-1) / 20 + 1)+"@new"),.@x,.@y;
}
case 4:
mes "Lasttime varibale: "+'EC_Lasttime;
if('EC_Floor == 77)
set .@map$,instance_mapname
("5@new");
else if('EC_Floor < 77)
set .@map$,instance_mapname
((('EC_Floor
-1) / 20 + 1)+"@new");
mes "Alive mobs(variable): "+'EC_Mobs;
mes "Alive mobs(real): "+getmapmobs
(.@map$
);
case 5:
default:
}
}
mes "Om nom nom. If you give me a yummy Dark Ash I'll warp you down to the 40th floor.";
mes "Aww, you don't have a Dark Ash. Come back when you do.";
}
if('EC_Floor >= 41) {
warp instance_mapname
("3@new"),
96,
393;
}
mes "Only the party leader can give me a Dark Ash.";
}
for(set .@k,
1; .@k < 'EC_Floor
&& .@k <
77;
set .@k,.@k
+ 1)
warp instance_mapname
("3@new"),
96,
393;
}
// = Arc Pori Pori - Rewards for clearing the dungeon
// ====================================================================================================
5@new,156,147,4 script Arc Pori Pori::EC_Arc_Pori 949,{
mes "You actually defeated that Pori Pori? Thank you!";
mes "Hes been corrupted for far too long. Maybe someday he will grow wings like the rest of us Pori Pori.";
mes "Here, take this. Its a small reward i want to give you for putting that evil Pori Pori in his place.";
mes "Farewell, young adventurer. I wish you good luck in the future.";
}
// = EC_Mobs
// ====================================================================================================
function script EC_Spawns {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
}
return;
}
// = Warps
// ====================================================================================================
// 1@new
1@new,
135,
355,
0 script ECwarp_1
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
184,
393;
end;
}
1@new,
223,
355,
0 script ECwarp_2
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
270,
393;
end;
}
1@new,
309,
355,
0 script ECwarp_3
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
354,
393;
end;
}
1@new,
393,
355,
0 script ECwarp_4
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
96,
309;
end;
}
1@new,
135,
271,
0 script ECwarp_5
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
184,
309;
end;
}
1@new,
223,
271,
0 script ECwarp_6
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
270,
309;
end;
}
1@new,
309,
271,
0 script ECwarp_7
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
354,
309;
end;
}
1@new,
393,
271,
0 script ECwarp_8
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
96,
221;
end;
}
1@new,
135,
183,
0 script ECwarp_9
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
184,
221;
end;
}
1@new,
223,
183,
0 script ECwarp_10
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
270,
221;
end;
}
1@new,
309,
183,
0 script ECwarp_11
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
354,
221;
end;
}
1@new,
393,
183,
0 script ECwarp_12
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
96,
137;
end;
}
1@new,
135,
99,
0 script ECwarp_13
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
184,
137;
end;
}
1@new,
223,
99,
0 script ECwarp_14
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
270,
137;
end;
}
1@new,
309,
99,
0 script ECwarp_15
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
354,
137;
end;
}
1@new,
393,
99,
0 script ECwarp_16
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
96,
51;
end;
}
1@new,
135,
13,
0 script ECwarp_17
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
184,
51;
end;
}
1@new,
223,
13,
0 script ECwarp_18
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
270,
51;
end;
}
1@new,
309,
13,
0 script ECwarp_19
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("1@new"),
354,
51;
end;
}
1@new,
393,
13,
0 script ECwarp_20
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
96,
393;
end;
}
// 2@new
2@new,
135,
355,
0 script ECwarp_21
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
184,
393;
end;
}
2@new,
223,
355,
0 script ECwarp_22
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
270,
393;
end;
}
2@new,
309,
355,
0 script ECwarp_23
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
354,
393;
end;
}
2@new,
393,
355,
0 script ECwarp_24
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
96,
309;
end;
}
2@new,
135,
271,
0 script ECwarp_25
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
184,
309;
end;
}
2@new,
223,
271,
0 script ECwarp_26
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
270,
309;
end;
}
2@new,
309,
271,
0 script ECwarp_27
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
354,
309;
end;
}
2@new,
393,
271,
0 script ECwarp_28
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
96,
221;
end;
}
2@new,
135,
183,
0 script ECwarp_29
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
184,
221;
end;
}
2@new,
223,
183,
0 script ECwarp_30
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
270,
221;
end;
}
2@new,
309,
183,
0 script ECwarp_31
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
354,
221;
end;
}
2@new,
393,
183,
0 script ECwarp_32
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
96,
137;
end;
}
2@new,
135,
99,
0 script ECwarp_33
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
184,
137;
end;
}
2@new,
223,
99,
0 script ECwarp_34
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
270,
137;
end;
}
2@new,
309,
99,
0 script ECwarp_35
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
354,
137;
end;
}
2@new,
393,
99,
0 script ECwarp_36
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
96,
51;
end;
}
2@new,
135,
13,
0 script ECwarp_37
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
184,
51;
end;
}
2@new,
223,
13,
0 script ECwarp_38
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
270,
51;
end;
}
2@new,
309,
13,
0 script ECwarp_39
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("2@new"),
354,
51;
end;
}
2@new,393,13,0 script ECwarp_40 45,1,1,{
OnTouch:
warp instance_mapname
("3@new"),
96,
393;
OnEnableAshtimer:
}
// 3@new
3@new,
135,
355,
0 script ECwarp_41
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
184,
393;
end;
}
3@new,
223,
355,
0 script ECwarp_42
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
270,
393;
end;
}
3@new,
309,
355,
0 script ECwarp_43
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
354,
393;
end;
}
3@new,
393,
355,
0 script ECwarp_44
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
96,
309;
end;
}
3@new,
135,
271,
0 script ECwarp_45
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
184,
309;
end;
}
3@new,
223,
271,
0 script ECwarp_46
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
270,
309;
end;
}
3@new,
309,
271,
0 script ECwarp_47
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
354,
309;
end;
}
3@new,
393,
271,
0 script ECwarp_48
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
96,
221;
end;
}
3@new,
135,
183,
0 script ECwarp_49
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
184,
221;
end;
}
3@new,
223,
183,
0 script ECwarp_50
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
270,
221;
end;
}
3@new,
309,
183,
0 script ECwarp_51
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
354,
221;
end;
}
3@new,
393,
183,
0 script ECwarp_52
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
96,
137;
end;
}
3@new,
135,
99,
0 script ECwarp_53
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
184,
137;
end;
}
3@new,
223,
99,
0 script ECwarp_54
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
270,
137;
end;
}
3@new,
309,
99,
0 script ECwarp_55
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
354,
137;
end;
}
3@new,
393,
99,
0 script ECwarp_56
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
96,
51;
end;
}
3@new,
135,
13,
0 script ECwarp_57
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
184,
51;
end;
}
3@new,
223,
13,
0 script ECwarp_58
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
270,
51;
end;
}
3@new,
309,
13,
0 script ECwarp_59
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("3@new"),
354,
51;
end;
}
3@new,
393,
13,
0 script ECwarp_60
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
96,
393;
end;
}
// 4@new
4@new,
135,
355,
0 script ECwarp_61
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
184,
393;
end;
}
4@new,
223,
355,
0 script ECwarp_62
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
270,
393;
end;
}
4@new,
309,
355,
0 script ECwarp_63
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
354,
393;
end;
}
4@new,
393,
355,
0 script ECwarp_64
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
96,
309;
end;
}
4@new,
135,
271,
0 script ECwarp_65
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
184,
309;
end;
}
4@new,
223,
271,
0 script ECwarp_66
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
270,
309;
end;
}
4@new,
309,
271,
0 script ECwarp_67
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
354,
309;
end;
}
4@new,
393,
271,
0 script ECwarp_68
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
96,
221;
end;
}
4@new,
135,
183,
0 script ECwarp_69
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
184,
221;
end;
}
4@new,
223,
183,
0 script ECwarp_70
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
270,
221;
end;
}
4@new,
309,
183,
0 script ECwarp_71
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
354,
221;
end;
}
4@new,
393,
183,
0 script ECwarp_72
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
96,
137;
end;
}
4@new,
135,
99,
0 script ECwarp_73
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
184,
137;
end;
}
4@new,
223,
99,
0 script ECwarp_74
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
270,
137;
end;
}
4@new,
309,
99,
0 script ECwarp_75
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("4@new"),
354,
137;
end;
}
4@new,
393,
99,
0 script ECwarp_76
45,
1,
1,
{ end;
OnTouch: warp instance_mapname
("5@new"),
156,
65;
end;
}
// = Mapflags
// ====================================================================================================
1@new mapflag nowarp
1@new mapflag nowarpto
1@new mapflag noteleport
1@new mapflag nomemo
1@new mapflag nobranch
1@new mapflag noicewall
1@new mapflag restricted 7
1@new mapflag monster_noteleport
2@new mapflag nowarp
2@new mapflag nowarpto
2@new mapflag noteleport
2@new mapflag nomemo
2@new mapflag nobranch
2@new mapflag noicewall
2@new mapflag restricted 7
2@new mapflag monster_noteleport
3@new mapflag nowarp
3@new mapflag nowarpto
3@new mapflag noteleport
3@new mapflag nomemo
3@new mapflag nobranch
3@new mapflag noicewall
3@new mapflag restricted 7
3@new mapflag monster_noteleport
4@new mapflag nowarp
4@new mapflag nowarpto
4@new mapflag noteleport
4@new mapflag nomemo
4@new mapflag nobranch
4@new mapflag noicewall
4@new mapflag restricted 7
4@new mapflag monster_noteleport
5@new mapflag nowarp
5@new mapflag nowarpto
5@new mapflag noteleport
5@new mapflag nomemo
5@new mapflag nobranch
5@new mapflag noicewall
5@new mapflag restricted 7
5@new mapflag monster_noteleport