From 07fb34f601fd339dc59f7be91968db075116232d Mon Sep 17 00:00:00 2001
From: Jesusaves <cpntb1@ymail.com>
Date: Tue, 25 Feb 2020 01:23:37 -0300
Subject: Tulimshar Inn

---
 conf/map/maps.conf         |   2 +
 db/constants.conf          |   2 +
 db/map_index.txt           | 324 +++++++++++++++++++++++----------------------
 maps/re/003-1.mcache       | Bin 1305 -> 1316 bytes
 maps/re/003-9-1.mcache     | Bin 0 -> 119 bytes
 maps/re/003-9.mcache       | Bin 0 -> 230 bytes
 npc/003-1/_warps.txt       |   2 +
 npc/003-1/sewer.txt        |  15 +++
 npc/003-10/slots.txt       |  32 +----
 npc/003-9-1/_import.txt    |   3 +
 npc/003-9-1/_warps.txt     |   3 +
 npc/003-9/_import.txt      |   6 +
 npc/003-9/_warps.txt       |  14 ++
 npc/003-9/gambler.txt      |  80 +++++++++++
 npc/003-9/recepcionist.txt |  17 +++
 npc/003-9/scripted.txt     |  16 +++
 npc/_import.txt            |   2 +
 17 files changed, 327 insertions(+), 191 deletions(-)
 create mode 100644 maps/re/003-9-1.mcache
 create mode 100644 maps/re/003-9.mcache
 create mode 100644 npc/003-9-1/_import.txt
 create mode 100644 npc/003-9-1/_warps.txt
 create mode 100644 npc/003-9/_import.txt
 create mode 100644 npc/003-9/_warps.txt
 create mode 100644 npc/003-9/gambler.txt
 create mode 100644 npc/003-9/recepcionist.txt
 create mode 100644 npc/003-9/scripted.txt

diff --git a/conf/map/maps.conf b/conf/map/maps.conf
index 2dfd1f03b..6a25c0473 100644
--- a/conf/map/maps.conf
+++ b/conf/map/maps.conf
@@ -41,6 +41,8 @@ map_list: (
     "003-6",
     "003-7",
     "003-8",
+    "003-9-1",
+    "003-9",
     "004-1",
     "004-2-1",
     "004-2",
diff --git a/db/constants.conf b/db/constants.conf
index 3e81cbaa0..44d689d98 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -4000,6 +4000,7 @@ constants_db: {
 	NPC_SWORDS_SIGN:        229
 	NPC_SWORDS_SIGN2:       230
 	NPC_TOMBOY:             231
+	NPC_LOF_BARKEEPER:      232
 	NPC_LOF_STRANGER:       234
 	NPC_LOF_NOBLEMAN:       235
 	NPC_SHEILA:             236
@@ -4222,6 +4223,7 @@ constants_db: {
 	EE_DEMURE:              2
     EE_PRSM:                4
     EE_MAGICSCHOOL:         8
+    EE_THEATER:            16
 
 	comment__: "Teleporter enum"
 	TP_NONE:                0
diff --git a/db/map_index.txt b/db/map_index.txt
index 65a9886c8..40b1cf28f 100644
--- a/db/map_index.txt
+++ b/db/map_index.txt
@@ -38,164 +38,166 @@
 003-6 38
 003-7 39
 003-8 40
-004-1 41
-004-2-1 42
-004-2 43
-005-1-1 44
-005-1 45
-005-2-1 46
-005-2 47
-005-3 48
-005-4 49
-005-5 50
-005-6 51
-005-7 52
-006-0 53
-006-1 54
-007-1 55
-008-0 56
-008-1 57
-008-2 58
-009-1 59
-009-2 60
-009-3 61
-009-4 62
-009-5 63
-009-6 64
-009-7 65
-010-1-1 66
-010-1 67
-010-2 68
-011-1 69
-011-2 70
-011-3 71
-012-1 72
-012-2 73
-012-3 74
-012-4 75
-012-5 76
-012-6 77
-012-7 78
-012-8 79
-013-1 80
-014-1 81
-014-2-1 82
-014-2 83
-014-3 84
-014-4 85
-014-5-1 86
-014-5 87
-015-1 88
-015-2 89
-015-3 90
-015-4 91
-015-5 92
-015-6 93
-015-7 94
-015-8-1 95
-015-8 96
-016-1 97
-016-6 98
-016-7 99
-017-1 100
-017-10 101
-017-2-1 102
-017-2-2 103
-017-2 104
-017-3 105
-017-4 106
-017-5 107
-017-6 108
-017-7 109
-017-8 110
-018-1-1 111
-018-1 112
-018-2-1 113
-018-2-2 114
-018-2-3 115
-018-2-4 116
-018-2-5 117
-018-2 118
-018-3 119
-018-4-1 120
-018-4-2 121
-018-4 122
-018-5-0 123
-018-5-1 124
-018-5-2 125
-018-5-3 126
-018-5-4 127
-018-5-boss 128
-018-5 129
-018-6-0 130
-018-6-1 131
-018-6-2 132
-018-6-3 133
-019-1-1 134
-019-1 135
-019-2 136
-019-3 137
-019-4-1 138
-019-4 139
-020-1 140
-020-2 141
-020-3 142
-020-4 143
-020-5 144
-020-6 145
-020-7-1 146
-020-7-2 147
-020-7 148
-021-1 149
-021-2 150
-021-3 151
-021-4 152
-022-1 153
-023-1 154
-023-2 155
-023-3-1 156
-023-3-2 157
-023-3 158
-024-1 159
-024-10 160
-024-11 161
-024-12 162
-024-13 163
-024-14 164
-024-15 165
-024-16 166
-024-2 167
-024-3 168
-024-4 169
-024-5 170
-024-6 171
-024-7 172
-024-8 173
-024-9 174
-025-2-1 175
-025-2 176
-027-1 177
-boss 178
-botcheck 179
-guilds 180
-maze0 181
-maze1 182
-maze10 183
-maze11 184
-maze12 185
-maze13 186
-maze14 187
-maze15 188
-maze2 189
-maze3 190
-maze4 191
-maze5 192
-maze6 193
-maze7 194
-maze8 195
-maze9 196
-sec_pri 197
-soren-2 198
-soren 199
-test 200
-testbg 201
+003-9-1 41
+003-9 42
+004-1 43
+004-2-1 44
+004-2 45
+005-1-1 46
+005-1 47
+005-2-1 48
+005-2 49
+005-3 50
+005-4 51
+005-5 52
+005-6 53
+005-7 54
+006-0 55
+006-1 56
+007-1 57
+008-0 58
+008-1 59
+008-2 60
+009-1 61
+009-2 62
+009-3 63
+009-4 64
+009-5 65
+009-6 66
+009-7 67
+010-1-1 68
+010-1 69
+010-2 70
+011-1 71
+011-2 72
+011-3 73
+012-1 74
+012-2 75
+012-3 76
+012-4 77
+012-5 78
+012-6 79
+012-7 80
+012-8 81
+013-1 82
+014-1 83
+014-2-1 84
+014-2 85
+014-3 86
+014-4 87
+014-5-1 88
+014-5 89
+015-1 90
+015-2 91
+015-3 92
+015-4 93
+015-5 94
+015-6 95
+015-7 96
+015-8-1 97
+015-8 98
+016-1 99
+016-6 100
+016-7 101
+017-1 102
+017-10 103
+017-2-1 104
+017-2-2 105
+017-2 106
+017-3 107
+017-4 108
+017-5 109
+017-6 110
+017-7 111
+017-8 112
+018-1-1 113
+018-1 114
+018-2-1 115
+018-2-2 116
+018-2-3 117
+018-2-4 118
+018-2-5 119
+018-2 120
+018-3 121
+018-4-1 122
+018-4-2 123
+018-4 124
+018-5-0 125
+018-5-1 126
+018-5-2 127
+018-5-3 128
+018-5-4 129
+018-5-boss 130
+018-5 131
+018-6-0 132
+018-6-1 133
+018-6-2 134
+018-6-3 135
+019-1-1 136
+019-1 137
+019-2 138
+019-3 139
+019-4-1 140
+019-4 141
+020-1 142
+020-2 143
+020-3 144
+020-4 145
+020-5 146
+020-6 147
+020-7-1 148
+020-7-2 149
+020-7 150
+021-1 151
+021-2 152
+021-3 153
+021-4 154
+022-1 155
+023-1 156
+023-2 157
+023-3-1 158
+023-3-2 159
+023-3 160
+024-1 161
+024-10 162
+024-11 163
+024-12 164
+024-13 165
+024-14 166
+024-15 167
+024-16 168
+024-2 169
+024-3 170
+024-4 171
+024-5 172
+024-6 173
+024-7 174
+024-8 175
+024-9 176
+025-2-1 177
+025-2 178
+027-1 179
+boss 180
+botcheck 181
+guilds 182
+maze0 183
+maze1 184
+maze10 185
+maze11 186
+maze12 187
+maze13 188
+maze14 189
+maze15 190
+maze2 191
+maze3 192
+maze4 193
+maze5 194
+maze6 195
+maze7 196
+maze8 197
+maze9 198
+sec_pri 199
+soren-2 200
+soren 201
+test 202
+testbg 203
diff --git a/maps/re/003-1.mcache b/maps/re/003-1.mcache
index d5f089708..7535303c3 100644
Binary files a/maps/re/003-1.mcache and b/maps/re/003-1.mcache differ
diff --git a/maps/re/003-9-1.mcache b/maps/re/003-9-1.mcache
new file mode 100644
index 000000000..0848c0799
Binary files /dev/null and b/maps/re/003-9-1.mcache differ
diff --git a/maps/re/003-9.mcache b/maps/re/003-9.mcache
new file mode 100644
index 000000000..9f9dd372d
Binary files /dev/null and b/maps/re/003-9.mcache differ
diff --git a/npc/003-1/_warps.txt b/npc/003-1/_warps.txt
index e552f7c33..2b9dc08e6 100644
--- a/npc/003-1/_warps.txt
+++ b/npc/003-1/_warps.txt
@@ -22,3 +22,5 @@
 003-1,52,35,0	warp	#003-1_52_35	1,0,003-0-1,48,51
 003-1,49,23,0	warp	#003-1_49_23	0,0,003-0-1,22,25
 003-1,54,23,0	warp	#003-1_54_23	0,0,003-0-1,69,24
+003-1,70,137,0	warp	#003-1_70_137	0,0,003-9,62,135
+003-1,64,130,0	warp	#003-1_64_130	0,0,003-9,36,56
diff --git a/npc/003-1/sewer.txt b/npc/003-1/sewer.txt
index 408347145..b490f9923 100644
--- a/npc/003-1/sewer.txt
+++ b/npc/003-1/sewer.txt
@@ -39,3 +39,18 @@
     close;
 }
 
+003-1,73,133,0	script	#ToTheater	NPC_HIDDEN,0,0,{
+    end;
+
+OnTouch:
+    warp "003-9-1", 27, 37;
+    .@q=getq(General_EasterEggs);
+
+    if (!(.@q & EE_THEATER)) {
+        setq General_EasterEggs, .@q|EE_THEATER;
+        dispbottom l("For finding an Easter Egg, you got Strange Coins!");
+        getitem StrangeCoin, 2;
+    }
+
+    end;
+}
diff --git a/npc/003-10/slots.txt b/npc/003-10/slots.txt
index c3e845b27..add4b10e0 100644
--- a/npc/003-10/slots.txt
+++ b/npc/003-10/slots.txt
@@ -42,8 +42,8 @@ L_Menu:
     menu
         rif(countitem(CasinoCoins) >= 1, l("Spin!")), L_Spin,
         l("Prizes"), L_Info,
-        l("Trade"), L_Trade,
-        l("Leave"), L_Quit;
+        l("Leave"), -;
+    close;
 
 L_Info:
     mes "";
@@ -82,37 +82,9 @@ L_Spin:
     next;
     goto L_Menu;
 
-L_Trade:
-    openshop;
-    closedialog;
-    close;
-
-L_Quit:
-    close;
-
 OnInit:
     .sex = G_OTHER;
     .distance = 4;
-	tradertype(NST_CUSTOM);
-
-    sellitem MercBoxA, 940;
-    sellitem JeansShorts, 820;
-	sellitem ElixirOfLife, 150;
-    sellitem PoisonArrow, 30;
-    sellitem StrangeCoin, 5;
     end;
-
-OnCountFunds:
-	setcurrency(countitem(CasinoCoins));
-	end;
-
-OnPayFunds:
-	if( countitem(CasinoCoins) < @price )
-		end;
-	delitem CasinoCoins,@price;
-	purchaseok();
-	end;
-
-
 }
 
diff --git a/npc/003-9-1/_import.txt b/npc/003-9-1/_import.txt
new file mode 100644
index 000000000..073f5c712
--- /dev/null
+++ b/npc/003-9-1/_import.txt
@@ -0,0 +1,3 @@
+// Map 003-9-1: Tulimshar Theater
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-9-1/_warps.txt",
diff --git a/npc/003-9-1/_warps.txt b/npc/003-9-1/_warps.txt
new file mode 100644
index 000000000..5d7acc8fa
--- /dev/null
+++ b/npc/003-9-1/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-9-1: Tulimshar Theater warps
+003-9-1,26,38,0	warp	#003-9-1_26_38	0,0,003-1,72,133
diff --git a/npc/003-9/_import.txt b/npc/003-9/_import.txt
new file mode 100644
index 000000000..49e21f7ce
--- /dev/null
+++ b/npc/003-9/_import.txt
@@ -0,0 +1,6 @@
+// Map 003-9: Tulimshar Inn
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/003-9/_warps.txt",
+"npc/003-9/gambler.txt",
+"npc/003-9/recepcionist.txt",
+"npc/003-9/scripted.txt",
diff --git a/npc/003-9/_warps.txt b/npc/003-9/_warps.txt
new file mode 100644
index 000000000..dd9e5a9bd
--- /dev/null
+++ b/npc/003-9/_warps.txt
@@ -0,0 +1,14 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 003-9: Tulimshar Inn warps
+003-9,62,136,0	warp	#003-9_62_136	0,0,003-1,70,138
+003-9,48,92,0	script	#003-9_48_92	NPC_HIDDEN,1,0,{
+	end;
+OnTouch:
+	slide 47,56; end;
+}
+003-9,48,57,0	script	#003-9_48_57	NPC_HIDDEN,1,0,{
+	end;
+OnTouch:
+	slide 48,93; end;
+}
+003-9,36,57,0	warp	#003-9_36_57	0,0,003-1,64,131
diff --git a/npc/003-9/gambler.txt b/npc/003-9/gambler.txt
new file mode 100644
index 000000000..c553b3308
--- /dev/null
+++ b/npc/003-9/gambler.txt
@@ -0,0 +1,80 @@
+// TMW2 scripts.
+// Author:
+//    Jesusalva
+// Description:
+//    Tulimshar Inn Recepcionist
+
+003-9,42,123,0	script	Gambler Master	NPC_LOF_NOBLEMAN,{
+    mesn;
+    mesq l("Hello! Welcome to the Inn! I am an Alliance officer, and I oversee gambling all over the world!");
+    next;
+    mesn;
+    mesq l("So how can I help you?");
+    do
+    {
+        next;
+        select
+            l("I want to turn over my Casino Coins."),
+            l("How does Gambling works?"),
+            l("How can I obtain casino coins?"),
+            l("Nothing, thanks.");
+        mes "";
+        switch (@menu) {
+            case 1:
+                goto L_Trade;
+            case 2:
+                mesn;
+                mesq l("You find a slot machine or another gambler, and make a bet!");
+                next;
+                mesn;
+                mesq l("If you're right, you'll gain more Casino Coins! And even other nice things!");
+                next;
+                mesn;
+                mesq l("But if you're wrong, you'll have to pay up! There's no refunds. This is gambling, if you lose you lose!");
+                next;
+                mesn;
+                mesq l("If you're afraid of losing everything, then DEFINITELY do not gamble. %%2");
+                break;
+            case 3:
+                mesn;
+                mesq l("I dunno. I don't think they're sold anywhere.");
+                next;
+                mesn;
+                mesq l("I know a few bandits stole a few, and Lava Slimes love to eat Casino Coins.");
+                next;
+                mesn;
+                mesq l("I've even heard of people whom dug Casino Coins out of the ground, but as I said, I don't know. But you'll certainly come across a few o your adventures!");
+                break;
+        }
+    } while (@menu != 4);
+    close;
+
+L_Trade:
+    openshop;
+    closedialog;
+    close;
+
+OnInit:
+    .sex = G_MALE;
+    .distance = 5;
+	tradertype(NST_CUSTOM);
+
+    sellitem MercBoxA, 940;
+    sellitem JeansShorts, 820;
+	sellitem ElixirOfLife, 150;
+    sellitem PoisonArrow, 30;
+    sellitem StrangeCoin, 5;
+    end;
+
+OnCountFunds:
+	setcurrency(countitem(CasinoCoins));
+	end;
+
+OnPayFunds:
+	if( countitem(CasinoCoins) < @price )
+		end;
+	delitem CasinoCoins,@price;
+	purchaseok();
+	end;
+}
+
diff --git a/npc/003-9/recepcionist.txt b/npc/003-9/recepcionist.txt
new file mode 100644
index 000000000..cda685472
--- /dev/null
+++ b/npc/003-9/recepcionist.txt
@@ -0,0 +1,17 @@
+// TMW2 scripts.
+// Author:
+//    Jesusalva
+// Description:
+//    Tulimshar Inn Recepcionist
+
+003-9,62,128,0	script	Recepcionist#TInn	NPC_LOF_BARKEEPER,{
+    npctalk3 l("Hello, and welcome to Tulimshar Inn.");
+    emote E_HAPPY;
+    close;
+
+OnInit:
+    .sex = G_FEMALE;
+    .distance = 5;
+    end;
+}
+
diff --git a/npc/003-9/scripted.txt b/npc/003-9/scripted.txt
new file mode 100644
index 000000000..3e5f6f970
--- /dev/null
+++ b/npc/003-9/scripted.txt
@@ -0,0 +1,16 @@
+// TMW2 scripts.
+// Author:
+//    Jesusalva
+// Description:
+//    Scripted functions (Lua)
+
+003-9,58,121,0	script	#TInnClockPassage	NPC_NO_SPRITE,{
+    dispbottom l("If I only could find another way in...");
+    close;
+
+OnInit:
+    .sex = G_OTHER;
+    .distance = 3;
+    end;
+}
+
diff --git a/npc/_import.txt b/npc/_import.txt
index e28a6a0fb..738391d3b 100644
--- a/npc/_import.txt
+++ b/npc/_import.txt
@@ -40,6 +40,8 @@
 @include "npc/003-6/_import.txt"
 @include "npc/003-7/_import.txt"
 @include "npc/003-8/_import.txt"
+@include "npc/003-9-1/_import.txt"
+@include "npc/003-9/_import.txt"
 @include "npc/004-1/_import.txt"
 @include "npc/004-2-1/_import.txt"
 @include "npc/004-2/_import.txt"
-- 
cgit v1.2.3-70-g09d2