summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/map_zone_db.conf2
-rw-r--r--npc/001-1/eventmaster.txt29
-rw-r--r--npc/001-1/portal.txt15
-rw-r--r--npc/functions/soul_menhir.txt14
4 files changed, 57 insertions, 3 deletions
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index 7883b16d7..1d478eac4 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -80,7 +80,7 @@ zones: (
/* "command:min-group-lv-to-override" e.g. "heal: 70" */
disabled_commands: {
- //monster: 100
+ monster: 100
item: 100
}
skill_damage_cap: {
diff --git a/npc/001-1/eventmaster.txt b/npc/001-1/eventmaster.txt
index 45583235c..1959c62e6 100644
--- a/npc/001-1/eventmaster.txt
+++ b/npc/001-1/eventmaster.txt
@@ -8,13 +8,26 @@
001-1,250,20,0 script Mana Being#001-1 NPC_ALIGE_OUTSIDE_BARREL,{
function spawner { // (memo, ID, amount)
// First argument is a memorand for Script Writers, usually name. It must be present, but can have whatever value you want. (Unused)
- areamonster("001-1", 171, 0, 339, 158, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+
+ // [0] East [1] West [2] Full
+ switch($@AEROS_SPWN) {
+ case 1:
+ areamonster("001-1", 20, 20, 140, 140, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ case 2:
+ areamonster("001-1", 20, 20, 340, 160, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ default:
+ areamonster("001-1", 171, 0, 339, 158, strmobinfo(1, getarg(1)), getarg(1), getarg(2), "Mana Being#001-1::OnAerosMobDeath");
+ break;
+ }
}
.@curmobc=mobcount("001-1", "OnAerosMobDeath");
if (!is_gm()) goto L_Unauthorized;
@log_spawns=0;
+ @log_mode=$@AEROS_SPWN;
@log_ratio=$coinsrate;
mesn;
@@ -31,6 +44,7 @@ L_Menu:
rif(countitem(StrangeCoin) >= 10, "Drop a Toothbrush! (10x Coins)"),L_Drop,
rif(countitem(StrangeCoin) >= 10, "Drop a Bronze Gift (10x Coins)"), L_Bgif,
rif(countitem(StrangeCoin) >= 10, "Drop a Silver Gift (10x Coins)"), L_Sgif,
+ "Reconfigure spawn/warp points",L_Conf,
"Adjust coins drop rate",L_Rate;
L_Unauthorized:
@@ -41,6 +55,7 @@ L_Unauthorized:
L_Close:
if (@log_spawns > 0) logmes "spawned "+str(@log_spawns)+" beigns at Aeros.", LOGMES_ATCOMMAND;
if (@log_ratio != $coinsrate) logmes "set aeros ratio from "+str(@log_ratio)+" to "+str($coinsrate), LOGMES_ATCOMMAND;
+ if (@log_mode == $@AEROS_SPWN) logmes "configured aeros spawn area to "+str($@AEROS_SPWN), LOGMES_ATCOMMAND;
close;
L_Spawn:
@@ -730,6 +745,18 @@ L_EventHandler:
}
close;
+L_Conf:
+ mes "";
+ mesn;
+ mesq l("Current Spawn Mode: "+$@AEROS_SPWN);
+ next;
+ select
+ l("[0] East Aeros"),
+ l("[1] West Aeros"),
+ l("[2] Full Aeros");
+ $@AEROS_SPWN=@menu-1;
+ goto L_Menu;
+
OnAerosMobDeath:
if ($coinsrate < 0) end;
// A level 100 monster can have a 4% drop bonus against a level 0 monster.
diff --git a/npc/001-1/portal.txt b/npc/001-1/portal.txt
index d07ad58bc..cb5fbeb2d 100644
--- a/npc/001-1/portal.txt
+++ b/npc/001-1/portal.txt
@@ -68,3 +68,18 @@ L_TranslationFix:
L_Close:
close;
}
+
+// This is a copy for west Aeros
+001-1,23,107,0 script World Gate 2 NPC_HIDDEN,1,0,{
+OnTouch:
+ mesn;
+ mes l("This Portal can send your soul back to the world, along any items, money and/or experience gained.");
+ mes l("Would you like to leave this place?");
+ menu
+ l("No."), L_Close,
+ l("Yes."), L_Leave;
+
+L_Leave:
+ warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
+ goto L_Close;
+}
diff --git a/npc/functions/soul_menhir.txt b/npc/functions/soul_menhir.txt
index 831451e89..f83242f8f 100644
--- a/npc/functions/soul_menhir.txt
+++ b/npc/functions/soul_menhir.txt
@@ -41,7 +41,19 @@ L_Save:
L_Aeros:
if (!$@GM_EVENT) goto L_DontPanic;
- warp "001-1", 235, 26;
+ .@gt=$@AEROS_SPWN;
+ if (.@gt == 2) {
+ select
+ l("East Aeros"),
+ l("West Aeros");
+ .@gt=@menu-1;
+ }
+ switch ($@AEROS_SPWN) {
+ case 0:
+ warp "001-1", 235, 26; break;
+ case 1:
+ warp "001-1", 23, 108; break;
+ }
message strcharinfo(0), l("You are now at the Mana Plane of Existence, at the Floating Island of Aeros.");
close;