root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/itemengine/actions/SkillLearnAction.java

754993
57
	{
57
	{
58
		if(!validateConditions(player))
58
		if(!validateConditions(player))
59
			return;
59
			return;
60
		
60
61
		//item animation and message
61
		//item animation and message
62
		ItemTemplate itemTemplate = parentItem.getItemTemplate();
62
		ItemTemplate itemTemplate = parentItem.getItemTemplate();
63
		//PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.USE_ITEM(itemTemplate.getDescription()));
63
		//PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.USE_ITEM(itemTemplate.getDescription()));
...
...
67
		player.getSkillList().addSkill(skillid, 1);
67
		player.getSkillList().addSkill(skillid, 1);
68
		PacketSendUtility.sendPacket(player, new SM_SKILL_LIST(new SkillListEntry(skillid, 1, null)));
68
		PacketSendUtility.sendPacket(player, new SM_SKILL_LIST(new SkillListEntry(skillid, 1, null)));
69
		DAOManager.getDAO(PlayerSkillListDAO.class).storeSkills(player);
69
		DAOManager.getDAO(PlayerSkillListDAO.class).storeSkills(player);
70
		
70
71
		//remove book from inventory (assuming its not stackable)
71
		//remove book from inventory (assuming its not stackable)
72
		Item item = player.getInventory().getItemByObjId(parentItem.getObjectId());
72
		Item item = player.getInventory().getItemByObjId(parentItem.getObjectId());
73
		player.getInventory().removeFromBag(item);
73
		player.getInventory().removeFromBag(item, true);
74
		PacketSendUtility.sendPacket(player, new SM_DELETE_ITEM(parentItem.getObjectId()));	
74
		PacketSendUtility.sendPacket(player, new SM_DELETE_ITEM(parentItem.getObjectId()));	
75
	}
75
	}
76
76
...
...
79
		//1. check player level
79
		//1. check player level
80
		if(player.getCommonData().getLevel() < level)
80
		if(player.getCommonData().getLevel() < level)
81
			return false;
81
			return false;
82
		
82
83
		PlayerClass pc = player.getCommonData().getPlayerClass();
83
		PlayerClass pc = player.getCommonData().getPlayerClass();
84
		
84
85
		if(!validateClass(pc))
85
		if(!validateClass(pc))
86
			return false;
86
			return false;
87
		
87
88
		//4. check player race and SkillRace.ALL
88
		//4. check player race and SkillRace.ALL
89
		if(player.getCommonData().getRace().ordinal() != race.ordinal() 
89
		if(player.getCommonData().getRace().ordinal() != race.ordinal() 
90
			&& race != SkillRace.ALL)
90
			&& race != SkillRace.ALL)
...
...
92
		//5. check whether this skill is already learned
92
		//5. check whether this skill is already learned
93
		if(player.getSkillList().isSkillPresent(skillid))
93
		if(player.getSkillList().isSkillPresent(skillid))
94
			return false;
94
			return false;
95
		
95
96
		return true;
96
		return true;
97
	}
97
	}
98
98
...
...
106
		if(pc.ordinal() == playerClass.ordinal()
106
		if(pc.ordinal() == playerClass.ordinal()
107
			|| playerClass == SkillClass.ALL)
107
			|| playerClass == SkillClass.ALL)
108
			result = true;
108
			result = true;
109
		
109
110
		return result;
110
		return result;
111
	}
111
	}
112
}
112
}