summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLed Mitz <smoothshifter@tuta.io>2024-04-03 18:01:32 +0000
committerLed Mitz <smoothshifter@tuta.io>2024-04-03 18:01:32 +0000
commita98cf958b0264358c5ea13818458ce8e3a229867 (patch)
tree8343384a7cd98fe9522a08d85b401396fabf2ec0
parentb3862b8d824b1470b4a1d844db2b1eab826be4e7 (diff)
downloadserverdata-a98cf958b0264358c5ea13818458ce8e3a229867.tar.gz
serverdata-a98cf958b0264358c5ea13818458ce8e3a229867.tar.bz2
serverdata-a98cf958b0264358c5ea13818458ce8e3a229867.tar.xz
serverdata-a98cf958b0264358c5ea13818458ce8e3a229867.zip
Allow setting stats at start of game - server
This brings back the ability to set stats during character creation. It will need to be tested first to ensure that new characters do not gain an additional 30 stat points and to make sure that current characters gain 3 more. Also, I'll need to make one more MR, probably, when I find out where character points on character creation are set. Will need to change from 48 to 54 in order to achieve 30 points, I think, though I may need to change 48 to 0 if this is set after login. Simple things are rarely simple in practice. GAH! **** Approved-by: Led Mitz <smoothshifter@tuta.io> Reviewed-by: Led Mitz <smoothshifter@tuta.io>
m---------client-data0
-rw-r--r--world/conf/char_athena.conf16
-rw-r--r--world/map/npc/029-2/sorfina.txt41
-rw-r--r--world/map/npc/029-2/stat_reset.txt2
-rw-r--r--world/map/npc/029-2/tanisha.txt9
-rw-r--r--world/map/npc/functions/headstyles.txt14
6 files changed, 52 insertions, 30 deletions
diff --git a/client-data b/client-data
-Subproject efd39593b6204d2efd5ec3bedb51d6603b54653
+Subproject 29d626935acb75c4e8fdf9df7ba6fefc7e44a9f
diff --git a/world/conf/char_athena.conf b/world/conf/char_athena.conf
index 3e0fa61d..769b8f9b 100644
--- a/world/conf/char_athena.conf
+++ b/world/conf/char_athena.conf
@@ -44,18 +44,18 @@ min_name_length: 4
// set to 1 if you want to limit accounts to 1 character
char_slots: 9
-// max hair style and hair color
-max_hair_style: 1
-max_hair_color: 1
+// max hair style and hair color at start
+max_hair_style: 20
+max_hair_color: 13
-// the minimum value for stats (str, agi, ...)
+// the minimum value for stats on creation (str, agi, ...)
min_stat_value: 1
-// the maximum value for stats (str, agi, ...)
-max_stat_value: 1
+// the maximum value for stats on creation (str, agi, ...)
+max_stat_value: 10
-// the sum of all stats combined (str + agi + int + ...)
-total_stat_sum: 6
+// the sum of all stats combined on creation (str + agi + int + ...)
+total_stat_sum: 27
// Filename of the file which receives the online players list in text
online_txt_filename: online.txt
diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt
index 7c6a589f..4ea628cc 100644
--- a/world/map/npc/029-2/sorfina.txt
+++ b/world/map/npc/029-2/sorfina.txt
@@ -1,5 +1,6 @@
// This file is part of the Tutorial
// Author: Jenalya
+// Updates: Ledmitz
029-2,27,27,0|script|Sorfina|154,0,1
{
set @npc_distance, 2;
@@ -52,17 +53,35 @@ L_Species:
mes "[Old Woman]";
mes "\"Go on. If you need to think a bit, take your time.\"";
menu
- "... Tulimshar in Tonori ... I'm a Talpan.", L_Talpan;
+ "... Tulimshar in Tonori... I'm a Talpan(hair).", L_Talpan;
+ "... The Oranye Isles of Gasaron... I'm a Triton(fins). What are you?", L_Triton;
+ "... An Ifriton(horns) from The Land of Fire, beyond the shores of Kazai.", L_Ifriton;
L_Talpan:
+ mes "[Old Woman]";
+ mes "\"As am I. I really miss the casino... and the magic school is beautiful in the sunlight.\"";
set Class, 1;
goto L_AnythingElse;
+L_Triton:
+ mes "[Old Woman]";
+ mes "\"Oh my! You must have been caught in a current for a long ways. I bet those fins came in handy.\"";
+ mes "\"I'm a Talpan, originally from Tulimshar. Its very hot and dry there, but it borders the ocean to the west so you might like it there.\"";
+ set Class, 2;
+ goto L_AnythingElse;
+
+L_Ifriton:
+ mes "[Old Woman]";
+ mes "\"Oh dear! How in all of The Mana World, did you end up on our shores here?\"";
+ mes "\"I'm a Talpan, originally from Tulimshar. I know of Kazai though. That's where the town Nivalis is.\"";
+ set Class, 3;
+ goto L_AnythingElse;
+
L_AnythingElse:
mes "[Old Woman]";
mes "\"Anything else you can remember?\"";
menu
- "Umm... no... I... I don't remember anything else...", L_KnowNothing;
+ "Umm... no... I... I don't remember anything... not even how I got here...", L_KnowNothing;
L_KnowNothing:
mes "[Old Woman]";
@@ -123,8 +142,8 @@ L_Clothes:
mes "\"That's much better, don't you think?\"";
mes "\"Here take this.\"";
getitem "HitchhikersTowel", 1;
- mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\"";
- mes "\"It can't be used constantly as the magic needs time to power the jump.\"";
+ mes "\"Your HitchHikers Towel will return you to your last touched soul menhir or here if not set. That also applies if you ever get hurt too badly, mana forbid.\"";
+ mes "\"Towels can't be used constantly as the magic needs time to power the jump. If you do get really hurt, you'll also have to wait. Soul Menhirs are magical too, you see?\"";
mes "\"I think this will help you a bit. To get more information, press the button Setup and look at the controls on the Keyboard tab. You can also change them as you like.";
mes "Talk to me again if you want me to explain more things.\"";
@@ -190,7 +209,7 @@ L_Talk:
mes "Then type your message and press Enter to send.\"";
next;
mes "\"You may want to talk privately to another adventurer sometimes. In that case you can whisper.";
- mes "After pressing [###keyChat;] type '/whisper [name] [message]'.";
+ mes "After pressing [###keyChat;] type '/whisper [name] [message]' or just use /w, for short. Same thing.";
mes "Or you can right click on someone and choose the whisper option.\"";
next;
mes "\"Press [###keyWindowChat;] to show and hide your chat window.\"";
@@ -209,8 +228,8 @@ L_Items:
next;
mes "\"Miscellaneous items such as maggot slime, can be used in creating other items, or just to trade and sell.\"";
next;
- mes "\"Your HitchHikers Towel will return you to your last set soul menhir or here if not set.\"";
- mes "\"It can't be used constantly as the magic needs time to power the jump.\"";
+ mes "\"Your HitchHikers Towel will return you to your last touched soul menhir or here if not set. That also applies if you ever get hurt too badly, mana forbid.\"";
+ mes "\"Towels can't be used constantly as the magic needs time to power the jump. If you do get really hurt, you'll also have to wait. Soul Menhirs are magical too, you see?\"";
next;
mes "\"Press [###keyWindowInventory;] to open your inventory.";
mes "When placing your cursor over an item there, you can see a box with some information about that item.\"";
@@ -231,11 +250,11 @@ L_Shortcut:
L_Aidan:
mes "[Sorfina]";
mes "\"I heard Aidan and Valon are looking for brave adventurers, you might want to talk to them. ";
- mes "You can find Aidan near the camp fire outside. The fields are just south of the town exit. ";
+ mes "You can find Aidan near the camp fire outside. The fields are just east of him. ";
mes "You'll see Valon of the city gaurd standing there. They both are offering rewards for monster hunting.\"";
next;
mes "\"When you leave this area to the South, you'll come to the docks.";
- mes "They will take you to Hurnscald, a major trading port.\"";
+ mes "They will take you to Hurnscald of Argaes, a major trading port. There's also another ferry there that can take you to Tulimshar or Kazai, near Nivalis.\"";
next;
mes "\"Go east out of Candor and north. You will find the cave everyone is talking about to the north.";
next;
@@ -245,7 +264,7 @@ L_Aidan:
L_Barber:
mes "[Sorfina]";
mes "\"Jessie downstairs can change your appearance.\"";
- mes "\"They will allow you to change your hair color or style as well as gender.\"";
+ mes "\"They will allow you to change your hair color or style as well as gender and species, in case you have a change of heart.\"";
next;
mes "\"There are a number of people across the continent that can change this for you.\"";
mes "\"There is no cost or limit to the number of times it can be changed.\"";
@@ -380,7 +399,7 @@ L_Block:
if (TUT_var > 0)
end;
mes "[Server/Client Notice]";
- mes "The explanations in this tutorial are based on the official client, Manaplus.";
+ mes "The explanations in this tutorial are based on the official client, ManaVerse.";
mes "If you're using another client, settings and controls may be different.";
callfunc "GameRules";
close;
diff --git a/world/map/npc/029-2/stat_reset.txt b/world/map/npc/029-2/stat_reset.txt
index 427a1da5..d66cd2f9 100644
--- a/world/map/npc/029-2/stat_reset.txt
+++ b/world/map/npc/029-2/stat_reset.txt
@@ -10,7 +10,7 @@
mes "[Jessie]";
mes "\"I know a spell that will";
- mes "reset status points on the youngings.";
+ mes "reset status points on the younglings.";
mes "";
mes "I can also change their appearance.\"";
next;
diff --git a/world/map/npc/029-2/tanisha.txt b/world/map/npc/029-2/tanisha.txt
index 025cc499..9f53d06e 100644
--- a/world/map/npc/029-2/tanisha.txt
+++ b/world/map/npc/029-2/tanisha.txt
@@ -1,6 +1,7 @@
// This file is part of the Tutorial
// Authors: Jenalya, alastrim
// Cleanup: o11c
+// Updates: Ledmitz
029-2,110,88,0|script|Tanisha|114
{
@@ -104,13 +105,14 @@ L_StatsRe:
mes "\"Agility increases your attack speed and your ability to dodge attacks.\"";
mes "\"Vitality gives you more hit points and more defense against physical attacks.\"";
mes "\"Intelligence is useful for magic attack and defense.";
- mes "But as long as you don't know any magic, you shouldn't use your points on this.\"";
+ mes "But as long as you don't know any magic, you may not want to use your points on this. Unless...\"";
+ mes "If you do choose that path, be sure to visit the alchemy shop and talk to Morgan.\"";
mes "\"Dexterity is needed to hit monsters. It's also very important for the damage if you use a ranged weapon.\"";
- mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive a critical hit from your opponent.\"";
+ mes "\"Luck gives you the chance to do critical hits and lowers the chance to receive hits a bit from your opponent. Most importantly, critical hits.\"";
next;
mes "\"Think about how you want to play before assigning the points.\"";
mes "\"My Uncle sitting at the counter knows a spell to help the younglings reset their stats.\"";
- mes "\"He can also change your hair style and color, along with your gender.\"";
+ mes "\"He can also change your hair style and color, along with your gender or species.\"";
mes "\"Furthermore, he knows of mages with even more powerful reset spells for your stats.\"";
next;
if (QL_BEGIN == 7)
@@ -163,6 +165,7 @@ L_Mob:
mes "\"Neutral monsters are peaceful until they get attacked.\"";
next;
mes "\"Assistants are monsters who help each other.\"";
+ mes "\"They can be Neutral or Aggressive.\"";
goto L_Close;
L_Tut_Done:
diff --git a/world/map/npc/functions/headstyles.txt b/world/map/npc/functions/headstyles.txt
index f5f2ea82..bada9f4e 100644
--- a/world/map/npc/functions/headstyles.txt
+++ b/world/map/npc/functions/headstyles.txt
@@ -4,8 +4,8 @@
function|script|fixHeadStyles
{
callfunc "getHeadStyles";
- if ((TUT_var < 1 || QL_BEGIN < 1) && StatusPoint < 1 && BaseLevel == 1)
- goto L_RandomHair; // on first login
+ // if ((TUT_var < 1 || QL_BEGIN < 1) && StatusPoint < 1 && BaseLevel == 1)
+ // goto L_RandomHair; // on first login
set @style, getlook(LOOK_HAIR_STYLE); // FIXME: this needs to be a param in the future
set @color, getlook(LOOK_HAIR_COLOR); // FIXME: this needs to be a param in the future
if (@style < 1 || @style > getarraysize(@HairStyles$)) // leftover from previous attempt at classes
@@ -17,11 +17,11 @@ function|script|fixHeadStyles
setlook LOOK_HAIR_COLOR, @color; // FIXME: this needs to be a param in the future
return;
-L_RandomHair:
- resetstatus; // <= important! gives 48 stat points
- setlook LOOK_HAIR_STYLE, rand(1, getarraysize(@HairStyles$));
- setlook LOOK_HAIR_COLOR, rand((15 * (Class - 1)),((15 * (Class - 1)) + (getarraysize(@HairColors$) - 1)));
- return;
+// L_RandomHair:
+ // resetstatus; // <= important! gives 48 stat points
+ // setlook LOOK_HAIR_STYLE, rand(1, getarraysize(@HairStyles$));
+ // setlook LOOK_HAIR_COLOR, rand((15 * (Class - 1)),((15 * (Class - 1)) + (getarraysize(@HairColors$) - 1)));
+ // return;
}
function|script|getHeadStyles