summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2025-03-29 17:17:09 -0300
committerJesusaves <cpntb1@ymail.com>2025-03-29 17:17:09 -0300
commit3b88f44a9e53b4ef6707c197a4b83789eaa84556 (patch)
tree57910f1835e8d92387f7da20a7b0b014ed0498a5
parent0a15062859e0633934052b02d7ffabe85a5f629b (diff)
downloadserverdata-3b88f44a9e53b4ef6707c197a4b83789eaa84556.tar.gz
serverdata-3b88f44a9e53b4ef6707c197a4b83789eaa84556.tar.bz2
serverdata-3b88f44a9e53b4ef6707c197a4b83789eaa84556.tar.xz
serverdata-3b88f44a9e53b4ef6707c197a4b83789eaa84556.zip
Strength Potion + map cache
-rw-r--r--db/constants.conf15
-rw-r--r--db/craft_db.conf81
-rw-r--r--db/re/item_db.conf107
-rw-r--r--db/re/map_zone_db.conf4
-rw-r--r--db/sc_config.conf5
-rw-r--r--maps/re/001-15.mcachebin388 -> 389 bytes
-rw-r--r--maps/re/001-16.mcachebin2325 -> 2349 bytes
-rw-r--r--maps/re/018-1.mcachebin365 -> 407 bytes
-rw-r--r--npc/001-11/Soren.txt1
-rw-r--r--npc/019-4-1/ofelia.txt3
-rw-r--r--npc/024-1/john.txt20
-rw-r--r--npc/034-4/storage.txt2
-rw-r--r--npc/craft/alchemy.txt5
-rw-r--r--npc/craft/price.txt9
-rw-r--r--npc/craft/recipes.txt7
-rw-r--r--npc/functions/aurora.txt4
-rw-r--r--npc/guilds/logs.txt14
17 files changed, 244 insertions, 33 deletions
diff --git a/db/constants.conf b/db/constants.conf
index 84a4fdd40..abece060f 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -151,6 +151,7 @@ constants_db: {
mf_pairship_endable: 58
mf_nostorage: 59
mf_nogstorage: 60
+ mf_nopet: 61
comment__: "Cell Properties"
cell_walkable: 0
@@ -1632,7 +1633,7 @@ constants_db: {
Ukar: 7
Redy: 8
Savior: 9
- Skelli: 30
+ Skelli: 20
comment__: "directions"
DOWN: 0
@@ -1896,6 +1897,7 @@ constants_db: {
NPC_BLANC: 283
NPC_STOVE: 284
NPC_TIKI: 285
+ NPC_ML_CIRCLE: 286
// TMW-BR Non Animated NPCs
NPC_SHOPPAKEP: 301
@@ -2374,6 +2376,17 @@ constants_db: {
MERCQ_SCOUT: 3
MERCQ_NONE: 9
+ comment__: "Final Showdown Constants"
+ ML_MAPMODE_PVP: 1
+ ML_MAPMODE_DOT: 2
+ ML_MAPMODE_NOHEAL: 3
+ ML_MAPMODE_NOMANA: 4
+ ML_MAPMODE_NOBOOST: 5
+ ML_MAPMODE_NOMAGIC: 6
+ ML_MAPMODE_NOCHAT: 7
+ ML_MAPMODE_PAY2KILL: 8
+ ML_MAPMODE_NOPETS: 9
+
comment__: "Mirror Lake Server Identifiers"
WORLD_ID: 2
MLP_CR: 1
diff --git a/db/craft_db.conf b/db/craft_db.conf
index 438bd858c..3f870f683 100644
--- a/db/craft_db.conf
+++ b/db/craft_db.conf
@@ -4691,4 +4691,85 @@ craft_db: (
Priority: 10
},
/****************************************************************************/
+
+// Alchemy System Additional (ID 251~300, Flag 8)
+//////////////////////////////////////////////////////////////////////////////
+{
+ Id: 251
+ Name: "CraftStrPotionA"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ RubyPowder: 1
+ HerbalTea: 1
+ },
+ )
+ CreateItems:
+ (
+ {
+ StrPotionA: 3
+ },
+ {
+ StrPotionA: 2
+ },
+ {
+ StrPotionA: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 252
+ Name: "CraftStrPotionB"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ Ruby: 1
+ HerbalTea: 2
+ },
+ )
+ CreateItems:
+ (
+ {
+ StrPotionB: 3
+ },
+ {
+ StrPotionB: 2
+ },
+ {
+ StrPotionB: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
+{
+ Id: 253
+ Name: "CraftStrPotionC"
+ Flag: 8
+ SourceItems:
+ (
+ {
+ PolishedRuby: 1
+ HerbalTea: 3
+ },
+ )
+ CreateItems:
+ (
+ {
+ StrPotionC: 3
+ },
+ {
+ StrPotionC: 2
+ },
+ {
+ StrPotionC: 2
+ },
+ )
+ Priority: 10
+},
+/****************************************************************************/
)
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 085b46c44..8f68476c8 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -2906,7 +2906,60 @@ item_db: (
doevent "inc_sc_bonus::OnUse";
">
},
-// Id 663~665 reserved Str+ potions
+{
+ Id: 663
+ AegisName: "StrPotionA"
+ Name: "Str Potion"
+ Type: "IT_USABLE"
+ Buy: 1000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 5;
+ @max = 10;
+ @delay = 120;
+ @type = SC_STR_SCROLL;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 664
+ AegisName: "StrPotionB"
+ Name: "Str+ Potion"
+ Type: "IT_USABLE"
+ Buy: 10000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 10;
+ @max = 20;
+ @delay = 105;
+ @type = SC_STR_SCROLL;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
+{
+ Id: 665
+ AegisName: "StrPotionC"
+ Name: "Str++ Potion"
+ Type: "IT_USABLE"
+ Buy: 100000
+ Sell: 0
+ Weight: 20
+ Refine: false
+ Delay: 500
+ Script: <"
+ @min = 20;
+ @max = 30;
+ @delay = 90;
+ @type = SC_STR_SCROLL;
+ doevent "inc_sc_bonus::OnUse";
+ ">
+},
// Id 666 reserved (change sex candy)
{
Id: 667
@@ -5309,7 +5362,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5329,7 +5382,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5349,7 +5402,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5369,7 +5422,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5389,7 +5442,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5409,7 +5462,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5429,7 +5482,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -5449,7 +5502,7 @@ item_db: (
Refine: false
Trade: {
notrade: false
- nodrop: true
+ nodrop: false
nocart: true
noselltonpc: true
nostorage: true
@@ -8360,6 +8413,31 @@ item_db: (
Loc: "EQP_GARMENT"
EquipLv: 24
Refine: false
+ Slots: 1
+ AllowCards: {
+ id5000: 1
+ id5001: 1
+ id5002: 1
+ id5003: 1
+ id5004: 1
+ id5005: 1
+ id5006: 1
+ id5007: 1
+ id5008: 1
+ id5009: 1
+ id5010: 1
+ id5011: 1
+ id5012: 1
+ id5013: 1
+ id5014: 1
+ id5015: 1
+ id5016: 1
+ id5017: 1
+ id5018: 1
+ id5019: 1
+ id5020: 1
+ id5021: 1
+ }
Script: <"
bonus bMatk,12;
bonus bMaxSP,10;
@@ -11892,6 +11970,17 @@ item_db: (
bonus bMaxHP, 2500;
bonus bDef2, 18+REBIRTH;
bonus bMdef, 3*REBIRTH;
+ if ($@GM_OVERRIDE) {
+ bonus bAllStats, 127;
+ bonus bMaxHP, 50000;
+ bonus bMaxSP, 10000;
+ bonus bAtk, 1000;
+ bonus bMatk, 1000;
+ bonus bHit, 1000;
+ bonus bFleeRate, 100;
+ bonus bAddMaxWeight, 10000;
+ bonus2 bHPRegenRate, 5000, 200;
+ }
">
},
diff --git a/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index 3d1ffb1cd..f4cbc86f6 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -745,6 +745,7 @@ zones: (
"nojobexp",
"invincible_time_inc 2000",
"short_damage_rate 85",
+ "nomemo",
// "battleground",
// "nomobloot",
)
@@ -772,7 +773,7 @@ zones: (
doommap: 100
kill: 100
nuke: 100
- //revive: 100
+ //alive: 100
setbattleflag: 100
cvcon: 100
cvcoff: 100
@@ -782,7 +783,6 @@ zones: (
gvgoff: 100
skillon: 100
skilloff: 100
- alive: 100
}
skill_damage_cap: {
}
diff --git a/db/sc_config.conf b/db/sc_config.conf
index 197fe89ed..648d83b83 100644
--- a/db/sc_config.conf
+++ b/db/sc_config.conf
@@ -1828,11 +1828,8 @@ SC_SPL_MATK: {
}
SC_STR_SCROLL: {
Flags: {
- NoDeathReset: true
- NoDispelReset: true
- NoClearanceReset: true
Buff: true
- Debuff: true
+ NoMadoReset: true
}
}
SC_INT_SCROLL: {
diff --git a/maps/re/001-15.mcache b/maps/re/001-15.mcache
index 75924b054..9032dc493 100644
--- a/maps/re/001-15.mcache
+++ b/maps/re/001-15.mcache
Binary files differ
diff --git a/maps/re/001-16.mcache b/maps/re/001-16.mcache
index cca8db0d9..b565032fb 100644
--- a/maps/re/001-16.mcache
+++ b/maps/re/001-16.mcache
Binary files differ
diff --git a/maps/re/018-1.mcache b/maps/re/018-1.mcache
index 5fd249b7c..8a657d907 100644
--- a/maps/re/018-1.mcache
+++ b/maps/re/018-1.mcache
Binary files differ
diff --git a/npc/001-11/Soren.txt b/npc/001-11/Soren.txt
index 8c47ae8e4..76e8c711c 100644
--- a/npc/001-11/Soren.txt
+++ b/npc/001-11/Soren.txt
@@ -152,6 +152,7 @@ OnInit:
sellitem SmokeGrenade;
sellitem LousyMoccasins;
sellitem LeatherQuiver, 3500;
+ sellitem StrPotionA, 1000;
sellitem AgiPotionA, 1000;
sellitem VitPotionA, 1000;
sellitem IntPotionA, 1000;
diff --git a/npc/019-4-1/ofelia.txt b/npc/019-4-1/ofelia.txt
index 145a302ab..636a5850f 100644
--- a/npc/019-4-1/ofelia.txt
+++ b/npc/019-4-1/ofelia.txt
@@ -331,16 +331,19 @@ OnInit:
IntPotionA, 10,
VitPotionA, 10,
AgiPotionA, 10,
+ StrPotionA, 10,
LukPotionB, 7,
DexPotionB, 7,
IntPotionB, 7,
VitPotionB, 7,
AgiPotionB, 7,
+ StrPotionB, 7,
LukPotionC, 3,
DexPotionC, 3,
IntPotionC, 3,
VitPotionC, 3,
AgiPotionC, 3,
+ StrPotionC, 3,
DodgeDonut, 3,
ChocolateDonut, 6,
SparklyChocolateDonut, 6,
diff --git a/npc/024-1/john.txt b/npc/024-1/john.txt
index 2404f27b5..1c4b96ccc 100644
--- a/npc/024-1/john.txt
+++ b/npc/024-1/john.txt
@@ -164,7 +164,7 @@
break;
case 7:
if (.@q2 >= 40) {
- .@i = any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA);
+ .@i = any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA, StrPotionA);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -179,7 +179,7 @@
break;
case 9:
if (.@q2 >= 60) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -201,7 +201,7 @@
break;
case 12:
if (.@q2 >= 100) {
- .@i = any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ .@i = any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, StrPotionB, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -209,7 +209,7 @@
break;
case 13:
if (.@q2 >= 120) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -217,7 +217,7 @@
break;
case 14:
if (.@q2 >= 140) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, Manapple);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, Manapple);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -225,7 +225,7 @@
break;
case 15:
if (.@q2 >= 150) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, DeathPotion, PurificationPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -233,7 +233,7 @@
break;
case 16:
if (.@q2 >= 175) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, DodgePotion, PrecisionPotion, MoveSpeedPotion, StatusResetPotion, NymphPoison, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -241,7 +241,7 @@
break;
case 17:
if (.@q2 >= 200) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -249,7 +249,7 @@
break;
case 18:
if (.@q2 >= 250) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, ElixirOfLife, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
@@ -257,7 +257,7 @@
break;
case 19:
if (.@q2 >= 300) {
- .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, GoldenApple);
+ .@i = any(LukPotionC, DexPotionC, IntPotionC, VitPotionC, AgiPotionC, StrPotionC, SacredLifePotion, SacredManaPotion, SacredImmortalityPotion, AncientBlueprint, FrostiaWarpCrystal, ScrollCriticalFortuneA, ScrollMagnusHealA, ScrollSWolvern, GoldenApple);
inventoryplace .@i, 1;
getitem .@i, 1;
setq3 FrostiaQuest_JhonH, .@q3 + 1;
diff --git a/npc/034-4/storage.txt b/npc/034-4/storage.txt
index 893971f32..79ee492c8 100644
--- a/npc/034-4/storage.txt
+++ b/npc/034-4/storage.txt
@@ -165,7 +165,7 @@ function storageutil {
// If it falls on a collision, the item won't be created at all
freeloop(true);
for (.@i=0; .@i <= ((.sto/2)+getmapusers(.mp$)); .@i++) {
- makeitem(any(Wurtzite, ShadowHerb, AlizarinHerb, DiamondPowder, RubyPowder, EmeraldPowder, SapphirePowder, TopazPowder, AmethystPowder, CopperOre, IronOre, Coal, LeadOre, Lifestone, ScorpionClaw, WhiteFur, SquirrelPelt, TinOre, PileOfAsh, EmptyBottle, FluoPowder, TerraniteOre, SulfurPowder, LeatherPatch, LazuriteShard, Root, ReedBundle, GambogeHerb, MauveHerb, CobaltHerb, MaggotSlime, BugLeg, RawLog, BanditHood, BatWing, IronPowder, ArtichokeHerb, LeftCraftyWing, RightCraftyWing, Coral, BlueCoral, Pearl, Moss, RattoTail, RattoTeeth, Knife, SharpKnife, StrangeCoin, PurificationPotion, IcedBottle, Grenade, SmokeGrenade, TreasureMap, AgiPotionA, VitPotionA, IntPotionA, DexPotionA, LukPotionA, EmptyBox, HastePotion, StrengthPotion, Croconut, ChocolateBar, ChocolateBiscuit, PinkieLeg, Potatoz, Coffee, SnakeEgg, Plushroom, Chagashroom, Honey, MoubooSteak, Milk, Orange, CherryCake, Piberries, Aquada, Cheese, Bread, Acorn, Manana), 1, .mp$, rand2(30, 71), rand2(44, 87));
+ makeitem(any(Wurtzite, ShadowHerb, AlizarinHerb, DiamondPowder, RubyPowder, EmeraldPowder, SapphirePowder, TopazPowder, AmethystPowder, CopperOre, IronOre, Coal, LeadOre, Lifestone, ScorpionClaw, WhiteFur, SquirrelPelt, TinOre, PileOfAsh, EmptyBottle, FluoPowder, TerraniteOre, SulfurPowder, LeatherPatch, LazuriteShard, Root, ReedBundle, GambogeHerb, MauveHerb, CobaltHerb, MaggotSlime, BugLeg, RawLog, BanditHood, BatWing, IronPowder, ArtichokeHerb, LeftCraftyWing, RightCraftyWing, Coral, BlueCoral, Pearl, Moss, RattoTail, RattoTeeth, Knife, SharpKnife, StrangeCoin, PurificationPotion, IcedBottle, Grenade, SmokeGrenade, TreasureMap, StrPotionA, AgiPotionA, VitPotionA, IntPotionA, DexPotionA, LukPotionA, EmptyBox, HastePotion, StrengthPotion, Croconut, ChocolateBar, ChocolateBiscuit, PinkieLeg, Potatoz, Coffee, SnakeEgg, Plushroom, Chagashroom, Honey, MoubooSteak, Milk, Orange, CherryCake, Piberries, Aquada, Cheese, Bread, Acorn, Manana), 1, .mp$, rand2(30, 71), rand2(44, 87));
}
freeloop(false);
return;
diff --git a/npc/craft/alchemy.txt b/npc/craft/alchemy.txt
index ffdf34827..a5bf21cb4 100644
--- a/npc/craft/alchemy.txt
+++ b/npc/craft/alchemy.txt
@@ -40,6 +40,9 @@ function script AlchemySystem {
.@m=limit(1, GSET_FIXED_ALCHEMY, 25);
} else {
.@max=(is_sponsor() ? 25 : 10);
+ // Guild can brew twice as faster than individual for... reasons
+ if (.scope == CRAFT_GUILD)
+ .@max*=2;
mesc l("How many to brew? (%d-%d)", 1, .@max);
input(.@m, 1, .@max);
}
@@ -100,7 +103,7 @@ OK Homun Stat Reset (Curshroom + Manapple)
OK Move Speed (Gem Powder + Fluor Powder)
OK Precision (Piberries + Mt. Snake Egg)
OK Dodge Potion (Piberries + Snake Egg)
-OK Luck, Dex, Int, Vit, Agi (Gems + Tea)
+OK Luck, Dex, Int, Vit, Agi, Str (Gems + Tea)
OK Sacred Life (Golden Apple + Elixir of Life)
OK Sacred Mana (Golden Apple + Celestia Tea)
OK Sacred Revival (Sacred Life + Sacred Mana)
diff --git a/npc/craft/price.txt b/npc/craft/price.txt
index f2f073872..e5dbb9a4c 100644
--- a/npc/craft/price.txt
+++ b/npc/craft/price.txt
@@ -75,9 +75,12 @@ function script fix_cPrice {
freeloop(true);
// Fix potions prices
- _fix_cPrice(AgiPotionA);
- _fix_cPrice(AgiPotionB);
- _fix_cPrice(AgiPotionC);
+ _fix_cPrice(StrPotionA);
+ _fix_cPrice(StrPotionB);
+ _fix_cPrice(StrPotionC);
+ _fix_cPrice(StrPotionA);
+ _fix_cPrice(StrPotionB);
+ _fix_cPrice(StrPotionC);
_fix_cPrice(VitPotionA);
_fix_cPrice(VitPotionB);
_fix_cPrice(VitPotionC);
diff --git a/npc/craft/recipes.txt b/npc/craft/recipes.txt
index 1a688e94d..3f4504a4e 100644
--- a/npc/craft/recipes.txt
+++ b/npc/craft/recipes.txt
@@ -181,6 +181,10 @@ function readAlchemy {
showRecipe(DexPotionA,
DexPotionB,
DexPotionC);
+
+ showRecipe(StrPotionA,
+ StrPotionB,
+ StrPotionC);
dnext;
// Scrolls
@@ -394,6 +398,7 @@ function script MakeBlueprint {
array_push(.@recipes, CraftIntPotionA);
array_push(.@recipes, CraftAgiPotionA);
array_push(.@recipes, CraftVitPotionA);
+ array_push(.@recipes, CraftStrPotionA);
array_push(.@recipes, CraftSpeedPotion);
array_push(.@recipes, CraftIcedBottle);
array_push(.@recipes, CraftInsuranceContract);
@@ -416,6 +421,7 @@ function script MakeBlueprint {
array_push(.@recipes, CraftIntPotionB);
array_push(.@recipes, CraftAgiPotionB);
array_push(.@recipes, CraftVitPotionB);
+ array_push(.@recipes, CraftStrPotionB);
array_push(.@recipes, CraftAtroposMixture);
array_push(.@recipes, CraftPurificationPotion);
array_push(.@recipes, CraftHomunResetPotion);
@@ -428,6 +434,7 @@ function script MakeBlueprint {
array_push(.@recipes, CraftIntPotionC);
array_push(.@recipes, CraftAgiPotionC);
array_push(.@recipes, CraftVitPotionC);
+ array_push(.@recipes, CraftStrPotionC);
array_push(.@recipes, CraftSacredLifePotion);
array_push(.@recipes, CraftSacredManaPotion);
array_push(.@recipes, CraftSacredImmortalityPotion);
diff --git a/npc/functions/aurora.txt b/npc/functions/aurora.txt
index dd0c16e9b..c1eb61f53 100644
--- a/npc/functions/aurora.txt
+++ b/npc/functions/aurora.txt
@@ -210,9 +210,9 @@ function script FYT {
case FY_POT:
switch (.@l) {
case 1:
- return any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA, HastePotion, StrengthPotion);
+ return any(LukPotionA, DexPotionA, IntPotionA, VitPotionA, AgiPotionA, StrPotionA, HastePotion, StrengthPotion);
case 2:
- return any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, MoveSpeedPotion, PrecisionPotion, DodgePotion);
+ return any(LukPotionB, DexPotionB, IntPotionB, VitPotionB, AgiPotionB, StrPotionB, MoveSpeedPotion, PrecisionPotion, DodgePotion);
case 3:
return any(SacredImmortalityPotion, SacredLifePotion, SacredManaPotion);
}
diff --git a/npc/guilds/logs.txt b/npc/guilds/logs.txt
index 57bd7cb1e..2fc1658e4 100644
--- a/npc/guilds/logs.txt
+++ b/npc/guilds/logs.txt
@@ -74,6 +74,13 @@ guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{
.@s+=showRecipe(CraftAgiPotionC, AgiPotionC,
1, PolishedTopaz, 3, HerbalTea);
+ .@s+=showRecipe(CraftStrPotionA, StrPotionA,
+ 1, TopazPowder, 1, HerbalTea);
+ .@s+=showRecipe(CraftStrPotionB, StrPotionB,
+ 1, Topaz, 2, HerbalTea);
+ .@s+=showRecipe(CraftStrPotionC, StrPotionC,
+ 1, PolishedTopaz, 3, HerbalTea);
+
if (.@s > 14)
next;
@@ -264,6 +271,13 @@ guilds,47,39,0 script Guild Logs NPC_NO_SPRITE,{
if (!showRecipe(CraftAgiPotionC, false))
calcRecipe(CraftAgiPotionC, 8, 35000, l("Agi++ Potion"));
+ if (!showRecipe(CraftStrPotionA, false))
+ calcRecipe(CraftStrPotionA, 4, 15000, l("Str Potion"));
+ if (!showRecipe(CraftStrPotionB, false))
+ calcRecipe(CraftStrPotionB, 6, 25000, l("Str+ Potion"));
+ if (!showRecipe(CraftStrPotionC, false))
+ calcRecipe(CraftStrPotionC, 8, 35000, l("Str++ Potion"));
+
// Limit Boosts
if (!showRecipe(CraftSacredManaPotion, false))
calcRecipe(CraftSacredManaPotion, 7, 100000, l("Sacred Mana Potion"));