summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/map/maps.conf1
-rw-r--r--db/map_index.txt127
-rw-r--r--db/re/item_db.conf3
-rw-r--r--maps/re/003-1.mcachebin1280 -> 1280 bytes
-rw-r--r--maps/re/013-1.mcachebin0 -> 570 bytes
-rw-r--r--npc/003-2/_import.txt2
-rw-r--r--npc/013-1/_import.txt4
-rw-r--r--npc/013-1/_mobs.txt4
-rw-r--r--npc/013-1/_warps.txt3
-rw-r--r--npc/017-3/_import.txt1
-rw-r--r--npc/017-3/chagashroom.txt156
-rw-r--r--npc/_import.txt1
12 files changed, 237 insertions, 65 deletions
diff --git a/conf/map/maps.conf b/conf/map/maps.conf
index e6f4ddf8e..8de096730 100644
--- a/conf/map/maps.conf
+++ b/conf/map/maps.conf
@@ -75,6 +75,7 @@ map_list: (
"012-6",
"012-7",
"012-8",
+ "013-1",
"014-1",
"014-2-1",
"014-2",
diff --git a/db/map_index.txt b/db/map_index.txt
index 4a9da3835..fa129a5bf 100644
--- a/db/map_index.txt
+++ b/db/map_index.txt
@@ -72,66 +72,67 @@
012-6 72
012-7 73
012-8 74
-014-1 75
-014-2-1 76
-014-2 77
-014-3 78
-014-4 79
-014-5 80
-015-1 81
-015-2 82
-015-3 83
-015-4 84
-015-5 85
-015-6 86
-015-7 87
-016-1 88
-016-6 89
-016-7 90
-017-1 91
-017-2-1 92
-017-2-2 93
-017-2 94
-017-3 95
-017-4 96
-017-5 97
-017-6 98
-018-1-1 99
-018-1 100
-018-2-1 101
-018-2-2 102
-018-2-3 103
-018-2-4 104
-018-2 105
-018-3 106
-018-4-1 107
-018-4-2 108
-018-4 109
-018-5 110
-019-1-1 111
-019-1 112
-019-2 113
-019-3 114
-019-4-1 115
-019-4 116
-020-1 117
-020-2 118
-020-3 119
-020-4 120
-020-5 121
-020-6 122
-021-1 123
-021-2 124
-021-3 125
-021-4 126
-022-1 127
-023-1 128
-023-2 129
-024-1 130
-boss 131
-botcheck 132
-sec_pri 133
-soren-2 134
-soren 135
-test 136
-testbg 137
+013-1 75
+014-1 76
+014-2-1 77
+014-2 78
+014-3 79
+014-4 80
+014-5 81
+015-1 82
+015-2 83
+015-3 84
+015-4 85
+015-5 86
+015-6 87
+015-7 88
+016-1 89
+016-6 90
+016-7 91
+017-1 92
+017-2-1 93
+017-2-2 94
+017-2 95
+017-3 96
+017-4 97
+017-5 98
+017-6 99
+018-1-1 100
+018-1 101
+018-2-1 102
+018-2-2 103
+018-2-3 104
+018-2-4 105
+018-2 106
+018-3 107
+018-4-1 108
+018-4-2 109
+018-4 110
+018-5 111
+019-1-1 112
+019-1 113
+019-2 114
+019-3 115
+019-4-1 116
+019-4 117
+020-1 118
+020-2 119
+020-3 120
+020-4 121
+020-5 122
+020-6 123
+021-1 124
+021-2 125
+021-3 126
+021-4 127
+022-1 128
+023-1 129
+023-2 130
+024-1 131
+boss 132
+botcheck 133
+sec_pri 134
+soren-2 135
+soren 136
+test 137
+testbg 138
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index dca9fee95..fa9e1b79b 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -769,7 +769,8 @@ item_db: (
Delay: 500
UseEffect: "EFFECT_HEAL"
Script: <"
- sc_start SC_CONFUSION, 5000, 0; // Forces user to use @resync!
+ sc_start SC_CONFUSION, 5000, 0; // Warning, forces user to use @resync!
+ sc_start SC_PLUSATTACKPOWER, 15000, 30;
@min = 50;
@max = 110;
@delay = 5;
diff --git a/maps/re/003-1.mcache b/maps/re/003-1.mcache
index e5c7df264..3d62e3126 100644
--- a/maps/re/003-1.mcache
+++ b/maps/re/003-1.mcache
Binary files differ
diff --git a/maps/re/013-1.mcache b/maps/re/013-1.mcache
new file mode 100644
index 000000000..5164aec53
--- /dev/null
+++ b/maps/re/013-1.mcache
Binary files differ
diff --git a/npc/003-2/_import.txt b/npc/003-2/_import.txt
index fffe69267..f6711989e 100644
--- a/npc/003-2/_import.txt
+++ b/npc/003-2/_import.txt
@@ -1,4 +1,4 @@
-// Map 003-2: Tulimshar Guild
+// Map 003-2: Tulimshar Guild
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/003-2/_warps.txt",
"npc/003-2/eistein.txt",
diff --git a/npc/013-1/_import.txt b/npc/013-1/_import.txt
new file mode 100644
index 000000000..f9269149b
--- /dev/null
+++ b/npc/013-1/_import.txt
@@ -0,0 +1,4 @@
+// Map 013-1: Woodlands Central Plateau
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/013-1/_mobs.txt",
+"npc/013-1/_warps.txt",
diff --git a/npc/013-1/_mobs.txt b/npc/013-1/_mobs.txt
new file mode 100644
index 000000000..0727c3e45
--- /dev/null
+++ b/npc/013-1/_mobs.txt
@@ -0,0 +1,4 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 013-1: Woodlands Central Plateau mobs
+013-1,69,83,31,14 monster Pinkie 1132,9,30000,50000
+013-1,76,82,49,21 monster Mauve Plant 1135,4,90000,90000
diff --git a/npc/013-1/_warps.txt b/npc/013-1/_warps.txt
new file mode 100644
index 000000000..84ad4e25d
--- /dev/null
+++ b/npc/013-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 013-1: Woodlands Central Plateau warps
+013-1,118,27,0 warp #013-1_118_27 0,0,015-3,172,195
diff --git a/npc/017-3/_import.txt b/npc/017-3/_import.txt
index 0d514e54a..6d9b59e77 100644
--- a/npc/017-3/_import.txt
+++ b/npc/017-3/_import.txt
@@ -1,6 +1,7 @@
// Map 017-3: Dimond's Cove
// This file is generated automatically. All manually added changes will be removed when running the Converter.
"npc/017-3/_warps.txt",
+"npc/017-3/chagashroom.txt",
"npc/017-3/chef.txt",
"npc/017-3/dimonds.txt",
"npc/017-3/doctor.txt",
diff --git a/npc/017-3/chagashroom.txt b/npc/017-3/chagashroom.txt
new file mode 100644
index 000000000..12bc44429
--- /dev/null
+++ b/npc/017-3/chagashroom.txt
@@ -0,0 +1,156 @@
+// TMW2 Scripts
+// Author:
+// Jesusalva
+// Description:
+// Chagashroom → Red Plush Wine
+// Variables:
+// REDWINE_DATE = When the wine started being done
+// REDWINE_DONE = When the wine will be ready
+// REDWINE_AMMO = How much Wine you're trying to make
+// Success Rate is based on how much you're trying to do and how long ago that was
+
+017-3,25,78,0 script Wine Making Barrel NPC_NO_SPRITE,{
+ goto L_Main;
+ // redwine_chance()
+ // Returns chance (0~10,000) to successfully obtain wine
+ // REDWINE_DONE/REDWINE_DATE is taken in account
+ function redwine_chance {
+ .@max=10000;
+ .@base=REDWINE_DATE;//-(REDWINE_DONE-REDWINE_DATE);
+ // .@c = how much time is left until completion
+ // .@d = original amount of time required
+ // .@e = Current time
+ .@c=REDWINE_DONE-.@base; //-gettimetick(2);
+ .@d=REDWINE_DATE-.@base; //-REDWINE_DONE;
+ .@e=gettimetick(2)-.@base;
+ debugmes "%d - %d - %d", .@d, .@e, .@c;
+ debugmes "Start - Now - Finish";
+ if (.@c == 0)
+ return .@max;
+ debugmes "Ratio: %d/%d = %d", .@e, .@c, (.@e*.@max)/.@c;
+ return min(10000, (.@e*.@max)/.@c);
+ }
+
+L_Main:
+ if (!REDWINE_DATE) {
+ mesn;
+ mesc l("Do you want to make wine?");
+ next;
+ select
+ l("Information"),
+ l("Yes"),
+ l("No");
+ mes "";
+
+ switch (@menu) {
+ case 1:
+ mesc l("Produced item:");
+ mesc l("@@", getitemlink(RedPlushWine));
+ mes "";
+ mesc l("Cost per two glass:");
+ mesc l("* @@/@@ @@", countitem(SeaDrops), 1, getitemlink(SeaDrops));
+ mesc l("* @@/@@ @@", countitem(Plushroom), 1, getitemlink(Plushroom));
+ mesc l("* @@/@@ @@", countitem(Chagashroom), 30, getitemlink(Chagashroom));
+ mesc l("* @@ Water Bottle", 1);
+ next;
+ break;
+ case 2:
+ mesc l("How many batches do you want to produce? (max. 5)");
+ input .@glass_count;
+ if (.@glass_count < 1 ||
+ .@glass_count > 5 ||
+ countitem(SeaDrops) < .@glass_count ||
+ countitem(Plushroom) < .@glass_count ||
+ countitem(Chagashroom) < .@glass_count*30
+ ) {
+ mesc l("Not enough ingredients or invalid amount."), 1;
+ break;
+ }
+ mesc l("Which water will you use?");
+ mesc l("The bottom-most the water, the better the bonus.");
+ menuint
+ l("Cancel"), -1,
+ rif(countitem(BottleOfSewerWater) > .@glass_count, l("Sewer Water")), 0,
+ rif(countitem(BottleOfSeaWater) > .@glass_count, l("Sea Water")), 3600,
+ rif(countitem(BottleOfTonoriWater) > .@glass_count, l("Tonori Water")), 11760,
+ rif(countitem(BottleOfWoodlandWater) > .@glass_count, l("Woodland Water")), 12000,
+ rif(countitem(BottleOfDivineWater) > .@glass_count, l("Divine Water")), 21600;
+ mes "";
+ if (@menuret < 0)
+ break;
+ switch (@menuret) {
+ case 0:
+ .@bonus=@menuret;
+ .@water=BottleOfSewerWater;
+ break;
+ case 3600:
+ .@bonus=@menuret;
+ .@water=BottleOfSeaWater;
+ break;
+ case 11760:
+ .@bonus=@menuret;
+ .@water=BottleOfTonoriWater;
+ break;
+ case 12000:
+ .@bonus=@menuret;
+ .@water=BottleOfWoodlandWater;
+ break;
+ case 21600:
+ .@bonus=@menuret;
+ .@water=BottleOfDivineWater;
+ break;
+ default:
+ mesc l("Error, invalid return code, blame Saulc"), 1;
+ mes "==== SCRIPT ABORTED";
+ close;
+ }
+
+ // Save data
+ delitem SeaDrops, .@glass_count;
+ delitem Plushroom, .@glass_count;
+ delitem Chagashroom, .@glass_count*30;
+ delitem .@water, .@glass_count;
+ REDWINE_AMMO=.@glass_count;
+ REDWINE_DATE=gettimetick(2);
+ REDWINE_DONE=gettimetick(2)-.@bonus+.mintime;
+ REDWINE_DONE+=.cuptime*REDWINE_AMMO;
+ break;
+ case 3:
+ close;
+ break;
+ }
+ goto L_Main;
+ } else {
+ mesn;
+ mesc l("Your request for @@ @@ are being fermented for @@.", REDWINE_AMMO, getitemlink(RedPlushWine), FuzzyTime(REDWINE_DATE));
+ next;
+ inventoryplace RedPlushWine, REDWINE_AMMO;
+ mesn;
+ mes l("Trying to retrieve it now will have @@ % chance to be successful.", redwine_chance()/100);
+ mes l("Attempt to retrieve it now?");
+ next;
+ if (askyesno() == ASK_YES) {
+ if (rand(1000,10000) < redwine_chance()) {
+ mesc l("Success!"), 3;
+ getitem RedPlushWine, REDWINE_AMMO*2;
+ } else {
+ mesc l("The wine wasn't ready yet and you lost it..."), 1;
+ }
+ REDWINE_DATE=0;
+ REDWINE_AMMO=0;
+ }
+ }
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 4;
+
+ // Time to make each batch
+ .cuptime=(60*60*6);
+ // Base time to make any amount of cups
+ .mintime=(60*60*24);
+ end;
+
+}
+
diff --git a/npc/_import.txt b/npc/_import.txt
index 94ecf1c6a..cf02e351b 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -74,6 +74,7 @@
@include "npc/012-6/_import.txt"
@include "npc/012-7/_import.txt"
@include "npc/012-8/_import.txt"
+@include "npc/013-1/_import.txt"
@include "npc/014-1/_import.txt"
@include "npc/014-2-1/_import.txt"
@include "npc/014-2/_import.txt"