All pastes #471165 Raw Edit

Steuf

public text v1 · immutable
·published 2007-05-04 19:32 UTC
rendered paste body
    public void doDie(L2Character killer) 
    {
        // Enhance soul crystals of the attacker if this L2Attackable had its soul absorbed
        try {
            if (killer instanceof L2PcInstance)
            {
                levelSoulCrystals(killer);
            }
        }
        catch (Exception e) { _log.log(Level.SEVERE, "", e); }
        
        // Distribute Exp and SP rewards to L2PcInstance (including Summon owner) that hit the L2Attackable and to their Party members
        if (getHaveToDrop() || getMustRewardExpSP())
        {
        	try { 
        		calculateRewards(killer); 
        	} catch (Exception e) 
        		{ _log.log(Level.SEVERE, "", e); }
        }
        // Notify the Quest Engine of the L2Attackable death if necessary
        try {
            if (killer instanceof L2PcInstance || killer instanceof L2Summon) 
            {
                L2PcInstance player = killer instanceof L2PcInstance?(L2PcInstance)killer:((L2Summon)killer).getOwner();

            	if (getTemplate().getEventQuests(Quest.QuestEventType.MOBKILLED) != null)
            		for (Quest quest: getTemplate().getEventQuests(Quest.QuestEventType.MOBKILLED))
            			quest.notifyKill(this, player);
            }
        } 
        catch (Exception e) { _log.log(Level.SEVERE, "", e); }
	
        if (Config.L2JMOD_CHAMPION_ENABLE)
        {
        	//Set champion on next spawn
        	setChampion(false);
        	if (this instanceof L2MonsterInstance && Config.L2JMOD_CHAMPION_FREQUENCY > 0 && getLevel()>=Config.L2JMOD_CHAMP_MIN_LVL && getLevel()<=Config.L2JMOD_CHAMP_MAX_LVL) 
        	{        
        		int random = Rnd.get(100);
        		if (random < Config.L2JMOD_CHAMPION_FREQUENCY) 
        			setChampion(true);
        	}
        }

        // Kill the L2NpcInstance (the corpse disappeared after 7 seconds)
        super.doDie(killer);
        
    }