summaryrefslogtreecommitdiff
path: root/npc/soren/main.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/soren/main.txt')
-rw-r--r--npc/soren/main.txt33
1 files changed, 24 insertions, 9 deletions
diff --git a/npc/soren/main.txt b/npc/soren/main.txt
index 53f1376a5..fdeb712b0 100644
--- a/npc/soren/main.txt
+++ b/npc/soren/main.txt
@@ -87,7 +87,7 @@ soren,105,92,0 script Soren's Fountain NPC_NO_SPRITE,{
mesc l("Attempt to disarm the singularity?");
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
- @soren_penalty=@soren_penalty+rand(8, 12);
+ @soren_penalty=@soren_penalty+rand(4, 6);
.casterId=getcharid(3);
.st=1;
npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
@@ -118,6 +118,11 @@ OnTimer31000:
stopnpctimer; .st=0;
end;
}
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
// Penalty Handler.
.@val=-2;
@@ -145,9 +150,9 @@ OnTimer31000:
.@monsterId = LavaSlime ; break;
case 7:
case 8:
- .@monsterId = MountainSnake ; break;
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
default: // case 9:
- .@monsterId = Yeti ; break;
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
}
// Item Gen
.@mid=rand(1,7)+.st;
@@ -235,7 +240,7 @@ soren,104,143,0 script Soren's Lake NPC_NO_SPRITE,{
mesc l("Attempt to disarm the singularity?");
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
- @soren_penalty=@soren_penalty+rand(8, 12);
+ @soren_penalty=@soren_penalty+rand(4, 6);
.casterId=getcharid(3);
.st=1;
npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
@@ -266,6 +271,11 @@ OnTimer30900:
stopnpctimer; .st=0;
end;
}
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
// Penalty Handler.
.@val=-2;
@@ -293,9 +303,9 @@ OnTimer30900:
.@monsterId = LavaSlime ; break;
case 7:
case 8:
- .@monsterId = MountainSnake ; break;
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
default: // case 9:
- .@monsterId = Yeti ; break;
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
}
// Item Gen have a different mechanic here
.@mid=rand(.st, .st*2+1);
@@ -380,7 +390,7 @@ soren,107,37,0 script Soren's Gizmo NPC_NO_SPRITE,{
mesc l("Attempt to disarm the singularity?");
if (askyesno() == ASK_YES) {
if (.casterId == getcharid(3))
- @soren_penalty=@soren_penalty+rand(8, 12);
+ @soren_penalty=@soren_penalty+rand(4, 6);
.casterId=getcharid(3);
.st=1;
npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0));
@@ -411,6 +421,11 @@ OnTimer31200:
stopnpctimer; .st=0;
end;
}
+ if (ispcdead()) {
+ npctalk l("Disarm process aborted: Disarmer is dead.");
+ stopnpctimer; .st=0;
+ end;
+ }
// Penalty Handler.
.@val=-2;
@@ -438,9 +453,9 @@ OnTimer31200:
.@monsterId = LavaSlime ; break;
case 7:
case 8:
- .@monsterId = MountainSnake ; break;
+ .@monsterId = any(Snake, GrassSnake, OldSnake, MountainSnake) ; break;
default: // case 9:
- .@monsterId = Yeti ; break;
+ .@monsterId = any(Yeti, Yeti, MountainSnake) ; break;
}
// Item Gen
.@mid=rand(1,7)+.st;