summaryrefslogblamecommitdiff
path: root/world/map/npc/functions/mob_points.txt
blob: 5ac9aebfa5fe8e1f2edcc761203b4f7e0a86ba0d (plain) (tree)
1
2
3
4
5
6

             
                         
 
                                     
 


































































                                
                      




                             

                       






                                     












                                







                            


                              
                      





                              












                                     
                           


                                                       
 
                              
                                   







                                






                                 
     
 

                                          
 









                                              
                                                       


                    

                                                                                  







                               
                                                         
                                                          
                                                                                    
                                                                                        
                        
 
                                                                                                                         
 
                  



                       
         

                       
                

                       
         

                       
           

                       


                       





                       
 
                    
                        
 
                                 
                    

       

                                 


                    
                                                                                  


                                                                                                   






                                                                                 
                  

         
                  
           
 
// Mob points

function|script|MobPoints
{
    if (@mobID < 1002) goto L_Return;

    setarray @points,
        1, // Maggot
        2, // Scorpion
        20, // Red Scorpion
        40, // Green Slime
        30, // Giant Maggot
        15, // Yellow Slime
        25, // Red Slime
        45, // Black Scorpion
        50, // Snake
        6, // Fire Goblin
        55, // Spider
        35, // Evil Mushroom
        35, // Pink Flower
        40, // Santa Slime
        15, // Rudolph Slime
        2, // Bat
        16, // Pinkie
        10, // Spiky Mushroom
        14, // Fluffy
        25, // Cave Snake
        200, // Jack O
        85, // Fire Skull
        85, // Poison Skull
        20, // Log Head
        70, // Mountain Snake
        15, // Easter Fluffy
        40, // Mouboo
        0, // Mauve Plant
        0, // Cobalt Plant
        0, // Gamboge Plant
        0, // Alizarin Plant
        20, // Sea Slime
        75, // Grass Snake
        0, // Silk Worm
        125, // Zombie
        0, // Clover Patch
        5, // Squirrel
        0, // Fire Lizard
        80, // Wisp
        15, // Snail
        80, // Spectre
        100, // Skeleton
        100, // Lady Skeleton
        150, // Fallen
        0, // Snake Lord
        80, // Poltergeist
        0, // Duck
        15, // Bee
        0, // Larvespa
        0, // Vespa
        0, // Hivespa
        0, // Froad
        0, // Troll
        15, // Butterfly
        2, // Cave Maggot
        10, // Angry Scorpion
        6, // Ice Goblin
        20, // Archant
        40, // Giant Cave Maggot
        35, // Moggun
        100, // Terranite
        10, // Pumpkin
        10, // Bandit
        20, // Bandit Lord
        30, // Vampire Bat
        20, // Reaper
        20, // Reaper2
        100, // Scythe
        20, // Ball Lightning
        60, // Ice Element
        80, // Yeti
        100, // The Lost
        60, // Red Bone
        60, // Stalker
        0, // Dreadwing
        100, // Drunken Skeleton
        100, // Tipsy Skeleton
        100, // Drunken Lady Skeleton
        60, // BlueSpark
        60, // RedSpark
        0, // Serqet
        60, // HuntsmanSpider,
        40, // CrotcherScorpion,
        0, // IceSkull,
        120, // FeyElement,
        10, // Larvern,
        60, // Hyvern,
        20, // HungryFluffy,
        40, // Wolvern,
        50, // BlueSlime,
        0, // SlimeBlast,
        20, // WhiteSlime,
        40, // Reinboo,
        0, // WhiteBell,
        60, // SoulSnake
        100, // SoulEater
        25, // CopperSlime
        0, // SleepingBandit
        20, // AzulSlime
        80, // DemonicSpirit
        940, // Luvia
        150, // WitchGuard
        50, // DemonicMouboo
        15, // ViciousSquirrel
        20, // WickedMushroom
        18, // Bluepar
        10, // AngryFireGoblin
        35, // AngrySeaSlime
        50, // CandiedSlime
        40, // Santaboo
        30, // Pollett
        100, //Nutcracker
        40, // SeaSlimeMother
        50, // UndeadWitch
        60, // UndeadTroll
        80, // GreenSlimeMother
        100, // Thug
        100, // Swashbuckler
        100, // Grenadier
        150, // DreadPirateMarley
        10, // DreadPirateMarleyClone
        100, // Wight
        100, // ManaGhost
        100, // PsiBrain
        150, // GeneralKurkan
        175 // GeneralRazha
        // No more room! script engine is buggy, sorry.
        //   -o11c
        ; // END

    setarray @points_extended,
        200, // 1129 GeneralTerogan
        100, // 1130 Moonshroom
        20, // 1131 ManaBug
        80, // 1132 LavaSlime
        80, // 1133 Anne
        200, // 1134 SUSAN
        80, // 1135 LovelyMaggot
        10, // 1136 LesserGhost
        500, // 1137 Tormenta
        200, // 1138 ManaGuardian
        10, // 1139 Virus
        200, // 1140 Tengu
        200, // 1141 Sasquatch
        999, // 1142 ZaxDeKagen
        200, // 1143 ManaSlayer
        200 // 1144 GreatDragon
    ;

    if ((MPQUEST == 1) && (@mobID < 1129))
        goto L_Table1;

    if ((MPQUEST == 1) && (@mobID > 1128))
        goto L_Table2;

    goto L_PostLoop;

L_Table1:
    set Mobpt, Mobpt + @points[@mobID - 1002];
    goto L_PostLoop;

L_Table2:
    set Mobpt, Mobpt + @points_extended[@mobID - 1129];
    goto L_PostLoop;

L_PostLoop:
    callfunc "ValonCount";
    if (((QL_VALON >= 2) && (QL_VALON < 6)) && (@mobID == $@ValonMob[@valon_mob]))
        goto L_ValonMobKill;
    goto L_NatureKarma;

L_ValonMobKill:
    callfunc "AddValonCntMask";
    goto L_NatureKarma;

L_NatureKarma:
// Scorpion, Red Scorpion, Black Scorpion, Angry Scorpion
// DemonicMouboo, ViciousSquirrel, WickedMushroom, Bluepar
    if ((@mobID == 1003) || (@mobID == 1004) || (@mobID == 1009) || (@mobID == 1057)
        || (@mobID == 1104) || (@mobID == 1105) || (@mobID == 1106) || (@mobID == 1107))
            goto L_good;

    // Attitude adjustment for the witch (can we refactor this to another function?  Not sure about max. recursion depth)

    set @value, 0;
// Pinkie
    if (@mobID == 1018)
        set @value, 3;

// Fluffy
    if (@mobID == 1020)
        set @value, 3;
// Easter Fluffy
    if (@mobID == 1027)
        set @value, 3;
// Mouboo
    if (@mobID == 1028)
        set @value, 4;
// Squirrel
    if (@mobID == 1038)
        set @value, 2;
// Reinboo
    if (@mobID == 1094)
        set @value, 3;
// Santaboo
    if (@mobID == 1112)
        set @value, 3;
// Pollett
    if (@mobID == 1113)
        set @value, 3;

    if (@value == 0)
        goto L_Celestia;

    callfunc "QuestSagathaAnnoy";
    goto L_Celestia;

L_good:
    set @value, 1;
    callfunc "QuestSagathaHappy";
    goto L_Celestia;

L_Celestia:
    if (QL_CELESTIA < 5 || QL_CELESTIA >= 205 || @mobID != 1072) goto L_Terranite;
    set QL_CELESTIA, QL_CELESTIA + 1;
    if (QL_CELESTIA == 205)
        message strcharinfo(0), "Yeti : ##3This should be enough yetis killed to please Celestia.";
    goto L_Terranite;

L_Terranite:
    if (TERRAC < 1 || TERRAC > 2000 || @mobID != 1062) goto L_Return;
    if (TERRAC % 100 == 0)
        message strcharinfo(0), "Terranite : ##3Total Terranites Slain: "+TERRAC;
    set TERRAC, TERRAC + 1;
    goto L_Return;

L_Return:
    set @value, 0;
    return;
}