summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-03 16:29:17 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-07-03 16:29:17 +0000
commit884ebdf25a8004abb6f5b001734d507c98b4a6b2 (patch)
tree890f052c5cd927d0c80f8333fe67ef4d7bf1c203 /src/map/skill.c
parent8c01ccc448ce7ba067ece0e0dbc524671754494a (diff)
downloadhercules-884ebdf25a8004abb6f5b001734d507c98b4a6b2.tar.gz
hercules-884ebdf25a8004abb6f5b001734d507c98b4a6b2.tar.bz2
hercules-884ebdf25a8004abb6f5b001734d507c98b4a6b2.tar.xz
hercules-884ebdf25a8004abb6f5b001734d507c98b4a6b2.zip
- Warmth will dispel when warping now (or else the effect is left on the ground)
- Fixed reading of the refine_db not working right when MAX_REFINE is increased from 10. - Some more cleaning to the implementation of Abracadabra git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7456 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index fd7dc61d9..aee4fb99f 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -3305,10 +3305,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
}
do {
abra_skillid = rand() % MAX_SKILL_ABRA_DB;
- if (skill_abra_db[abra_skillid].req_lv > skilllv ||
- rand()%10000 >= skill_abra_db[abra_skillid].per ||
- skill_get_inf2(abra_skillid)&INF2_NPC_SKILL ||
- skill_get_unit_flag(abra_skillid) &(UF_DANCE|UF_ENSEMBLE|UF_SONG)
+ if (
+ skill_get_inf2(abra_skillid)&(INF2_NPC_SKILL|INF2_SONG_DANCE|INF2_ENSEMBLE_SKILL) || //NPC/Song/Dance skills are out
+ !skill_get_inf(abra_skillid) || //Passive skills cannot be casted
+ skill_abra_db[abra_skillid].req_lv > skilllv || //Required lv for it to appear
+ rand()%10000 >= skill_abra_db[abra_skillid].per
)
abra_skillid = 0; // reset to get a new id
} while (abra_skillid == 0);