summaryrefslogtreecommitdiff
path: root/npc/items
diff options
context:
space:
mode:
Diffstat (limited to 'npc/items')
-rw-r--r--npc/items/alcohol.txt11
-rw-r--r--npc/items/books.txt4
-rw-r--r--npc/items/legacy_heal.txt11
-rw-r--r--npc/items/lofteleporter.txt11
-rw-r--r--npc/items/rand_sc_heal.txt10
-rw-r--r--npc/items/shovel.txt2
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);