diff --git a/configure.py b/configure.py index d80ce2ff..39783789 100644 --- a/configure.py +++ b/configure.py @@ -1333,7 +1333,7 @@ config.libs = [ Object(NonMatching, "effect/ef_suisou_awa.c"), Object(NonMatching, "effect/ef_swing_axe.c"), Object(NonMatching, "effect/ef_swing_net.c"), - Object(NonMatching, "effect/ef_swing_rod.c"), + Object(Matching, "effect/ef_swing_rod.c"), Object(Matching, "effect/ef_taberu.c"), Object(Matching, "effect/ef_takurami.c"), Object(Matching, "effect/ef_takurami_kira.c"), diff --git a/src/effect/ef_swing_rod.c b/src/effect/ef_swing_rod.c index 2955d80a..cb302e58 100644 --- a/src/effect/ef_swing_rod.c +++ b/src/effect/ef_swing_rod.c @@ -1,5 +1,7 @@ #include "ef_effect_control.h" +#include "m_common_data.h" + static void eSwing_Rod_init(xyz_t pos, int prio, s16 angle, GAME* game, u16 item_name, s16 arg0, s16 arg1); static void eSwing_Rod_ct(eEC_Effect_c* effect, GAME* game, void* ct_arg); static void eSwing_Rod_mv(eEC_Effect_c* effect, GAME* game); @@ -18,11 +20,34 @@ eEC_PROFILE_c iam_ef_swing_rod = { }; static void eSwing_Rod_init(xyz_t pos, int prio, s16 angle, GAME* game, u16 item_name, s16 arg0, s16 arg1) { - // TODO + int bush_happa_num; + int bush_yuki_num; + + if (eEC_CLIP != NULL) { + switch (arg0) { + case mCoBG_ATTRIBUTE_BUSH: + bush_happa_num = 3; + + while (bush_happa_num-- != 0) { + eEC_CLIP->effect_make_proc(eEC_EFFECT_BUSH_HAPPA, pos, prio, angle, game, item_name, arg0, 1); + } + + if (Common_Get(time.season) == mTM_SEASON_WINTER) { + bush_yuki_num = 3; + + while (bush_yuki_num-- != 0) { + eEC_CLIP->effect_make_proc(eEC_EFFECT_BUSH_YUKI, pos, prio, angle, game, item_name, arg0, 0); + } + } + break; + } + } + + eEC_CLIP->make_effect_proc(eEC_EFFECT_SWING_ROD, pos, NULL, game, NULL, item_name, prio, arg0, arg1); } static void eSwing_Rod_ct(eEC_Effect_c* effect, GAME* game, void* ct_arg) { - // TODO + effect->timer = 0; } static void eSwing_Rod_mv(eEC_Effect_c* effect, GAME* game) {