All pastes #1054352 Raw Edit

Miscellany

public text v1 · immutable
#1054352 ·published 2008-06-23 21:17 UTC
rendered paste body
package net.sf.l2j.gameserver.model.actor.instance;

import java.util.logging.Logger;

import javolution.util.FastList;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.datatables.BuffTemplateTable;
import net.sf.l2j.gameserver.model.L2Character;
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2Skill.SkillTargetType;
import net.sf.l2j.gameserver.model.L2Skill.SkillType;
import net.sf.l2j.gameserver.network.SystemMessageId;
import net.sf.l2j.gameserver.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.L2BuffTemplate;

public class L2BufferInstance
{
	static L2PcInstance selfBuffer;
	static L2NpcInstance npcBuffer;
	
	
	public static void makeBuffs(L2PcInstance player, int _templateId, L2Object efector)
	{
		if (player == null)
			return;
		getbufferType(efector).setTarget(player);
		
		FastList<L2BuffTemplate> _templateBuffs = new  FastList<L2BuffTemplate>();
		_templateBuffs = BuffTemplateTable.getInstance().getBuffTemplate(_templateId);
		
		if (_templateBuffs == null  || _templateBuffs.size() == 0)
			return;
		
		
		
		
		for (L2BuffTemplate _buff:_templateBuffs)
		{
			
			
			getbufferType(efector).setTarget(player);
			
			if ( _buff.checkPlayer(player)) 
			{
					
						
							
							
							player.setCurrentHpMp(player.getMaxHp()+5000, player.getMaxMp()+5000);
							
	                    	SystemMessage sm = new SystemMessage(SystemMessageId.YOU_FEEL_S1_EFFECT); 
	                    	sm.addSkillName(_buff.getSkill().getId());
	                    	player.sendPacket(sm);
	                    	sm = null;
	                    	if (_buff.getSkill().getTargetType() == SkillTargetType.TARGET_SELF)
	                        {
	                            
	                        	MagicSkillUse msu = new MagicSkillUse(player, player, _buff.getSkill().getId(), _buff.getSkill().getLevel(), 100, 0);
	                            player.broadcastPacket(msu);
	                            
	                            for (L2Effect effect : _buff.getSkill().getEffectsSelf(player))
	                            {
	                            	player.addEffect(effect);
	                            }
	                          
	                            if (_buff.getSkill().getSkillType() == SkillType.SUMMON)
	                            {
	                            	player.doCast(_buff.getSkill());
	                            }
	                        }
	                    	else
	                    	{  
	                        	MagicSkillUse msu = new MagicSkillUse(getbufferType(efector), player, _buff.getSkill().getId(), _buff.getSkill().getLevel(), 5, 0);
	                            player.broadcastPacket(msu);
	                    	}
	                        
	                    	for (L2Effect effect : _buff.getSkill().getEffects(getbufferType(efector), player))
	                        {
	                        	player.addEffect(effect);
	                        }
	                        try{
	                        	Thread.sleep(50);
	                        }catch (Exception e) {}
						
					
			}
		}
			
	}
	private static L2Character getbufferType(L2Object efector)
	{
		if (efector instanceof L2PcInstance)
		{
			selfBuffer = ((L2PcInstance)efector);
			efector = selfBuffer;
		}
		if (efector instanceof L2NpcInstance)
		{
			npcBuffer = ((L2NpcInstance)efector);
			efector = npcBuffer;
		}
		return (L2Character) efector;
	}
	static Logger _log = Logger.getLogger(Config.class.getName());
}