224{
225 switch (id)
226 {
228 case WeaponEventID.MECHANISM:
return new WeaponEventMechanism(p, m);
229 case WeaponEventID.TRIGGER:
return new WeaponEventTrigger(p, m);
230 case WeaponEventID.TRIGGER_JAM:
return new WeaponEventTriggerToJam(p, m);
231 case WeaponEventID.LOAD1_BULLET:
return new WeaponEventLoad1Bullet(p, m);
232 case WeaponEventID.CONTINUOUS_LOADBULLET_START:
return new WeaponEventContinuousLoadBulletStart(p, m);
233 case WeaponEventID.CONTINUOUS_LOADBULLET_END:
return new WeaponEventContinuousLoadBulletEnd(p, m);
235 case WeaponEventID.ATTACH_MAGAZINE:
return new WeaponEventAttachMagazine(p, m);
236 case WeaponEventID.UNJAMMING_FAILED_TIMEOUT:
return new WeaponEventUnjammingFailedTimeout(p, m);
237 case WeaponEventID.UNJAMMING_TIMEOUT:
return new WeaponEventUnjammingTimeout(p, m);
238 case WeaponEventID.DETACH_MAGAZINE:
return new WeaponEventDetachMagazine(p, m);
239 case WeaponEventID.SWAP_MAGAZINE:
return new WeaponEventSwapMagazine(p, m);
240 case WeaponEventID.HUMANCOMMAND_ACTION_FINISHED:
return new WeaponEventHumanCommandActionFinished(p, m);
241 case WeaponEventID.HUMANCOMMAND_ACTION_ABORTED:
return new WeaponEventHumanCommandActionAborted(p, m);
242 case WeaponEventID.RELOAD_TIMEOUT:
return new WeaponEventReloadTimeout(p, m);
243 case WeaponEventID.DRY_FIRE_TIMEOUT:
return new WeaponEventDryFireTimeout(p, m);
244 case WeaponEventID.SET_NEXT_MUZZLE_MODE:
return new WeaponEventSetNextMuzzleMode(p, m);
246 }
247 return NULL;
248}
WeaponEventBase WeaponAnimEventFactory(WeaponEvents type, DayZPlayer p=NULL, Magazine m=NULL)
creates animation system events
WeaponEventID
identifier for events. mainly for rpc purposes