public override void DroppedOn(GameObject target) { if(target == null) { SetHidden(false); return; } if(isEmpty()) { absorbSpell(target); } else { castSpell(target); } }