diff options
-rw-r--r-- | db/re/item_db.conf | 1 | ||||
-rw-r--r-- | npc/items/alcohol.txt | 21 |
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; } |