summaryrefslogtreecommitdiff
path: root/src/map/battle.cpp
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-04-27 10:36:35 -0700
committerBen Longbons <b.r.longbons@gmail.com>2013-04-27 14:09:22 -0700
commit7a9cee6ac24f5cfaaa73c97e5fef733eadba09ad (patch)
tree77120b9a83ceda3fa845cad457199de62a0a94b7 /src/map/battle.cpp
parentd18f5bdb682a1d9c6e3a191926bfd46d36e813c1 (diff)
downloadtmwa-7a9cee6ac24f5cfaaa73c97e5fef733eadba09ad.tar.gz
tmwa-7a9cee6ac24f5cfaaa73c97e5fef733eadba09ad.tar.bz2
tmwa-7a9cee6ac24f5cfaaa73c97e5fef733eadba09ad.tar.xz
tmwa-7a9cee6ac24f5cfaaa73c97e5fef733eadba09ad.zip
Enumize ItemLook
Diffstat (limited to 'src/map/battle.cpp')
-rw-r--r--src/map/battle.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/map/battle.cpp b/src/map/battle.cpp
index dad78cb..97edeb3 100644
--- a/src/map/battle.cpp
+++ b/src/map/battle.cpp
@@ -1422,7 +1422,7 @@ struct Damage battle_calc_pc_weapon_attack(struct block_list *src,
atkmin_ * (80 +
sd->inventory_data[sd->equip_index[EQUIP::SHIELD]]->wlv * 20) /
100;
- if (sd->status.weapon == 11)
+ if (sd->status.weapon == ItemLook::BOW)
{ //武器が弓矢の場合
atkmin = watk * ((atkmin < watk) ? atkmin : watk) / 100; //弓用最低ATK計算
flag = (flag & ~BF::RANGEMASK) | BF::LONG; //遠距離攻撃フラグを有効
@@ -1455,7 +1455,7 @@ struct Damage battle_calc_pc_weapon_attack(struct block_list *src,
if (sd->state.arrow_atk)
cri += sd->arrow_cri;
- if (sd->status.weapon == 16)
+ if (sd->status.weapon == ItemLook::_16)
// カタールの場合、クリティカルを倍に
cri <<= 1;
cri -= battle_get_luk(target) * 3;
@@ -1645,13 +1645,14 @@ struct Damage battle_calc_pc_weapon_attack(struct block_list *src,
// pc_calcstatus()でデータを入力しています
//左手のみ武器装備
- if (sd->weapontype1 == 0 && sd->weapontype2 > 0)
+ if (sd->weapontype1 == ItemLook::NONE
+ && sd->weapontype2 != ItemLook::NONE)
{
damage = damage2;
damage2 = 0;
}
// 右手、左手修練の適用
- if (sd->status.weapon > 16)
+ if (sd->status.weapon >= ItemLook::SINGLE_HANDED_COUNT)
{ // 二刀流か?
int dmg = damage, dmg2 = damage2;
// 右手修練(60% 〜 100%) 右手全般
@@ -1674,7 +1675,7 @@ struct Damage battle_calc_pc_weapon_attack(struct block_list *src,
type = DamageType::DOUBLED;
}
- if (sd->status.weapon == 16)
+ if (sd->status.weapon == ItemLook::_16)
{
// カタール追撃ダメージ
damage2 = damage * 1 / 100;
@@ -1982,7 +1983,7 @@ ATK battle_weapon_attack(struct block_list *src, struct block_list *target,
battle_check_range(src, target, 0))
{
// 攻撃対象となりうるので攻撃
- if (sd && sd->status.weapon == 11)
+ if (sd && sd->status.weapon == ItemLook::BOW)
{
if (sd->equip_index[EQUIP::ARROW] >= 0)
{
@@ -2019,8 +2020,10 @@ ATK battle_weapon_attack(struct block_list *src, struct block_list *target,
{
clif_damage(src, target, tick, wd.amotion, wd.dmotion,
wd.damage, wd.div_, wd.type, wd.damage2);
- //二刀流左手とカタール追撃のミス表示(無理やり〜)
- if (sd && sd->status.weapon >= 16 && wd.damage2 == 0)
+ if (sd
+ && (sd->status.weapon == ItemLook::_16
+ || sd->status.weapon >= ItemLook::SINGLE_HANDED_COUNT)
+ && wd.damage2 == 0)
clif_damage(src, target, tick + std::chrono::milliseconds(10),
wd.amotion, wd.dmotion, 0, 1, DamageType::NORMAL, 0);
}