// The Mana World Scripts
// Christmas 2021
// (C) HoraK 2021
// Licensed under the GPLv2 or later
/////////////////////////////////////////////////////////////////
009-1,57,38,0|script|#GrinchHurns|431
{
close;
OnEvent:
npctalk strnpcinfo(0), $@XMAS2021GrinchTalk$;
end;
}
/////////////////////////////////////////////////////////////////
001-1,51,77,0|script|#GrinchTulim|431
{
close;
OnEvent:
npctalk strnpcinfo(0), $@XMAS2021GrinchTalk$;
end;
}
/////////////////////////////////////////////////////////////////
020-1,76,84,0|script|#GrinchNivalis|431
{
close;
OnEvent:
npctalk strnpcinfo(0), $@XMAS2021GrinchTalk$;
end;
}
/////////////////////////////////////////////////////////////////
029-1,52,93,0|script|#GrinchCandor|431
{
close;
OnEvent:
npctalk strnpcinfo(0), $@XMAS2021GrinchTalk$;
end;
}
/////////////////////////////////////////////////////////////////
-|script|XMAS2021KillGrinch|32767
{
close;
OnInit:
/*
if you create an npc with invisible name (nothing in front of the #)
you will get a broken nick detected message from M+ this can be
avoided by formatting the npc string like this regex:
^.(4,).*[ ]:[ ].*$
(replaced the curly brackets with normal brackets since a right curly bracket in a comment halts entire server startup!)
the first space in front of the : will not be shown in the message like:
Grinchboo: Grrr....
*/
set $@XMAS2021GrinchTalk$, "Grinchboo : Grrr it's that annyoing chrismas time again but this time there is an event on testing.themanaworld.org starting at 12th december. Look [@@https://forums.themanaworld.org/viewtopic.php?p=162964#p162964|here@@]!";
disablenpc "#GrinchHurns";
disablenpc "#GrinchTulim";
disablenpc "#GrinchNivalis";
disablenpc "#GrinchCandor";
initnpctimer;
end;
OnTimer3000:
// if npc is disabled right after npctalk there is no speech bubble visible so wait a bit
if ($@GrinchTalkTime == 1)
goto L_XMAS2021GrinchTalkTime;
end;
L_XMAS2021GrinchTalkTime:
set $@GrinchTalkTime, 0;
donpcevent "XMAS2021Respawn::OnEvent";
disablenpc "#GrinchHurns";
disablenpc "#GrinchTulim";
disablenpc "#GrinchNivalis";
disablenpc "#GrinchCandor";
end;
OnTimer12000:
// wait a bit so that the dead Grinchboo can disapear, in some rare cases that does not work
if ($@GrinchKilled == 1)
goto L_XMAS2021KilledGrinch;
end;
L_XMAS2021KilledGrinch:
enablenpc "#GrinchHurns";
enablenpc "#GrinchTulim";
enablenpc "#GrinchNivalis";
enablenpc "#GrinchCandor";
donpcevent "#GrinchHurns::OnEvent";
donpcevent "#GrinchTulim::OnEvent";
donpcevent "#GrinchNivalis::OnEvent";
donpcevent "#GrinchCandor::OnEvent";
set $@GrinchKilled, 0;
set $@GrinchTalkTime, 1;
setnpctimer 0;
end;
OnTimer150000:
killmonster "009-1","XMAS2021Respawn::OnGrinch";
killmonster "001-1","XMAS2021Respawn::OnGrinch";
killmonster "020-1","XMAS2021Respawn::OnGrinch";
killmonster "029-1","XMAS2021Respawn::OnGrinch";
set $@GrinchKilled, 1;
setnpctimer 0;
end;
}
/////////////////////////////////////////////////////////////////
-|script|XMAS2021Respawn|32767
{
close;
OnInit:
// the first Grinchboo says nothing since no one will see it,
// because message is shown right after server start when no one is logged in
monster "009-1", 57, 38, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "001-1", 51, 77, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "020-1", 76, 84, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "029-1", 52, 93, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
end;
OnGrinch:
end;
OnEvent:
monster "009-1", 57, 38, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "001-1", 51, 77, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "020-1", 76, 84, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
monster "029-1", 52, 93, "", 1162, 1, "XMAS2021Respawn::OnGrinch";
end;
}