summaryrefslogblamecommitdiff
path: root/world/map/npc/annuals/xmas/2021.txt
blob: 653ca98e37a418a72f906ee82b9756f9191e1ba3 (plain) (tree)















































































































































                                                                                                                                                                                                                                                                
// 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;
}