diff options
Diffstat (limited to 'npc/items')
-rw-r--r-- | npc/items/alcohol.txt | 11 | ||||
-rw-r--r-- | npc/items/books.txt | 4 | ||||
-rw-r--r-- | npc/items/legacy_heal.txt | 11 | ||||
-rw-r--r-- | npc/items/lofteleporter.txt | 11 | ||||
-rw-r--r-- | npc/items/rand_sc_heal.txt | 10 | ||||
-rw-r--r-- | npc/items/shovel.txt | 2 |
6 files changed, 33 insertions, 16 deletions
diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt index ad91da8db..1c157584b 100644 --- a/npc/items/alcohol.txt +++ b/npc/items/alcohol.txt @@ -51,8 +51,13 @@ OnUse: end; } } - .@deltatime=60*1000; // How long (in ms) each Alcohol point works? (max. 100 points) - // Default value is 1 minute per alcohol point - you'll be somber after at most two hours. + .@deltatime=2*60*1000; // How long (in ms) each Alcohol point works? (max. 100 points) + // Default value is 2 minutes per alcohol point - you'll be somber after at most four hours. + // Beer (7): 14 minutes + // Wine (16): 32 minutes + // Sake (25): 50 minutes + // Rum (40) : 80 minutes (1h20) + // Ale (70) : 140 minutes (2h20) // Taste is affected by users near you. // Each user raises exp bonus in 1.5%, capped to the beverage taste @@ -100,6 +105,6 @@ OnUse: function script ALCReset { if (ALC_DELAYTIME < gettimetick(2)) ALC_THRESHOLD=0; - end; + return; } diff --git a/npc/items/books.txt b/npc/items/books.txt index bafb5be07..918a87ccd 100644 --- a/npc/items/books.txt +++ b/npc/items/books.txt @@ -207,8 +207,8 @@ OnInit: mesc l("Summon Maggot - @sk-kalmurk"); if (getskilllv(TMW2_PARUM)) mesc l("Wood Manipulation - @sk-parum"); - if (getskilllv(TMW2_MKPOT)) - mesc l("Make Potion - @sk-mkpot"); + if (getskilllv(TMW2_TRANSMIGRATION)) + mesc l("Transmutation - @sk-trans"); if (getskilllv(TMW2_DEMURE)) mesc l("Divine Rage - @sk-demure"); if (getskilllv(TMW2_DRAGOKIN)) diff --git a/npc/items/legacy_heal.txt b/npc/items/legacy_heal.txt index c2e1693a9..106b92b8d 100644 --- a/npc/items/legacy_heal.txt +++ b/npc/items/legacy_heal.txt @@ -27,7 +27,7 @@ OnUse: .@skill = SC_S_LIFEPOTION; // minimum between @min and bVit / 2 * BaseLevel / 10 - @min = min(@max, readparam(bVit) * BaseLevel / 20); + //@min = min(@max, readparam(bVit) * BaseLevel / 20); @val1 = rand2(@min, @max); @delay *= 1000; // Put the delay in ms @@ -38,18 +38,23 @@ OnUse: .@d=getstatus(.@skill, 4) * 1000; // If there WAS an effect previously, get ponderate average + // Note: never use double-precision ponderate averages if (.@v > 0) { @val1=ponderate_avg(@val1, @delay, .@v, .@d); - @delay=ponderate_avg(@delay, @val1, .@d, .@v); + // Overflow and Underflow protection + if (@delay+.@d < @delay*5 && .@d > 0) + @delay=@delay+.@d; + //@delay=ponderate_avg(@delay, @val1, .@d, .@v); } // Apply the effect and finish sc_end .@skill; sc_start2 .@skill, @delay, @val1, 1; + // @val1 must be preserved for cross-reading @delay=0; @min=0; @max=0; - @val1=0; + // @val1=0; end; } diff --git a/npc/items/lofteleporter.txt b/npc/items/lofteleporter.txt index 2540c90dc..8c895387b 100644 --- a/npc/items/lofteleporter.txt +++ b/npc/items/lofteleporter.txt @@ -52,6 +52,7 @@ OnUse: select l("Don't warp"), l("Land Of Fire Village (@@m)", 40-.@x), + l("Tulimshar (@@m)", 40-.@x), rif(TELEPORTERS & TP_FROST, l("Frostia (@@m)", 120-.@x)), rif(TELEPORTERS & TP_HALIN, l("Halinarzo (@@m)", 120-.@x)), rif(GSET_SOULMENHIR_MANUAL, l("Save Point (@@m)", 20-.@x)); @@ -74,18 +75,24 @@ OnUse: @timer_navio_running=0; break; case 3: + warp "003-1", 41, 49; + TELEPORTER_TIME=loftel_time(40, .@x); + LOCATION$="Tulim"; + @timer_navio_running=0; + break; + case 4: warp "024-1", 155, 82; TELEPORTER_TIME=loftel_time(120, .@x); LOCATION$="Frostia"; @timer_navio_running=0; break; - case 4: + case 5: warp "009-1", 113, 91; TELEPORTER_TIME=loftel_time(120, .@x); LOCATION$="Halin"; @timer_navio_running=0; break; - case 5: + case 6: warp "Save", 0, 0; TELEPORTER_TIME=loftel_time(20, .@x); //LOCATION$="Save"; diff --git a/npc/items/rand_sc_heal.txt b/npc/items/rand_sc_heal.txt index c0610b223..c14f33a97 100644 --- a/npc/items/rand_sc_heal.txt +++ b/npc/items/rand_sc_heal.txt @@ -85,7 +85,7 @@ OnUse: @max=max(3, MaxHp*@max/100); // Calculate how much you'll heal - @val1 = rand(@min, @max); + @val1 = rand2(@min, @max); // Calculate delay if it was not given if (!@delay || @delay > 60) { @@ -123,12 +123,12 @@ OnUse: sc_start2 .@skill, @delay, @val1, 1; // Clear stuff - // @min and @max must be preserved for cross-reading + // @val1 must be preserved for cross-reading @delay=0; @type=0; @rarity=0; - // @min=0; - // @max=0; - @val1=0; + @min=0; + @max=0; + // @val1=0; end; } diff --git a/npc/items/shovel.txt b/npc/items/shovel.txt index 8722cdb0e..ff9d956bd 100644 --- a/npc/items/shovel.txt +++ b/npc/items/shovel.txt @@ -289,7 +289,7 @@ OnInit: .PlayerTiredTime = 25; // You can bury & dig on all mines - AddDigRect("007-1", 20, 20, 180, 180); + AddDigRect("007-1", 20, 20, 180, 190); AddDigRect("011-1", 20, 20, 180, 180); AddDigRect("015-1", 20, 20, 180, 180); |