Updated some part in nightmare Biolab scripts (#4680)

* Fixed some part in nightmare Biolab scripts
* Updated the normal monsters death count to spawn the 'mini-boss' (100 -> 110) and 'mini-boss' death count to spawn the mvp (10 -> 4)
This commit is contained in:
Atemo 2020-03-12 15:44:22 +01:00 committed by GitHub
parent 19b350550d
commit 358c640d7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 80 additions and 26 deletions

View File

@ -129,7 +129,30 @@ function script F_Cursed_Fragment { // 23016
lighthalzen,321,218,4 script Ohno Tohiro#1 4_M_RASWORD,{
disable_items;
mes "[Ohno Tohiro]";
mes "I was asked to collect some kind of research charts...";
.@r = rand(1,10);
if (.@r < 6)
mes "I was asked to collect some kind of research charts...";
else if (.@r < 7) {
mes "- I hear somebody talking - - remote communication -";
next;
mes "[Ohno Tohiro]";
mes "Yes... everything is proceeding smoothly.";
mes "The status of the report collection is okay.";
mes "Yes, sir.";
next;
mes "[Ohno Tohiro]";
mes "I'll immediately report the information related to the laboratory as a top priority.";
mes "Yes, sir... I'll do so.";
next;
mes "[Ohno Tohiro]";
mes "Oh somebody has come! I'll call you again later.";
}
else {
mes "[Ohno Tohiro]";
mes "My shoulders are heavy.";
mes "Our long-cherished wish..";
mes "One by one, slowly..";
}
next;
mes "[Ohno Tohiro]";
mes "Uh...? I didn't realize someone is here already...";
@ -185,8 +208,10 @@ lighthalzen,321,218,4 script Ohno Tohiro#1 4_M_RASWORD,{
mes "Alright. Now that I received the Zeny, I'll open the crevice.";
mes "I hope you can come back alive!...";
next;
Zeny = Zeny - 100000;
warp "lhz_dun_n",100,202;
if (Zeny >= 100000) {
Zeny -= 100000;
warp "lhz_dun_n",100,202;
}
end;
case 4:
mes "[Ohno Tohiro]";
@ -220,7 +245,7 @@ lighthalzen,321,218,4 script Ohno Tohiro#1 4_M_RASWORD,{
mes "I'll send you to the crevice as promised.";
mes "I want you alive. See you again!";
next;
delitem 7347,10;// Research Chart
delitem 7347,10;// Lab_Staff_Record
warp "lhz_dun_n",100,202;
end;
}
@ -348,10 +373,13 @@ lighthalzen,320,204,3 script A kid with black finger 4_F_04,{
lighthalzen,327,216,3 script Crevice#1 4_CRACK,{
end;
OnInit:
while(true) {
sleep 6000;
specialeffect EF_AGIUP3;
}
initnpctimer;
end;
OnTimer5000:
specialeffect EF_AGIUP3;
end;
OnTimer6000:
initnpctimer;
end;
}
@ -363,12 +391,14 @@ lhz_dun_n,96,203,3 script Dungeon gateway#1 4_CRACK,{
}
warp "lighthalzen",310,228;
end;
OnInit:
while(true) {
sleep 6000;
specialeffect EF_AGIUP3;
}
initnpctimer;
end;
OnTimer5000:
specialeffect EF_AGIUP3;
end;
OnTimer6000:
initnpctimer;
end;
}
@ -1040,6 +1070,12 @@ lhz_dun_n,143,269,4 script Victimized Soul's Mind#1 4_M_DEATH2,{
mes "If you... bring... one... I'll restore... it... to energy... pieces...";
while(true) {
next;
if (checkweight(2677,5) == 0) {
mes "[Victimized Soul's Mind]";
mes "Your backpack..";
mes "is filled...";
close;
}
if (select( "Hand over the weapon.", "End the conversation." ) == 2) {
mes "[Victimized Soul's Mind]";
mes "...You... will... find me... again...";
@ -1125,7 +1161,7 @@ S_Exchange:
.@menu$ = "Go back to previous menu.:";
for ( .@i = 0; .@i < .@size; .@i++ ) {
if (countitem(getarg(.@i)) < 1)
.@menu$ += "^777777Not enough " + getitemname(getarg(.@i)) + ".^000000:";
.@menu$ += "^999999Not enough " + getitemname(getarg(.@i)) + ".^000000:";
else
.@menu$ += "You have " + getitemname(getarg(.@i)) + ".:";
}
@ -1143,7 +1179,8 @@ S_Exchange:
next;
return;
}
progressbar "000000",5;
donpcevent strnpcinfo(0) + "::OnBar";
sleep2 5000;
specialeffect EF_BLACKBODY;
specialeffect EF_GUMGANG4;
specialeffect EF_DARKCASTING2;
@ -1152,7 +1189,14 @@ S_Exchange:
specialeffect2 EF_POISONSMOKE;
specialeffect2 EF_NPC_BURNT;
delitem getarg(.@s),1;
getitem 6820, rand(1,3);// Energy Fragment
.@r = rand(100);
if (.@r < 70)
.@amount = 1;
else if (.@r < 90)
.@amount = 2;
else
.@amount = 3;
getitem 6820, .@amount;// Energy Fragment
mes "[Victimized Soul's Mind]";
mes "I have made... Energy... Fragment... by restoring ^006400" + getitemname(getarg(.@s)) + "^000000...";
next;
@ -1163,6 +1207,10 @@ S_Exchange:
mes "Do you have... any other business... with me?...";
next;
return;
OnBar:
progressbar_npc "000000",5;
end;
}
lhz_dun_n,136,269,6 script Sorrowful Soul's Mind#1 4_M_DEATH,{
@ -1226,6 +1274,12 @@ lhz_dun_n,136,269,6 script Sorrowful Soul's Mind#1 4_M_DEATH,{
getitemname(18983), // Old_Protect_Of_Crown
getitemname(20749); // Cloak of the Fallen Soldier[1]
while(true) {
if (checkweight(2677,5) == 0) {
mes "[Sorrowful Soul's Mind]";
mes "Your backpack..";
mes "is filled...";
close;
}
if (select( "Hand over the soul.", "End the conversation." ) == 2) {
mes "[Sorrowful Soul's Mind]";
mes "...I wish... you... can come back... to me again...";

View File

@ -28,9 +28,9 @@ lhz_dun_n,0,0,0 script lhz_dun_n -1,{
end;
OnRegularDead:
.@mob_id = killedrid;
if (getd( ".lhz_dun_n" + .@mob_id ) < 100 && .lhz_dun_n_boss == 0) {
setd ".lhz_dun_n" + .@mob_id, getd( ".lhz_dun_n" + .@mob_id ) + 1;
if (getd( ".lhz_dun_n" + .@mob_id ) == 100) {
if (.lhz_dun_n[.@mob_id] < 110 && .lhz_dun_n_boss == 0) {
.lhz_dun_n[.@mob_id]++;
if (.lhz_dun_n[.@mob_id] == 110) {
.@mini_boss = .@mob_id + 6 + (.@mob_id > 3213); // mini boss version ID: regular ID +6 for non-transcendent, +7 for others
monster "lhz_dun_n",0,0,"--en--",.@mini_boss,1, "lhz_dun_n::OnMiniDead";
}
@ -38,15 +38,15 @@ OnRegularDead:
end;
OnMiniDead:
.@mob_id = killedrid;
if (getd( ".lhz_dun_n" + .@mob_id ) < 10 && .lhz_dun_n_boss == 0) {
setd ".lhz_dun_n" + .@mob_id, getd( ".lhz_dun_n" + .@mob_id ) + 1;
if (.lhz_dun_n[.@mob_id] < 4 && .lhz_dun_n_boss == 0) {
.lhz_dun_n[.@mob_id]++;
.@regular = .@mob_id - 6 - (.@mob_id > 3219);
if (getd( ".lhz_dun_n" + .@mob_id ) < 10)
setd ".lhz_dun_n" + .@regular, 0; // note: mini boss version can re-spawn when the count of mini boss dead is reached? (currently they don't)
if (.lhz_dun_n[.@mob_id] < 4)
.lhz_dun_n[.@regular] = 0; // note: mini boss version can re-spawn when the count of mini boss dead is reached? (currently they don't)
else {
setarray .@mini_boss_list[0], 3214,3215,3216,3217,3218,3219,3233,3234,3235,3236,3237,3238,3239;
for ( .@i = 0; .@i < 13; ++.@i ) {
if (getd( ".lhz_dun_n" + .@mini_boss_list[.@i] ) < 10)
if (.lhz_dun_n[.@mini_boss_list[.@i]] < 4)
end;
}
// MvP monster seems to only spawn at 12 o'clock
@ -55,8 +55,8 @@ OnMiniDead:
.lhz_dun_n_boss = 1;
for ( .@i = 0; .@i < 13; ++.@i ) {
.@regular = .@mini_boss_list[.@i] - 6 - (.@mini_boss_list[.@i] > 3219);
setd ".lhz_dun_n" + .@regular, 0;
setd ".lhz_dun_n" + .@mini_boss_list[.@i], 0;
.lhz_dun_n[.@regular] = 0;
.lhz_dun_n[.@mini_boss_list[.@i]] = 0;
}
}
}