diff --git a/src/objects/lightning-shield.cpp b/src/objects/lightning-shield.cpp index 3c80e1b70..ab7ead2a6 100644 --- a/src/objects/lightning-shield.cpp +++ b/src/objects/lightning-shield.cpp @@ -23,6 +23,8 @@ struct Shield : Mobj Mobj* follow() const { return Mobj::target(); } void follow(Mobj* n) { Mobj::target(n); } + player_t* player() const { return follow()->player; } + bool valid() const { return Mobj::valid(follow()); } }; @@ -58,6 +60,11 @@ struct Visual : Mobj scale(5 * shield()->follow()->scale() / 4); dispoffset = state()->num() == S_THNB1 ? -1 : 1; + if (shield()->player()->lightningcharge) + renderflags |= RF_DONTDRAW; + else + renderflags &= ~RF_DONTDRAW; + return true; } };