>>300
言語によって違いますけど、クラス型言語なら
武器用のInterfaceクラスを用意して、実際の振る舞いは武器ごとに作成
プレイヤーはその武器用Interfaceをコンポジションさせたら
持ち替えとかはラクにできるんじゃないですかね