summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-06-22 20:11:48 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-06-22 20:11:48 +0000
commit9b6610e12b484d9bb4b295a5fc609a3eed7f9940 (patch)
treeb96563410e646f2450f2df22e563cd9760cff6b4 /src/map/skill.c
parentbe3f1f637881da316d4da264ce6b8fc0ea35e58d (diff)
downloadhercules-9b6610e12b484d9bb4b295a5fc609a3eed7f9940.tar.gz
hercules-9b6610e12b484d9bb4b295a5fc609a3eed7f9940.tar.bz2
hercules-9b6610e12b484d9bb4b295a5fc609a3eed7f9940.tar.xz
hercules-9b6610e12b484d9bb4b295a5fc609a3eed7f9940.zip
Added enum e_skill_flag to represent the values of struct s_skill's complicated 'flag' field.
Reordered the enum values so SKILL_FLAG_REPLACED_LV_0 goes last and arithmetic can be done on it safely (for storing skill level values). This also adds support for skill levels higher than 10. Fixed several places where SKILL_FLAG_TEMPORARY was not handled properly, and instead was considered as one of the saved skill level values (resulting in skill level -1). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14861 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 1eeb5f4ec..e16c8573c 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -1820,11 +1820,11 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
&& (!sc || !sc->data[SC_PRESERVE])
&& damage < tsd->battle_status.hp)
{ //Updated to not be able to copy skills if the blow will kill you. [Skotlex]
- if ((!tsd->status.skill[skillid].id || tsd->status.skill[skillid].flag >= 13) &&
+ if ((tsd->status.skill[skillid].id == 0 || tsd->status.skill[skillid].flag == SKILL_FLAG_PLAGIARIZED) &&
can_copy(tsd,skillid,bl)) // Split all the check into their own function [Aru]
{
int lv = skilllv;
- if (tsd->cloneskill_id && tsd->status.skill[tsd->cloneskill_id].flag == 13){
+ if (tsd->cloneskill_id && tsd->status.skill[tsd->cloneskill_id].flag == SKILL_FLAG_PLAGIARIZED){
tsd->status.skill[tsd->cloneskill_id].id = 0;
tsd->status.skill[tsd->cloneskill_id].lv = 0;
tsd->status.skill[tsd->cloneskill_id].flag = 0;
@@ -1840,7 +1840,7 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
tsd->status.skill[skillid].id = skillid;
tsd->status.skill[skillid].lv = lv;
- tsd->status.skill[skillid].flag = 13;//cloneskill flag
+ tsd->status.skill[skillid].flag = SKILL_FLAG_PLAGIARIZED;
clif_addskill(tsd,skillid);
}
}