diff --git a/blades/abstract_blade.h b/blades/abstract_blade.h index 093cfd568..6c5fc9a5e 100644 --- a/blades/abstract_blade.h +++ b/blades/abstract_blade.h @@ -49,13 +49,22 @@ class AbstractBlade : public BladeBase, public SaberBase { switch (type) { default: break; case EFFECT_LOCKUP_BEGIN: - if (SaberBase::Lockup() == LOCKUP_DRAG) - type = EFFECT_DRAG_BEGIN; + switch (SaberBase::Lockup()) { + case LOCKUP_DRAG: + type = EFFECT_DRAG_BEGIN; + case LOCKUP_NORMAL: + break; + default: return; + } break; case EFFECT_LOCKUP_END: - if (SaberBase::Lockup() == LOCKUP_DRAG) - type = EFFECT_DRAG_END; - break; + switch (SaberBase::Lockup()) { + case LOCKUP_DRAG: + type = EFFECT_DRAG_END; + case LOCKUP_NORMAL: + break; + default: return; + } } for (size_t i = NELEM(effects_) - 1; i; i--) { effects_[i] = effects_[i-1];