summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-03-23 11:12:27 -0300
committerJesusaves <cpntb1@ymail.com>2019-03-23 11:12:27 -0300
commit66471a639d64655f44181f26ad72362b00aeed8f (patch)
tree757f10afc244b57848a0e5e2ed9fb05bbb1f5f88
parente62562b4c5b72b6ad0552f2072e5fc38af432c1a (diff)
downloadserverdata-66471a639d64655f44181f26ad72362b00aeed8f.tar.gz
serverdata-66471a639d64655f44181f26ad72362b00aeed8f.tar.bz2
serverdata-66471a639d64655f44181f26ad72362b00aeed8f.tar.xz
serverdata-66471a639d64655f44181f26ad72362b00aeed8f.zip
Replace default behavior for Soul Menhir per community decision.
Keep in @ucp an option to roll back to legacy behavior of manually setting it. Again, per community decision.
-rw-r--r--npc/000-1/exit.txt8
-rw-r--r--npc/003-3/malindou.txt11
-rw-r--r--npc/commands/ucp.txt40
-rw-r--r--npc/functions/soul_menhir.txt8
4 files changed, 63 insertions, 4 deletions
diff --git a/npc/000-1/exit.txt b/npc/000-1/exit.txt
index 40d1b5e46..e006a21ab 100644
--- a/npc/000-1/exit.txt
+++ b/npc/000-1/exit.txt
@@ -8,6 +8,12 @@
OnTouch:
OnTalk:
OnTalkNearby:
+ // At any time, if you can't leave Nard ship, you must go to nard ship
+ if (getq(ShipQuests_Julia) < 3) {
+ warp "002-1", 53, 38;
+ end;
+ }
+
// Switch LOCATION$ and warp to nearest town's Soul Menhir
.@lx=array_find(.LOCMASTER_LOC$, LOCATION$);
if (.@lx >= 0) {
@@ -18,7 +24,7 @@ OnTalkNearby:
//if (getsavepoint(0) != "000-1") warp getsavepoint(0), getsavepoint(1), getsavepoint(2);
if (getsavepoint(0) != "000-1") warp "Save", 0, 0;
if (getsavepoint(0) != "000-1") end;
- savepoint "002-1", 53, 38;
+ //savepoint "002-1", 53, 38;
warp "002-1", 53, 38;
end;
diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt
index d32338e44..20d38d5f1 100644
--- a/npc/003-3/malindou.txt
+++ b/npc/003-3/malindou.txt
@@ -280,6 +280,17 @@ OnInit:
debugmes "* Map Updates";
debugmes "";
}
+ // Current UPDATE value: Sáb Mar 23 11:11:32 -03 2019
+ // Soul Menhir savepoint replaced
+ if ($UPDATE < 1553350292) {
+ query_sql("UPDATE `char` SET `save_map` = '000-1'");
+ query_sql("UPDATE `char` SET `save_x` = '22'");
+ query_sql("UPDATE `char` SET `save_y` = '22'");
+ $UPDATE=1553350292;
+ debugmes "";
+ debugmes "* Soul Menhir Save Point replaced";
+ debugmes "";
+ }
diff --git a/npc/commands/ucp.txt b/npc/commands/ucp.txt
index 746c83da5..1cafac91a 100644
--- a/npc/commands/ucp.txt
+++ b/npc/commands/ucp.txt
@@ -19,6 +19,7 @@ function script UserCtrlPanel {
rif(getcharid(2) > 0, l("Guild Information")),
l("Change Language"),
rif(is_admin() && $@GM_OVERRIDE, l("LoF Merge")),
+ l("Game Settings"),
l("Quit");
switch (@menu)
@@ -115,7 +116,44 @@ function script UserCtrlPanel {
mesc l("Actually, this fails without tmwa dark magic.");
mesc l("User account safety is at stake, too, so I'll move this crap to a blackbox once done.");
break;
- case 7: close; break;
+ case 7:
+ do
+ {
+ mesc ".:: " + l("GAME SETTINGS") + " ::.", 3;
+
+ // GSET_SOULMENHIR_MANUAL
+ // Enables/Disable manual position saving on Soul Menhir
+ if (GSET_SOULMENHIR_MANUAL)
+ mes l("Soul Menhir automatic saving: ") + col(l("Disabled"), 1);
+ else
+ mes l("Soul Menhir automatic saving: ") + col(l("Enabled"), 2);
+
+
+ // GSET_DAILYREWARD_SILENT
+ // Enables/Disable silent dialog for daily rewards
+ // (otherwise a image will be shown)
+ if (GSET_DAILYREWARD_SILENT)
+ mes l("Display daily reward screen: ") + col(l("Disabled"), 1);
+ else
+ mes l("Display daily reward screen: ") + col(l("Enabled"), 2);
+
+ mes "";
+ select
+ l("Return to User Control Panel"),
+ l("Toggle Soul Menhir automatic saving"),
+ l("Toggle Daily Reward screen");
+ mes "";
+
+ switch (@menu) {
+ case 2:
+ GSET_SOULMENHIR_MANUAL=!GSET_SOULMENHIR_MANUAL; break;
+ case 3:
+ GSET_DAILYREWARD_SILENT=!GSET_DAILYREWARD_SILENT; break;
+ }
+ clear;
+ } while (@menu != 1);
+ break;
+ case 8: close; break;
}
} while (1);
}
diff --git a/npc/functions/soul_menhir.txt b/npc/functions/soul_menhir.txt
index 0bc914987..437e6d1e8 100644
--- a/npc/functions/soul_menhir.txt
+++ b/npc/functions/soul_menhir.txt
@@ -98,8 +98,12 @@ L_DontPanic:
goto L_Return;
L_Do_Save:
- savepoint @map$, @x, @y;
- specialeffect(4, SELF, getcharid(3));
+ if (GSET_SOULMENHIR_MANUAL) {
+ savepoint @map$, @x, @y;
+ specialeffect(4, SELF, getcharid(3));
+ } else {
+ dispbottom col(l("Your position is auto-saved when entering a town - use @ucp to change this behavior."), 1);
+ }
// As we have a dialog box open, this function produces an undesirable player talk.
//savepointparticle @map$, @x, @y, NO_INN;