diff options
-rw-r--r-- | db/re/item_db.conf | 10 | ||||
-rw-r--r-- | db/re/mob_db.conf | 2 | ||||
-rw-r--r-- | npc/002-4/nard.txt | 3 | ||||
-rw-r--r-- | npc/007-1/caelum.txt | 2 | ||||
-rw-r--r-- | npc/007-1/dracoula.txt | 2 | ||||
-rw-r--r-- | npc/007-1/pylon.txt | 2 | ||||
-rw-r--r-- | npc/007-1/torches.txt | 10 | ||||
-rw-r--r-- | npc/007-1/tycoon.txt | 2 | ||||
-rw-r--r-- | npc/007-1/zarkor.txt | 2 | ||||
-rw-r--r-- | npc/012-1/guards.txt | 13 | ||||
-rw-r--r-- | npc/functions/class.txt | 6 | ||||
-rw-r--r-- | npc/functions/shake.txt | 35 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
13 files changed, 64 insertions, 26 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf index b1314e913..0e93d7521 100644 --- a/db/re/item_db.conf +++ b/db/re/item_db.conf @@ -8861,12 +8861,12 @@ item_db: ( AegisName: "Sunglasses" Name: "Sunglasses" Type: "IT_ARMOR" - Buy: 1000 - Sell: 500 - Weight: 22 - Def: 7 + Buy: 30000 + Sell: 10000 + Weight: 29 + Def: 5 Loc: "EQP_ACC_R" - EquipLv: 35 + EquipLv: 15 Refine: false ViewSprite: 3210 BuyingStore: true diff --git a/db/re/mob_db.conf b/db/re/mob_db.conf index e7b38f65d..f74d2f4f1 100644 --- a/db/re/mob_db.conf +++ b/db/re/mob_db.conf @@ -1060,7 +1060,7 @@ mob_db: ( Lv: 40 Hp: 4500 Sp: 0 - Exp: 91 + Exp: 87 JExp: 9 AttackRange: 1 Attack: [300, 500] diff --git a/npc/002-4/nard.txt b/npc/002-4/nard.txt index 754ebb34b..7536c6256 100644 --- a/npc/002-4/nard.txt +++ b/npc/002-4/nard.txt @@ -19,7 +19,7 @@ L_Checker: if (LOCATION$ != "") goto L_NotYet; // Referral program - if (#REFERRAL_PROG == 0) { + if (#REFERRAL_PROG == 0 && $REFERRAL_ENABLED) { mesn l("TMW2 Staff"); mesc l("Hello, and welcome to TMW2: Moubootaur Legends!"), 3; mesc l("(Click next button to advance dialogs)"),9; @@ -64,7 +64,6 @@ L_Checker: next; } } while (.@ref$ == ""); - if (ClientVersion >= 24) close; } // Introduction diff --git a/npc/007-1/caelum.txt b/npc/007-1/caelum.txt index a4060652d..130a32ec5 100644 --- a/npc/007-1/caelum.txt +++ b/npc/007-1/caelum.txt @@ -8,7 +8,7 @@ // Caelum Miner, main author Skydragon Caelum mean Sky in Latin. // id:193 MineQuests_Caelum -007-1,138,49,0 script Caelum NPC_PLAYER,{ +007-1,143,49,0 script Caelum NPC_PLAYER,{ .@Miner = getq(MineQuests_Caelum); if (BaseLevel < 28) goto L_TooWeak; if (.@Miner == 1) goto L_Check; diff --git a/npc/007-1/dracoula.txt b/npc/007-1/dracoula.txt index b1dfb212e..d7eebbec6 100644 --- a/npc/007-1/dracoula.txt +++ b/npc/007-1/dracoula.txt @@ -7,7 +7,7 @@ // Variable: // MineQuest_Dracoula -007-1,165,99,0 script Dracoula NPC_UKAR_F,{ +007-1,170,99,0 script Dracoula NPC_UKAR_F,{ mesn; mesq lg("Hello adventurer! Are you lost?"); next; diff --git a/npc/007-1/pylon.txt b/npc/007-1/pylon.txt index f514a4d7c..c68e3763a 100644 --- a/npc/007-1/pylon.txt +++ b/npc/007-1/pylon.txt @@ -9,7 +9,7 @@ // Reference: // https://fr.wikipedia.org/wiki/Pilon#Objets not Epiphysis ! -007-1,42,44,0 script Pylon NPC_PLAYER,{ +007-1,47,44,0 script Pylon NPC_PLAYER,{ mesn; mesq l("Hello, I'm Pylon!"); diff --git a/npc/007-1/torches.txt b/npc/007-1/torches.txt index f2434939b..0dff30ac1 100644 --- a/npc/007-1/torches.txt +++ b/npc/007-1/torches.txt @@ -86,7 +86,7 @@ L_Empty: } -007-1,166,145,0 script Torch#1 NPC_NO_SPRITE,{ +007-1,171,145,0 script Torch#1 NPC_NO_SPRITE,{ @torch = 1; .@q = getq(TulimsharQuest_DarkInvocator); if (.@q == 5) { @@ -102,7 +102,7 @@ OnInit: end; } -007-1,65,116,0 script Torch#2 NPC_NO_SPRITE,{ +007-1,70,116,0 script Torch#2 NPC_NO_SPRITE,{ @torch = 2; .@q = getq(TulimsharQuest_DarkInvocator); if (.@q == 5) { @@ -115,7 +115,7 @@ OnInit: end; } -007-1,62,133,0 script Torch#3 NPC_NO_SPRITE,{ +007-1,67,133,0 script Torch#3 NPC_NO_SPRITE,{ @torch = 3; .@q = getq(TulimsharQuest_DarkInvocator); if (.@q == 5) { @@ -127,7 +127,7 @@ OnInit: .distance = 1; end; } -007-1,35,125,0 script Torch#4 NPC_NO_SPRITE,{ +007-1,40,125,0 script Torch#4 NPC_NO_SPRITE,{ @torch = 4; .@q = getq(TulimsharQuest_DarkInvocator); if (.@q == 5) { @@ -139,7 +139,7 @@ OnInit: .distance = 1; end; } -007-1,139,24,0 script Torch#5 NPC_NO_SPRITE,{ +007-1,144,24,0 script Torch#5 NPC_NO_SPRITE,{ @torch = 5; .@q = getq(TulimsharQuest_DarkInvocator); if (.@q == 5) { diff --git a/npc/007-1/tycoon.txt b/npc/007-1/tycoon.txt index 54be061ba..58e417530 100644 --- a/npc/007-1/tycoon.txt +++ b/npc/007-1/tycoon.txt @@ -31,7 +31,7 @@ // 14: Completed Black Scorpion Quest - 12 000 EXP 5 000 GP // 15: Finished all trainment -007-1,66,65,0 script Tycoon NPC_PLAYER,{ +007-1,71,65,0 script Tycoon NPC_PLAYER,{ .@q=getq(MineQuest_Tycoon); mesn; diff --git a/npc/007-1/zarkor.txt b/npc/007-1/zarkor.txt index 91c9c4552..a9e6c12d1 100644 --- a/npc/007-1/zarkor.txt +++ b/npc/007-1/zarkor.txt @@ -10,7 +10,7 @@ // But you won't be able to do more Everburn Powder. And it can be required on another // quest. And there won't be other way to get the Powder. So DO NOT SELL IT. Think ahead. -007-1,152,155,0 script Zarkor NPC_MIRAJ,{ +007-1,157,155,0 script Zarkor NPC_MIRAJ,{ .@q=getq(TulimsharQuest_DarkInvocator); if (BaseLevel <= 30) goto L_Weak; diff --git a/npc/012-1/guards.txt b/npc/012-1/guards.txt index d50241346..956c08c91 100644 --- a/npc/012-1/guards.txt +++ b/npc/012-1/guards.txt @@ -29,6 +29,8 @@ L_Admus: setmapflagnosave("012-1", "000-1", 22, 22); //setmapflag("012-1", mf_nocommand); // This is just too powerful! setmapflag("012-1", mf_battleground); + setmapflag("012-1", mf_nopenalty); + setmapflag("012-1",mf_bexp,126); enablenpc "Hurnsguard"; donpcevent "Hurnsguard::OnSet"; donpcevent "Lieutenant Paul::OnSet"; @@ -163,10 +165,10 @@ OnDoEvent: OnSkip: // Here, coins drop rate are based on REMAINING PLAYERS and DEFEATED MONSTER LEVEL. // A level 100 monster can have a 5% drop bonus against a level 0 monster. - // You have 1% of base chance, plus 0.5% each player + 0.05% each monster level. - if (rand(10000) <= 100 + (getmapusers("012-1")*50) + (strmobinfo(3,killedrid)*5)) + // You have 1.2% of base chance, plus 0.5% each player + 0.05% each monster level. + if (rand(10000) <= 120 + (getmapusers("012-1")*50) + (strmobinfo(3,killedrid)*5)) getmapxy(.@m$, .@x, .@y, 0); - makeitem(any(Plushroom, Chagashroom, Bread, HalfCroconut, Aquada, CasinoCoins), rand(1,2), "012-1", .@x, .@y); + makeitem(any(Plushroom, Chagashroom, Bread, HalfCroconut, Aquada, CasinoCoins, CactusCocktail, AppleCocktail, CherryCocktail), any(1,1,2), "012-1", .@x, .@y); end; OnTimer300000: @@ -207,10 +209,10 @@ OnTimer240000: // Scripted monsters if (.CYCLES == 2) { mapannounce("012-1", "Monster Lieutenant appears! Watch out!", bc_map); - monster("012-1", 65, 71, "Monster Lieutenant", NightScorpion, 1, "Hurnsguard::OnXtreem"); + bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Lieutenant", NightScorpion, "Hurnsguard::OnXtreem"); } else if (.CYCLES == 3) { mapannounce("012-1", "Monster Admiral appears! Kill it to liberate Hurns!", bc_map); - monster("012-1", 65, 71, "Monster Admiral", GiantMutatedBat, 1, "Hurnsguard::OnVictory"); + bg_monster($@FK_Team2, "012-1", 65, 71, "Monster Admiral", GiantMutatedBat, "Hurnsguard::OnVictory"); } // One monster per user alive @@ -298,6 +300,7 @@ OnVictory: removemapmask "012-1", MASK_EVILSANCTUM; //removemapflag("012-1", mf_nocommand); removemapflag("012-1", mf_battleground); + removemapflag("012-1", mf_bexp); enablenpc "#012-1_22_62"; enablenpc "#012-1_79_17"; enablenpc "#012-1_79_102"; diff --git a/npc/functions/class.txt b/npc/functions/class.txt index 09db90013..427e32687 100644 --- a/npc/functions/class.txt +++ b/npc/functions/class.txt @@ -8,7 +8,7 @@ // ClassID, ClassName, OtherClass, sk1, sk2 function script ClassMaster { .@CLASS=getarg(0); - .@CNAME$=getarg(1); + .@CNAME$=getarg(1, "bug"); .@OTHER=getarg(2); //.name$=strnpcinfo(1); @@ -32,7 +32,7 @@ function script ClassMaster { L_SignUp: next; mesn; - mesq l("You have some magic power. Do you want to join the Magic Warriors? ##BThis cannot be undone##b."); + mesq l("You have some magic power. Do you want to join the @@? ##BThis cannot be undone##b.", .@CNAME$); next; mesn; mesq l("We use swords and bows to protect the people, and we use magic to spice things up! Because we're strong even without it!"); @@ -78,7 +78,7 @@ L_Tier1Ok: skill(.@CLASS,1,0); mes ""; mesn; - mesq l("Here, learn the ##BFalkon Punch##b. It is on Physical skills tab. You can drag it to the shortcut list. Use it to protect people!"); + mesq l("Here, learn this awesome skill. It is on the skills tab. You can drag it to the shortcut list. Use it to protect people!"); close; L_NoMagic: diff --git a/npc/functions/shake.txt b/npc/functions/shake.txt new file mode 100644 index 000000000..a20fc6b43 --- /dev/null +++ b/npc/functions/shake.txt @@ -0,0 +1,35 @@ +// Shake player screen + +- script shake 32767,{ + end; + +// Loops until @shake is @max_shake +OnShake: + @shake+=1; + movecam rand(-20,20), rand(-20,20); + + if (@shake < @max_shake) { + addtimer(50, "shake::OnShake"); + } else { + @shake=0; + restorecam; + closedialog; + } + end; + +// Called by GM Command +OnGM: + @shake=0; + @max_shake=rand(6,10); + addtimer(50, "shake::OnShake"); + end; + +OnCall: + getmapxy(.@m$,.@x,.@y,0); + areatimer(.@m$, .@x-15, .@y-15, .@x+15, .@y+15, 10, "shake::OnGM"); + end; + +OnInit: + bindatcmd "shake", "shake::OnCall", 80, 80, 1; + end; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index 99b443fc6..47f7613e7 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -46,6 +46,7 @@ "npc/functions/questgen.txt", "npc/functions/riddle.txt", "npc/functions/savepoint.txt", +"npc/functions/shake.txt", "npc/functions/shops.txt", "npc/functions/soul_menhir.txt", |