summaryrefslogblamecommitdiff
path: root/npc/functions/global_event_handler.txt
blob: 3f10ae734c4507b11822cdf7ef2d5e202571c014 (plain) (tree)








































































                                                               
// The Mana World scripts.
// Author:
//    The Mana World Team
// Description:
//    Controls most, if not all, global events on this server.
//    Please only use callfunc("") here; This script is loaded
//    early on and direct function assignment will cause fails.
// TODO: Move "new quest" notification here. (Or deprecate)

// Helper function for scripted Monster Kills.
function	script	fix_mobkill	{
    killedrid=getarg(0);
    doevent "#GlobalHandler::OnNPCKillEvent";
    return;
}

-	script	#GlobalHandler	NPC_HIDDEN,{
    end;


OnPCLoginEvent:
    callfunc("updateSpotlight");
    callfunc("ReceiveMOTD");
    callfunc("ReceiveScheduledBroadcast");
    callfunc("FixBankVault");
    callfunc("GrantSuperSkill");
    callfunc("AFKLogin");
    callfunc("TravelFix");
    end;

OnPCLogoutEvent:
    callfunc("UnequipCookie");
    callfunc("MundaneLogout");
    callfunc("fishing_cleanup", @fishing_spot$);
    callfunc("ATLFightEnd");
    callfunc("RossyLogout");

    // Variable cleanup
    @fishing_spot$ = "";
    end;

OnPCDieEvent:
    callfunc("ForcedUnmount");
    callfunc("MundaneDeath");
    callfunc("ATLFightEnd");
    callfunc("RossyDeath");
    end;

OnPCBaseLvUpEvent:
    //callfunc("newquestwarning");
    callfunc("ReferralSendLvReward");
    end;

OnNPCKillEvent:
    $MONSTERS_KILLED+=1;
    MONSTERS_KILLED+=1;
    callfunc("EnoraKills");
    callfunc("refineupdate");
    if ($MONSTERS_KILLED % 1000000 == 0)
        callfunc("GetBeanieCopter");
    end;

OnPCKillEvent:
    $PLAYERS_KILLED+=1;
    PLAYERS_KILLED+=1;
    end;

OnSkillInvoke:
    callfunc("SkillInvoked");
    end;

}