summaryrefslogtreecommitdiff
path: root/npc/soren
diff options
context:
space:
mode:
Diffstat (limited to 'npc/soren')
-rw-r--r--npc/soren/main.txt13
1 files changed, 13 insertions, 0 deletions
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;