summaryrefslogtreecommitdiff
path: root/world/map
diff options
context:
space:
mode:
authorHoraK-FDF <horak-fdf@web.de>2024-06-01 11:20:10 +0200
committerLed Mitz <smoothshifter@tuta.io>2024-06-06 19:46:45 +0000
commit62a866fb025efa73994ce11fa0638125953f224d (patch)
tree605b0d0bbef768b7acdd3199a289487583af0a20 /world/map
parente7c3aa5af6e13bd6febfb024a32f0166a2e33cbd (diff)
downloadserverdata-62a866fb025efa73994ce11fa0638125953f224d.tar.gz
serverdata-62a866fb025efa73994ce11fa0638125953f224d.tar.bz2
serverdata-62a866fb025efa73994ce11fa0638125953f224d.tar.xz
serverdata-62a866fb025efa73994ce11fa0638125953f224d.zip
KeepAfterUse + DontUseAmmo
Diffstat (limited to 'world/map')
-rw-r--r--world/map/db/item_db.conf17
-rw-r--r--world/map/db/item_db_use.txt38
-rw-r--r--world/map/db/item_db_weapon.txt2
-rw-r--r--world/map/npc/items/maps.txt9
-rw-r--r--world/map/npc/items/rubber_bat.txt1
-rw-r--r--world/map/npc/items/rubber_duck.txt5
-rw-r--r--world/map/npc/items/scissors.txt1
-rw-r--r--world/map/npc/items/shovel.txt5
-rw-r--r--world/map/npc/items/silver_bell.txt4
-rw-r--r--world/map/npc/items/warpTowels.txt15
-rw-r--r--world/map/npc/scripts.conf2
11 files changed, 58 insertions, 41 deletions
diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf
index 466b9526..60a97c4c 100644
--- a/world/map/db/item_db.conf
+++ b/world/map/db/item_db.conf
@@ -1611,7 +1611,12 @@ item_db: (
Loc: "EQP_HAND_R"
Refine: false
ViewSprite: 910
+ DontUseAmmo: true
Subtype: "W_BOW"
+ Script: <"
+ //set @LauncherType, AMMO_DONT_USE; // @TMWA
+ //callfunc "CheckLauncher"; // @TMWA
+ ">
},
{
Id: 1227
@@ -16237,9 +16242,8 @@ item_db: (
} else { //@EVOL2
doevent "Shovel::OnDig"; //@EVOL2
} //@EVOL2
- //getitem IronShovel, 1; // @TMWA
+ //callfunc "useShovel"; // @TMWA
">
- // TODO: add keep after use flag to evolved.py and tmwa and replicate the 5 lines above
},
{
Id: 5330
@@ -16542,7 +16546,8 @@ item_db: (
noauction: true
noselltonpc: true
Script: <"
- getitem PirateTreasureMap, 1;
+ set @MapName$, "PirateTreasureMap";
+ callfunc "readMap";
">
}
},
@@ -16565,7 +16570,8 @@ item_db: (
noauction: true
noselltonpc: true
Script: <"
- getitem DungeonMap, 1;
+ set @MapName$, "DungeonMap";
+ callfunc "readMap";
">
}
},
@@ -16588,7 +16594,8 @@ item_db: (
noauction: true
noselltonpc: true
Script: <"
- getitem TreasureMap, 1;
+ set @MapName$, "TreasureMap";
+ callfunc "readMap";
">
}
},
diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt
index 95e38ed5..a1b8ff96 100644
--- a/world/map/db/item_db_use.txt
+++ b/world/map/db/item_db_use.txt
@@ -56,18 +56,18 @@
788, BeetleJuice, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
789, GutBuster, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 60, 0, 1;}, {}
790, BloodWine, 0, 150, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
-808, HitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {}
-809, WhiteHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {}
-810, RedHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {}
-811, GreenHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {}
-812, BlueHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {}
-813, YellowHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {}
-814, PurpleHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {}
-815, OrangeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {}
+808, HitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {}
+809, WhiteHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {}
+810, RedHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {}
+811, GreenHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {}
+812, BlueHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {}
+813, YellowHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {}
+814, PurpleHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {}
+815, OrangeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {}
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
-816, PinkHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {}
-817, TealHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {}
-818, LimeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {}
+816, PinkHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {}
+817, TealHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {}
+818, LimeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {}
825, TinyManaElixir, 0, 100, 10, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 25, 1;}, {}
826, SmallManaElixir, 0, 200, 20, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 50, 1;}, {}
827, MediumManaElixir, 0, 400, 40, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 100, 1;}, {}
@@ -76,7 +76,7 @@
839, GrapeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
840, OrangeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {}
1189, PollettEgg, 0, 250, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 75, 10, 1;}, {}
-1226, SilverBell, 0, 6000, 3000, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "SilverBellSound";}, {}
+1226, SilverBell, 0, 6000, 3000, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "SilverBellSound";}, {}
1229, CaramelApple, 0, 500, 75, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 1000, 0, 1;}, {}
1230, LollipopColor1, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
1231, LollipopColor2, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
@@ -88,9 +88,9 @@
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
1253, GoldenDeliciousApple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 0, 0;}, {}
1258, GlutenFreeHoney, 0, 100, 50, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 45, 0, 1;}, {}
-1280, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useScissors";}, {}
+1280, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "useScissors";}, {}
1281, ShockSweet, 0, 1000, 500, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useShockSweet";}, {}
-3001, RubberBat, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "rubberBat";}, {}
+3001, RubberBat, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "rubberBat";}, {}
3006, TonoriDelight, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 2, 1;}, {}
3007, Marshmallow, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
3009, JellySkull, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 0, 1;}, {}
@@ -117,7 +117,7 @@
5309, ManaDust, 0, 125, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 35, 15, 1;}, {}
5310, EnlighteningElixir, 0, 500, 250, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_MATKPOT, 60, 100;}, {}
5312, Honey, 0, 300, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 50, 1;}, {}
-5329, IronShovel, 0, 5000, 750, 210, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {getitem IronShovel, 1;}, {}
+5329, IronShovel, 0, 5000, 750, 210, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "useShovel";}, {}
5330, ShadowScroll, 0, 5000, 1000, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "UnreleasedScroll";}, {}
5331, YellowApple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {}
5333, Bread, 0, 80, 40, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {}
@@ -139,10 +139,10 @@
5348, FruitSalad, 0, 240, 120, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 475, 0, 1;}, {}
5349, DuckEgg, 0, 200, 100, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 150, 50, 1;}, {}
5350, Dragonfruit, 0, 230, 115, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 600, 0, 1;}, {}
-5351, PirateTreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem PirateTreasureMap, 1;}, {}
-5352, DungeonMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem DungeonMap, 1;}, {}
-5353, TreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem TreasureMap, 1;}, {}
-5354, RubberDucky, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "rubberDuck";}, {}
+5351, PirateTreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "PirateTreasureMap"; callfunc "readMap";}, {}
+5352, DungeonMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "DungeonMap"; callfunc "readMap";}, {}
+5353, TreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "TreasureMap"; callfunc "readMap";}, {}
+5354, RubberDucky, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "rubberDuck";}, {}
5364, ButterButterfly, 0, 500, 250, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 55, 0, 1;}, {}
5373, JunglefowlEgg, 0, 400, 200, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {}
5374, KingChonkyBirbEgg, 0, 1500, 750, 22, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {}
diff --git a/world/map/db/item_db_weapon.txt b/world/map/db/item_db_weapon.txt
index 98310635..17fdcbf0 100644
--- a/world/map/db/item_db_weapon.txt
+++ b/world/map/db/item_db_weapon.txt
@@ -46,7 +46,7 @@
//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript}
906, KidBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 1, 15, 0, {}, {}
907, FloydBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 135, 15, 7, {}, {}
-910, Rainerang, 4, 10000, 5000, 115, 60, 0, 4, 0, 0, 2, 2, 1, 0, 11, 0, {}, {}
+910, Rainerang, 4, 10000, 5000, 115, 60, 0, 4, 0, 0, 2, 2, 1, 0, 11, 32, {}, {set @LauncherType, AMMO_DONT_USE; callfunc "CheckLauncher";}
1170, SweetTooth, 4, 4000, 2000, 1000, 50, 0, 2, 15, 0, 2, 34, 1, 1, 23, 0, {}, {set @bStat, Int; set @minbStatVal, 60; callfunc "RequireStat";}
1171, Wand, 4, 400, 200, 100, 1, 0, 1, 5, 0, 2, 2, 1, 1, 10, 0, {}, {set @bStat, Int; set @minbStatVal, 5; callfunc "RequireStat";}
1199, Arrow, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";}
diff --git a/world/map/npc/items/maps.txt b/world/map/npc/items/maps.txt
new file mode 100644
index 00000000..29d54e7d
--- /dev/null
+++ b/world/map/npc/items/maps.txt
@@ -0,0 +1,9 @@
+function|script|readMap
+{
+ message strcharinfo(0), "You have no clue how to use this item yet.";
+ goto L_Return;
+
+L_Return:
+ set @MapName$, "";
+ return;
+}
diff --git a/world/map/npc/items/rubber_bat.txt b/world/map/npc/items/rubber_bat.txt
index 0bf80ede..a849b40d 100644
--- a/world/map/npc/items/rubber_bat.txt
+++ b/world/map/npc/items/rubber_bat.txt
@@ -6,7 +6,6 @@ function|script|rubberBat
goto L_Return;
L_Return:
- getitem "RubberBat", 1;
// debugmes "Check";
if ($DOOMSDAY == 3)
addtimer 10, "#TMWFinalExam::OnRubberBat";
diff --git a/world/map/npc/items/rubber_duck.txt b/world/map/npc/items/rubber_duck.txt
index 3f591c15..3dba2368 100644
--- a/world/map/npc/items/rubber_duck.txt
+++ b/world/map/npc/items/rubber_duck.txt
@@ -1,11 +1,10 @@
function|script|rubberDuck
{
- if (gettimetick(2) - @lastbat < 2) goto L_Return;
+ if (gettimetick(2) - @lastduck < 3) goto L_Return;
misceffect 406;
- set @lastbat, gettimetick(2);
+ set @lastduck, gettimetick(2);
goto L_Return;
L_Return:
- getitem "RubberDucky", 1;
return;
}
diff --git a/world/map/npc/items/scissors.txt b/world/map/npc/items/scissors.txt
index fbf3b344..2e12c6b1 100644
--- a/world/map/npc/items/scissors.txt
+++ b/world/map/npc/items/scissors.txt
@@ -1,6 +1,5 @@
function|script|useScissors
{
- getitem "Scissors", 1;
if (rand(3))
goto L_Change;
message strcharinfo(0), "Whoops!";
diff --git a/world/map/npc/items/shovel.txt b/world/map/npc/items/shovel.txt
new file mode 100644
index 00000000..b706f1fe
--- /dev/null
+++ b/world/map/npc/items/shovel.txt
@@ -0,0 +1,5 @@
+function|script|useShovel
+{
+ message strcharinfo(0), "You have no clue how to use this item yet.";
+ return;
+}
diff --git a/world/map/npc/items/silver_bell.txt b/world/map/npc/items/silver_bell.txt
index 8a791bff..c1ea2e50 100644
--- a/world/map/npc/items/silver_bell.txt
+++ b/world/map/npc/items/silver_bell.txt
@@ -1,12 +1,10 @@
function|script|SilverBellSound
{
- if (gettimetick(2) - @lastsilverbell < 20) goto L_Return;
+ if (gettimetick(2) - @lastsilverbell < 3) goto L_Return;
misceffect 404;
set @lastsilverbell, gettimetick(2);
goto L_Return;
L_Return:
- getitem "SilverBell", 1;
-// debugmes "Check";
return;
}
diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt
index 77a405b5..7ea7ec17 100644
--- a/world/map/npc/items/warpTowels.txt
+++ b/world/map/npc/items/warpTowels.txt
@@ -117,26 +117,25 @@ L_WarpPlayer:
goto L_BreakChance;
L_BreakChance:
- if (rand(15))
- goto L_Keep;
- getitem "HitchhikersTowel", 1;
+ if (@warpTowelName$ != "HitchhikersTowel" && rand(15) < 1)
+ goto L_Break;
goto L_End;
L_Forbid:
message strcharinfo(0), "Towel : This area is protected by a force that doesn't tolerate the power of the Towel.";
- goto L_Keep;
+ goto L_End;
L_Prison:
message strcharinfo(0), "Towel : You must be warped by a GM to leave the botcheck area.";
- goto L_Keep;
+ goto L_End;
L_DontPanic:
callfunc "HumanTime";
message strcharinfo(0), "Towel : Your towel is still too low on power to jump again. Try again in ##B"+ @time$ + "##b.";
- goto L_Keep;
+ goto L_End;
-L_Keep:
- getitem @warpTowelName$, 1;
+L_Break:
+ delitem @warpTowelName$, 1;
goto L_End;
L_End:
diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf
index 512c8d48..17045566 100644
--- a/world/map/npc/scripts.conf
+++ b/world/map/npc/scripts.conf
@@ -62,6 +62,8 @@ npc: npc/items/love_potion.txt
npc: npc/items/manapearl_item.txt
npc: npc/items/underworld_troll.txt
npc: npc/items/silver_bell.txt
+npc: npc/items/shovel.txt
+npc: npc/items/maps.txt
// Mob Functions
npc: npc/mobs/miner_mania.txt