134 {
135
136
137
138 Magazine itm = Magazine.Cast(action_data.m_MainItem);
139 Magazine trg = action_data.m_Player.GetWeaponManager().GetPreparedMagazine();
140
141 if ( !itm || !trg )
142 return;
143
144 float dmg;
145 string ammoType;
146
147 if ( trg.ServerAcquireCartridge(dmg, ammoType) )
148 {
149 if ( !itm.ServerStoreCartridge(dmg, ammoType) )
150 trg.ServerStoreCartridge(dmg, ammoType);
151 else
152 itm.ApplyManipulationDamage();
153 }
154
155 trg.SetSynchDirty();
156 itm.SetSynchDirty();
157
158
159
160
161 }