Which means that
a) you don't actually get a damage bonus against giants and
b) if you have another item source of damage against humans, learn the prodigy, then unlearn it (with that ring for example), you could wind up with negative damage bonus against humans if you take said item off
Here's the relevant code from the prodigy
on_learn = function(self, t)
self.inc_damage_actor_type = self.inc_damage_actor_type or {}
self.inc_damage_actor_type.construct = (self.inc_damage_actor_type.construct or 0) + 1000
self.inc_damage_actor_type.humanoid = (self.inc_damage_actor_type.humanoid or 0) + 20
self.inc_damage_actor_type.humanoid = (self.inc_damage_actor_type.giant or 0) + 20
end,
on_unlearn = function(self, t)
self.inc_damage_actor_type.construct = (self.inc_damage_actor_type.construct or 0) - 1000
self.inc_damage_actor_type.humanoid = (self.inc_damage_actor_type.humanoid or 0) - 20
self.inc_damage_actor_type.humanoid = (self.inc_damage_actor_type.giant or 0) - 20
end,