define "redundant"
If you know already the player is the Barbies, yes the whole thing is redundant.
Otherwise, due to "lazy evaluation" (also known as "short-circuit evaluation"), if player is the Barbies, the "or not player:IsMinorCiv()" part is never evaluated
For "player:IsBarbarian() or not player:IsMinorCiv()", there are three cases
player = Players[0] -- Major
false or not false = false or true = true
player = Players[22] -- Minor
false or not true = false or false = false
player = Players[63] -- Barbies
true or <never evaluated> = true
W