summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index eca06237d..7ea090113 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -1442,7 +1442,20 @@ int pc_bonus(struct map_session_data *sd,int type,int val)
switch (sd->state.lr_flag)
{
case 2:
- sd->arrow_ele=val;
+ switch (sd->status.weapon) {
+ case W_BOW:
+ case W_REVOLVER:
+ case W_RIFLE:
+ case W_SHOTGUN:
+ case W_GATLING:
+ case W_GRENADE:
+ //Become weapon element.
+ status->rhw.ele=val;
+ break;
+ default: //Become arrow element.
+ sd->arrow_ele=val;
+ break;
+ }
break;
case 1:
status->lhw->ele=val;