From HLKitWiki
Jump to: navigation, search

Context: HL KitBasic Concepts and Terminology … Structural Building Blocks 

Consider a situation where an actor possesses two separate longswords. Both of these weapons correspond to the exact same thing that has been defined within the data files. Now consider what happens when a magical effect is applied to one of the longswords, but not the other. Similarly, consider a customizable weapon, such as a modern assault rifle, where one rifle might be configured with a laser scope and infrared optics, and a second rifle might be given recoil compensation. In each case, both weapons are based upon the same underlying thing, but the weapons must be kept distinct from one another and modified independently.

To handle situations like this, whenever a thing is added to an actor, it becomes a completely independent object. This new object is referred to as a "pick". Each pick references the original thing and inherits all of its characteristics as its initial state. However, all dynamic changes are applied independently to each pick.

IMPORTANT! Throughout the Kit documentation, the terms "thing" and "pick" will be used extensively. It is critical that the distinction between the two be clearly understood. Otherwise, the Kit documentation could become confusing, since every behavior that can be applied to things can also be applied to picks (i.e. picks are essentially a superset of things).