summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2025-03-22 10:35:15 -0300
committerJesusaves <cpntb1@ymail.com>2025-03-22 10:35:15 -0300
commit1a3e360640c8178f52df6efc127fbac531bc934e (patch)
tree2888c8a7dcf1a63e4f269a955d4f5e3ba4185ee7
parent417bb938a85fa3c4eb31f71396128939d1138136 (diff)
downloadserverdata-1a3e360640c8178f52df6efc127fbac531bc934e.tar.gz
serverdata-1a3e360640c8178f52df6efc127fbac531bc934e.tar.bz2
serverdata-1a3e360640c8178f52df6efc127fbac531bc934e.tar.xz
serverdata-1a3e360640c8178f52df6efc127fbac531bc934e.zip
Several files and configuration changes which will be required.
-rw-r--r--db/constants.conf2
-rw-r--r--db/job_db2.txt2
-rw-r--r--db/re/item_db.conf160
-rw-r--r--db/re/job_db.conf59
-rw-r--r--db/re/skill_tree.conf5
-rw-r--r--db/sc_config.conf1
-rw-r--r--npc/001-1/bgmaster.txt53
-rw-r--r--npc/009-2/books.txt2
-rw-r--r--npc/config/traps.txt4
9 files changed, 280 insertions, 8 deletions
diff --git a/db/constants.conf b/db/constants.conf
index ec4061a0e..926f3a1d1 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -1632,6 +1632,7 @@ constants_db: {
Ukar: 7
Redy: 8
Savior: 9
+ Skelli: 30
comment__: "directions"
DOWN: 0
@@ -1894,6 +1895,7 @@ constants_db: {
NPC_SASHA: 282
NPC_BLANC: 283
NPC_STOVE: 284
+ NPC_TIKI: 285
// TMW-BR Non Animated NPCs
NPC_SHOPPAKEP: 301
diff --git a/db/job_db2.txt b/db/job_db2.txt
index e1980cca9..56ee8bca5 100644
--- a/db/job_db2.txt
+++ b/db/job_db2.txt
@@ -34,6 +34,8 @@
8,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,3,0,0,6,5,4,2,3,0,1,4,0,0,6,5,0,2,3,0,1,4,0
// Savior (max level = 150)
9,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6,1,2,3,4,5,6,0,1,2,3,4,5,6,0,1,2,3,4,5,6
+// Skelli (no bonuses)
+30,0,0,0,0,0,0,0,0,0,0
// Particles
// 1 = STR increased by 1 at this job level
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 9a14011e1..05be4a039 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -5298,6 +5298,166 @@ item_db: (
Weight: 60
Refine: false
},
+{
+ Id: 891
+ AegisName: "MKeyWater"
+ Name: "Magical Key of Water"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 892
+ AegisName: "MKeyEarth"
+ Name: "Magical Key of Earth"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 893
+ AegisName: "MKeyFire"
+ Name: "Magical Key of Fire"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 894
+ AegisName: "MKeyWind"
+ Name: "Magical Key of Wind"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 895
+ AegisName: "MKeySacred"
+ Name: "Magical Key of Sacred"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 896
+ AegisName: "MKeyMana"
+ Name: "Magical Key of Mana"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 897
+ AegisName: "MKeyDeath"
+ Name: "Magical Key of Death"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
+{
+ Id: 898
+ AegisName: "MKeyEvil"
+ Name: "Magical Key of Evil"
+ Type: "IT_ETC"
+ Buy: 0
+ Sell: 0
+ Weight: 210
+ Refine: false
+ Trade: {
+ notrade: false
+ nodrop: true
+ nocart: true
+ noselltonpc: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+},
// <!-- ID 900~910 Reserved -->
{
Id: 911
diff --git a/db/re/job_db.conf b/db/re/job_db.conf
index 69529b3a0..bbefec971 100644
--- a/db/re/job_db.conf
+++ b/db/re/job_db.conf
@@ -362,3 +362,62 @@ Savior: {
InheritSP: ( "Human" );
}
+Skelli: {
+ BaseExpGroup: "EvolClasses"
+ JobExpGroup: "EvolClasses"
+ MoveSpeed: 160
+ Weight: 500
+ BaseASPD: {
+ Fist: 60
+ Dagger: 75
+ Sword: 77
+ Axe: 72
+ Mace: 72
+ Whip: 82
+ TwoHandMace: 95
+ TwoHandSpear: 89
+ Rod: 112
+ TwoHandRod: 112
+ Bow: 110
+ Knuckle: 40
+ Katar: 70
+ Revolver: 110
+ Rifle: 120
+ Shotgun: 100
+ GatlingGun: 56
+ }
+ HPTable:[ 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, // 1 - 10
+ 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, // 11 - 20
+ 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, // 21 - 30
+ 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, // 31 - 40
+ 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, // 41 - 50
+ 600, 610, 620, 630, 640, 650, 660, 670, 680, 690, // 51 - 60
+ 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, // 61 - 70
+ 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, // 71 - 80
+ 900, 910, 920, 930, 940, 950, 960, 970, 980, 990, // 81 - 90
+ 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, // 91 - 100
+ 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, // 101 - 110
+ 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, // 111 - 120
+ 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, // 121 - 130
+ 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, // 131 - 140
+ 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, // 141 - 150
+ 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069] // 151 - 160
+ SPTable:[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // 1 - 10
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // 11 - 20
+ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, // 21 - 30
+ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, // 31 - 40
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, // 41 - 50
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, // 51 - 60
+ 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, // 61 - 70
+ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, // 71 - 80
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, // 81 - 90
+ 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, // 91 - 100
+ 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, // 101 - 110
+ 105, 106, 106, 107, 107, 108, 108, 109, 109, 110, // 111 - 120
+ 110, 111, 111, 112, 112, 113, 113, 114, 114, 115, // 121 - 130
+ 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, // 131 - 140
+ 120, 121, 121, 122, 122, 123, 123, 124, 124, 125, // 141 - 150
+ 125, 126, 126, 127, 127, 128, 128, 129, 129, 130] // 151 - 160
+}
+
+
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
index 9ede69acc..1fd8741b7 100644
--- a/db/re/skill_tree.conf
+++ b/db/re/skill_tree.conf
@@ -286,3 +286,8 @@ Redy: {
Savior: {
inherit: ( "Human" );
}
+
+Skelli: {
+ inherit: ( "Human" );
+}
+
diff --git a/db/sc_config.conf b/db/sc_config.conf
index 3a2aa3ff6..197fe89ed 100644
--- a/db/sc_config.conf
+++ b/db/sc_config.conf
@@ -803,6 +803,7 @@ SC_MOVESLOW_POTION: {
NoSave: true
NoClearanceReset: true
Buff: true
+ NoBoss: true
}
}
SC_DOUBLECASTING: {
diff --git a/npc/001-1/bgmaster.txt b/npc/001-1/bgmaster.txt
index cd4af38c8..d2b63f31e 100644
--- a/npc/001-1/bgmaster.txt
+++ b/npc/001-1/bgmaster.txt
@@ -7,19 +7,52 @@
001-1,96,37,0 script Cassia NPC_FEMALE,{
mesn;
+ if ($GAME_STORYLINE >= 5 && getq(General_Narrator) >= 23) goto L_Moubootaur;
if (is_gm()) goto L_Control;
if ($@BGMaster1) goto L_Busy;
+ goto L_Intro;
+
+// 001-15 Battlegrounds Functions
+L_Moubootaur:
+ mesq l("Hello! I am Cassia and you are qualified to enter in the cave behind me. Do you want to?");
+ if (askyesnosafe() == ASK_NO) { closeclientdialog; end; }
+ setpcblock(PCBLOCK_HARD, true);
+ mesc l("STORY MODE ENABLED. Monsters won't attack you, so you can read without worries."), 1;
+ next;
+ mesn;
+ mesq l("Inside this cave are actual ruins from Aeros civilization, which the Moubootaur has upturned to fuel his plans. Our intelligence reports the Moubootaur is inside it.");
+ next;
+ mesn;
+ mesc l("Once you enter there, %s.", b(l("you'll not be able to leave until you're either dead or victorious"))), 1;
+ next;
+ mesn;
+ mesq l("And maybe not even death can stop you! You're entering directly in the Mana Plane section of the World's Heart - the Soul Menhir will %s work inside.", b(l("NOT")));
+
+ // Lore goes here...
+ // Endtrail
+ mes "";
+ mesc l("@@ You need to wait further releases to continue this quest!", b(l("WARNING:"))), 1;
+ next;
+ setpcblock(PCBLOCK_HARD, false);
+ closeclientdialog;
+ close;
+
+// 001-2 Battlegrounds Function
L_Intro:
mesq l("Hello! I am Cassia, Ambassator. During the Monster War outbreak, Halinarzo was almost entirely destroyed.");
next;
mesq l("To train their soldiers, they frequently face Frostia in duels. Adventurers are welcome to join their drills.");
next;
- mesq l("To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.");
- next;
- mesq l("The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.");
- next;
- mesq l("Be sure to have a friend before joining, or you may have to logout in order to be able to move again!");
+ if (.sparring) {
+ mesq l("To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes.");
+ next;
+ mesq l("The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world.");
+ next;
+ mesq l("Be sure to have a friend before joining, or you may have to logout in order to be able to move again!");
+ } else {
+ mesq l("I also prevent adventurers which did not obtain Commander Povo's approval from entering the cave behind me.");
+ }
close;
L_Close:
@@ -31,6 +64,10 @@ L_Busy:
} else {
mesq l("People are challenging now.");
}
+ if ($GAME_STORYLINE >= 5) {
+ dnext;
+ mesq l("I also prevent adventurers which did not obtain Commander Povo's approval from entering the cave behind me.");
+ }
close;
L_Control:
@@ -56,6 +93,7 @@ L_On:
enablenpc "Lt. Gerry";
mapannounce "001-1", l("Frostia and Halinarzo are now on a spar!"), bc_map;
mes "Event enabled.";
+ .sparring = true;
close;
L_Off:
@@ -64,6 +102,7 @@ L_Off:
disablenpc "Lt. Randy";
disablenpc "Lt. Gerry";
mes "Event disabled.";
+ .sparring = false;
close;
OnPcQuit:
@@ -118,6 +157,7 @@ L_Cancel:
bg_destroy($@FK_Team1);
bg_destroy($@FK_Team2);
$@BGMaster1=2;
+ .sparring = false;
end;
OnVictor1:
@@ -132,6 +172,7 @@ OnVictor1:
bg_destroy($@FK_Team1);
bg_destroy($@FK_Team2);
$@BGMaster1=2;
+ .sparring = false;
end;
OnVictor2:
@@ -146,6 +187,7 @@ OnVictor2:
bg_destroy($@FK_Team1);
bg_destroy($@FK_Team2);
$@BGMaster1=2;
+ .sparring = false;
end;
OnInit:
@@ -160,6 +202,7 @@ OnInit:
.sex = G_FEMALE;
.distance = 7;
+ .sparring = false;
/*
// This script is TODO
if (!debug) {
diff --git a/npc/009-2/books.txt b/npc/009-2/books.txt
index aa1cae832..4a6957f8b 100644
--- a/npc/009-2/books.txt
+++ b/npc/009-2/books.txt
@@ -94,7 +94,7 @@ OnInit:
.@book_name$ = l("The Legend of Aeros");
if (openbookshelf(.@book_name$)) {
mes l("Once in a while, it's always nice to look up at the sky. If you want to ");
- mes l("see the floating island named aeros as well, you can do so too. The large ");
+ mes l("see the floating island named Aeros as well, you can do so too. The large ");
mes l("floating island has the characteristic of not staying still in just one ");
mes l("place. Because of its lower layer, which contains a huge sphere that lifts ");
mes l("the island above the ground. On the surface, we have the city, with ");
diff --git a/npc/config/traps.txt b/npc/config/traps.txt
index 9f71edf27..8a030f937 100644
--- a/npc/config/traps.txt
+++ b/npc/config/traps.txt
@@ -101,9 +101,9 @@ function script WorldHeartTrap {
// Monsters are largely unaffected by them!
if (playerattached()) {
percentheal -(.@dmg), 0;
- sc_start SC_WALKSPEED,(.@delay*1000),60;
+ sc_start SC_MOVESLOW_POTION,(.@delay*1000),60;
} else {
- sc_start SC_WALKSPEED,(.@delay*1000),64;
+ sc_start SC_MOVESLOW_POTION,(.@delay*1000),64;
}
// A minor special effect and we're done.