Are you sure that's an incompatibility and not just an error with this script? I don't see how Luck would interfere and there is definitely no reason that placing it below the Luck script would cause it to bug. The problem seems to me to be that
make_obj_damage_value (user, obj)
is being aliased and the obj it expects is either a Skill or an Item, but then the script checks the obj.welemental method (which doesn't exist because that method is defined only for Weapons). I think this script would throw that error even by itself; I don't think it's an incompatibility. It is, however, a simple enough fix. Where it says:
class RPG::Weapon < RPG::BaseItem
Change that to:
class RPG::BaseItem
I think the script is still imperfect - maybe I'll write this script for you when I find the time.