summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-06-08 11:49:57 -0300
committerJesusaves <cpntb1@ymail.com>2018-06-08 11:49:57 -0300
commitbcc915b8a0beab5717e4bb9f4c218db6ab705062 (patch)
treeff4ec447712e40bb9367684ee3d8151d8a923e45 /npc
parent9b20a456d4496ad4da71b8b0d3c8d1640598cee3 (diff)
downloadserverdata-bcc915b8a0beab5717e4bb9f4c218db6ab705062.tar.gz
serverdata-bcc915b8a0beab5717e4bb9f4c218db6ab705062.tar.bz2
serverdata-bcc915b8a0beab5717e4bb9f4c218db6ab705062.tar.xz
serverdata-bcc915b8a0beab5717e4bb9f4c218db6ab705062.zip
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.
Diffstat (limited to 'npc')
-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;