If you want to be able to change object attributes en masse, then types won't work for you. A type gives an object its initial definition, but there is nothing in the Quest world model that allows you to actually manipulate types at runtime. So you can't modify the value a type has - there is no way to get a handle on it!
What I have done in the past is to define a class *object* for each type. Then have the higher level objects point to that object. If I want (say) the points restored by an object, I would use:
someObject.class.restorePoints
instead of
someObject.restorePoints
The class attribute would point to *another* object that holds the common values. That way, later you can change the common value simply by updating that class object's attribute. It's a form of delegation.
I hope that makes some sense. If not, I can show a more concrete example.