From bcc915b8a0beab5717e4bb9f4c218db6ab705062 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Fri, 8 Jun 2018 11:49:57 -0300 Subject: EXP reward after successful disarm, penalty when trying to disarm same again. Meaning, if you move, you'll have a penalty if you try again. --- npc/soren/main.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'npc/soren') diff --git a/npc/soren/main.txt b/npc/soren/main.txt index 922c2d890..fa76cf294 100644 --- a/npc/soren/main.txt +++ b/npc/soren/main.txt @@ -71,6 +71,8 @@ soren,105,92,0 script Soren's Fountain NPC_NO_SPRITE,{ // Main menu mes col("Attempt to disarm the singularity?", 9); if (askyesno() == ASK_YES) { + if (.casterId == getcharid(3)) + @soren_penalty=@soren_penalty+rand(10, 15); .casterId=getcharid(3); .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); @@ -108,6 +110,8 @@ OnTimer31000: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) .@val=.@val-10; + if (@soren_penalty > 0) // Weak protection against EXP farming. + .@val=.@val-@soren_penalty; percentheal .@val, -15; @@ -165,6 +169,7 @@ OnTimer31000: // If we're done with waves if (.st >= 7) { + getexp rand(1, 100), rand(1, 10); .lifetime=gettimetick(2)+300+rand(0, 60); npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2)); stopnpctimer; .st=0; @@ -212,6 +217,8 @@ soren,104,143,0 script Soren's Lake NPC_NO_SPRITE,{ // Main menu mes col("Attempt to disarm the singularity?", 9); if (askyesno() == ASK_YES) { + if (.casterId == getcharid(3)) + @soren_penalty=@soren_penalty+rand(10, 15); .casterId=getcharid(3); .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); @@ -249,6 +256,8 @@ OnTimer30900: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) .@val=.@val-10; + if (@soren_penalty > 0) // Weak protection against EXP farming. + .@val=.@val-@soren_penalty; percentheal .@val, -15; @@ -351,6 +360,8 @@ soren,107,37,0 script Soren's Gizmo NPC_NO_SPRITE,{ // Main menu mes col("Attempt to disarm the singularity?", 9); if (askyesno() == ASK_YES) { + if (.casterId == getcharid(3)) + @soren_penalty=@soren_penalty+rand(10, 15); .casterId=getcharid(3); .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); @@ -388,6 +399,8 @@ OnTimer31200: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId) .@val=.@val-10; + if (@soren_penalty > 0) // Weak protection against EXP farming. + .@val=.@val-@soren_penalty; percentheal .@val, -15; -- cgit v1.2.3-60-g2f50