summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/re/item_db.conf1
-rw-r--r--npc/items/alcohol.txt21
2 files changed, 8 insertions, 14 deletions
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index df76ce462..d02fada4d 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.conf
@@ -772,7 +772,6 @@ item_db: (
Delay: 500
UseEffect: "EFFECT_HEAL"
Script: <"
- debugmes "They drank me!";
@taste = 50;
@Alcohol = 49;
doevent "alcohol_sc::OnUse";
diff --git a/npc/items/alcohol.txt b/npc/items/alcohol.txt
index d1a519d00..8920a45fb 100644
--- a/npc/items/alcohol.txt
+++ b/npc/items/alcohol.txt
@@ -15,7 +15,7 @@
// When drunk, attack speed is lowered but exp gain is increased.
// Attack Speed Reductor: SC_ATTHASTE_INFINITY
// Max HP Reductor: SC_INCMHPRATE
-// EXP Increaser: SC_OVERLAPEXPUP
+// EXP Increaser: SC_CASH_PLUSEXP
- script alcohol_sc -1,{
@@ -30,13 +30,12 @@
if (getarg(1))
return getstatus(getarg(0), 1);
else
- return getstatus(getarg(0), 4); // Shouldn't it be 5?
+ return getstatus(getarg(0), 5); // Shouldn't it be 5?
}
return 0;
}
OnUse:
- debugmes "I'm being run!";
if (@Alcohol <= 0) close;
// Do you have enough vitality to hold your beer?
.@vit=readparam(bVit);
@@ -46,7 +45,7 @@ OnUse:
sc_start SC_CONFUSION, 5000, 0, 10000, SCFLAG_NOAVOID; // Warning, forces user to use @resync!
end;
}
- debugmes "It's safe to drink!";
+ debugmes "%d %d | %d %d | f t ", remaining_bonus(SC_CASH_PLUSEXP, false), remaining_bonus(SC_CASH_PLUSEXP, true), remaining_bonus(SC_ATTHASTE_INFINITY, false), remaining_bonus(SC_ATTHASTE_INFINITY, true);
// Taste is affected by users near you.
// Each user raises exp bonus in 1%, capped to the beverage taste
// If you are with many people, drink a better beverage! ;-)
@@ -54,35 +53,31 @@ OnUse:
.@bonus=getareausers(.@m$, .@x-10, .@y-10, .@x+10, .@y+10);
@taste+=min(@taste, .@bonus);
- debugmes "You should get exp!";
// Put the delay in ms. Each Alcohol point is 10 minutes.
- .@delay = remaining_bonus(SC_OVERLAPEXPUP, false);
+ .@delay = remaining_bonus(SC_CASH_PLUSEXP, false);
.@delay += @Alcohol*600*1000;
// Alcohol EXP Bonus sums to previous exp bonus
- .@val1 = remaining_bonus(SC_OVERLAPEXPUP, true);
+ .@val1 = remaining_bonus(SC_CASH_PLUSEXP, true);
.@val1 += @taste;
// Reset EXP Bonus
sc_end SC_CASH_PLUSEXP;
sc_start SC_CASH_PLUSEXP, .@delay, .@val1;
- debugmes "You attack too fast!";
// Same goes for attack speed debuff
- // Except delay does not stack, and malus is recalculated
- .@delay = @Alcohol*600*1000;
- .@val1 = ALC_THRESHOLD+@Alcohol;
+ // Except malus is recalculated
+ .@delay = remaining_bonus(SC_ATTHASTE_INFINITY, false)+@Alcohol*600*1000;
+ .@val1 = (ALC_THRESHOLD+@Alcohol)/2;
// Reset Attack Speed Debuff
sc_end SC_ATTHASTE_INFINITY;
sc_start SC_ATTHASTE_INFINITY, .@delay, -.@val1;
- debugmes "Stop drinking!";
// Recalculate Alcohol Threshold and time
ALC_THRESHOLD+=@Alcohol;
if (ALC_DELAYTIME < gettimetick(2))
ALC_DELAYTIME=gettimetick(2);
ALC_DELAYTIME+=@Alcohol*600*1000;
- debugmes "I'm done!";
close;
}