Changeset 992

User picture

Author: ATracer

(2010/02/07 23:56) About 2 years ago

Fix for skills usage restriction (self heal was not working when current target was dead mob)

Affected files

Updated trunk/AE-go_GameServer/src/com/aionemu/gameserver/itemengine/actions/SkillUseAction.java Download diff

991992
67
			PacketSendUtility.broadcastPacket(player, new SM_ITEM_USAGE_ANIMATION(player.getObjectId(),
67
			PacketSendUtility.broadcastPacket(player, new SM_ITEM_USAGE_ANIMATION(player.getObjectId(),
68
				parentItem.getObjectId(), parentItem.getItemTemplate().getItemId()), true);
68
				parentItem.getObjectId(), parentItem.getItemTemplate().getItemId()), true);
69
			skill.useSkill(SkillType.ITEM);
69
			skill.useSkill(SkillType.ITEM);
70
			
70
71
			Item item = player.getInventory().getItemByObjId(parentItem.getObjectId());
71
			player.getInventory().removeFromBagByObjectId(parentItem.getObjectId(), 1);
72
			if (item.getItemCount() > 1)
73
			{
74
				parentItem.decreaseItemCount(1);
75
				PacketSendUtility.sendPacket(player, new SM_UPDATE_ITEM(item));
76
			}
77
			else
78
			{
79
				player.getInventory().removeFromBag(item);
80
				PacketSendUtility.sendPacket(player, new SM_DELETE_ITEM(parentItem.getObjectId()));
81
			}
82
		}
72
		}
83
	}
73
	}
84
74

Updated trunk/AE-go_GameServer/src/com/aionemu/gameserver/skillengine/model/Skill.java Download diff

991992
22
import com.aionemu.gameserver.model.gameobjects.Creature;
22
import com.aionemu.gameserver.model.gameobjects.Creature;
23
import com.aionemu.gameserver.model.gameobjects.player.Player;
23
import com.aionemu.gameserver.model.gameobjects.player.Player;
24
import com.aionemu.gameserver.network.aion.serverpackets.SM_CASTSPELL;
24
import com.aionemu.gameserver.network.aion.serverpackets.SM_CASTSPELL;
25
import com.aionemu.gameserver.restrictions.RestrictionsManager;
25
import com.aionemu.gameserver.skillengine.action.Action;
26
import com.aionemu.gameserver.skillengine.action.Action;
26
import com.aionemu.gameserver.skillengine.action.Actions;
27
import com.aionemu.gameserver.skillengine.action.Actions;
27
import com.aionemu.gameserver.skillengine.condition.Condition;
28
import com.aionemu.gameserver.skillengine.condition.Condition;
...
...
114
		if(!setProperties(skillTemplate.getSetproperties()))
115
		if(!setProperties(skillTemplate.getSetproperties()))
115
			return;
116
			return;
116
		
117
		
118
		if (!RestrictionsManager.canUseSkill(getEffector(), getFirstTarget()))
119
			return;
120
		
117
		//temporary hook till i find permanent solution
121
		//temporary hook till i find permanent solution
118
		if(skillType == SkillType.CAST)
122
		if(skillType == SkillType.CAST)
119
		{
123
		{

Updated trunk/AE-go_GameServer/src/com/aionemu/gameserver/skillengine/properties/FirstTargetProperty.java Download diff

991992
75
				break;
75
				break;
76
			//TODO other enum values
76
			//TODO other enum values
77
		}
77
		}
78
		
78
79
		if (!RestrictionsManager.canUseSkill(skill.getEffector(), skill.getFirstTarget()))
80
			return false;
81
			
82
		if(skill.getFirstTarget() != null)
79
		if(skill.getFirstTarget() != null)
83
			skill.getEffectedList().add(skill.getFirstTarget());
80
			skill.getEffectedList().add(skill.getFirstTarget());
84
		return true;
81
		return true;

Updated trunk/AE-go_GameServer/src/com/aionemu/gameserver/skillengine/properties/TargetRelationProperty.java Download diff

991992
113
					skill.setFirstTarget(skill.getEffector());
113
					skill.setFirstTarget(skill.getEffector());
114
					effectedList.add(skill.getEffector());
114
					effectedList.add(skill.getEffector());
115
				}
115
				}
116
				else
117
				{
118
					skill.setFirstTarget(effectedList.get(0));
119
				}
116
					
120
					
117
				break;
121
				break;
118
			
122