reworked changeSoulValue function