Fixed a few hard coded element checks
This commit is contained in:
@@ -3376,11 +3376,11 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
|
||||
#endif
|
||||
short s_ele = skill_get_ele(skill_id, skill_lv);
|
||||
|
||||
if (s_ele == -1) // the skill takes the weapon's element
|
||||
if (s_ele == ELE_WEAPON) // the skill takes the weapon's element
|
||||
s_ele = sstatus->rhw.ele;
|
||||
else if (s_ele == -2) //Use status element
|
||||
else if (s_ele == ELE_ENDOWED) //Use status element
|
||||
s_ele = status_get_attack_sc_element(src,status_get_sc(src));
|
||||
else if( s_ele == -3 ) //Use random element
|
||||
else if( s_ele == ELE_RANDOM) //Use random element
|
||||
s_ele = rnd()%ELE_ALL;
|
||||
|
||||
dmg.damage = battle_attr_fix(bl, bl, dmg.damage, s_ele, status_get_element(bl), status_get_element_level(bl));
|
||||
@@ -6260,7 +6260,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
tsce = (tsc && type != -1)?tsc->data[type]:NULL;
|
||||
|
||||
if (src!=bl && type > -1 &&
|
||||
(i = skill_get_ele(skill_id, skill_lv)) > ELE_NEUTRAL &&
|
||||
CHK_ELEMENT((i = skill_get_ele(skill_id, skill_lv))) &&
|
||||
skill_get_inf(skill_id) != INF_SUPPORT_SKILL &&
|
||||
battle_attr_fix(NULL, NULL, 100, i, tstatus->def_ele, tstatus->ele_lv) <= 0)
|
||||
return 1; //Skills that cause an status should be blocked if the target element blocks its element.
|
||||
@@ -13061,11 +13061,11 @@ struct skill_unit_group *skill_unitsetting(struct block_list *src, uint16 skill_
|
||||
int ele = skill_get_ele(skill_id, skill_lv);
|
||||
int element[5] = { ELE_WIND, ELE_DARK, ELE_POISON, ELE_WATER, ELE_FIRE };
|
||||
|
||||
if (ele == -3)
|
||||
if (ele == ELE_RANDOM)
|
||||
val1 = element[rnd()%5]; // Use random from available unit visual?
|
||||
else if (ele == -2)
|
||||
else if (ele == ELE_ENDOWED)
|
||||
val1 = status_get_attack_sc_element(src,sc);
|
||||
else if (ele == -1) {
|
||||
else if (ele == ELE_WEAPON) {
|
||||
val1 = status->rhw.ele;
|
||||
if (sc && sc->data[SC_ENCHANTARMS])
|
||||
val1 = sc->data[SC_ENCHANTARMS]->val1;
|
||||
|
||||
Reference in New Issue
Block a user