diff options
Diffstat (limited to 'src/map/pc.c')
-rw-r--r-- | src/map/pc.c | 15 |
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; |