summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--world/map/npc/002-2/eurni.txt21
-rw-r--r--world/map/npc/029-2/sorfina.txt4
-rw-r--r--world/map/npc/functions/barber.txt30
-rw-r--r--world/map/npc/functions/change_sex.txt24
-rw-r--r--world/map/npc/functions/game_rules.txt1
5 files changed, 58 insertions, 22 deletions
diff --git a/world/map/npc/002-2/eurni.txt b/world/map/npc/002-2/eurni.txt
index c9735ad0..7e7254ed 100644
--- a/world/map/npc/002-2/eurni.txt
+++ b/world/map/npc/002-2/eurni.txt
@@ -2,19 +2,13 @@
002-2,22,77,0|script|Eurni|136
{
- set @SERVICES_ZENY, 10000;
-
set @halloween_npc_id, $@halloween_npc_eurni;
callfunc "TrickOrTreat";
- if (BaseLevel < 10) goto L_TooYoung;
- if (Zeny < @SERVICES_ZENY) goto L_NoMoney;
-
mes "[Eurni the Surgeon]";
mes "\"Are you tired of who you are?\"";
next;
- mes "\"Would you be interested in changing your sex?";
- mes "It'll cost ##B" + @SERVICES_ZENY + " GP##b.\"";
+ mes "\"Would you be interested in changing your sex?\"";
next;
menu
@@ -42,9 +36,6 @@ L_NonBinary:
L_Change:
if (Sex == @sex)
goto L_Already_Change;
- if (Zeny < @SERVICES_ZENY)
- goto L_NoMoney;
- set Zeny, Zeny - @SERVICES_ZENY;
set Sex, @sex;
close;
@@ -53,16 +44,6 @@ L_Already_Change:
mes "\"Umm, you are that gender already.\"";
close;
-L_TooYoung:
- mes "[Eurni the Surgeon]";
- mes "\"Move along, kid.\"";
- close;
-
-L_NoMoney:
- mes "[Eurni the Surgeon]";
- mes "\"You don't have the kind of money to pay for my services.\"";
- close;
-
L_Close:
close;
}
diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt
index ff5b3a3b..9e35b549 100644
--- a/world/map/npc/029-2/sorfina.txt
+++ b/world/map/npc/029-2/sorfina.txt
@@ -342,6 +342,7 @@ L_Block:
mes "[Server/Client Notice]";
mes "The explanations in this tutorial are based on the official client, Manaplus.";
mes "If you're using another client, settings and controls may be different.";
+ callfunc "ChangeSex";
callfunc "GameRules";
close;
}
@@ -349,10 +350,11 @@ L_Block:
{
if (TUT_var > 0)
end;
- callfunc "GameRules";
mes "[Server/Client Notice]";
mes "The explanations in this tutorial are based on the official client, Manaplus.";
mes "If you're using another client, settings and controls may be different.";
+ callfunc "ChangeSex";
+ callfunc "GameRules";
close;
}
029-2,22,26,0|script|#GameRules3|32767,1,0
diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt
index 2413e0fe..effa3436 100644
--- a/world/map/npc/functions/barber.txt
+++ b/world/map/npc/functions/barber.txt
@@ -34,8 +34,38 @@ L_Main:
menu
"Change my style", L_Style,
"Change my color", L_Color,
+ "Change my gender", L_Gender,
"Nah, I'm fine", L_Done;
+L_Gender:
+ menu
+ "Female.", L_Female,
+ "Male.", L_Male,
+ "Non-binary.", L_NonBinary,
+ "Nah, I'm fine", L_Done;
+
+L_Female:
+ set @sex, 0;
+ goto L_Change;
+
+L_Male:
+ set @sex, 1;
+ goto L_Change;
+
+L_NonBinary:
+ set @sex, 3;
+ goto L_Change;
+
+L_Change:
+ if (Sex == @sex)
+ goto L_Already_Change;
+ set Sex, @sex;
+ return;
+
+L_Already_Change:
+ mes "\"Umm, you are that gender already.\"";
+ return;
+
L_Style:
if(!@hairOpts) set @HairStyles$[getarraysize(@HairStyles$)], "Surprise me";
if(!@hairOpts) set @HairStyles$[getarraysize(@HairStyles$)], "Nah, I'm fine";
diff --git a/world/map/npc/functions/change_sex.txt b/world/map/npc/functions/change_sex.txt
new file mode 100644
index 00000000..f81334f6
--- /dev/null
+++ b/world/map/npc/functions/change_sex.txt
@@ -0,0 +1,24 @@
+function|script|ChangeSex
+{
+ mes "Please select a character gender:";
+ menu
+ "Female.", L_Female,
+ "Male.", L_Male,
+ "Non-binary.", L_NonBinary;
+
+L_Female:
+ set @sex, 0;
+ goto L_Change;
+
+L_Male:
+ set @sex, 1;
+ goto L_Change;
+
+L_NonBinary:
+ set @sex, 3;
+ goto L_Change;
+
+L_Change:
+ set Sex, @sex;
+ return;
+}
diff --git a/world/map/npc/functions/game_rules.txt b/world/map/npc/functions/game_rules.txt
index cb72dfec..e2b9df81 100644
--- a/world/map/npc/functions/game_rules.txt
+++ b/world/map/npc/functions/game_rules.txt
@@ -2,7 +2,6 @@
function|script|GameRules
{
-
mes "[Game Rules]";
mes "Please select a language:";
menu