summaryrefslogblamecommitdiff
path: root/npc/annuals/xmas/2021.txt
blob: 4bfda9992162449f099094399c5a2303284d00b5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                                            



                                                            



                                                     







                                           

                                         

 








                                                                   
                                                            




                                                                      

                                                                     

                                                         
































                                                            
     

                                                 


           

                                                 
                         

                         



                           
                                   
 

















































































































                                                                                                                                                                    
 
// TMW Script.
// Author:
//    Jesusalva
// Notes:
//    Christmas 2021 - Configuration Files

function	script	X21ID	{
    return (getcharid(1) > 0 ? getcharid(1) : getcharid(3));
}

function	script	X21ID2	{
    return (getcharid(1) > 0 ? getcharid(1) : getcharid(0));
}

function	script	X21TYPE	{
    return (getcharid(1) > 0 ? IOT_PARTY : IOT_CHAR);
}

function	script	X21BC1_CLEAR	{
    return (XMAS2021 & X21_BOSSDEFEAT);
}

function	script	X21BC1_DOCLEAR	{
    XMAS2021 = (XMAS2021 | X21_BOSSDEFEAT);
    return;
}
function	script	X21ED1_CLEAR	{
    return (XMAS2021 & X21_ALYSSARESCUE);
}

function	script	X21ED1_DOCLEAR	{
    XMAS2021 = (XMAS2021 | X21_ALYSSARESCUE);
    return;
}

function	script	X21INIT	{
    .@inst = instance_create("Northen Lights", X21ID(), X21TYPE());
    // Instance must be created
    if (.@inst >= 0) {
        // We... Could use base name, actually, but whatever
        .@mapa$ = "0812@"+X21ID2(); // Northern Lights
        .@mapb$ = "0813@"+X21ID2(); // Existential Frontier
        .@mapc$ = "0803@"+X21ID2(); // Forgotten/Mystic/Peaceful Glade

        instance_attachmap("081-2", .@inst, false, .@mapa$);
        instance_attachmap("081-3", .@inst, false, "0813@"+X21ID2());
        instance_attachmap("080-3", .@inst, false, "0803@"+X21ID2());
		instance_set_timeout(1800, 1800, .@inst);
		instance_init(.@inst);

        /* Spawn Monsters */
        "#XMAS21Core"::spawn(Grinchboo, 3, .@mapa$);
        "#XMAS21Core"::spawn(Grinchboo, 3, .@mapc$);

        /* Northern Lights Dungeon */
        "#XMAS21Core"::spawn(WhiteSlime, 40, .@mapa$);
        "#XMAS21Core"::spawn(Archant, 9, .@mapa$);
        //"#XMAS21Core"::spawn(BlueSpark, 1, .@mapa$); //?
        //"#XMAS21Core"::spawn(RedSpark, 1, .@mapa$); //?
        "#XMAS21Core"::spawn(AzulSlime, 20, .@mapa$);
        "#XMAS21Core"::spawn(SantaSlime, 25, .@mapa$);
        "#XMAS21Core"::spawn(Moggun, 30, .@mapa$);
        "#XMAS21Core"::spawn(Yeti, 4, .@mapa$);
        "#XMAS21Core"::spawn(Wisp, 5, .@mapa$);
        "#XMAS21Core"::spawn(Poltergeist, 12, .@mapa$);
        "#XMAS21Core"::spawn(Spectre, 5, .@mapa$);
        "#XMAS21Core"::spawn(ManaGhost, 14, .@mapa$);
        "#XMAS21Core"::spawn(IceElement, 3, .@mapa$);
        "#XMAS21Core"::spawn(IceSkull, 3, .@mapa$);
        "#XMAS21Core"::spawn(Nutcracker, 6, .@mapa$);
        "#XMAS21Core"::spawn(Fluffy, 18, .@mapa$);

        /* Peaceful/Mystic/Forgotten Glade */
        "#XMAS21Core"::spawn(CrotcherScorpion, 14, .@mapc$);
        "#XMAS21Core"::spawn(Snail, 22, .@mapc$);
        "#XMAS21Core"::spawn(Bee, 9, .@mapc$);
        "#XMAS21Core"::spawn(Butterfly, 27, .@mapc$);
        "#XMAS21Core"::spawn(PinkFlower, 42, .@mapc$);
        "#XMAS21Core"::spawn(Pinkie, 36, .@mapc$);
        "#XMAS21Core"::spawn(Hyvern, 6, .@mapc$);
        "#XMAS21Core"::spawn(WitchGuard, 8, .@mapc$);

    }
    if (instance_id() >= 0)
		instance_set_timeout(1800, 1800);
    return;
}

/* You cannot fiddle with party in this region */
080-1	mapflag	partylock
080-3	mapflag	partylock
//081-1	mapflag	partylock
081-2	mapflag	partylock
081-3	mapflag	partylock

/* Secure regions */
081-3	mapflag	zone	MMO
081-3	mapflag	nosave	081-1,68,31

-	script	#XMAS21Core	NPC_HIDDEN,{
    end;

// "#XMAS21Core"::spawn(MonsterID, {Amount=1, {Map=this}})
public function spawn {
    .@m$=getarg(2, getmap());
    .@n$="#XMAS21Core::On"+getarg(0);
    if (mobcount(.@m$, .@n$) < 200)
        areamonster .@m$, 20, 20, getmapinfo(MAPINFO_SIZE_X, .@m$)-20, getmapinfo(MAPINFO_SIZE_Y, .@m$)-20, strmobinfo(1, getarg(0)), getarg(0), getarg(1, 1), .@n$;
    return;
}

/* Experimental */
On1162:
    spawn(Grinchboo, 2);
    end;

/* Ice Caves */
On1093:
    spawn(WhiteSlime);
    end;
On1060:
    spawn(Archant);
    end;
On1080:
    spawn(BlueSpark);
    end;
On1081:
    spawn(RedSpark);
    end;
On1100:
    spawn(AzulSlime);
    end;
On1015:
    spawn(SantaSlime);
    end;
On1061:
    spawn(Moggun);
    end;
On1072:
    spawn(Yeti);
    end;
On1040:
    spawn(Wisp);
    end;
On1047:
    spawn(Poltergeist);
    end;
On1042:
    spawn(Spectre);
    end;
On1125:
    spawn(ManaGhost);
    end;
On1071:
    spawn(IceElement);
    end;
On1085:
    spawn(IceSkull);
    end;
On1114:
    spawn(Nutcracker);
    end;
On1020:
    spawn(Fluffy);
    end;

/* Woodlands */
On1084:
    spawn(CrotcherScorpion);
    end;
On1041:
    spawn(Snail);
    end;
On1049:
    spawn(Bee);
    end;
On1055:
    spawn(Butterfly);
    end;
On1014:
    spawn(PinkFlower);
    end;
On1018:
    spawn(Pinkie);
    end;
On1088:
    spawn(Hyvern);
    end;
On1103:
    spawn(WitchGuard);
    end;

/* Ambush */
On1140:
    spawn(Tengu);
    end;
On1138:
    spawn(ManaGuardian);
    end;
On1143:
    spawn(ManaSlayer);
    end;
On1150:
    spawn(ManaTyrant);
    end;
On1147:
    spawn(Koyntety);
    end;
On1146:
    spawn(Flashmob);
    end;
}