Example: Former (Proc stored on item held)
obj/proc/Interact(atom/Target,mob/M)
obj/Pickaxe/Interact(atom/Target,mob/M)
if(istype(Target,/obj/Rock))
world<<"You macked a rock with a pickaxe!"
else if(istype(Target,/obj/Wall))
world<<"You macked a wall with a pickaxe!"
Example: Latter (Proc stored on target)
atom/proc/Interact(obj/Source,mob/M)
obj/Rock/Interact(obj/Source,mob/M)
if(istype(Source,/obj/Pickaxe))
world<<"You macked a rock with a pickaxe!"
obj/Wall/Interact(obj/Source,mob/M)
if(istype(Source,/obj/Pickaxe))
world<<"You macked a wall with a pickaxe!"
Which one would you feel is more effective, and why?
Just to clarify: When I say effective I mean effective in the sense that is it easier to organize in a large scale.