From e7cdc225b5461e1e19b11bf0140b700b0cb46909 Mon Sep 17 00:00:00 2001 From: Freeyorp Date: Fri, 31 May 2024 09:36:59 +0000 Subject: Hasan: Fix longstanding typo --- world/map/npc/029-1/hasan.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/029-1/hasan.txt b/world/map/npc/029-1/hasan.txt index b87794dc..1310cb47 100644 --- a/world/map/npc/029-1/hasan.txt +++ b/world/map/npc/029-1/hasan.txt @@ -50,7 +50,7 @@ L_Main: mes "\"Thats why the price is so high.\""; mes "\"Because I'm the toughest person in all of Candor\""; mes "[Scared Man]"; - mes "\"No, your just a mean bully. Wait till I tell the guards about this!\""; + mes "\"No, you're just a mean bully. Wait till I tell the guards about this!\""; mes "[Unfriendly Guy]"; mes "\"You do that and the next swimming lesson will be sleeping with the fishes.\""; mes "[Scared Man]"; -- cgit v1.2.3-70-g09d2 From 080c0cdb400edd727e64b82c5202fdd2ffbe00c1 Mon Sep 17 00:00:00 2001 From: Fedja Beader Date: Sat, 1 Jun 2024 01:07:18 +0200 Subject: Add EmptyBottle return to player to some quests that consume water bottles. --- world/map/npc/008-1/andra.txt | 2 ++ world/map/npc/018-2/caul.txt | 1 + world/map/npc/030-2/wrapping_paper_helper.txt | 15 ++++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/world/map/npc/008-1/andra.txt b/world/map/npc/008-1/andra.txt index 68796fd7..4d643fc6 100644 --- a/world/map/npc/008-1/andra.txt +++ b/world/map/npc/008-1/andra.txt @@ -54,6 +54,7 @@ L_Next4: mes "\"Great! Thank you for you help. If you have more items and want to help again, feel free to talk to me. We just have to be careful to not oversoak the soil with water.. but you don't need to worry, I will know when it is the right time to stop planting."; next; delitem "BottleOfWater", @water_amount; + getitem "EmptyBottle", @water_amount; // simply falls out if inv full. delitem "GrassSeed", @seeds_amount; set FLAGS, FLAGS | FLAG_ANDRA_HELPED; mes "Andra pours some water in a lot of different places and then throws some seeds to the sky. The wind carries some of them really far from her."; @@ -118,6 +119,7 @@ L_Next5: if ($@spawned_plants >= $@MAX_GLOBAL_PLANTS) goto L_Gather; if (countitem("BottleOfWater") < @water_amount || countitem("GrassSeed") < @seeds_amount) goto L_NotEnough; delitem "BottleOfWater", @water_amount; + getitem "EmptyBottle", @water_amount; // simply falls out if inv full. delitem "GrassSeed", @seeds_amount; mes "Andra pours some water in a lot of different places and then throws the seeds to the sky. The wind carries some of them really far from her."; close2; diff --git a/world/map/npc/018-2/caul.txt b/world/map/npc/018-2/caul.txt index 66f99a6e..f8134105 100644 --- a/world/map/npc/018-2/caul.txt +++ b/world/map/npc/018-2/caul.txt @@ -784,6 +784,7 @@ L_brew_dempo_init: delitem "BottleOfWater", 1; delitem "Bone", 1; delitem "Lifestone", 1; + getitem "EmptyBottle", 1; set @finish_dempo, 0; // color can be either black or white at the beginning. diff --git a/world/map/npc/030-2/wrapping_paper_helper.txt b/world/map/npc/030-2/wrapping_paper_helper.txt index 3ac10b12..4571d5e6 100644 --- a/world/map/npc/030-2/wrapping_paper_helper.txt +++ b/world/map/npc/030-2/wrapping_paper_helper.txt @@ -48,7 +48,7 @@ L_Again: L_White: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("WhiteWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("WhiteWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("PileOfAsh") < $@xmas_poa_amount)) goto L_NoItems; @@ -56,13 +56,14 @@ getinventorylist; delitem "BottleOfWater", $@xmas_water_amount; delitem "PileOfAsh", $@xmas_poa_amount; getitem "WhiteWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"This one is classical.\""; goto L_MadePaper; L_Yellow: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("YellowWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("YellowWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("YellowDye") < $@xmas_wrap_yellow_amount)) goto L_NoItems; @@ -70,13 +71,14 @@ L_Yellow: delitem "BottleOfWater", $@xmas_water_amount; delitem "YellowDye", $@xmas_wrap_yellow_amount; getitem "YellowWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Right, bright paper brings good vibes.\""; goto L_MadePaper; L_Blue: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("BlueWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("BlueWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("LightBlueDye") < $@xmas_wrap_ltblue_amount)) goto L_NoItems; @@ -84,13 +86,14 @@ L_Blue: delitem "BottleOfWater", $@xmas_water_amount; delitem "LightBlueDye", $@xmas_wrap_ltblue_amount; getitem "BlueWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Plain and simple. Here.\""; goto L_MadePaper; L_Purple: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("PurpleWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("PurpleWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("PurpleDye") < $@xmas_wrap_purple_amount)) goto L_NoItems; @@ -98,13 +101,14 @@ L_Purple: delitem "BottleOfWater", $@xmas_water_amount; delitem "PurpleDye", $@xmas_wrap_purple_amount; getitem "PurpleWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Mh, personally I don't like it that much, but here you go.\""; goto L_MadePaper; L_Green: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("GreenWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("GreenWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("GreenDye") < $@xmas_wrap_green_amount)) goto L_NoItems; @@ -112,6 +116,7 @@ L_Green: delitem "BottleOfWater", $@xmas_water_amount; delitem "GreenDye", $@xmas_wrap_green_amount; getitem "GreenWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Yeah, this is really Christmas-styled.\""; goto L_MadePaper; -- cgit v1.2.3-70-g09d2 From 41f3d0d4730b7a2898f1fc245833437de561a09d Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 1 Jun 2024 07:45:59 +0200 Subject: Revert "Remove old news" This reverts commit 5f9c4532fa7e325ceb1b531227322ac0f4c56a30. --- world/map/news.d/09-winter2012.txt | 53 +++++++++++++++++++++++++++ world/map/news.d/10-news-news.txt | 7 ++++ world/map/news.d/11-CR-Jan13.txt | 15 ++++++++ world/map/news.d/12-manaplus.txt | 38 +++++++++++++++++++ world/map/news.d/13-lpc.txt | 40 ++++++++++++++++++++ world/map/news.d/14-bugfix-killthegmevent.txt | 13 +++++++ world/map/news.d/15-servermove.txt | 12 ++++++ world/map/news.d/16-servermoveagain.txt | 10 +++++ 8 files changed, 188 insertions(+) create mode 100644 world/map/news.d/09-winter2012.txt create mode 100644 world/map/news.d/10-news-news.txt create mode 100644 world/map/news.d/11-CR-Jan13.txt create mode 100644 world/map/news.d/12-manaplus.txt create mode 100644 world/map/news.d/13-lpc.txt create mode 100644 world/map/news.d/14-bugfix-killthegmevent.txt create mode 100644 world/map/news.d/15-servermove.txt create mode 100644 world/map/news.d/16-servermoveagain.txt diff --git a/world/map/news.d/09-winter2012.txt b/world/map/news.d/09-winter2012.txt new file mode 100644 index 00000000..01a04827 --- /dev/null +++ b/world/map/news.d/09-winter2012.txt @@ -0,0 +1,53 @@ +{title:Illia first appearance} +{date:December 2012 again} + +A new peninsula has magically raised from the depths, +south of Hurnscald. A witch seems to be the source of +this strange phenomenon. +Why is she here, and what does she want? + +Further on the west, Lora Tay is willing to accept +new challenges to prove once more her skills. + +{title:Christmas 2012} +{date:December 2012} + +Santa and his helpers have returned to Santa's residence +near Nivalis to prepare for Christmas. +Among the helpers, the preparations are moving smoothly +as they should. +The reinboos are excited this year since there will be a change +within their team! +But not everything is working out as planned. + +{title:Halloween 2012} +{date:November 2012} + +Halloween has passed and several cities celebrated this event. +It seems the farmer Oscar just came back from a long journey +in one of these cities. +Probably he will have exciting things to tell. + +{title:East Expansion} +{date:October 2012} + +The roadblock to the north east in Argaes was finally lifted +and parts of the road were reconstructed. +But there is still some work left until the connection to Port City is done. +In the Woods you can find a guy who lives alone, seeking seclusion. +Be careful not to disturb him. He is very vicious. + +The smith's apprentice Peter does good progress in mastering his +handcraft and learned some new techniques. + +{title:New Dress} +{date:September 2012} + +Agostine is well known for his magnificent winter clothes, +but he always dreamed of creating something truly exquisite, +something noble... + +An old veteran has set up camp in the caves below Hurnscald +after a life full of hardship and battle. +He may be old now, but he surely didn't lose his interest +in the art of combat! diff --git a/world/map/news.d/10-news-news.txt b/world/map/news.d/10-news-news.txt new file mode 100644 index 00000000..b4ab0817 --- /dev/null +++ b/world/map/news.d/10-news-news.txt @@ -0,0 +1,7 @@ +{title:Updating News generation} +{date:2013-01-23} + +News feed is finally generated from the same +source for both the game and the website. + +{author:o11c} diff --git a/world/map/news.d/11-CR-Jan13.txt b/world/map/news.d/11-CR-Jan13.txt new file mode 100644 index 00000000..2e6b177d --- /dev/null +++ b/world/map/news.d/11-CR-Jan13.txt @@ -0,0 +1,15 @@ +{title:Content Release January 2013} +{date:2013-01-26} + +This release brings a huge amount of small fixes +and changes, including fixes of several spelling +and map errors, which were reported by players. +Thanks for that! + +There are a few new things nevertheless: +New characters won't have to start their +adventure in underpants anymore, +and Doug in Dimond's Cove discovered that the +lamps in his room wear off after a while. + +{author:Jenalya} diff --git a/world/map/news.d/12-manaplus.txt b/world/map/news.d/12-manaplus.txt new file mode 100644 index 00000000..7c8ef578 --- /dev/null +++ b/world/map/news.d/12-manaplus.txt @@ -0,0 +1,38 @@ +{title:ManaPlus - new official Client} +{date:2013-01-31} + +ManaPlus Support + +We have decided to support ManaPlus as an +official client alongside Mana. In fact, since +there will likely be no more releases of the +Mana client that supports TMWA (this server), +there will inevitably be a time when ManaPlus +becomes the only supported client. + +Mana 0.6.1 will continue to receive some +support until October 2013. We have no plans +to specifically break compatibility with Mana, +but new features may not be available. + +For older clients (whether Mana or ManaPlus), +there will be different levels of attempted +support, depending on exactly how old it is: + +* Less than 6 months old: will not crash or + behave erratically. +* Less than 2 months old: will behave + expectedly, but might not support all features. +* Last 2 releases: will do everything, + correctly, on the main server. +* Last release, or even git, may be required + on the test server. + +Of course, if a particular client release is +buggy, we may not be able to support it at all. + +For more details, see {link:http://forums.themanaworld.org/viewtopic.php?f=4&t=16867}. + +ManaPlus is available at {link:http://manaplus.evolonline.org/} + +{author:o11c} diff --git a/world/map/news.d/13-lpc.txt b/world/map/news.d/13-lpc.txt new file mode 100644 index 00000000..b4197b10 --- /dev/null +++ b/world/map/news.d/13-lpc.txt @@ -0,0 +1,40 @@ +{title:Source of Tales won the LPC} +{date:2013-02-18} + +This is a really exciting news entry! + +Congratulations to our sister project Mana ({link:http://manasource.org}) +on winning the Liberated Pixel Cup ({link:http://lpc.opengameart.org/content/code-judging-is-in}). + +The project can be found at {link:http://www.sourceoftales.org/news.html} +and the irc channel at {link:irc://chat.freenode.net#sourceoftales}. + +We will undoubtedly experience an influx of both +ordinary players and potential developers since we +were linked as a related project. + +As a developer, it is my goal and expectation that +new players can figure things out on their own. +After all, I once did - though there wasn't as +much content back then (I feel old ...). + +As for new contributors, they will necessarily need +to coordinary with us, the developers. We're always +in need of pixel artists, have great capacity for +quest writers, and currently have need for a bit of +web development and people crazy enough to touch +insides of the server code. + +Be aware that people have different time zones and +busy schedules, so it may be a while before anyone +responds. + +Now, the links: + +Server coding: {link:irc://chat.freenode.net#tmwa} + +Everything else: {link:irc://chat.freenode.net#themanaworld-dev} + +Forums: {link:http://forums.themanaworld.org/} + +{author:o11c and Jenalya} diff --git a/world/map/news.d/14-bugfix-killthegmevent.txt b/world/map/news.d/14-bugfix-killthegmevent.txt new file mode 100644 index 00000000..249d23a3 --- /dev/null +++ b/world/map/news.d/14-bugfix-killthegmevent.txt @@ -0,0 +1,13 @@ +{title:Kill the GM} +{date:2013-02-21} + +Today we'll have a small content release. + +Among code cleaning and bug fixes, the +Tulimshar quests can be done in any order now. +Their completion isn't necessary anymore +to start the Bandit quest. + +Also, GMs may have a surprise for you someday. + +{author:V0id} diff --git a/world/map/news.d/15-servermove.txt b/world/map/news.d/15-servermove.txt new file mode 100644 index 00000000..deeb91e9 --- /dev/null +++ b/world/map/news.d/15-servermove.txt @@ -0,0 +1,12 @@ +{title:Server move} +{date:2013-03-09} + +As of this Saturday, March 9, TMW moved to a new host. +This means there was some downtime, starting at 16:00 UTC. + +Most work was done in 1.5 hours, with a brief shutdown later. +DNS settings may take a while to propogate. + +For more information, see {link:http://forums.themanaworld.org/viewtopic.php?f=1&t=17126} + +{author:the TMWC} diff --git a/world/map/news.d/16-servermoveagain.txt b/world/map/news.d/16-servermoveagain.txt new file mode 100644 index 00000000..1c368ba7 --- /dev/null +++ b/world/map/news.d/16-servermoveagain.txt @@ -0,0 +1,10 @@ +{title:Server moved again} +{date:2013-03-17} + +After the initial server move, The Mana World was subjected +to a three day DoS attack. +In response, we have moved a final time to a server that has +better protection against such attacks. +All game related services have been moved and are back to normal. + +{author:the TMWC} -- cgit v1.2.3-70-g09d2 From e7c3aa5af6e13bd6febfb024a32f0166a2e33cbd Mon Sep 17 00:00:00 2001 From: Thorbjørn Lindeijer Date: Sat, 1 Jun 2024 21:08:49 +0200 Subject: Split up 09-winter2012.txt and added authors To make it work properly with 'make news'. --- world/map/news.d/05-new-dress.txt | 13 ++++++++++ world/map/news.d/06-east-expansion.txt | 13 ++++++++++ world/map/news.d/07-halloween2012.txt | 9 +++++++ world/map/news.d/08-christmas2012.txt | 12 ++++++++++ world/map/news.d/09-winter2012.txt | 43 +--------------------------------- 5 files changed, 48 insertions(+), 42 deletions(-) create mode 100644 world/map/news.d/05-new-dress.txt create mode 100644 world/map/news.d/06-east-expansion.txt create mode 100644 world/map/news.d/07-halloween2012.txt create mode 100644 world/map/news.d/08-christmas2012.txt diff --git a/world/map/news.d/05-new-dress.txt b/world/map/news.d/05-new-dress.txt new file mode 100644 index 00000000..cd3302dd --- /dev/null +++ b/world/map/news.d/05-new-dress.txt @@ -0,0 +1,13 @@ +{title:New Dress} +{date:September 2012} + +Agostine is well known for his magnificent winter clothes, +but he always dreamed of creating something truly exquisite, +something noble... + +An old veteran has set up camp in the caves below Hurnscald +after a life full of hardship and battle. +He may be old now, but he surely didn't lose his interest +in the art of combat! + +{author:TMW Development Team} diff --git a/world/map/news.d/06-east-expansion.txt b/world/map/news.d/06-east-expansion.txt new file mode 100644 index 00000000..015acdf2 --- /dev/null +++ b/world/map/news.d/06-east-expansion.txt @@ -0,0 +1,13 @@ +{title:East Expansion} +{date:October 2012} + +The roadblock to the north east in Argaes was finally lifted +and parts of the road were reconstructed. +But there is still some work left until the connection to Port City is done. +In the Woods you can find a guy who lives alone, seeking seclusion. +Be careful not to disturb him. He is very vicious. + +The smith's apprentice Peter does good progress in mastering his +handcraft and learned some new techniques. + +{author:TMW Development Team} diff --git a/world/map/news.d/07-halloween2012.txt b/world/map/news.d/07-halloween2012.txt new file mode 100644 index 00000000..86689de1 --- /dev/null +++ b/world/map/news.d/07-halloween2012.txt @@ -0,0 +1,9 @@ +{title:Halloween 2012} +{date:November 2012} + +Halloween has passed and several cities celebrated this event. +It seems the farmer Oscar just came back from a long journey +in one of these cities. +Probably he will have exciting things to tell. + +{author:TMW Development Team} diff --git a/world/map/news.d/08-christmas2012.txt b/world/map/news.d/08-christmas2012.txt new file mode 100644 index 00000000..6bba8a14 --- /dev/null +++ b/world/map/news.d/08-christmas2012.txt @@ -0,0 +1,12 @@ +{title:Christmas 2012} +{date:December 2012} + +Santa and his helpers have returned to Santa's residence +near Nivalis to prepare for Christmas. +Among the helpers, the preparations are moving smoothly +as they should. +The reinboos are excited this year since there will be a change +within their team! +But not everything is working out as planned. + +{author:TMW Development Team} diff --git a/world/map/news.d/09-winter2012.txt b/world/map/news.d/09-winter2012.txt index 01a04827..52b9fb1f 100644 --- a/world/map/news.d/09-winter2012.txt +++ b/world/map/news.d/09-winter2012.txt @@ -9,45 +9,4 @@ Why is she here, and what does she want? Further on the west, Lora Tay is willing to accept new challenges to prove once more her skills. -{title:Christmas 2012} -{date:December 2012} - -Santa and his helpers have returned to Santa's residence -near Nivalis to prepare for Christmas. -Among the helpers, the preparations are moving smoothly -as they should. -The reinboos are excited this year since there will be a change -within their team! -But not everything is working out as planned. - -{title:Halloween 2012} -{date:November 2012} - -Halloween has passed and several cities celebrated this event. -It seems the farmer Oscar just came back from a long journey -in one of these cities. -Probably he will have exciting things to tell. - -{title:East Expansion} -{date:October 2012} - -The roadblock to the north east in Argaes was finally lifted -and parts of the road were reconstructed. -But there is still some work left until the connection to Port City is done. -In the Woods you can find a guy who lives alone, seeking seclusion. -Be careful not to disturb him. He is very vicious. - -The smith's apprentice Peter does good progress in mastering his -handcraft and learned some new techniques. - -{title:New Dress} -{date:September 2012} - -Agostine is well known for his magnificent winter clothes, -but he always dreamed of creating something truly exquisite, -something noble... - -An old veteran has set up camp in the caves below Hurnscald -after a life full of hardship and battle. -He may be old now, but he surely didn't lose his interest -in the art of combat! +{author:TMW Development Team} -- cgit v1.2.3-70-g09d2 From 62a866fb025efa73994ce11fa0638125953f224d Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 1 Jun 2024 11:20:10 +0200 Subject: KeepAfterUse + DontUseAmmo --- world/map/db/item_db.conf | 17 ++++++++++++----- world/map/db/item_db_use.txt | 38 ++++++++++++++++++------------------- world/map/db/item_db_weapon.txt | 2 +- world/map/npc/items/maps.txt | 9 +++++++++ world/map/npc/items/rubber_bat.txt | 1 - world/map/npc/items/rubber_duck.txt | 5 ++--- world/map/npc/items/scissors.txt | 1 - world/map/npc/items/shovel.txt | 5 +++++ world/map/npc/items/silver_bell.txt | 4 +--- world/map/npc/items/warpTowels.txt | 15 +++++++-------- world/map/npc/scripts.conf | 2 ++ 11 files changed, 58 insertions(+), 41 deletions(-) create mode 100644 world/map/npc/items/maps.txt create mode 100644 world/map/npc/items/shovel.txt 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 -- cgit v1.2.3-70-g09d2 From b01a7b0a96ff262fa8b6c19eb0ffef74a50fb0a7 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 1 Jun 2024 11:33:48 +0200 Subject: KeepAfterUse + DontUseAmmo const.txt --- world/map/db/const.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/world/map/db/const.txt b/world/map/db/const.txt index b60a2bff..2001e59b 100644 --- a/world/map/db/const.txt +++ b/world/map/db/const.txt @@ -77,6 +77,9 @@ AMMO_BOW 1 AMMO_SLING 2 AMMO_WAND 3 AMMO_XMAS 4 +AMMO_DONT_USE 5 +// using AMMO_DONT_USE with CheckLauncher removes all other ammos there must not be an ammo that uses AMMO_DONT_USE with CheckAmmo +// without this the the eqipped ammo would not removed and ammo could still be eqipped and it does not matter what ammo and the ammo damage would be added to the final weapon damage // Hairstyles HS_Bald 0 @@ -531,4 +534,3 @@ MLP_CR_DEBUT 4 // Local Quest Constants MLP_TMW_CELESTIA 1 MLP_TMW_YETIKING 2 - -- cgit v1.2.3-70-g09d2 From db180cfca543cddda1af5078f217e4deb913636a Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 1 Jun 2024 22:30:13 +0200 Subject: use same sound timer --- world/map/npc/items/rubber_bat.txt | 4 ++-- world/map/npc/items/rubber_duck.txt | 4 ++-- world/map/npc/items/silver_bell.txt | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/world/map/npc/items/rubber_bat.txt b/world/map/npc/items/rubber_bat.txt index a849b40d..ea569a22 100644 --- a/world/map/npc/items/rubber_bat.txt +++ b/world/map/npc/items/rubber_bat.txt @@ -1,8 +1,8 @@ function|script|rubberBat { - if (gettimetick(2) - @lastbat < 2) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 403; - set @lastbat, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: diff --git a/world/map/npc/items/rubber_duck.txt b/world/map/npc/items/rubber_duck.txt index 3dba2368..8a822752 100644 --- a/world/map/npc/items/rubber_duck.txt +++ b/world/map/npc/items/rubber_duck.txt @@ -1,8 +1,8 @@ function|script|rubberDuck { - if (gettimetick(2) - @lastduck < 3) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 406; - set @lastduck, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: diff --git a/world/map/npc/items/silver_bell.txt b/world/map/npc/items/silver_bell.txt index c1ea2e50..07623426 100644 --- a/world/map/npc/items/silver_bell.txt +++ b/world/map/npc/items/silver_bell.txt @@ -1,8 +1,8 @@ function|script|SilverBellSound { - if (gettimetick(2) - @lastsilverbell < 3) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 404; - set @lastsilverbell, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: -- cgit v1.2.3-70-g09d2 From edff1967ef79a4f9881f212ed277f94de2a0c6d6 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Thu, 6 Jun 2024 23:19:44 +0200 Subject: Pumpkin to RipePumpkin --- world/map/db/const-aegis.txt | 2 +- world/map/db/item_db.conf | 4 ++-- world/map/db/item_db_use.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index a1cd00ae..3676decc 100644 --- a/world/map/db/const-aegis.txt +++ b/world/map/db/const-aegis.txt @@ -991,7 +991,7 @@ PumpkinJuice 5343 ChocolateBiscuit 5344 ChocolateBunny 5345 Potatoz 5346 -Pumpkin 5347 +RipePumpkin 5347 FruitSalad 5348 DuckEgg 5349 Dragonfruit 5350 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 60a97c4c..0bb35211 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -16473,8 +16473,8 @@ item_db: ( }, { Id: 5347 - AegisName: "Pumpkin" - Name: "Pumpkin" + AegisName: "RipePumpkin" + Name: "RipePumpkin" Type: "IT_USABLE" Buy: 170 Sell: 85 diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index a1b8ff96..e4783e41 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -135,7 +135,7 @@ 5344, ChocolateBiscuit, 0, 80, 40, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {} 5345, ChocolateBunny, 0, 175, 88, 12, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 250, 0, 1;}, {} 5346, Potatoz, 0, 230, 115, 8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 450, 0, 1;}, {} -5347, Pumpkin, 0, 170, 85, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {} +5347, RipePumpkin, 0, 170, 85, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {} 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;}, {} -- cgit v1.2.3-70-g09d2 From 7ded4cfe66d031587fa82849756f8276e08d875b Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Fri, 7 Jun 2024 08:51:04 +0200 Subject: Bromenal set rebalance --- world/map/db/item_db.conf | 30 +++++++++++++++--------------- world/map/db/item_db_chest.txt | 2 +- world/map/db/item_db_foot.txt | 2 +- world/map/db/item_db_hand.txt | 2 +- world/map/db/item_db_head.txt | 2 +- world/map/db/item_db_leg.txt | 2 +- world/map/db/item_db_offhand.txt | 2 +- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 0bb35211..277b033e 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -1981,15 +1981,15 @@ item_db: ( Type: "IT_ARMOR" Buy: 8000 Sell: 500 - Weight: 30 - Matk: -2 - Def: 1 + Weight: 250 + Matk: -14 + Def: 4 Slots: 0 Loc: "EQP_SHOES" Refine: false ViewSprite: 792 Script: <" - bonus bMatkRate, -2; // @EVOL2 + bonus bMatkRate, -14; // @EVOL2 "> }, { @@ -6295,14 +6295,14 @@ item_db: ( Buy: 100000 Sell: 3000 Weight: 2000 - Matk: -170 + Matk: -150 Def: 25 Slots: 0 Loc: "EQP_HEAD_MID" Refine: false ViewSprite: 793 Script: <" - bonus bMatkRate, -170; // @EVOL2 + bonus bMatkRate, -150; // @EVOL2 "> }, { @@ -11286,7 +11286,7 @@ item_db: ( Sell: 1500 Weight: 400 Matk: -30 - Def: 15 + Def: 16 Slots: 0 Loc: "EQP_HEAD_TOP" Refine: false @@ -16832,7 +16832,7 @@ item_db: ( Sell: 1000 Weight: 150 Matk: -12 - Def: 6 + Def: 7 Slots: 0 Loc: "EQP_HEAD_LOW" Refine: false @@ -17754,14 +17754,14 @@ item_db: ( Buy: 6000 Sell: 2000 Weight: 40 - Matk: -20 - Def: 4 + Matk: -25 + Def: 5 Slots: 0 Loc: "EQP_GARMENT" Refine: false ViewSprite: 794 Script: <" - bonus bMatkRate, -20; // @EVOL2 + bonus bMatkRate, -25; // @EVOL2 "> }, { @@ -18040,15 +18040,15 @@ item_db: ( Type: "IT_ARMOR" Buy: 40000 Sell: 3000 - Weight: 2500 - Matk: -200 - Def: 20 + Weight: 2000 + Matk: -160 + Def: 18 Slots: 0 Loc: "EQP_HAND_L" Refine: false ViewSprite: 797 Script: <" - bonus bMatkRate, -200; // @EVOL2 + bonus bMatkRate, -160; // @EVOL2 "> //Disabled: true // @TMWA }, diff --git a/world/map/db/item_db_chest.txt b/world/map/db/item_db_chest.txt index 27b04137..ff48e16e 100644 --- a/world/map/db/item_db_chest.txt +++ b/world/map/db/item_db_chest.txt @@ -26,7 +26,7 @@ 782, ForestArmor, 5, 3000, 1500, 40, 0, 10, 0, -20, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bDex, 3;} 783, PlatynaRedDress, 5, 100000, 50000, 35, 0, 15, 0, 3, 0, 2, 512, 0, 0, 0, 0, {}, {} 791, YetiSkinShirt, 5, 20000, 10000, 20, 0, 12, 0, -12, 0, 2, 512, 0, 0, 0, 0, {}, {} -793, BromenalChest, 5, 100000, 3000, 2000, 0, 25, 0, -170, 0, 2, 512, 0, 0, 0, 0, {}, {} +793, BromenalChest, 5, 100000, 3000, 2000, 0, 25, 0, -150, 0, 2, 512, 0, 0, 0, 0, {}, {} 798, SorcererRed, 5, 8000, 4000, 5, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bAgi, 1;} 870, FineDress, 5, 10000, 5000, 35, 0, 8, 0, 20, 0, 2, 512, 0, 0, 0, 0, {}, {} 880, LazuriteRobe, 5, 92000, 52000, 30, 0, 7, 0, 60, 0, 2, 512, 0, 90, 0, 0, {}, {set @bStat, Int; set @minbStatVal, 70; callfunc "RequireStat"; set @bStat, Vit; set @minbStatVal, 40; callfunc "RequireStat"; bonus bDef2Rate, -40; bonus bMdef, 60; bonus bVit, -1; bonus bInt, 7; bonus bLuk, -1; bonus bDex, -1; bonus bStr, -1;} diff --git a/world/map/db/item_db_foot.txt b/world/map/db/item_db_foot.txt index ac5264de..10f1d07c 100644 --- a/world/map/db/item_db_foot.txt +++ b/world/map/db/item_db_foot.txt @@ -7,7 +7,7 @@ 734, BlackBoots, 5, 20000, 3000, 110, 0, 3, 0, -10, 0, 2, 64, 0, 0, 0, 0, {}, {} 735, CottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {} 757, AssassinBoots, 5, 7000, 2000, 10, 0, 3, 0, -3, 0, 2, 64, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4;} -792, BromenalBoots, 5, 8000, 500, 30, 0, 1, 0, -2, 0, 2, 64, 0, 0, 0, 0, {}, {} +792, BromenalBoots, 5, 8000, 500, 250, 0, 4, 0, -14, 0, 2, 64, 0, 0, 0, 0, {}, {} 876, WarlordBoots, 5, 19000, 2000, 550, 0, 5, 0, -22, 0, 2, 64, 0, 0, 0, 0, {}, {} 1188, RedStockings, 5, 7000, 2000, 10, 0, 1, 0, 2, 0, 2, 64, 0, 0, 0, 0, {}, {} 2150, RedCottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_hand.txt b/world/map/db/item_db_hand.txt index 3e4e76f0..94a167d1 100644 --- a/world/map/db/item_db_hand.txt +++ b/world/map/db/item_db_hand.txt @@ -7,7 +7,7 @@ 563, WinterGloves, 5, 6000, 3000, 20, 0, 3, 0, -15, 0, 2, 4, 0, 0, 0, 0, {}, {} 741, CottonGloves, 5, 2000, 500, 10, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} 756, AssassinGloves, 5, 7000, 2000, 9, 0, 3, 0, -3, 0, 2, 4, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4;} -794, BromenalGloves, 5, 6000, 2000, 40, 0, 4, 0, -20, 0, 2, 4, 0, 0, 0, 0, {}, {} +794, BromenalGloves, 5, 6000, 2000, 40, 0, 5, 0, -25, 0, 2, 4, 0, 0, 0, 0, {}, {} 868, SilkGloves, 5, 5000, 2500, 4, 0, 1, 0, 0, 0, 2, 4, 0, 0, 0, 0, {}, {} 2160, RedCottonGloves, 5, 2000, 500, 20, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} 2161, GreenCottonGloves, 5, 2000, 500, 20, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt index 7c4ae5d7..08a7b5c1 100644 --- a/world/map/db/item_db_head.txt +++ b/world/map/db/item_db_head.txt @@ -52,7 +52,7 @@ 769, GuyFawkesMask, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {} 770, FairyHat, 5, 2000, 1000, 20, 0, 5, 0, -10, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 3;} 781, WitchDoctorsMask, 5, 20000, 100, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {} -795, BromenalHelmet, 5, 15000, 1500, 400, 0, 15, 0, -30, 0, 2, 256, 0, 0, 0, 0, {}, {} +795, BromenalHelmet, 5, 15000, 1500, 400, 0, 16, 0, -30, 0, 2, 256, 0, 0, 0, 0, {}, {} 800, BowlerHatBrown, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {} 801, PinkieHelmet, 5, 20000, 1500, 800, 0, 10, 0, -20, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 1;} 848, Earmuffs, 5, 1000, 500, 20, 0, 2, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_leg.txt b/world/map/db/item_db_leg.txt index 3e23b810..6e15b47e 100644 --- a/world/map/db/item_db_leg.txt +++ b/world/map/db/item_db_leg.txt @@ -10,7 +10,7 @@ 731, AssassinPants, 5, 10000, 3000, 20, 0, 4, 0, -5, 0, 2, 1, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 5;} 768, TerraniteLegs, 5, 10000, 3000, 30, 0, 5, 0, -8, 0, 2, 1, 0, 0, 0, 0, {}, {bonus bAgi, 1; bonus bMdef, 5;} 771, Miniskirt, 5, 1000, 500, 8, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, 0, {}, {} -796, BromenalLegs, 5, 2000, 1000, 150, 0, 6, 0, -12, 0, 2, 1, 0, 0, 0, 0, {}, {} +796, BromenalLegs, 5, 2000, 1000, 150, 0, 7, 0, -12, 0, 2, 1, 0, 0, 0, 0, {}, {} 857, LeatherTrousers, 5, 1000, 500, 25, 0, 5, 0, -4, 0, 2, 1, 0, 0, 0, 0, {}, {bonus bHit, 2;} 881, RaggedShorts, 5, 60, 1, 7, 0, 1, 0, -2, 0, 2, 1, 0, 1, 0, 0, {}, {} 1172, SilkPants, 5, 20000, 750, 10, 0, 2, 0, 0, 0, 2, 1, 0, 1, 0, 0, {}, {} diff --git a/world/map/db/item_db_offhand.txt b/world/map/db/item_db_offhand.txt index e3bb7485..39d5d4a4 100644 --- a/world/map/db/item_db_offhand.txt +++ b/world/map/db/item_db_offhand.txt @@ -6,5 +6,5 @@ 601, SteelShield, 5, 40000, 3000, 2500, 0, 20, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} 602, WoodenShield, 5, 10000, 2000, 1500, 0, 14, 0, -70, 0, 2, 32, 0, 0, 0, 0, {}, {} 603, LeatherShield, 5, 2000, 1000, 1300, 0, 7, 0, -35, 0, 2, 32, 0, 0, 0, 0, {}, {} -//797, BromenalShield, 5, 40000, 3000, 2500, 0, 20, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} +//797, BromenalShield, 5, 40000, 3000, 2000, 0, 18, 0, -160, 0, 2, 32, 0, 0, 0, 0, {}, {} 5285, DragonShield, 5, 40000, 3000, 2500, 0, 27, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} -- cgit v1.2.3-70-g09d2 From 4b5d0f318e5a9f29326866b8d6d41d212c0e8fe7 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 17 Jun 2024 11:02:25 +0200 Subject: Gwyneth Honey back to GlutenFreeHoney --- world/map/npc/014-1/goop.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/014-1/goop.txt b/world/map/npc/014-1/goop.txt index 09f27626..e9de3a43 100644 --- a/world/map/npc/014-1/goop.txt +++ b/world/map/npc/014-1/goop.txt @@ -1 +1 @@ -014-1,90,101,0|shop|Gwyneth|188,GrassFedTofu:*100,Honey:*100,ActivatedSulphur:*100,VeganWater:*100,FairTradeSoil:*100,LactoseFreeAcorn:*100,RawAir:*1000,FreeRangeMoss:*100,JadeEgg:*300 +014-1,90,101,0|shop|Gwyneth|188,GrassFedTofu:*100,GlutenFreeHoney:*100,ActivatedSulphur:*100,VeganWater:*100,FairTradeSoil:*100,LactoseFreeAcorn:*100,RawAir:*1000,FreeRangeMoss:*100,JadeEgg:*300 -- cgit v1.2.3-70-g09d2 From c7fd672bd4bab84f940f0b356ebc6a94115905b0 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Wed, 19 Jun 2024 07:47:06 +0300 Subject: Fix for repeated suicides of caster when they try to attack target after they killed in rain by own lightning. Problem technically can be described like this: 1) Caster retains all spell charges upon death for lightnings. 2) It wouldn't be problem itself, but it would invoke OnAttack handler! 3) If caster dies in rain by own lightning, nothing clears "in rain" flag. 4) When they respawn and try to attack, OnAttack kicks in. 5) Since nothing has cleaned "in rain" flag, its still set. 6) At this point caster dies by own lightning again. 7) Worse, on respawn sequence would repeat itself. This happens regardless of rain and is very unexpected edge case. Workaround: caster can use #dicharge spell after respawn but its unobvious. --- world/map/npc/functions/global_event_handler.txt | 1 + world/map/npc/magic/level2-lightning-strike.txt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index 915423e8..d169f3c7 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -37,6 +37,7 @@ OnMobKillEvent: OnPCDieEvent: set @necromancer, 0; addtimer 0, "Magic Timer::OnClear"; // reset magic block on death + addtimer 0, "::OnDischarge"; // seeks OnDischarge in ALL npcs (discharge chargeable spells on PC death) callfunc "SpawnGhost"; callfunc "MiriamExpire"; // force the speed skill quest to expire set @killerrid, 0; // reset killer rid diff --git a/world/map/npc/magic/level2-lightning-strike.txt b/world/map/npc/magic/level2-lightning-strike.txt index bdd311a6..0a97dc63 100644 --- a/world/map/npc/magic/level2-lightning-strike.txt +++ b/world/map/npc/magic/level2-lightning-strike.txt @@ -30,12 +30,11 @@ OnAttack: if (target(BL_ID, @target_id, 0x36) != 0x36) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 | 0x20 - set .@p, get(.max_radius, "rain") + 1; set @ingravspell[5], @target_id; // store it because foreach overwrites it foreach 1, getmap(), POS_X-.@p, POS_Y-.@p, POS_X+.@p, POS_Y+.@p, strnpcinfo(0)+"::OnNpc"; set @target_id, @ingravspell[5]; // now restore it - + if (@ingravspell[2] <= 0) overrideattack; // workaround for caster in rain death case set @ingravspell[2], @ingravspell[2] - 1; if (@ingravspell[4] & 1) goto L_InRain; void call("elt_damage", @ingravspell[0], (@ingravspell[0]/2)+1, ELT_EARTH, ELT_WIND, FX_LIGHTNING1 + rand(3)); @@ -49,6 +48,7 @@ L_FreeRecast: OnDischarge: if (@ingravspell[2] < 1) end; set @ingravspell[2], 0; + set @ingravspell[4], 0; // Clean up "in rain" flag, it caused funny bugs. misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); overrideattack; end; -- cgit v1.2.3-70-g09d2 From 3e62f98ae8b64e5e2ad82e194b88477f9d07f42b Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 22 Jun 2024 17:16:43 +0200 Subject: upmarmu v6 full --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 42 +++++++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index d169f3c7..ef93435c 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: -// if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index a67941cf..d752aa11 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,18 +1,17 @@ -|script|magic-knuckles|32767 { if @_U_BLOCK >= 1 goto L_Still_Exhausted; -/* - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player + + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -*/ if (call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; @@ -49,35 +48,29 @@ OnAttack: if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE); -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; set @upmarmuspell[1], @upmarmuspell[1] - 1; + + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_FreeRecast; set @num_upmarmu_hits, @num_upmarmu_hits + 1; + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST set .exhausted, 1, .upmarmu_spell_npc; - if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted; goto L_FreeRecast; L_FreeRecast: if (@upmarmuspell[1] > 0) addtimer 0, strnpcinfo(0) + "::OnSetRecast"; + else + addtimer 0, @upmarmu_spell_npc_name$ + "::OnExhausted"; end; -L_Exhausted: - set @_U_BLOCK, 1; - set @upmarmuspell[1], 0; - misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); - overrideattack; - addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time - sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; - smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; - goto L_StopTimer; - L_Still_Exhausted: smsg SMSG_FAILURE, "Magic: You are still too exhausted to use this spell for a while!"; end; L_StopTimer: -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; end; OnDischarge: @@ -91,7 +84,6 @@ OnSetRecast: overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay needs to be squared end; -/* OnResetTimer: // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again stopnpctimer; @@ -117,9 +109,20 @@ OnTimer25000: setnpctimer 0; end; +OnExhausted: + if (.exhausted < 1) end; + + set @_U_BLOCK, 1; + set @upmarmuspell[1], 0; + set @num_upmarmu_hits, 0; + set .exhausted, 0; + addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time + sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; + smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; + goto L_StopTimer; + OnDestroy: destroy; -*/ OnInit: set .school, SKILL_MAGIC_WAR; @@ -136,6 +139,5 @@ OnInit: OnClear: set @_U_BLOCK, 0; - set @num_upmarmu_hits, 0; end; } -- cgit v1.2.3-70-g09d2 From b0825339f97b8597a23d67068c885e273fb26a20 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 24 Jun 2024 16:14:20 +0200 Subject: attachrid only supports acc id (getcharid(3)) --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index ef93435c..5274fa05 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: - if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index d752aa11..92ee07a5 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -2,13 +2,13 @@ { if @_U_BLOCK >= 1 goto L_Still_Exhausted; - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -- cgit v1.2.3-70-g09d2 From 93fb36b760d486cdc5893250a8f67b912c931e69 Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Wed, 26 Jun 2024 12:57:45 -0300 Subject: server update --- client-data | 2 +- tools | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client-data b/client-data index 86ef14d0..df06f82c 160000 --- a/client-data +++ b/client-data @@ -1 +1 @@ -Subproject commit 86ef14d06bd7a58017fb404f0bab28d42d896940 +Subproject commit df06f82c1496dea5e99177c931a1a805abb0e949 diff --git a/tools b/tools index 1dc56421..a5de2c06 160000 --- a/tools +++ b/tools @@ -1 +1 @@ -Subproject commit 1dc56421493df2b9016b0096998cd668a429ab9e +Subproject commit a5de2c06e242917a38f89a79cfc94d02fa472b8a -- cgit v1.2.3-70-g09d2 From 1b2f1abda4b3e7bb6733108c78a1a10d52820627 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Fri, 28 Jun 2024 21:42:00 +0300 Subject: Re-enable summon spells in cities since AFK PK exploit should be fixed now --- world/map/npc/magic/event-summon-managuardian.txt | 1 - world/map/npc/magic/event-summon-manatyrant.txt | 1 - world/map/npc/magic/level1-summon-maggots.txt | 1 - world/map/npc/magic/level2-summon-fluffies.txt | 1 - world/map/npc/magic/level2-summon-mouboo.txt | 1 - world/map/npc/magic/level2-summon-pinkie.txt | 1 - world/map/npc/magic/level2-summon-snakes.txt | 1 - world/map/npc/magic/level2-summon-spiky-mushroom.txt | 1 - world/map/npc/magic/level2-summon-wickedmushroom.txt | 1 - 9 files changed, 9 deletions(-) diff --git a/world/map/npc/magic/event-summon-managuardian.txt b/world/map/npc/magic/event-summon-managuardian.txt index e66c3eb7..1aa172ad 100644 --- a/world/map/npc/magic/event-summon-managuardian.txt +++ b/world/map/npc/magic/event-summon-managuardian.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; // FIXME: Incomplete check, should still work during sieges - if (getmapflag(getmap(), MF_TOWN)) end; if (Sp < 100) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("TinyManaElixir") < 1) end; diff --git a/world/map/npc/magic/event-summon-manatyrant.txt b/world/map/npc/magic/event-summon-manatyrant.txt index bf2634c5..ff082930 100644 --- a/world/map/npc/magic/event-summon-manatyrant.txt +++ b/world/map/npc/magic/event-summon-manatyrant.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if ($DOOMSDAY_SUMMON < 2) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (Sp < 100) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("LargeManaElixir") < 1) end; diff --git a/world/map/npc/magic/level1-summon-maggots.txt b/world/map/npc/magic/level1-summon-maggots.txt index 05cadbc8..ce95422c 100644 --- a/world/map/npc/magic/level1-summon-maggots.txt +++ b/world/map/npc/magic/level1-summon-maggots.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 21) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("InsectSlime") < 1 || countitem("Root") < 1) end; if (getmap() == "033-1") goto L_SpecialRules6; diff --git a/world/map/npc/magic/level2-summon-fluffies.txt b/world/map/npc/magic/level2-summon-fluffies.txt index f10a86b5..fef40a17 100644 --- a/world/map/npc/magic/level2-summon-fluffies.txt +++ b/world/map/npc/magic/level2-summon-fluffies.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 39) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("WhiteFur") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-mouboo.txt b/world/map/npc/magic/level2-summon-mouboo.txt index c692e9cf..8a8603c6 100644 --- a/world/map/npc/magic/level2-summon-mouboo.txt +++ b/world/map/npc/magic/level2-summon-mouboo.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 35) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("MoubooFigurine") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-pinkie.txt b/world/map/npc/magic/level2-summon-pinkie.txt index 61af9eed..b4774584 100644 --- a/world/map/npc/magic/level2-summon-pinkie.txt +++ b/world/map/npc/magic/level2-summon-pinkie.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 35) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("PinkAntenna") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-snakes.txt b/world/map/npc/magic/level2-summon-snakes.txt index 0723961b..5815cef5 100644 --- a/world/map/npc/magic/level2-summon-snakes.txt +++ b/world/map/npc/magic/level2-summon-snakes.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 40) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("DarkCrystal") < 1 || countitem("SnakeEgg") < 1) end; diff --git a/world/map/npc/magic/level2-summon-spiky-mushroom.txt b/world/map/npc/magic/level2-summon-spiky-mushroom.txt index 701648d5..0f884185 100644 --- a/world/map/npc/magic/level2-summon-spiky-mushroom.txt +++ b/world/map/npc/magic/level2-summon-spiky-mushroom.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 33) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("HardSpike") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-wickedmushroom.txt b/world/map/npc/magic/level2-summon-wickedmushroom.txt index 014a5d80..7d0e93c1 100644 --- a/world/map/npc/magic/level2-summon-wickedmushroom.txt +++ b/world/map/npc/magic/level2-summon-wickedmushroom.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 42) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("DarkCrystal") < 1 || countitem("SmallMushroom") < 1) end; -- cgit v1.2.3-70-g09d2 From f6675f146b367f3175835899132c504e959e2ab8 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 22:15:30 +0200 Subject: stones and crystals --- world/map/db/const-aegis.txt | 8 +++ world/map/db/item_db.conf | 94 ++++++++++++++++++++++++++++++++++++ world/map/db/item_db_generic.txt | 4 ++ world/map/db/item_db_use.txt | 3 ++ world/map/npc/items/anchor_stone.txt | 56 +++++++++++++++++++++ world/map/npc/mobs/mob_points.txt | 4 +- world/map/npc/scripts.conf | 1 + 7 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 world/map/npc/items/anchor_stone.txt diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index 3676decc..6ce13f20 100644 --- a/world/map/db/const-aegis.txt +++ b/world/map/db/const-aegis.txt @@ -387,6 +387,10 @@ JunglefowlFeather 5375 KingChonkyBirbFeather 5376 Honeycomb 5377 Beeswax 5378 +Stone 5380 +Brick 5381 +MountainCrystal 5384 +BlackQuarz 5385 LeatherShirt 523 DesertShirt 546 Turtleneck 564 @@ -1003,6 +1007,8 @@ ButterButterfly 5364 JunglefowlEgg 5373 KingChonkyBirbEgg 5374 Sauerkraut 5379 +AnchorStone 5382 +AnchoredAnchorStone 5383 CottonShorts 586 JeansShorts 610 CottonSkirt 632 @@ -1297,3 +1303,5 @@ SmallRubyBif 1221 SmallSapphireBif 1222 SmallTopazBif 1223 CoalGolem 1224 +StoneSlime 1225 +StoneGolem 1226 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 277b033e..644a9a9e 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5860,6 +5860,50 @@ item_db: ( Refine: false ViewSprite: 5378 }, +{ + Id: 5380 + AegisName: "Stone" + Name: "Stone" + Type: "IT_ETC" + Buy: 1000 + Sell: 500 + Weight: 60 + Refine: false + ViewSprite: 5380 +}, +{ + Id: 5381 + AegisName: "Brick" + Name: "Brick" + Type: "IT_ETC" + Buy: 2000 + Sell: 1000 + Weight: 40 + Refine: false + ViewSprite: 5381 +}, +{ + Id: 5384 + AegisName: "MountainCrystal" + Name: "MountainCrystal" + Type: "IT_ETC" + Buy: 20000 + Sell: 10000 + Weight: 20 + Refine: false + ViewSprite: 5384 +}, +{ + Id: 5385 + AegisName: "BlackQuarz" + Name: "BlackQuarz" + Type: "IT_ETC" + Buy: 20000 + Sell: 10000 + Weight: 20 + Refine: false + ViewSprite: 5385 +}, /* Chest Armor */ { Id: 523 @@ -16670,6 +16714,56 @@ item_db: ( callfunc "itheal", 500, 0; "> }, +{ + Id: 5382 + AegisName: "AnchorStone" + Name: "AnchorStone" + Type: "IT_USABLE" + Buy: 90000 + Sell: 45000 + Weight: 40 + Refine: false + ViewSprite: 5382 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + Script: <" + set @StoneName$, "AnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, +{ + Id: 5383 + AegisName: "AnchoredAnchorStone" + Name: "AnchoredAnchorStone" + Type: "IT_USABLE" + Buy: 0 + Sell: 0 + Weight: 40 + Refine: false + ViewSprite: 5383 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + nostorage: true + nogstorage: true + Script: <" + set @StoneName$, "AnchoredAnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, /* Legs Armor */ { Id: 586 diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index e7802111..731a2d33 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -304,3 +304,7 @@ 5376, KingChonkyBirbFeather, 3, 6000, 3000, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5377, Honeycomb, 3, 200, 100, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5384, MountainCrystal, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuarz, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index e4783e41..2e7c33ca 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -147,3 +147,6 @@ 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;}, {} 5379, Sauerkraut, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 500, 0, 1;}, {} +5382, AnchorStone, 0, 90000, 45000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @StoneName$, "AnchorStone"; callfunc "useAnchorStone";}, {} +//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} +5383, AnchoredAnchorStone, 0, 0, 0, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 31, {set @StoneName$, "AnchoredAnchorStone"; callfunc "useAnchorStone";}, {} diff --git a/world/map/npc/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt new file mode 100644 index 00000000..52c688f4 --- /dev/null +++ b/world/map/npc/items/anchor_stone.txt @@ -0,0 +1,56 @@ +function|script|useAnchorStone +{ + addtimer 0, "AS_Core::OnUse"; + return; +} + +-|script|AS_Core|32767 +{ + end; + +OnUse: + if ( @StoneName$ == "AnchorStone" ) goto L_AnchorStone; + if ( @StoneName$ == "AnchoredAnchorStone" ) goto L_AnchoredAnchorStone; + goto L_Close; + +L_AnchorStone: + mes "\"You really want to bind the [@@" + AnchorStone + "|@@] to this place?\""; + menu + "No", L_Close, + "Yes", L_AS_Yes; + +L_AS_Yes: + set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a seperate variable for that since shifting would destroy the sign bit and create a different hash + set AnchorStoneDestCoord, gety() << AS_Y_SHIFT | getx() << AS_X_SHIFT; + + delitem AnchorStone, 1; + getitem AnchoredAnchorStone, 1; + close; + +L_AnchoredAnchorStone: + if ((AnchorStoneDest < 1) && (AnchorStoneDest > -1)) goto L_AAS_Error; + mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bond to?\""; + menu + "No", L_Close, + "Yes", L_AAS_Yes; + +L_AAS_Yes: + warp getmapnamefromhash(AnchorStoneDest), (AnchorStoneDestCoord & AS_X_MASK >> AS_X_SHIFT), (AnchorStoneDestCoord & AS_Y_MASK >> AS_Y_SHIFT); + + goto L_AAStoAS; + +L_AAS_Error: + mes "\"Something went wrong the [@@" + AnchoredAnchorStone + "|@@] lost its destination and turns back to normal.\""; + goto L_AAStoAS; + +L_AAStoAS: + set AnchorStoneDest, 0; + set AnchorStoneDestCoord, 0; + + delitem AnchoredAnchorStone, 1; + getitem AnchorStone, 1; + close; + +L_Close: + close; +} diff --git a/world/map/npc/mobs/mob_points.txt b/world/map/npc/mobs/mob_points.txt index d0ede2f1..2589f1eb 100644 --- a/world/map/npc/mobs/mob_points.txt +++ b/world/map/npc/mobs/mob_points.txt @@ -232,7 +232,9 @@ function|script|MobPoints 1, // 1221 SmallRubyBif 1, // 1222 SmallSapphireBif 1, // 1223 SmallTopazBif - 200 // 1224 CoalGolem + 200, // 1224 CoalGolem + 25, // 1225 StoneSlime + 200 // 1226 StoneGolem ; // END // the following mobs where replaced by other mobs: diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index 17045566..b0a5f0c2 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -64,6 +64,7 @@ npc: npc/items/underworld_troll.txt npc: npc/items/silver_bell.txt npc: npc/items/shovel.txt npc: npc/items/maps.txt +npc: npc/items/anchor_stone.txt // Mob Functions npc: npc/mobs/miner_mania.txt -- cgit v1.2.3-70-g09d2 From 899392b4a92f6cd36264a91dd064ef4cc23d8f81 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 22:16:52 +0200 Subject: stones and crystals mobs --- world/map/db/mob_db.conf | 169 ++++++++++++++++++++++++++++++++------- world/map/db/mob_db_0_19.txt | 6 +- world/map/db/mob_db_40_59.txt | 11 +-- world/map/db/mob_db_over_100.txt | 4 +- world/map/db/mob_db_over_150.txt | 7 +- 5 files changed, 156 insertions(+), 41 deletions(-) diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf index ae92f099..fa8ba17c 100644 --- a/world/map/db/mob_db.conf +++ b/world/map/db/mob_db.conf @@ -7789,7 +7789,7 @@ mob_db: ( MutationStrength: 40 Drops: { TreasureKey: 500 - RedApple: 100 + MountainCrystal: 100 InfantryHelmet: 20 CoinBag: 200 Diamond: 20 @@ -7829,7 +7829,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -7843,6 +7842,9 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + MountainCrystal: 400 + MountainCrystal: 200 + MountainCrystal: 100 Diamond: 50 Ruby: 50 Emerald: 50 @@ -7880,7 +7882,7 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Aggressive: true + Assist: true Boss: true CanAttack: true ChangeTargetMelee: true @@ -7893,7 +7895,15 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { - DarkCrystal: 10000 + BlackQuarz: 400 + BlackQuarz: 200 + BlackQuarz: 100 + Diamond: 50 + Ruby: 50 + Emerald: 50 + Sapphire: 50 + Topaz: 50 + Amethyst: 50 } }, { @@ -8216,7 +8226,7 @@ mob_db: ( MutationStrength: 30 Drops: { TreasureKey: 800 - RedApple: 200 + MountainCrystal: 400 InfantryHelmet: 35 CoinBag: 400 Diamond: 35 @@ -9166,9 +9176,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 300 - SilverOre: 150 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 200 + SilverOre: 100 GoldOre: 10 } }, @@ -9219,9 +9229,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 200 - BromenalOre: 100 + BromenalOre: 300 + BromenalOre: 150 + SilverOre: 20 GoldOre: 10 } }, @@ -9270,8 +9280,8 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 100 GoldOre: 50 } @@ -9324,8 +9334,8 @@ mob_db: ( IronOre: 2000 IronOre: 1000 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9377,8 +9387,8 @@ mob_db: ( Coal: 1000 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9418,8 +9428,8 @@ mob_db: ( IronOre: 800 Coal: 1000 CopperOre: 200 - SilverOre: 150 - BromenalOre: 100 + BromenalOre: 150 + SilverOre: 100 GoldOre: 50 } }, @@ -9459,8 +9469,8 @@ mob_db: ( IronOre: 1600 Coal: 2000 CopperOre: 400 - SilverOre: 300 - BromenalOre: 200 + BromenalOre: 300 + SilverOre: 200 GoldOre: 100 } }, @@ -9500,8 +9510,8 @@ mob_db: ( IronOre: 400 Coal: 500 CopperOre: 100 - SilverOre: 75 - BromenalOre: 50 + BromenalOre: 75 + SilverOre: 50 GoldOre: 25 } }, @@ -10308,7 +10318,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -10322,12 +10331,116 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + Charcoal: 2000 Charcoal: 1000 Charcoal: 500 - Charcoal: 250 - Coal: 5000 - Coal: 2500 - Coal: 1250 + Coal: 4000 + Coal: 2000 + Coal: 1000 + IronOre: 500 + IronPowder: 1200 + } +}, +{ + Id: 1225 + SpriteName: "StoneSlime" + Name: "Stone Slime" + Lv: 40 + Hp: 600 + Sp: 0 + Exp: 200 + JExp: 18 + AttackRange: 1 + Attack: [60, 90] + Def: 20 + Mdef: 30 + CriticalDef: 0 + Stats: { + Str: 20 + Agi: 30 + Vit: 10 + Int: 10 + Dex: 30 + Luk: 30 + } + ViewRange: 9 + ChaseRange: 10 + Size: 1 + Race: 0 + Element: (1, 1) + Mode: { + CanMove: true + Looter: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 1200 + AttackDelay: 1872 + AttackMotion: 672 + DamageMotion: 480 + MutationCount: 1 + MutationStrength: 20 + Drops: { + Stone: 1000 + Stone: 500 + Stone: 250 + Brick: 100 + Coal: 200 + IronOre: 200 + CopperOre: 40 + BromenalOre: 30 + SilverOre: 20 + GoldOre: 10 + } +}, +{ + Id: 1226 + SpriteName: "StoneGolem" + Name: "Stone Golem" + Lv: 180 + Hp: 30000 + Sp: 280 + Exp: 70000 + JExp: 2400 + AttackRange: 3 + Attack: [170, 190] + Def: 75 + Mdef: 40 + CriticalDef: 0 + Stats: { + Str: 35 + Agi: 26 + Vit: 99 + Int: 127 + Dex: 255 + Luk: 105 + } + ViewRange: 31 + ChaseRange: 30 + Size: 1 + Race: 0 + Element: (6, 4) + Mode: { + CanMove: true + Assist: true + Boss: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 320 + AttackDelay: 1000 + AttackMotion: 672 + DamageMotion: 50 + MutationCount: 0 + MutationStrength: 0 + Drops: { + Stone: 2000 + Stone: 1000 + Stone: 500 + Brick: 200 + Coal: 500 IronOre: 500 IronPowder: 1200 } diff --git a/world/map/db/mob_db_0_19.txt b/world/map/db/mob_db_0_19.txt index c47a2a99..831426b9 100644 --- a/world/map/db/mob_db_0_19.txt +++ b/world/map/db/mob_db_0_19.txt @@ -24,7 +24,7 @@ 1162, Grinchboo, Grinchboo, 5, 50, 0, 6, 1, 1, 5, 10, 0, 5, 0, 1, 1, 1, 0, 6, 5, 9, 10, 1, 3, 11, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 527, 50, 527, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1165, ChristmasGift, ChristmasGift, 1, 1, 0, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5292, 150, 5316, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5316, 150, 5292, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1181, SmallFrog, SmallFrog, 9, 100, 0, 100, 10, 1, 10, 20, 19, 3, 0, 10, 25, 25, 1, 15, 20, 5, 10, 0, 2, 12, 129, 600, 1976, 672, 480, 505, 600, 518, 200, 5215, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1182, BigFrog, BigFrog, 10, 200, 0, 150, 15, 1, 20, 30, 24, 3, 0, 20, 15, 35, 1, 15, 20, 5, 10, 0, 2, 12, 129, 500, 1976, 672, 480, 505, 700, 518, 300, 5215, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1186, MananaTree, MananaTree, 5, 2500, 0, 2, 0, 1, 10, 10, 25, 1, 0, 1, 1, 10, 1, 1, 1, 1, 12, 1, 3, 12, 0, 1000, 800, 672, 480, 5341, 1000, 5341, 500, 5341, 250, 569, 1000, 569, 2000, 806, 500, 740, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80 @@ -32,8 +32,8 @@ 1191, Tortuga, Tortuga, 19, 535, 0, 350, 38, 1, 33, 44, 30, 50, 0, 18, 12, 1, 8, 80, 25, 1, 12, 1, 2, 11, 129, 700, 1872, 672, 480, 5355, 400, 5356, 100, 5215, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1192, Ratto, Ratto, 15, 250, 0, 200, 30, 1, 25, 35, 13, 6, 0, 5, 10, 13, 1, 11, 6, 3, 12, 1, 2, 10, 131, 120, 1572, 672, 480, 5357, 500, 5358, 400, 5333, 200, 5335, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1193, Croc, Croc, 17, 350, 0, 300, 35, 1, 124, 129, 54, 6, 0, 6, 10, 13, 1, 11, 6, 1, 12, 1, 2, 11, 129, 600, 1872, 672, 200, 5366, 350, 5338, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5292, 300, 5316, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5292, 75, 5316, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5316, 300, 5292, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5316, 75, 5292, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1206, AmethystBif, AmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 20, 824, 1200, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1207, DiamondBif, DiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 20, 824, 600, 819, 1200, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1208, EmeraldBif, EmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 20, 824, 600, 819, 600, 821, 1200, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_40_59.txt b/world/map/db/mob_db_40_59.txt index 0cf3e83f..63dc0223 100644 --- a/world/map/db/mob_db_40_59.txt +++ b/world/map/db/mob_db_40_59.txt @@ -17,9 +17,10 @@ 1164, ChristmasTree, ChristmasTree, 40, 12000, 0, 3647, 392, 2, 40, 40, 20, 40, 0, 30, 30, 30, 30, 30, 30, 9, 10, 1, 0, 10, 128, 190, 1500, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1168, Floyd, Floyd, 40, 1500, 0, 555, 150, 3, 25, 50, 60, 5, 30, 10, 23, 30, 20, 40, 50, 9, 10, 1, 3, 12, 129, 800, 1975, 672, 480, 1245, 10, 521, 70, 1257, 5, 529, 150, 529, 800, 4015, 20, 704, 500, 704, 1000, 5290, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1180, MisterPrickel, MisterPrickel, 40, 4822, 0, 672, 111, 1, 250, 275, 23, 33, 0, 20, 40, 55, 1, 20, 30, 1, 12, 1, 3, 20, 129, 400, 1000, 452, 0, 501, 300, 502, 200, 613, 800, 613, 400, 569, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 -1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5292, 300, 5292, 150, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 200, 5316, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 200, 5292, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5316, 300, 5316, 150, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength +1225, StoneSlime, StoneSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5380, 1000, 5380, 500, 5380, 250, 5381, 100, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt index 8e7c1ff0..b65e3800 100644 --- a/world/map/db/mob_db_over_100.txt +++ b/world/map/db/mob_db_over_100.txt @@ -45,14 +45,14 @@ 1166, Snowman, Snowman, 100, 4200, 0, 2897, 689, 1, 60, 80, 5, 20, 0, 15, 25, 40, 15, 75, 30, 8, 10, 1, 3, 10, 133, 800, 1872, 672, 480, 567, 800, 5310, 800, 568, 800, 4002, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1167, SnowmanBoss, SnowmanBoss, 100, 35000, 0, 88970, 2689, 4, 220, 240, 77, 50, 0, 45, 20, 110, 150, 255, 110, 14, 16, 1, 3, 10, 165, 700, 1672, 672, 480, 567, 1600, 5310, 1600, 568, 1600, 4002, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 +1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 5384, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 1173, MontBlanc, MontBlanc, 110, 30000, 0, 100300, 500, 12, 777, 1000, 70, 90, 90, 30, 1, 100, 1, 120, 120, 12, 12, 1, 3, 12, 164, 0, 4000, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1174, Emo, Emo, 129, 50150, 80, 150000, 1000, 2, 250, 450, 30, 60, 60, 80, 60, 100, 60, 110, 110, 40, 30, 1, 1, 21, 183, 250, 450, 672, 50, 528, 5000, 532, 200, 5294, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1175, MegaManaBug, MegaManaBug, 111, 675, 0, 275, 40, 1, 60, 85, 3, 8, 0, 16, 14, 15, 20, 30, 30, 9, 10, 1, 4, 12, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 540, 10, 526, 400, 5309, 1000, 5309, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60 1176, Rotter, Rotter, 130, 6000, 0, 5533, 733, 4, 333, 555, 20, 25, 50, 30, 15, 30, 1, 130, 130, 7, 11, 1, 1, 17, 141, 1200, 2222, 672, 900, 631, 1000, 777, 800, 778, 200, 779, 500, 1198, 500, 5297, 10, 3004, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1177, Rot, Rot, 100, 13, 0, 11, 1, 1, 111, 333, 0, 0, 0, 0, 0, 0, 0, 255, 33, 1, 1, 1, 0, 11, 132, 0, 500, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1178, SpiderQueen, SpiderQueen, 145, 7000, 0, 1200, 400, 3, 250, 300, 60, 60, 0, 40, 30, 50, 15, 65, 40, 8, 15, 0, 2, 12, 165, 210, 1200, 550, 450, 518, 2500, 505, 2000, 640, 600, 4001, 800, 5292, 100, 537, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30 -1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 535, 200, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 +1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 5384, 400, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1184, BoneQuadceratops, BoneQuadceratops, 120, 22000, 0, 12120, 1888, 1, 100, 200, 66, 55, 0, 60, 20, 60, 1, 43, 70, 9, 10, 1, 1, 17, 169, 750, 800, 692, 720, 4023, 10000, 4023, 5000, 4023, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1185, EntAbomination, EntAbomination, 130, 45000, 280, 58000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 2000, 569, 2000, 806, 250, 806, 500, 740, 500, 740, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20 1188, Junglefowl, Junglefowl, 125, 25500, 0, 15000, 2125, 1, 175, 250, 45, 47, 0, 70, 99, 80, 22, 99, 70, 7, 11, 1, 2, 12, 169, 400, 1000, 672, 200, 5373, 1000, 5375, 1100, 562, 1000, 562, 500, 4023, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_over_150.txt b/world/map/db/mob_db_over_150.txt index 1c3675c9..7c7d9c0e 100644 --- a/world/map/db/mob_db_over_150.txt +++ b/world/map/db/mob_db_over_150.txt @@ -27,7 +27,8 @@ 1149, Enchanter, Enchanter, 181, 19000, 280, 55000, 2000, 8, 140, 180, 30, 60, 0, 31, 22, 90, 127, 255, 105, 31, 10, 1, 1, 37, 181, 240, 800, 672, 50, 537, 800, 779, 90, 780, 80, 777, 70, 1198, 50, 666, 30, 1227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10 1150, ManaTyrant, ManaTyrant, 180, 24000, 280, 27000, 5000, 2, 300, 325, 42, 67, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 180, 1050, 672, 50, 759, 1, 5237, 20, 1253, 5, 720, 100, 825, 500, 868, 20, 1172, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1161, Xakelbael, Xakelbael, 200, 29999, 280, 999999, 99999, 9, 90, 124, 74, 100, 0, 199, 2, 199, 197, 255, 175, 31, 10, 1, 1, 37, 181, 210, 672, 672, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 165, 320, 1000, 672, 50, 631, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5384, 400, 5384, 200, 5384, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5385, 400, 5385, 200, 5385, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1183, MobMoubootaur, MobMoubootaur, 220, 99999, 9999, 999999, 99999, 1, 400, 500, 99, 99, 0, 99, 60, 99, 30, 255, 255, 18, 18, 1, 6, 47, 165, 240, 872, 272, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 5332, 1000, 5332, 500, 5332, 250, 4001, 5000, 4001, 2500, 4001, 1250, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5332, 2000, 5332, 1000, 5332, 500, 4001, 4000, 4001, 2000, 4001, 1000, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1226, StoneGolem, StoneGolem, 180, 30000, 280, 70000, 2400, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5380, 2000, 5380, 1000, 5380, 500, 5381, 200, 4001, 500, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -- cgit v1.2.3-70-g09d2 From f0a785493950d37f260546df4cc16ab602c36ea1 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 23:08:37 +0200 Subject: stones and crystals stone slime to miner mania --- world/map/npc/mobs/miner_mania.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/mobs/miner_mania.txt b/world/map/npc/mobs/miner_mania.txt index 445c82e0..a496697d 100644 --- a/world/map/npc/mobs/miner_mania.txt +++ b/world/map/npc/mobs/miner_mania.txt @@ -53,7 +53,7 @@ Note: setarray $@slime_mine_maps_y0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1; setarray $@slime_mine_maps_x1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1; setarray $@slime_mine_maps_y1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1; - setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime; + setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime, StoneSlime; // Bifs ----------------------------- -- cgit v1.2.3-70-g09d2 From d473c9d011ea9efb9a4ce4dc24b7b5678099b3ee Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 23:17:10 +0200 Subject: stones and crystals prices --- world/map/db/item_db.conf | 4 ++-- world/map/db/item_db_generic.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 644a9a9e..23913ef7 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5888,7 +5888,7 @@ item_db: ( Name: "MountainCrystal" Type: "IT_ETC" Buy: 20000 - Sell: 10000 + Sell: 5000 Weight: 20 Refine: false ViewSprite: 5384 @@ -5899,7 +5899,7 @@ item_db: ( Name: "BlackQuarz" Type: "IT_ETC" Buy: 20000 - Sell: 10000 + Sell: 5000 Weight: 20 Refine: false ViewSprite: 5385 diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index 731a2d33..185ff414 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -306,5 +306,5 @@ 5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -5384, MountainCrystal, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -5385, BlackQuarz, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5384, MountainCrystal, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuarz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -- cgit v1.2.3-70-g09d2 From 81436cff429e0b05c04d640be122b2ad0daeca90 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 22:15:30 +0200 Subject: stones and crystals --- world/map/db/const-aegis.txt | 8 +++ world/map/db/item_db.conf | 94 ++++++++++++++++++++++++++++++++++++ world/map/db/item_db_generic.txt | 4 ++ world/map/db/item_db_use.txt | 3 ++ world/map/npc/items/anchor_stone.txt | 56 +++++++++++++++++++++ world/map/npc/mobs/mob_points.txt | 4 +- world/map/npc/scripts.conf | 1 + 7 files changed, 169 insertions(+), 1 deletion(-) create mode 100644 world/map/npc/items/anchor_stone.txt diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index 3676decc..6ce13f20 100644 --- a/world/map/db/const-aegis.txt +++ b/world/map/db/const-aegis.txt @@ -387,6 +387,10 @@ JunglefowlFeather 5375 KingChonkyBirbFeather 5376 Honeycomb 5377 Beeswax 5378 +Stone 5380 +Brick 5381 +MountainCrystal 5384 +BlackQuarz 5385 LeatherShirt 523 DesertShirt 546 Turtleneck 564 @@ -1003,6 +1007,8 @@ ButterButterfly 5364 JunglefowlEgg 5373 KingChonkyBirbEgg 5374 Sauerkraut 5379 +AnchorStone 5382 +AnchoredAnchorStone 5383 CottonShorts 586 JeansShorts 610 CottonSkirt 632 @@ -1297,3 +1303,5 @@ SmallRubyBif 1221 SmallSapphireBif 1222 SmallTopazBif 1223 CoalGolem 1224 +StoneSlime 1225 +StoneGolem 1226 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 277b033e..644a9a9e 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5860,6 +5860,50 @@ item_db: ( Refine: false ViewSprite: 5378 }, +{ + Id: 5380 + AegisName: "Stone" + Name: "Stone" + Type: "IT_ETC" + Buy: 1000 + Sell: 500 + Weight: 60 + Refine: false + ViewSprite: 5380 +}, +{ + Id: 5381 + AegisName: "Brick" + Name: "Brick" + Type: "IT_ETC" + Buy: 2000 + Sell: 1000 + Weight: 40 + Refine: false + ViewSprite: 5381 +}, +{ + Id: 5384 + AegisName: "MountainCrystal" + Name: "MountainCrystal" + Type: "IT_ETC" + Buy: 20000 + Sell: 10000 + Weight: 20 + Refine: false + ViewSprite: 5384 +}, +{ + Id: 5385 + AegisName: "BlackQuarz" + Name: "BlackQuarz" + Type: "IT_ETC" + Buy: 20000 + Sell: 10000 + Weight: 20 + Refine: false + ViewSprite: 5385 +}, /* Chest Armor */ { Id: 523 @@ -16670,6 +16714,56 @@ item_db: ( callfunc "itheal", 500, 0; "> }, +{ + Id: 5382 + AegisName: "AnchorStone" + Name: "AnchorStone" + Type: "IT_USABLE" + Buy: 90000 + Sell: 45000 + Weight: 40 + Refine: false + ViewSprite: 5382 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + Script: <" + set @StoneName$, "AnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, +{ + Id: 5383 + AegisName: "AnchoredAnchorStone" + Name: "AnchoredAnchorStone" + Type: "IT_USABLE" + Buy: 0 + Sell: 0 + Weight: 40 + Refine: false + ViewSprite: 5383 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + nostorage: true + nogstorage: true + Script: <" + set @StoneName$, "AnchoredAnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, /* Legs Armor */ { Id: 586 diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index e7802111..731a2d33 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -304,3 +304,7 @@ 5376, KingChonkyBirbFeather, 3, 6000, 3000, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5377, Honeycomb, 3, 200, 100, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5384, MountainCrystal, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuarz, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index e4783e41..2e7c33ca 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -147,3 +147,6 @@ 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;}, {} 5379, Sauerkraut, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 500, 0, 1;}, {} +5382, AnchorStone, 0, 90000, 45000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @StoneName$, "AnchorStone"; callfunc "useAnchorStone";}, {} +//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} +5383, AnchoredAnchorStone, 0, 0, 0, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 31, {set @StoneName$, "AnchoredAnchorStone"; callfunc "useAnchorStone";}, {} diff --git a/world/map/npc/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt new file mode 100644 index 00000000..52c688f4 --- /dev/null +++ b/world/map/npc/items/anchor_stone.txt @@ -0,0 +1,56 @@ +function|script|useAnchorStone +{ + addtimer 0, "AS_Core::OnUse"; + return; +} + +-|script|AS_Core|32767 +{ + end; + +OnUse: + if ( @StoneName$ == "AnchorStone" ) goto L_AnchorStone; + if ( @StoneName$ == "AnchoredAnchorStone" ) goto L_AnchoredAnchorStone; + goto L_Close; + +L_AnchorStone: + mes "\"You really want to bind the [@@" + AnchorStone + "|@@] to this place?\""; + menu + "No", L_Close, + "Yes", L_AS_Yes; + +L_AS_Yes: + set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a seperate variable for that since shifting would destroy the sign bit and create a different hash + set AnchorStoneDestCoord, gety() << AS_Y_SHIFT | getx() << AS_X_SHIFT; + + delitem AnchorStone, 1; + getitem AnchoredAnchorStone, 1; + close; + +L_AnchoredAnchorStone: + if ((AnchorStoneDest < 1) && (AnchorStoneDest > -1)) goto L_AAS_Error; + mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bond to?\""; + menu + "No", L_Close, + "Yes", L_AAS_Yes; + +L_AAS_Yes: + warp getmapnamefromhash(AnchorStoneDest), (AnchorStoneDestCoord & AS_X_MASK >> AS_X_SHIFT), (AnchorStoneDestCoord & AS_Y_MASK >> AS_Y_SHIFT); + + goto L_AAStoAS; + +L_AAS_Error: + mes "\"Something went wrong the [@@" + AnchoredAnchorStone + "|@@] lost its destination and turns back to normal.\""; + goto L_AAStoAS; + +L_AAStoAS: + set AnchorStoneDest, 0; + set AnchorStoneDestCoord, 0; + + delitem AnchoredAnchorStone, 1; + getitem AnchorStone, 1; + close; + +L_Close: + close; +} diff --git a/world/map/npc/mobs/mob_points.txt b/world/map/npc/mobs/mob_points.txt index d0ede2f1..2589f1eb 100644 --- a/world/map/npc/mobs/mob_points.txt +++ b/world/map/npc/mobs/mob_points.txt @@ -232,7 +232,9 @@ function|script|MobPoints 1, // 1221 SmallRubyBif 1, // 1222 SmallSapphireBif 1, // 1223 SmallTopazBif - 200 // 1224 CoalGolem + 200, // 1224 CoalGolem + 25, // 1225 StoneSlime + 200 // 1226 StoneGolem ; // END // the following mobs where replaced by other mobs: diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index 17045566..b0a5f0c2 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -64,6 +64,7 @@ npc: npc/items/underworld_troll.txt npc: npc/items/silver_bell.txt npc: npc/items/shovel.txt npc: npc/items/maps.txt +npc: npc/items/anchor_stone.txt // Mob Functions npc: npc/mobs/miner_mania.txt -- cgit v1.2.3-70-g09d2 From b722090ebdc8f626f367d342bb9dcfdf0c207873 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 22:16:52 +0200 Subject: stones and crystals mobs --- world/map/db/mob_db.conf | 169 ++++++++++++++++++++++++++++++++------- world/map/db/mob_db_0_19.txt | 6 +- world/map/db/mob_db_40_59.txt | 11 +-- world/map/db/mob_db_over_100.txt | 4 +- world/map/db/mob_db_over_150.txt | 7 +- 5 files changed, 156 insertions(+), 41 deletions(-) diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf index ae92f099..fa8ba17c 100644 --- a/world/map/db/mob_db.conf +++ b/world/map/db/mob_db.conf @@ -7789,7 +7789,7 @@ mob_db: ( MutationStrength: 40 Drops: { TreasureKey: 500 - RedApple: 100 + MountainCrystal: 100 InfantryHelmet: 20 CoinBag: 200 Diamond: 20 @@ -7829,7 +7829,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -7843,6 +7842,9 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + MountainCrystal: 400 + MountainCrystal: 200 + MountainCrystal: 100 Diamond: 50 Ruby: 50 Emerald: 50 @@ -7880,7 +7882,7 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Aggressive: true + Assist: true Boss: true CanAttack: true ChangeTargetMelee: true @@ -7893,7 +7895,15 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { - DarkCrystal: 10000 + BlackQuarz: 400 + BlackQuarz: 200 + BlackQuarz: 100 + Diamond: 50 + Ruby: 50 + Emerald: 50 + Sapphire: 50 + Topaz: 50 + Amethyst: 50 } }, { @@ -8216,7 +8226,7 @@ mob_db: ( MutationStrength: 30 Drops: { TreasureKey: 800 - RedApple: 200 + MountainCrystal: 400 InfantryHelmet: 35 CoinBag: 400 Diamond: 35 @@ -9166,9 +9176,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 300 - SilverOre: 150 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 200 + SilverOre: 100 GoldOre: 10 } }, @@ -9219,9 +9229,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 200 - BromenalOre: 100 + BromenalOre: 300 + BromenalOre: 150 + SilverOre: 20 GoldOre: 10 } }, @@ -9270,8 +9280,8 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 100 GoldOre: 50 } @@ -9324,8 +9334,8 @@ mob_db: ( IronOre: 2000 IronOre: 1000 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9377,8 +9387,8 @@ mob_db: ( Coal: 1000 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9418,8 +9428,8 @@ mob_db: ( IronOre: 800 Coal: 1000 CopperOre: 200 - SilverOre: 150 - BromenalOre: 100 + BromenalOre: 150 + SilverOre: 100 GoldOre: 50 } }, @@ -9459,8 +9469,8 @@ mob_db: ( IronOre: 1600 Coal: 2000 CopperOre: 400 - SilverOre: 300 - BromenalOre: 200 + BromenalOre: 300 + SilverOre: 200 GoldOre: 100 } }, @@ -9500,8 +9510,8 @@ mob_db: ( IronOre: 400 Coal: 500 CopperOre: 100 - SilverOre: 75 - BromenalOre: 50 + BromenalOre: 75 + SilverOre: 50 GoldOre: 25 } }, @@ -10308,7 +10318,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -10322,12 +10331,116 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + Charcoal: 2000 Charcoal: 1000 Charcoal: 500 - Charcoal: 250 - Coal: 5000 - Coal: 2500 - Coal: 1250 + Coal: 4000 + Coal: 2000 + Coal: 1000 + IronOre: 500 + IronPowder: 1200 + } +}, +{ + Id: 1225 + SpriteName: "StoneSlime" + Name: "Stone Slime" + Lv: 40 + Hp: 600 + Sp: 0 + Exp: 200 + JExp: 18 + AttackRange: 1 + Attack: [60, 90] + Def: 20 + Mdef: 30 + CriticalDef: 0 + Stats: { + Str: 20 + Agi: 30 + Vit: 10 + Int: 10 + Dex: 30 + Luk: 30 + } + ViewRange: 9 + ChaseRange: 10 + Size: 1 + Race: 0 + Element: (1, 1) + Mode: { + CanMove: true + Looter: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 1200 + AttackDelay: 1872 + AttackMotion: 672 + DamageMotion: 480 + MutationCount: 1 + MutationStrength: 20 + Drops: { + Stone: 1000 + Stone: 500 + Stone: 250 + Brick: 100 + Coal: 200 + IronOre: 200 + CopperOre: 40 + BromenalOre: 30 + SilverOre: 20 + GoldOre: 10 + } +}, +{ + Id: 1226 + SpriteName: "StoneGolem" + Name: "Stone Golem" + Lv: 180 + Hp: 30000 + Sp: 280 + Exp: 70000 + JExp: 2400 + AttackRange: 3 + Attack: [170, 190] + Def: 75 + Mdef: 40 + CriticalDef: 0 + Stats: { + Str: 35 + Agi: 26 + Vit: 99 + Int: 127 + Dex: 255 + Luk: 105 + } + ViewRange: 31 + ChaseRange: 30 + Size: 1 + Race: 0 + Element: (6, 4) + Mode: { + CanMove: true + Assist: true + Boss: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 320 + AttackDelay: 1000 + AttackMotion: 672 + DamageMotion: 50 + MutationCount: 0 + MutationStrength: 0 + Drops: { + Stone: 2000 + Stone: 1000 + Stone: 500 + Brick: 200 + Coal: 500 IronOre: 500 IronPowder: 1200 } diff --git a/world/map/db/mob_db_0_19.txt b/world/map/db/mob_db_0_19.txt index c47a2a99..831426b9 100644 --- a/world/map/db/mob_db_0_19.txt +++ b/world/map/db/mob_db_0_19.txt @@ -24,7 +24,7 @@ 1162, Grinchboo, Grinchboo, 5, 50, 0, 6, 1, 1, 5, 10, 0, 5, 0, 1, 1, 1, 0, 6, 5, 9, 10, 1, 3, 11, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 527, 50, 527, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1165, ChristmasGift, ChristmasGift, 1, 1, 0, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5292, 150, 5316, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5316, 150, 5292, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1181, SmallFrog, SmallFrog, 9, 100, 0, 100, 10, 1, 10, 20, 19, 3, 0, 10, 25, 25, 1, 15, 20, 5, 10, 0, 2, 12, 129, 600, 1976, 672, 480, 505, 600, 518, 200, 5215, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1182, BigFrog, BigFrog, 10, 200, 0, 150, 15, 1, 20, 30, 24, 3, 0, 20, 15, 35, 1, 15, 20, 5, 10, 0, 2, 12, 129, 500, 1976, 672, 480, 505, 700, 518, 300, 5215, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1186, MananaTree, MananaTree, 5, 2500, 0, 2, 0, 1, 10, 10, 25, 1, 0, 1, 1, 10, 1, 1, 1, 1, 12, 1, 3, 12, 0, 1000, 800, 672, 480, 5341, 1000, 5341, 500, 5341, 250, 569, 1000, 569, 2000, 806, 500, 740, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80 @@ -32,8 +32,8 @@ 1191, Tortuga, Tortuga, 19, 535, 0, 350, 38, 1, 33, 44, 30, 50, 0, 18, 12, 1, 8, 80, 25, 1, 12, 1, 2, 11, 129, 700, 1872, 672, 480, 5355, 400, 5356, 100, 5215, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1192, Ratto, Ratto, 15, 250, 0, 200, 30, 1, 25, 35, 13, 6, 0, 5, 10, 13, 1, 11, 6, 3, 12, 1, 2, 10, 131, 120, 1572, 672, 480, 5357, 500, 5358, 400, 5333, 200, 5335, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1193, Croc, Croc, 17, 350, 0, 300, 35, 1, 124, 129, 54, 6, 0, 6, 10, 13, 1, 11, 6, 1, 12, 1, 2, 11, 129, 600, 1872, 672, 200, 5366, 350, 5338, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5292, 300, 5316, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5292, 75, 5316, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5316, 300, 5292, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5316, 75, 5292, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1206, AmethystBif, AmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 20, 824, 1200, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1207, DiamondBif, DiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 20, 824, 600, 819, 1200, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1208, EmeraldBif, EmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 20, 824, 600, 819, 600, 821, 1200, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_40_59.txt b/world/map/db/mob_db_40_59.txt index 0cf3e83f..63dc0223 100644 --- a/world/map/db/mob_db_40_59.txt +++ b/world/map/db/mob_db_40_59.txt @@ -17,9 +17,10 @@ 1164, ChristmasTree, ChristmasTree, 40, 12000, 0, 3647, 392, 2, 40, 40, 20, 40, 0, 30, 30, 30, 30, 30, 30, 9, 10, 1, 0, 10, 128, 190, 1500, 800, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1168, Floyd, Floyd, 40, 1500, 0, 555, 150, 3, 25, 50, 60, 5, 30, 10, 23, 30, 20, 40, 50, 9, 10, 1, 3, 12, 129, 800, 1975, 672, 480, 1245, 10, 521, 70, 1257, 5, 529, 150, 529, 800, 4015, 20, 704, 500, 704, 1000, 5290, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1180, MisterPrickel, MisterPrickel, 40, 4822, 0, 672, 111, 1, 250, 275, 23, 33, 0, 20, 40, 55, 1, 20, 30, 1, 12, 1, 3, 20, 129, 400, 1000, 452, 0, 501, 300, 502, 200, 613, 800, 613, 400, 569, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 -1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5292, 300, 5292, 150, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 200, 5316, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 200, 5292, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5316, 300, 5316, 150, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength +1225, StoneSlime, StoneSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5380, 1000, 5380, 500, 5380, 250, 5381, 100, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt index 8e7c1ff0..b65e3800 100644 --- a/world/map/db/mob_db_over_100.txt +++ b/world/map/db/mob_db_over_100.txt @@ -45,14 +45,14 @@ 1166, Snowman, Snowman, 100, 4200, 0, 2897, 689, 1, 60, 80, 5, 20, 0, 15, 25, 40, 15, 75, 30, 8, 10, 1, 3, 10, 133, 800, 1872, 672, 480, 567, 800, 5310, 800, 568, 800, 4002, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1167, SnowmanBoss, SnowmanBoss, 100, 35000, 0, 88970, 2689, 4, 220, 240, 77, 50, 0, 45, 20, 110, 150, 255, 110, 14, 16, 1, 3, 10, 165, 700, 1672, 672, 480, 567, 1600, 5310, 1600, 568, 1600, 4002, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 +1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 5384, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 1173, MontBlanc, MontBlanc, 110, 30000, 0, 100300, 500, 12, 777, 1000, 70, 90, 90, 30, 1, 100, 1, 120, 120, 12, 12, 1, 3, 12, 164, 0, 4000, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1174, Emo, Emo, 129, 50150, 80, 150000, 1000, 2, 250, 450, 30, 60, 60, 80, 60, 100, 60, 110, 110, 40, 30, 1, 1, 21, 183, 250, 450, 672, 50, 528, 5000, 532, 200, 5294, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1175, MegaManaBug, MegaManaBug, 111, 675, 0, 275, 40, 1, 60, 85, 3, 8, 0, 16, 14, 15, 20, 30, 30, 9, 10, 1, 4, 12, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 540, 10, 526, 400, 5309, 1000, 5309, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60 1176, Rotter, Rotter, 130, 6000, 0, 5533, 733, 4, 333, 555, 20, 25, 50, 30, 15, 30, 1, 130, 130, 7, 11, 1, 1, 17, 141, 1200, 2222, 672, 900, 631, 1000, 777, 800, 778, 200, 779, 500, 1198, 500, 5297, 10, 3004, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1177, Rot, Rot, 100, 13, 0, 11, 1, 1, 111, 333, 0, 0, 0, 0, 0, 0, 0, 255, 33, 1, 1, 1, 0, 11, 132, 0, 500, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1178, SpiderQueen, SpiderQueen, 145, 7000, 0, 1200, 400, 3, 250, 300, 60, 60, 0, 40, 30, 50, 15, 65, 40, 8, 15, 0, 2, 12, 165, 210, 1200, 550, 450, 518, 2500, 505, 2000, 640, 600, 4001, 800, 5292, 100, 537, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30 -1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 535, 200, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 +1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 5384, 400, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1184, BoneQuadceratops, BoneQuadceratops, 120, 22000, 0, 12120, 1888, 1, 100, 200, 66, 55, 0, 60, 20, 60, 1, 43, 70, 9, 10, 1, 1, 17, 169, 750, 800, 692, 720, 4023, 10000, 4023, 5000, 4023, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1185, EntAbomination, EntAbomination, 130, 45000, 280, 58000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 2000, 569, 2000, 806, 250, 806, 500, 740, 500, 740, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20 1188, Junglefowl, Junglefowl, 125, 25500, 0, 15000, 2125, 1, 175, 250, 45, 47, 0, 70, 99, 80, 22, 99, 70, 7, 11, 1, 2, 12, 169, 400, 1000, 672, 200, 5373, 1000, 5375, 1100, 562, 1000, 562, 500, 4023, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_over_150.txt b/world/map/db/mob_db_over_150.txt index 1c3675c9..7c7d9c0e 100644 --- a/world/map/db/mob_db_over_150.txt +++ b/world/map/db/mob_db_over_150.txt @@ -27,7 +27,8 @@ 1149, Enchanter, Enchanter, 181, 19000, 280, 55000, 2000, 8, 140, 180, 30, 60, 0, 31, 22, 90, 127, 255, 105, 31, 10, 1, 1, 37, 181, 240, 800, 672, 50, 537, 800, 779, 90, 780, 80, 777, 70, 1198, 50, 666, 30, 1227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10 1150, ManaTyrant, ManaTyrant, 180, 24000, 280, 27000, 5000, 2, 300, 325, 42, 67, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 180, 1050, 672, 50, 759, 1, 5237, 20, 1253, 5, 720, 100, 825, 500, 868, 20, 1172, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1161, Xakelbael, Xakelbael, 200, 29999, 280, 999999, 99999, 9, 90, 124, 74, 100, 0, 199, 2, 199, 197, 255, 175, 31, 10, 1, 1, 37, 181, 210, 672, 672, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 165, 320, 1000, 672, 50, 631, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5384, 400, 5384, 200, 5384, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5385, 400, 5385, 200, 5385, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1183, MobMoubootaur, MobMoubootaur, 220, 99999, 9999, 999999, 99999, 1, 400, 500, 99, 99, 0, 99, 60, 99, 30, 255, 255, 18, 18, 1, 6, 47, 165, 240, 872, 272, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 5332, 1000, 5332, 500, 5332, 250, 4001, 5000, 4001, 2500, 4001, 1250, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5332, 2000, 5332, 1000, 5332, 500, 4001, 4000, 4001, 2000, 4001, 1000, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1226, StoneGolem, StoneGolem, 180, 30000, 280, 70000, 2400, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5380, 2000, 5380, 1000, 5380, 500, 5381, 200, 4001, 500, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -- cgit v1.2.3-70-g09d2 From b4828acf9cea7f039a800938f25e572f93031122 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 23:08:37 +0200 Subject: stones and crystals stone slime to miner mania --- world/map/npc/mobs/miner_mania.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/mobs/miner_mania.txt b/world/map/npc/mobs/miner_mania.txt index 445c82e0..a496697d 100644 --- a/world/map/npc/mobs/miner_mania.txt +++ b/world/map/npc/mobs/miner_mania.txt @@ -53,7 +53,7 @@ Note: setarray $@slime_mine_maps_y0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1; setarray $@slime_mine_maps_x1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1; setarray $@slime_mine_maps_y1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1; - setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime; + setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime, StoneSlime; // Bifs ----------------------------- -- cgit v1.2.3-70-g09d2 From d0aa3ab70b9af9105a58f7ecb43cc8ca14ea30ce Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 1 Jul 2024 23:17:10 +0200 Subject: stones and crystals prices --- world/map/db/item_db.conf | 4 ++-- world/map/db/item_db_generic.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 644a9a9e..23913ef7 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5888,7 +5888,7 @@ item_db: ( Name: "MountainCrystal" Type: "IT_ETC" Buy: 20000 - Sell: 10000 + Sell: 5000 Weight: 20 Refine: false ViewSprite: 5384 @@ -5899,7 +5899,7 @@ item_db: ( Name: "BlackQuarz" Type: "IT_ETC" Buy: 20000 - Sell: 10000 + Sell: 5000 Weight: 20 Refine: false ViewSprite: 5385 diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index 731a2d33..185ff414 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -306,5 +306,5 @@ 5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -5384, MountainCrystal, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -5385, BlackQuarz, 3, 20000, 10000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5384, MountainCrystal, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuarz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -- cgit v1.2.3-70-g09d2 From 8fff535278eafed9cadee340ca2ad7958b741d27 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 22 Jun 2024 17:16:43 +0200 Subject: upmarmu v6 full --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 42 +++++++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index d169f3c7..ef93435c 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: -// if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index a67941cf..d752aa11 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,18 +1,17 @@ -|script|magic-knuckles|32767 { if @_U_BLOCK >= 1 goto L_Still_Exhausted; -/* - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player + + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -*/ if (call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; @@ -49,35 +48,29 @@ OnAttack: if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE); -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; set @upmarmuspell[1], @upmarmuspell[1] - 1; + + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_FreeRecast; set @num_upmarmu_hits, @num_upmarmu_hits + 1; + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST set .exhausted, 1, .upmarmu_spell_npc; - if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted; goto L_FreeRecast; L_FreeRecast: if (@upmarmuspell[1] > 0) addtimer 0, strnpcinfo(0) + "::OnSetRecast"; + else + addtimer 0, @upmarmu_spell_npc_name$ + "::OnExhausted"; end; -L_Exhausted: - set @_U_BLOCK, 1; - set @upmarmuspell[1], 0; - misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); - overrideattack; - addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time - sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; - smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; - goto L_StopTimer; - L_Still_Exhausted: smsg SMSG_FAILURE, "Magic: You are still too exhausted to use this spell for a while!"; end; L_StopTimer: -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; end; OnDischarge: @@ -91,7 +84,6 @@ OnSetRecast: overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay needs to be squared end; -/* OnResetTimer: // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again stopnpctimer; @@ -117,9 +109,20 @@ OnTimer25000: setnpctimer 0; end; +OnExhausted: + if (.exhausted < 1) end; + + set @_U_BLOCK, 1; + set @upmarmuspell[1], 0; + set @num_upmarmu_hits, 0; + set .exhausted, 0; + addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time + sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; + smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; + goto L_StopTimer; + OnDestroy: destroy; -*/ OnInit: set .school, SKILL_MAGIC_WAR; @@ -136,6 +139,5 @@ OnInit: OnClear: set @_U_BLOCK, 0; - set @num_upmarmu_hits, 0; end; } -- cgit v1.2.3-70-g09d2 From 34ffef707b9dd660a5a77ebef97533d8ae279143 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 24 Jun 2024 16:14:20 +0200 Subject: attachrid only supports acc id (getcharid(3)) --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index ef93435c..5274fa05 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: - if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index d752aa11..92ee07a5 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -2,13 +2,13 @@ { if @_U_BLOCK >= 1 goto L_Still_Exhausted; - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -- cgit v1.2.3-70-g09d2 From 9b33b27743c9d2a46adfa665584066749105a306 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 3 Jul 2024 20:21:46 +0200 Subject: quarz to quartz --- world/map/db/const-aegis.txt | 2 +- world/map/db/item_db.conf | 4 ++-- world/map/db/mob_db.conf | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index 6ce13f20..c5c19c0f 100644 --- a/world/map/db/const-aegis.txt +++ b/world/map/db/const-aegis.txt @@ -390,7 +390,7 @@ Beeswax 5378 Stone 5380 Brick 5381 MountainCrystal 5384 -BlackQuarz 5385 +BlackQuartz 5385 LeatherShirt 523 DesertShirt 546 Turtleneck 564 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 23913ef7..5b72b8d7 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5895,8 +5895,8 @@ item_db: ( }, { Id: 5385 - AegisName: "BlackQuarz" - Name: "BlackQuarz" + AegisName: "BlackQuartz" + Name: "BlackQuartz" Type: "IT_ETC" Buy: 20000 Sell: 5000 diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf index fa8ba17c..d33b30c4 100644 --- a/world/map/db/mob_db.conf +++ b/world/map/db/mob_db.conf @@ -7895,9 +7895,9 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { - BlackQuarz: 400 - BlackQuarz: 200 - BlackQuarz: 100 + BlackQuartz: 400 + BlackQuartz: 200 + BlackQuartz: 100 Diamond: 50 Ruby: 50 Emerald: 50 -- cgit v1.2.3-70-g09d2 From bb22de72944d6d3ac01d84b746af1a749d748377 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 3 Jul 2024 21:33:53 +0200 Subject: quarz to quartz db --- world/map/db/item_db_generic.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index 185ff414..ff127182 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -307,4 +307,4 @@ 5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5384, MountainCrystal, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -5385, BlackQuarz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuartz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} -- cgit v1.2.3-70-g09d2 From fbeca50439ba543e22f3251e0cd5d186d54c06b5 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 3 Jul 2024 22:00:01 +0200 Subject: typo fix --- world/map/npc/items/anchor_stone.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt index 52c688f4..d63632af 100644 --- a/world/map/npc/items/anchor_stone.txt +++ b/world/map/npc/items/anchor_stone.txt @@ -29,7 +29,7 @@ L_AS_Yes: L_AnchoredAnchorStone: if ((AnchorStoneDest < 1) && (AnchorStoneDest > -1)) goto L_AAS_Error; - mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bond to?\""; + mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bound to?\""; menu "No", L_Close, "Yes", L_AAS_Yes; -- cgit v1.2.3-70-g09d2 From a213cfb2cea5b26f1dbb9577bed57eedd380a10b Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 3 Jul 2024 22:19:19 +0200 Subject: typo fix comment --- world/map/npc/items/anchor_stone.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt index d63632af..c1ea722b 100644 --- a/world/map/npc/items/anchor_stone.txt +++ b/world/map/npc/items/anchor_stone.txt @@ -20,7 +20,7 @@ L_AnchorStone: "Yes", L_AS_Yes; L_AS_Yes: - set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a seperate variable for that since shifting would destroy the sign bit and create a different hash + set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a separate variable for that since shifting would destroy the sign bit and create a different hash set AnchorStoneDestCoord, gety() << AS_Y_SHIFT | getx() << AS_X_SHIFT; delitem AnchorStone, 1; -- cgit v1.2.3-70-g09d2 From 9bf6516e56f3c54cc10ccc6d7f051a81329e62dd Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 22 Jun 2024 17:16:43 +0200 Subject: upmarmu v6 full --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 42 +++++++++++++----------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index d169f3c7..ef93435c 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: -// if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index a67941cf..d752aa11 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,18 +1,17 @@ -|script|magic-knuckles|32767 { if @_U_BLOCK >= 1 goto L_Still_Exhausted; -/* - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player + + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -*/ if (call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; @@ -49,35 +48,29 @@ OnAttack: if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE); -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; set @upmarmuspell[1], @upmarmuspell[1] - 1; + + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_FreeRecast; set @num_upmarmu_hits, @num_upmarmu_hits + 1; + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST set .exhausted, 1, .upmarmu_spell_npc; - if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted; goto L_FreeRecast; L_FreeRecast: if (@upmarmuspell[1] > 0) addtimer 0, strnpcinfo(0) + "::OnSetRecast"; + else + addtimer 0, @upmarmu_spell_npc_name$ + "::OnExhausted"; end; -L_Exhausted: - set @_U_BLOCK, 1; - set @upmarmuspell[1], 0; - misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); - overrideattack; - addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time - sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; - smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; - goto L_StopTimer; - L_Still_Exhausted: smsg SMSG_FAILURE, "Magic: You are still too exhausted to use this spell for a while!"; end; L_StopTimer: -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; end; OnDischarge: @@ -91,7 +84,6 @@ OnSetRecast: overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay needs to be squared end; -/* OnResetTimer: // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again stopnpctimer; @@ -117,9 +109,20 @@ OnTimer25000: setnpctimer 0; end; +OnExhausted: + if (.exhausted < 1) end; + + set @_U_BLOCK, 1; + set @upmarmuspell[1], 0; + set @num_upmarmu_hits, 0; + set .exhausted, 0; + addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time + sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; + smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; + goto L_StopTimer; + OnDestroy: destroy; -*/ OnInit: set .school, SKILL_MAGIC_WAR; @@ -136,6 +139,5 @@ OnInit: OnClear: set @_U_BLOCK, 0; - set @num_upmarmu_hits, 0; end; } -- cgit v1.2.3-70-g09d2 From a5a76a68000fa0cce711c9a1502f0ac57aecc58b Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 24 Jun 2024 16:14:20 +0200 Subject: attachrid only supports acc id (getcharid(3)) --- world/map/npc/functions/global_event_handler.txt | 2 +- world/map/npc/magic/level2-magic-knuckles.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index ef93435c..5274fa05 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: - if (getnpcid("#Upmarmu#" + getcharid(0)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(0) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index d752aa11..92ee07a5 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -2,13 +2,13 @@ { if @_U_BLOCK >= 1 goto L_Still_Exhausted; - set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(0); // make a unique puppet name for every player + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -- cgit v1.2.3-70-g09d2 From 359cd55d2191fc1a1054064dd729846920a0cc00 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Sat, 22 Jun 2024 17:16:43 +0200 Subject: upmarmu v6 full --- world/map/npc/magic/level2-magic-knuckles.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index 92ee07a5..d813ee49 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -8,7 +8,7 @@ set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -- cgit v1.2.3-70-g09d2 From 91c195026c58f23b304444395690e8f65b68f5ec Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 24 Jun 2024 16:14:20 +0200 Subject: attachrid only supports acc id (getcharid(3)) --- world/map/npc/magic/level2-magic-knuckles.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index d813ee49..92ee07a5 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -8,7 +8,7 @@ set .upmarmu_spell_npc, puppet(getmap(), 0, 0, @upmarmu_spell_npc_name$, 127); // clone npc => get puppet id (npc 127 is invisible and can't be targeted) if (.upmarmu_spell_npc < 1) end; - set .caster, getcharid(0), .upmarmu_spell_npc; // tell the puppet who controls it + set .caster, getcharid(3), .upmarmu_spell_npc; // tell the puppet who controls it goto L_NPC_Exists; L_NPC_Exists: -- cgit v1.2.3-70-g09d2 From 43bf4d6d3b9252017a34e197ceea6f647a30c3de Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Sun, 14 Jul 2024 14:49:39 +0300 Subject: This commit lands workaround on MM weight problem. Naive approach using stats failed. But even more direct way works. This sets MaxWeight on MM login to 10 000 000 aka 10 000 kg aka 10 tons. I think 10 tons "should be enough for everyone". I've actually tested it works by heavily loading ManaMarket replica on local server with itens. --- world/map/npc/functions/global_event_handler.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index 5274fa05..6664da36 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -20,6 +20,7 @@ OnPCLoginEvent: callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe // add more here + if (strcharinfo(0, BL_ID) == "ManaMarket") set MaxWeight, 10000000; // Let ManaMarket bot to carry 10 tons set @login_event, 2; end; -- cgit v1.2.3-70-g09d2 From 577d79a5f115636ee71bce69523229c04dd669a3 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Tue, 16 Jul 2024 12:00:54 +0300 Subject: V2 of ManaMarket weight solution idea. Differences vs previous version: * Allows to set "arbitrary" weight limits (within i32). * Does NOT makes hardcoded assumptions on nick or weight. * Reusable for >1 trade bot if desired. * Acts a bit like ACL, most of it done by server itself. * Still oneliner :) Usage: @setvar WEIGHT_LIMIT 0 10000000 ManaMarket Since its per-character variable, user must be online. --- world/map/npc/functions/global_event_handler.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index 6664da36..b9e81e37 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -19,8 +19,8 @@ OnPCLoginEvent: callfunc "ConvertChristmas21"; // Christmas 2021 callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe + if (WEIGHT_LIMIT) set MaxWeight, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) // add more here - if (strcharinfo(0, BL_ID) == "ManaMarket") set MaxWeight, 10000000; // Let ManaMarket bot to carry 10 tons set @login_event, 2; end; -- cgit v1.2.3-70-g09d2 From 7e19113c28332724effcb3a93e0452129b639a9c Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Thu, 18 Jul 2024 19:08:03 +0300 Subject: v3 of idea: rewired to use some server-side assistance by HoraK --- world/map/npc/functions/global_event_handler.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index b9e81e37..b1c5917e 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -19,7 +19,7 @@ OnPCLoginEvent: callfunc "ConvertChristmas21"; // Christmas 2021 callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe - if (WEIGHT_LIMIT) set MaxWeight, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) + if (WEIGHT_LIMIT) set MaxWeightOverride, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) // add more here set @login_event, 2; end; -- cgit v1.2.3-70-g09d2 From 14699a5c5d7495b9bc1752d2b35284768e8db134 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Thu, 18 Jul 2024 19:55:08 +0300 Subject: v3 of bot weight: add server params constants matching server's code --- world/map/db/params.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/world/map/db/params.txt b/world/map/db/params.txt index d600b4ad..38651ff7 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -28,6 +28,8 @@ NEXTBASEEXP 22 1 NEXTJOBEXP 23 1 Weight 24 1 MaxWeight 25 1 +MaxWeightAdd 26 1 +MaxWeightOverride 27 1 ATK1 41 1 ATK2 42 1 MATK1 43 1 -- cgit v1.2.3-70-g09d2 From bab8a25d6d3a2a5f5173654c95d057c65a3fa4f6 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Fri, 19 Jul 2024 04:03:41 +0300 Subject: V4 - rename weight override char var to HoraK's suggestion --- world/map/npc/functions/global_event_handler.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index b1c5917e..9db9dd8f 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -19,7 +19,7 @@ OnPCLoginEvent: callfunc "ConvertChristmas21"; // Christmas 2021 callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe - if (WEIGHT_LIMIT) set MaxWeightOverride, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) + if (MAXWEIGHT_OVERRIDE) set MaxWeightOverride, MAXWEIGHT_OVERRIDE; // If MAXWEIGHT_OVERRIDE char var set, override max weight (tradebots, etc) // add more here set @login_event, 2; end; -- cgit v1.2.3-70-g09d2 From 204efe443a070b080a9f41bb81b6ea77abf25409 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Fri, 19 Jul 2024 23:12:55 +0000 Subject: Applied suggested changes to params.txt by HoraK Co-authored-by: HoraK --- world/map/db/params.txt | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/world/map/db/params.txt b/world/map/db/params.txt index 38651ff7..8d902aef 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -76,34 +76,36 @@ MUTE_PARTY 1084 1 //MUTE_GUILD 1085 1 AUTOMOD 1086 1 -bMaxHP 6 // MaxHP + n -bMaxSP 8 // MaxSP + n -bStr 13 // STR + n -bAgi 14 // AGI + n -bVit 15 // VIT + n -bInt 16 // INT + n -bDex 17 // DEX + n -bLuk 18 // LUK + n -bAtk 41 // ATK + n (Minimum attack power) -bAtk2 42 // ATK2 + n (Maximum attack power) -bMatk1 43 // MATK1 + n (Maximum magical attack power) -bMatk2 44 // MATK2 + n (Minimum magical attack power) +bMaxHP 6 // MaxHP + n +bMaxSP 8 // MaxSP + n +bStr 13 // STR + n +bAgi 14 // AGI + n +bVit 15 // VIT + n +bInt 16 // INT + n +bDex 17 // DEX + n +bLuk 18 // LUK + n +bMaxWeight 25 // Sets the maximum possible weight to carry to n (bMaxWeight,n;). Note: As a failsave 1000 is added to n, final weight is n + 1000. +bMaxWeightAdd 26 // Adds n to the maximum possible weight to carry (bMaxWeightAdd,n;). Note: As a failsave 1000 is added to n, final weight is MaxWeight + n + 1000. +bAtk 41 // ATK + n (Minimum attack power) +bAtk2 42 // ATK2 + n (Maximum attack power) +bMatk1 43 // MATK1 + n (Maximum magical attack power) +bMatk2 44 // MATK2 + n (Minimum magical attack power) // Greatest of MATK1 and MATK2 is taken and becomes MATK1 and MATK2 is set to 0. // So using MATK2 bonus at the moment has no real benefit you only need greater values to reach same as MATK1. // MATK1 += INT + (INT / 5) * (INT / 5); // MATK2 += INT + (INT / 7) * (INT / 7); // The whole magic system is currently handled in serverdata which only uses MATK1 but the magic attack functions // do already exist in servercode only skills must be added there. -bDef 45 // Equipment DEF + n -bDef2 46 // VIT based DEF + n -bMdef 47 // Equipment MDEF + n -bMdef2 48 // INT based MDEF + n -bHit 49 // Hit + n -bFlee 50 // Flee + n -bFlee2 51 // Perfect Dodge + n -bCritical 52 // Critical + n -bAspd 53 // Attack speed + n -bDeaf 70 +bDef 45 // Equipment DEF + n +bDef2 46 // VIT based DEF + n +bMdef 47 // Equipment MDEF + n +bMdef2 48 // INT based MDEF + n +bHit 49 // Hit + n +bFlee 50 // Flee + n +bFlee2 51 // Perfect Dodge + n +bCritical 52 // Critical + n +bAspd 53 // Attack speed + n +bDeaf 70 // Those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other bonuses are ignored. // For more information, have a look here: http://code.google.com/p/eathena/source/browse/trunk/doc/item_bonus.txt -- cgit v1.2.3-70-g09d2 From 56df7a28b777487680eff7d756a77a45fca3ddb4 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Fri, 19 Jul 2024 23:17:43 +0000 Subject: Applied HoraK suggestion on params.txt Co-authored-by: HoraK --- world/map/db/params.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/world/map/db/params.txt b/world/map/db/params.txt index 8d902aef..dae5a243 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -28,7 +28,6 @@ NEXTBASEEXP 22 1 NEXTJOBEXP 23 1 Weight 24 1 MaxWeight 25 1 -MaxWeightAdd 26 1 MaxWeightOverride 27 1 ATK1 41 1 ATK2 42 1 -- cgit v1.2.3-70-g09d2 From 3cff6e2a77e5f2aeba13156d939c122b5c0cb501 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Fri, 19 Jul 2024 23:48:21 +0000 Subject: Apply 1 suggestion(s) to 1 file(s) Co-authored-by: HoraK-FDF --- world/map/db/params.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/world/map/db/params.txt b/world/map/db/params.txt index dae5a243..512d0ac8 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -83,8 +83,8 @@ bVit 15 // VIT + n bInt 16 // INT + n bDex 17 // DEX + n bLuk 18 // LUK + n -bMaxWeight 25 // Sets the maximum possible weight to carry to n (bMaxWeight,n;). Note: As a failsave 1000 is added to n, final weight is n + 1000. -bMaxWeightAdd 26 // Adds n to the maximum possible weight to carry (bMaxWeightAdd,n;). Note: As a failsave 1000 is added to n, final weight is MaxWeight + n + 1000. +bMaxWeight 25 // Sets the maximum possible weight to carry to n (bMaxWeight,n;). Note: As a failsafe 1000 is added to n, final weight is n + 1000. +bMaxWeightAdd 26 // Adds n to the maximum possible weight to carry (bMaxWeightAdd,n;). Note: As a failsafe 1000 is added to n, final weight is MaxWeight + n + 1000. bAtk 41 // ATK + n (Minimum attack power) bAtk2 42 // ATK2 + n (Maximum attack power) bMatk1 43 // MATK1 + n (Maximum magical attack power) -- cgit v1.2.3-70-g09d2 From 870b2cc2199c0556d44a62b92760a3e584b9a270 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Sat, 20 Jul 2024 07:21:37 +0300 Subject: Revert "V4 - rename weight override char var to HoraK's suggestion" This reverts commit bab8a25d6d3a2a5f5173654c95d057c65a3fa4f6. Reason: its confusing if PC variable name looks same like server's param name. --- world/map/npc/functions/global_event_handler.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index 9db9dd8f..b1c5917e 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -19,7 +19,7 @@ OnPCLoginEvent: callfunc "ConvertChristmas21"; // Christmas 2021 callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe - if (MAXWEIGHT_OVERRIDE) set MaxWeightOverride, MAXWEIGHT_OVERRIDE; // If MAXWEIGHT_OVERRIDE char var set, override max weight (tradebots, etc) + if (WEIGHT_LIMIT) set MaxWeightOverride, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) // add more here set @login_event, 2; end; -- cgit v1.2.3-70-g09d2 From 4567e2ff00e0e7c228f36551d71cbb93e0ae4c8c Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Sat, 20 Jul 2024 17:39:49 -0300 Subject: server update - 2024-07 --- client-data | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client-data b/client-data index df06f82c..82dc24d0 160000 --- a/client-data +++ b/client-data @@ -1 +1 @@ -Subproject commit df06f82c1496dea5e99177c931a1a805abb0e949 +Subproject commit 82dc24d08b8999b7f57d43ffa4216596235ac990 -- cgit v1.2.3-70-g09d2 From e3b6c592dc4a70f1f1c8897545583fb35c210511 Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Sun, 21 Jul 2024 11:39:58 -0300 Subject: A few corrections for GFX errors --- client-data | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client-data b/client-data index 82dc24d0..4f960436 160000 --- a/client-data +++ b/client-data @@ -1 +1 @@ -Subproject commit 82dc24d08b8999b7f57d43ffa4216596235ac990 +Subproject commit 4f960436f919a40638eb6a9be3a808a2ca2f967a -- cgit v1.2.3-70-g09d2 From 10d44c0238c52ef77621f88b8097cea8a462bc31 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Mon, 5 Aug 2024 16:28:17 +0200 Subject: 012-1 collusion update --- world/map/data/012-1.wlk | Bin 31588 -> 31588 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/world/map/data/012-1.wlk b/world/map/data/012-1.wlk index 6008bfcd..bad011f4 100644 Binary files a/world/map/data/012-1.wlk and b/world/map/data/012-1.wlk differ -- cgit v1.2.3-70-g09d2 From edf0110b83c79e82f63add148c94fb330358c89e Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Sun, 28 Jul 2024 16:01:39 -0300 Subject: Removed the Clover summon from Rick Lime, since it can be exploited. --- client-data | 2 +- world/map/db/mob_skill_db.txt | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/client-data b/client-data index 4f960436..e97dcd76 160000 --- a/client-data +++ b/client-data @@ -1 +1 @@ -Subproject commit 4f960436f919a40638eb6a9be3a808a2ca2f967a +Subproject commit e97dcd76188549a4d440ae0b62f5128dde585f2b diff --git a/world/map/db/mob_skill_db.txt b/world/map/db/mob_skill_db.txt index 82ef11a4..45b49563 100644 --- a/world/map/db/mob_skill_db.txt +++ b/world/map/db/mob_skill_db.txt @@ -129,5 +129,4 @@ //Rick Lime Skills 1196,RickLime@NPC_SUMMONSLAVE_brblowX2,any,198,1,10000,1000,5000,no,self,slavelt,2,1195,0,0,0,0, -1196,RickLime@NPC_SUMMONSLAVE_cloverX1,any,198,1,5000,1000,5000,no,self,slavelt,3,1037,0,0,0,0, 1195,Brainblow@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0, -- cgit v1.2.3-70-g09d2 From af4c19d951734e88655672823674eb95ee36ef2e Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Tue, 6 Aug 2024 08:12:24 +0300 Subject: A bit more fun with rain. Idea courtesy of Wellvin. How this works: * If rain hits EntAbomination -> LogHead spawned. * If rain hits LogHead -> sometimes [Mauve,Alizarin,Gamboge,Cobalt]Plant could be spawned. * If $NO_RAIN_SPAWNS global variable set -> all spawns are completely disabled (this allows to revert to old logic without server restart if abused or bugs pop up) * If map gets too crowded by spawns spell would cease further spawns (limit set around 30, both spawned logheads and herbs count for this purpose) * Tested on my local, and all obvious bugs were hopefully sorted out. Reported-by: Wellvin --- world/map/npc/magic/level2-rain.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/world/map/npc/magic/level2-rain.txt b/world/map/npc/magic/level2-rain.txt index 6a7f288b..291af009 100644 --- a/world/map/npc/magic/level2-rain.txt +++ b/world/map/npc/magic/level2-rain.txt @@ -102,9 +102,18 @@ OnHit: if(get(Hp, .caster) < 1) destroy; // destroy if caster is missing if(getmap(.caster) != strnpcinfo(3)) destroy; // destroy if caster left the map if(target(.caster, @target_id, 16) != 16 && .caster != @target_id) end; - if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc + if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc if(get(ELTTYPE, @target_id) == ELT_FIRE) injure .caster, @target_id, ((rand((@spellpower/15)+5)+2) * (100 - get(MDEF1, @target_id))) / 100; + if ($NO_RAIN_SPAWNS) end; // server-wide killswitch for rain pranks if spawns logic would backfire. + if (mobcount(getmap(), "rain::OnRainSpawnDeath") > 30) end; // Abort if too crowded. + if(get(Class, @target_id) == EntAbomination) // Rain hit Ent? This scores little perk! + monster getmap(), getnpcx(), getnpcy(), "", LogHead, 1+rand(1+(.max/150)), "rain::OnRainSpawnDeath"; + if((get(Class, @target_id) == LogHead) && (rand(5) == 3)) // Rain hit LogHead? Little perk as well (plants) + monster getmap(), getnpcx(), getnpcy(), "", MauvePlant+rand(5), 1, "rain::OnRainSpawnDeath"; + end; + +OnRainSpawnDeath: end; OnDestroy: -- cgit v1.2.3-70-g09d2 From 9c96675edb834d5b8c45e98f39cc4279122c5336 Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Wed, 7 Aug 2024 21:36:52 -0300 Subject: Made tomatoes the same buy/sell ratio as the other best-heal items --- client-data | 2 +- world/map/db/item_db.conf | 4 ++-- world/map/db/item_db_use.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client-data b/client-data index e97dcd76..2455cbf0 160000 --- a/client-data +++ b/client-data @@ -1 +1 @@ -Subproject commit e97dcd76188549a4d440ae0b62f5128dde585f2b +Subproject commit 2455cbf0b8cf891f482c055184351ec5d22d8637 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 5b72b8d7..b8841cef 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -16190,8 +16190,8 @@ item_db: ( AegisName: "Tomato" Name: "Tomato" Type: "IT_USABLE" - Buy: 40 - Sell: 10 + Buy: 100 + Sell: 50 Weight: 7 Def: 0 Slots: 0 diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index 2e7c33ca..162d97ae 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -110,7 +110,7 @@ 5235, TMWBirthdayGift, 0, 1000000, 50, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "TMWBirthdayGift";}, {} 5236, GumiCandy, 0, 10000, 250, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set Sex, if_then_else(Sex == 3, rand(0, 1), if_then_else(rand(0,1), 3, !Sex));},{} 5237, CaramelCandy, 0, 700, 350, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 350, 0, 1;}, {} -5251, Tomato, 0, 40, 10, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {} +5251, Tomato, 0, 100, 50, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {} 5263, LovePotion, 0, 90000, 550, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "LovePotion";}, {} //5277, XmasSeeds, 0, 9999, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {heal 150, 0, 1;}, {} 5294, CrazyRum, 0, 40, 10, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_POISON, 60000, 1; sc_start SC_ATKPOT, 60, 50; sc_start SC_SPEEDPOTION0, 60, 45; sc_start SC_PHYS_SHIELD, 60000, 40; misceffect FX_MAGIC_SHIELD, strcharinfo(0);},{} -- cgit v1.2.3-70-g09d2 From c99701a99de8d132377dd294980949f85f029a54 Mon Sep 17 00:00:00 2001 From: Ledmitz Date: Wed, 7 Aug 2024 22:00:55 -0300 Subject: Made weight match the description as was intended, once again... and made the price much lower to fall in line with reg and iron arrows. --- world/map/db/item_db.conf | 6 +++--- world/map/db/item_db_weapon.txt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index b8841cef..474abb90 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -1234,9 +1234,9 @@ item_db: ( AegisName: "BoneArrows" Name: "BoneArrows" Type: "IT_AMMO" - Buy: 50 - Sell: 20 - Weight: 0 + Buy: 8 + Sell: 4 + Weight: 1 Atk: 55 Slots: 0 Loc: "EQP_AMMO" diff --git a/world/map/db/item_db_weapon.txt b/world/map/db/item_db_weapon.txt index 17fdcbf0..1c22799d 100644 --- a/world/map/db/item_db_weapon.txt +++ b/world/map/db/item_db_weapon.txt @@ -53,7 +53,7 @@ 1200, Bow, 4, 1000, 500, 20, 20, 0, 5, -2, 0, 2, 34, 1, 4, 11, 0, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";} 1201, Knife, 4, 50, 25, 120, 5, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, {}, {} 1215, ToySabre, 4, 2000000, 25, 1, 1, 0, 1, 0, 0, 2, 2, 1, 1, 2, 0, {}, {} -1282, BoneArrows, 10, 50, 20, 0, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";} +1282, BoneArrows, 10, 8, 4, 1, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";} 5260, Snowball, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_XMAS; callfunc "CheckAmmo";} 5261, SnowLauncher, 4, 500, 50, 10, 20, 0, 3, 0, 0, 2, 2, 1, 1, 11, 0, {}, {set @LauncherType, AMMO_XMAS; callfunc "CheckLauncher";} 5284, Flintlock, 4, 150000, 500, 3000, 120, 0, 5, 0, 0, 2, 2, 1, 1, 11, 0, {}, {callfunc "RestrictedItem"; set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";} -- cgit v1.2.3-70-g09d2 From 37f143a6cdcec9b8f7130b703be676ea40d321bf Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 7 Aug 2024 09:40:44 +0200 Subject: sc_cooldown_sg, sc_slowmove, sc_cantmove --- world/map/db/const.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/world/map/db/const.txt b/world/map/db/const.txt index 2001e59b..24556b39 100644 --- a/world/map/db/const.txt +++ b/world/map/db/const.txt @@ -135,9 +135,11 @@ cOrange 7 cPurple 8 cDarkGreen 9 -SC_POISON 132 SC_SLOWPOISON 14 SC_SPEEDPOTION0 37 +SC_POISON 132 +SC_SLOWMOVE 133 +SC_CANTMOVE 134 SC_ATKPOT 185 SC_MATKPOT 186 SC_SHEARED 194 @@ -155,6 +157,7 @@ SC_COOLDOWN_AR 75 SC_COOLDOWN_ENCH 76 SC_COOLDOWN_KOY 77 SC_COOLDOWN_UPMARMU 78 +SC_COOLDOWN_SG 79 // Emotions EMOTE_DISGUST 1 -- cgit v1.2.3-70-g09d2 From d589ad4eca2c948d1ad2f325d6bb1d52ee17dc2d Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 7 Aug 2024 23:25:45 +0200 Subject: sc_phys_shield_item --- world/map/db/const.txt | 1 + world/map/db/item_db.conf | 4 ++-- world/map/db/item_db_use.txt | 2 +- world/map/npc/magic/level2-protect.txt | 5 +++++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/world/map/db/const.txt b/world/map/db/const.txt index 24556b39..2e1aef15 100644 --- a/world/map/db/const.txt +++ b/world/map/db/const.txt @@ -142,6 +142,7 @@ SC_SLOWMOVE 133 SC_CANTMOVE 134 SC_ATKPOT 185 SC_MATKPOT 186 +SC_PHYS_SHIELD_ITEM 193 SC_SHEARED 194 SC_HIDE 194 SC_HALT_REGENERATE 195 diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 474abb90..56d61dd2 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -16219,10 +16219,10 @@ item_db: ( callfunc("SC_Bonus", 60, SC_PLUSATTACKPOWER, 50); callfunc("SC_Bonus", 60, SC_ATTHASTE_POTION1, 45); //callfunc("SC_Bonus", 60, SC_PHYS_SHIELD, 40); //@EVOL2 - //callfunc("SC_Bonus", 60000, SC_PHYS_SHIELD, 40); //@TMWA + //callfunc("SC_Bonus", 60000, SC_PHYS_SHIELD_ITEM, 40); //@TMWA + //sc_end SC_PHYS_SHIELD; //@TMWA //misceffect FX_MAGIC_SHIELD, strcharinfo(0); //@TMWA "> - // TODO: betsanc of Crazy Rum can be chanceled with detsanc so add SC_PHYS_SHIELD_ITEM to prevent this }, { Id: 5309 diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index 162d97ae..2a2afa8b 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -113,7 +113,7 @@ 5251, Tomato, 0, 100, 50, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {} 5263, LovePotion, 0, 90000, 550, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "LovePotion";}, {} //5277, XmasSeeds, 0, 9999, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {heal 150, 0, 1;}, {} -5294, CrazyRum, 0, 40, 10, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_POISON, 60000, 1; sc_start SC_ATKPOT, 60, 50; sc_start SC_SPEEDPOTION0, 60, 45; sc_start SC_PHYS_SHIELD, 60000, 40; misceffect FX_MAGIC_SHIELD, strcharinfo(0);},{} +5294, CrazyRum, 0, 40, 10, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_POISON, 60000, 1; sc_start SC_ATKPOT, 60, 50; sc_start SC_SPEEDPOTION0, 60, 45; sc_start SC_PHYS_SHIELD_ITEM, 60000, 40; sc_end SC_PHYS_SHIELD; misceffect FX_MAGIC_SHIELD, strcharinfo(0);},{} 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;}, {} diff --git a/world/map/npc/magic/level2-protect.txt b/world/map/npc/magic/level2-protect.txt index 7abc9a1a..4a642878 100644 --- a/world/map/npc/magic/level2-protect.txt +++ b/world/map/npc/magic/level2-protect.txt @@ -1,5 +1,6 @@ -|script|protect|32767 { + if (sc_check(SC_PHYS_SHIELD_ITEM)) goto L_Itsanc; // itsanc has top priority and cant be overwritten by betsanc if(call("magic_checks")) end; if (Sp < 14) end; set .@level, getskilllv(.school); @@ -44,6 +45,10 @@ OnEnd: misceffect FX_MAGIC_SHIELD_ENDS, strcharinfo(0); end; +L_Itsanc: + message strcharinfo(0), "Shield : You are still Itsanced this blocks your spell."; + end; + L_SpecialRules6: if ($@KIMARR_EVENT < 1) goto L_Pay; if (@target_id == BL_ID) goto L_Pay; -- cgit v1.2.3-70-g09d2 From a01cfaf7437652e79c3258aec08b4a3a776780bf Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Thu, 8 Aug 2024 00:42:04 +0200 Subject: text correction --- world/map/npc/magic/level2-protect.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/magic/level2-protect.txt b/world/map/npc/magic/level2-protect.txt index 4a642878..87d010f8 100644 --- a/world/map/npc/magic/level2-protect.txt +++ b/world/map/npc/magic/level2-protect.txt @@ -46,7 +46,7 @@ OnEnd: end; L_Itsanc: - message strcharinfo(0), "Shield : You are still Itsanced this blocks your spell."; + message strcharinfo(0), "Shield : You are still itsanced, This blocks your spell."; end; L_SpecialRules6: -- cgit v1.2.3-70-g09d2 From 59aa2316201d785beee4abe7a4cfe6b87f53beb1 Mon Sep 17 00:00:00 2001 From: "Hello=)" Date: Sun, 18 Aug 2024 15:03:43 +0300 Subject: This restores GPs yield of #kularzunevelafrill. Ledmitz nerfed bone arrow price in one of previous commits: NPC -> player vending price: 50 GP -> 8 GP (nerf factor of 6.25) Player -> NPC selling price: 20GP -> 4 GP (nerf factor of 5) This commit re-scales yield of spell to restore GP output, roughly same as its been before nerf. Rescale factor choosen 5.333 which fits between of 5 and 6.25 nicely and convenient as it allows just minimal /32 -> /6 divisor change. As far as I experimented, yield remains roughly same, about 740 vs 756 GP. Slightly imperfect due to integer rounding, if this is a big deal I can use more complicated formulae. --- world/map/npc/magic/level2-make-bones.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/world/map/npc/magic/level2-make-bones.txt b/world/map/npc/magic/level2-make-bones.txt index bc9bc6e5..b84cae6c 100644 --- a/world/map/npc/magic/level2-make-bones.txt +++ b/world/map/npc/magic/level2-make-bones.txt @@ -25,7 +25,7 @@ L_Resume: set CASTS, CASTS + 1; if (CASTS < 0) set CASTS, 1; // overflow misceffect FX_MAGIC_ARROW_CAST, strcharinfo(0); - setarray @create_params[0], (@spellpower/32)+1+(rand(max(1,(800-@spellpower)))/80), 500; + setarray @create_params[0], (@spellpower/6)+1+(rand(max(1,(800-@spellpower)))/80), 500; setarray @create_items$[0], "BoneArrows", "IronArrow"; callfunc "magic_create_item"; callfunc "magic_exp"; -- cgit v1.2.3-70-g09d2