summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/item_db.conf22
-rw-r--r--db/re/skill_db.conf12
-rw-r--r--npc/craft/recipes.txt31
3 files changed, 65 insertions, 0 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index b2b13f421..96de61ec9 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -12708,6 +12708,28 @@ item_db: (
callfunc("MakeBlueprint", CRAFT_ALCHEMY, CRAFT_MASTER);
">
},
+{
+ Id: 7455
+ AegisName: "AncientBlueprint"
+ Name: "Ancient Blueprint"
+ Type: "IT_USABLE"
+ Buy: 0
+ Sell: 0
+ Weight: 40
+ Script: <"
+ if (!countitem(RecipeBook)) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("You need a @@ to use this.", getitemlink(RecipeBook));
+ end;
+ }
+ if (!getskilllv(TMW2_ANCIENTLANGUAGES)) {
+ getitem AncientBlueprint, 1;
+ dispbottom l("You cannot understand what's written.");
+ end;
+ }
+ callfunc("MakeRandomBlueprint");
+ ">
+},
{
Id: 7460
diff --git a/db/re/skill_db.conf b/db/re/skill_db.conf
index 9897fde23..802103481 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -38560,6 +38560,18 @@ skill_db: (
Quest: true
}
},
+{
+ Id: 20034
+ Name: "TMW2_ANCIENTLANGUAGES"
+ Description: "Read Ancient Languages"
+ MaxLevel: 1
+ SkillType: {
+ Self: true
+ }
+ SkillInfo: {
+ Quest: true
+ }
+},
// More skills: 20036~20062
{
Id: 20036
diff --git a/npc/craft/recipes.txt b/npc/craft/recipes.txt
index ded8fd226..4c54667d8 100644
--- a/npc/craft/recipes.txt
+++ b/npc/craft/recipes.txt
@@ -383,3 +383,34 @@ function script MakeBlueprint {
return;
}
+// Create a blueprint based on level. Extra chance for weaker Blueprint.
+// Level equivalents: 1: (1~20) 2: (21~44), 3: (45~75), 4: (76~99), 5: 100+
+function script MakeRandomBlueprint {
+ array_push(.@blueprints, AlchemyBlueprintA);
+ array_push(.@blueprints, EquipmentBlueprintA);
+ if (BaseLevel > 20) {
+ array_push(.@blueprints, AlchemyBlueprintB);
+ array_push(.@blueprints, EquipmentBlueprintB);
+ }
+ if (BaseLevel > 44) {
+ array_push(.@blueprints, AlchemyBlueprintB);
+ array_push(.@blueprints, EquipmentBlueprintB);
+ array_push(.@blueprints, AlchemyBlueprintC);
+ array_push(.@blueprints, EquipmentBlueprintC);
+ }
+ if (BaseLevel > 75) {
+ array_push(.@blueprints, AlchemyBlueprintC);
+ array_push(.@blueprints, EquipmentBlueprintC);
+ array_push(.@blueprints, AlchemyBlueprintD);
+ array_push(.@blueprints, EquipmentBlueprintD);
+ }
+ if (BaseLevel > 100) {
+ array_push(.@blueprints, AlchemyBlueprintD);
+ array_push(.@blueprints, EquipmentBlueprintD);
+ array_push(.@blueprints, AlchemyBlueprintE);
+ array_push(.@blueprints, EquipmentBlueprintE);
+ }
+ getitem any_of(.@blueprints), 1;
+ return;
+}
+