| 429 | } |
| 430 | |
| 431 | void DoForceForWeapon(object *me_obj, object *it_obj, vector *force_vec) { |
| 432 | if (it_obj->id < 0 || it_obj->id >= MAX_WEAPONS) |
| 433 | return; |
| 434 | |
| 435 | weapon *weap = &Weapons[it_obj->id]; |
| 436 | |
| 437 | if (weap->flags & WF_MICROWAVE) { |
| 438 | vector local_norm, v; |
| 439 | float scale = 1.00f; |
| 440 | v.x = ps_rand() % 10; |
| 441 | v.y = 0; |
| 442 | v.z = ps_rand() % 10; |
| 443 | vm_NormalizeVector(&v); |
| 444 | vm_MatrixMulVector(&local_norm, &v, &me_obj->orient); |
| 445 | |
| 446 | local_norm *= -1.0f; |
| 447 | |
| 448 | ForceEffectsPlay(FORCE_MICROWAVE, &scale, &local_norm); |
| 449 | return; |
| 450 | } |
| 451 | } |
| 452 | |
| 453 | void DoForceForWall(object *playerobj, float hitspeed, int hitseg, int hitwall, vector *wall_normal) { |
| 454 | vector local_norm; |
no test coverage detected