HeldDevice
From Data Realms Wiki
A HeldDevice is a parent class for any object which is attached to an Actor when they equip it. This excludes objects which can be held but also thrown; their category is "ThrownDevice".
HeldDevice has only one child class and is abbreviated as a prefix in HDFirearm. Objects which have no trigger are just "HeldDevice"s that can be held and "aimmed". These are typically used for shields, though other uses are possible.
A HeldDevice instance is set up in this fashion:
AddDevice = HeldDevice InstanceName = Riot Shield AddToGroup = Shields Mass = 5 HitsMOs = 0 GetsHitByMOs = 1 SpriteFile = ContentFile FilePath = Base.rte/Devices/Shields/Riot.bmp FrameCount = 1 SpriteOffset = Vector X = -5 Y = -11 EntryWound = AEmitter CopyOf = Dent Metal ExitWound = AEmitter CopyOf = Dent Metal GoldValue = 5 AtomGroup = AtomGroup AutoGenerate = 1 Material = Material CopyOf = Military Stuff Resolution = 4 Depth = 0 DeepGroup = AtomGroup AutoGenerate = 1 Material = Material CopyOf = Military Stuff Resolution = 4 Depth = 10 DeepCheck = 1 JointStrength = 150 JointStiffness = 0.5 JointOffset = Vector X = -2 Y = 1 DrawAfterParent = 1 StanceOffset = Vector X = 5 Y = 2 SharpStanceOffset = Vector X = 7 Y = -2 SupportOffset = Vector X = -5 Y = 4 SharpLength = 50 AddGib = Gib GibParticle = MOPixel CopyOf = Spark Yellow 1 Count = 3 Spread = 2.25 MaxVelocity = 20 MinVelocity = 8 GibWoundLimit = 20
The Explanation
Now we will break it down variable by variable. (note offsets and gibs will not be covered)
AddDevice = HeldDevice // The instance call, defines the next text as parts of a HeldDevice. InstanceName = Riot Shield // The name used to refer to the instance later. AddToGroup = Shields // The group it will be under when you start a skirmish with no pre-placed brain.* Mass = 5 // The mass in kg for example; 0.01 would be 10g, 0.1 would be 100g and 1 would be 1kg. HitsMOs = 0 // Boolean value that determines if this particle can hit other particles. GetsHitByMOs = 1 // Boolean value that determines if this particle can be hit by other particles. SpriteFile = ContentFile FilePath = Base.rte/Devices/Shields/Riot.bmp // Tells The HeldDevice to use the sprite specified. FrameCount = 1 // How many frames to use. SpriteOffset = Vector X = -5 Y = -11 EntryWound = AEmitter CopyOf = Dent Metal // The emitter to use for where the bullet enters the weapon. ExitWound = AEmitter CopyOf = Dent Metal // The emitter to use for where the bullet exits the weapon. GoldValue = 5 // How much gold the weapon costs.
*If one handed weapons are placed in this group ("Shields") they can be dual wielded with another one handed weapon, as shields can be used with one handed weapons.
AtomGroups and DeepGroups.
AtomGroup = AtomGroup // AutoGenerate = 1 // Material = Material // Defines the material that the round will be made up of. CopyOf = Military Stuff // Reference to the material you want the round to be made of. Resolution = 4 // Depth = 0 // DeepGroup = AtomGroup // AutoGenerate = 1 Material = Material CopyOf = Military Stuff Resolution = 4 Depth = 10 DeepCheck = 1 //
JointStrength = 150 // How much force is required to be slung out of your grip. JointStiffness = 0.5 // How much force is required to move the joint JointOffset = Vector X = -2 Y = 1 DrawAfterParent = 1 // Boolean value that determines if it is drawn in front of the parent a.k.a hand (1) or not (0). StanceOffset = Vector X = 5 Y = 2 SharpStanceOffset = Vector X = 7 Y = -2 SupportOffset = Vector X = -5 Y = 4 SharpLength = 50 // Determines How far you can aim. AddGib = Gib GibParticle = MOPixel CopyOf = Spark Yellow 1 Count = 3 Spread = 2.25 MaxVelocity = 20 MinVelocity = 8 GibWoundLimit = 20 // Amount of wounds required for the weapon to gib.