+ { WriteByte(chan, rint(bound(-1, 254 * this.m_alpha, 254) - -1)); }, \
+ { (viewmodels[this.m_wepent_slot]).alpha = (ReadByte() + -1) / 254; }) \
+ \
+ PROP(false, vortex_charge, WEPENT_SET_NORMAL, \
+ { WriteByte(chan, this.vortex_charge * 16); }, \
+ { (viewmodels[this.m_wepent_slot]).vortex_charge = ReadByte() / 16; }) \
+ \
+ PROP(false, m_gunalign, WEPENT_SET_NORMAL, \
+ { WriteByte(chan, this.m_gunalign); }, \
+ { (viewmodels[this.m_wepent_slot]).m_gunalign = ReadByte(); }) \
+ \
+ PROP(false, porto_v_angle_held, WEPENT_SET_NORMAL, \
+ { WriteByte(chan, this.porto_v_angle_held); if(this.porto_v_angle_held) { \
+ WriteAngle(chan, this.porto_v_angle.x); WriteAngle(chan, this.porto_v_angle.y); \
+ } }, \
+ { (viewmodels[this.m_wepent_slot]).angles_held_status = ReadByte(); if((viewmodels[this.m_wepent_slot]).angles_held_status) { \
+ (viewmodels[this.m_wepent_slot]).angles_held_x = ReadAngle(); (viewmodels[this.m_wepent_slot]).angles_held_y = ReadAngle(); (viewmodels[this.m_wepent_slot]).angles_held_z = 0; } \
+ else { (viewmodels[this.m_wepent_slot]).angles_held = '0 0 0'; } }) \
+ \
+ PROP(false, tuba_instrument, WEPENT_SET_NORMAL, \
+ { WriteByte(chan, this.tuba_instrument); }, \
+ { (viewmodels[this.m_wepent_slot]).tuba_instrument = ReadByte(); }) \