diff options
Diffstat (limited to 'npc/soren/main.txt')
-rw-r--r-- | npc/soren/main.txt | 33 |
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; |