diff options
-rw-r--r-- | npc/soren-2/main.txt | 2 | ||||
-rw-r--r-- | npc/soren/main.txt | 56 |
2 files changed, 35 insertions, 23 deletions
diff --git a/npc/soren-2/main.txt b/npc/soren-2/main.txt index be4c65d7c..5fbd492e0 100644 --- a/npc/soren-2/main.txt +++ b/npc/soren-2/main.txt @@ -59,7 +59,7 @@ OnSanctum: // Decide if we'll spawn or add items. Previous failures are NOT considerated. .@odds=rand(1, 10000); - .@amount=(rand(0, 5)/2)+1; + .@amount=(rand2(0, 5)/2)+1; .@lx=24; .@ly=27; .@ux=40; .@uy=36; diff --git a/npc/soren/main.txt b/npc/soren/main.txt index 591900d40..db098f63f 100644 --- a/npc/soren/main.txt +++ b/npc/soren/main.txt @@ -90,6 +90,10 @@ soren,105,92,0 script Soren's Fountain NPC_NO_SPRITE,{ .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); initnpctimer; + if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId) + @sorenp=10; + else + @sorenp=0; } close; @@ -128,14 +132,14 @@ OnTimer31000: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) .@val=.@val-10; - if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId) - .@val=.@val-10; + if (@sorenp) + .@val-=@sorenp; percentheal (.@val/2), -13+.@val; // Monster Gen - .@amount=rand(.st/3+1, .st/2+1)+getareausers("001-7", 12); - .@mid=rand(1,3)+.st; + .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12); + .@mid=rand2(1,3)+.st; switch (.@mid) { case 1: case 2: @@ -173,9 +177,9 @@ OnTimer31000: case 11: .@itemId = GingerBreadMan ; break; case 12: - .@itemId = rand(Diamond, Amethyst) ; break; + .@itemId = rand2(Diamond, Amethyst) ; break; default: // case 13 - .@itemId = rand(CopperOre, TitaniumOre) ; break; + .@itemId = rand2(CopperOre, TitaniumOre) ; break; } // Defines .@lx=.x-.distance; @@ -189,8 +193,8 @@ OnTimer31000: // If we're done with waves if (.st >= 7) { - getexp rand(1, 100), rand(1, 10); - .lifetime=gettimetick(2)+330+rand(0, 60); + getexp rand2(1, 100), rand2(1, 10); + .lifetime=gettimetick(2)+330+rand2(0, 60); npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2)); stopnpctimer; .st=0; specialeffect(27); @@ -241,6 +245,10 @@ soren,104,143,0 script Soren's Lake NPC_NO_SPRITE,{ .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); initnpctimer; + if (getvariableofnpc(.casterId, "Soren's Lake") == .casterId) + @sorenp=10; + else + @sorenp=0; } close; @@ -279,14 +287,14 @@ OnTimer30900: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) .@val=.@val-10; - if (getvariableofnpc(.casterId, "Soren's Lake") == .casterId) - .@val=.@val-10; + if (@sorenp) + .@val-=@sorenp; percentheal (.@val/2), -13+.@val; // Monster Gen. Lake spawns less - .@amount=rand(.st/3+1, .st/2+1)+getareausers("001-7", 12)-1; - .@mid=rand(1,3)+.st; + .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12)-1; + .@mid=rand2(1,3)+.st; switch (.@mid) { case 1: case 2: @@ -324,9 +332,9 @@ OnTimer30900: case 11: .@itemId = HastePotion ; break; case 12: - .@itemId = rand(Diamond, Amethyst) ; break; + .@itemId = rand2(Diamond, Amethyst) ; break; default: // case 13 - .@itemId = rand(CopperOre, TitaniumOre) ; break; + .@itemId = rand2(CopperOre, TitaniumOre) ; break; } // Defines for Lake are fixed on the same spot. .@lx=104; .@ux=104; @@ -337,7 +345,7 @@ OnTimer30900: // If we're done with waves if (.st >= 7) { - .lifetime=gettimetick(2)+330+rand(0, 60); + .lifetime=gettimetick(2)+330+rand2(0, 60); npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2)); stopnpctimer; .st=0; } @@ -389,6 +397,10 @@ soren,107,37,0 script Soren's Gizmo NPC_NO_SPRITE,{ .st=1; npctalk l("@@ started disarm process. Please stand by.", strcharinfo(0)); initnpctimer; + if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) + @sorenp=10; + else + @sorenp=0; } close; @@ -427,14 +439,14 @@ OnTimer31200: .@val=.@val-10; if (getvariableofnpc(.casterId, "Soren's Fountain") == .casterId) .@val=.@val-10; - if (getvariableofnpc(.casterId, "Soren's Gizmo") == .casterId) - .@val=.@val-10; + if (@sorenp) + .@val-=@sorenp; percentheal (.@val/2), -13+.@val; // Monster Gen. Gizmo spawns more monsters because you can move more - .@amount=rand(.st/3+1, .st/2+1)+getareausers("001-7", 12)+1; - .@mid=rand(1,3)+.st; + .@amount=rand2(.st/3+1, .st/2+1)+getareausers("soren", 12)+1; + .@mid=rand2(1,3)+.st; switch (.@mid) { case 1: case 2: @@ -472,9 +484,9 @@ OnTimer31200: case 11: .@itemId = HastePotion ; break; case 12: - .@itemId = rand(Diamond, Amethyst) ; break; + .@itemId = rand2(Diamond, Amethyst) ; break; default: // case 13 - .@itemId = rand(CopperOre, TitaniumOre) ; break; + .@itemId = rand2(CopperOre, TitaniumOre) ; break; } // Defines .@lx=.x-.distance; @@ -487,7 +499,7 @@ OnTimer31200: // If we're done with waves if (.st >= 7) { - .lifetime=gettimetick(2)+330+rand(0, 60); + .lifetime=gettimetick(2)+330+rand2(0, 60); npctalk l("Disarmed with success for: @@", FuzzyTime(.lifetime, 2, 2)); stopnpctimer; .st=0; } |