root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/itemengine/actions/SkillLearnAction.java
| 754 | 993 | ||
|---|---|---|---|
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 | } |
Download diff