Creates the different lightning beam effects
| 2483 | |
| 2484 | // Creates the different lightning beam effects |
| 2485 | void AlienOrganism::UpdateEnergyBeams(int me) { |
| 2486 | int b1_obj1, b1_obj2; |
| 2487 | int b2_obj1, b2_obj2; |
| 2488 | int b3_obj1, b3_obj2; |
| 2489 | int b1_texture_id; |
| 2490 | int b2_texture_id; |
| 2491 | int b3_texture_id; |
| 2492 | |
| 2493 | if (!memory->energy_beams_on) |
| 2494 | return; |
| 2495 | |
| 2496 | // See if it's time to create the next energy effect |
| 2497 | if (memory->next_update_beam_time <= Game_GetTime()) { |
| 2498 | float next_duration = ALIEN_BEAM_UPDATE_TIME /*+ ((float)rand()/(float)D3_RAND_MAX)*0.2f*/; |
| 2499 | memory->next_update_beam_time = Game_GetTime() + next_duration; |
| 2500 | |
| 2501 | if (memory->mode == ALIEN_LANDED_DEPOSITING) { |
| 2502 | b1_obj1 = memory->pos1_handle; |
| 2503 | b1_obj2 = me; |
| 2504 | b1_texture_id = transfer_effect_id; |
| 2505 | |
| 2506 | b2_obj1 = memory->pos2_handle; |
| 2507 | b2_obj2 = me; |
| 2508 | b2_texture_id = transfer_effect_id; |
| 2509 | |
| 2510 | b3_obj1 = memory->pos3_handle; |
| 2511 | b3_obj2 = me; |
| 2512 | b3_texture_id = transfer_effect_id; |
| 2513 | } else if (memory->mode == ALIEN_LANDED_WITHDRAWING) { |
| 2514 | b1_obj1 = me; |
| 2515 | b1_obj2 = memory->pos1_handle; |
| 2516 | b1_texture_id = transfer_effect_id; |
| 2517 | |
| 2518 | b2_obj1 = me; |
| 2519 | b2_obj2 = memory->pos2_handle; |
| 2520 | b2_texture_id = transfer_effect_id; |
| 2521 | |
| 2522 | b3_obj1 = me; |
| 2523 | b3_obj2 = memory->pos3_handle; |
| 2524 | b3_texture_id = transfer_effect_id; |
| 2525 | } else if (memory->mode == ALIEN_LANDED_HEALING) { |
| 2526 | b1_obj1 = memory->pos1_handle; |
| 2527 | b1_obj2 = me; |
| 2528 | b1_texture_id = heal_effect_id; |
| 2529 | |
| 2530 | b2_obj1 = me; |
| 2531 | b2_obj2 = memory->pos2_handle; |
| 2532 | b2_texture_id = heal_effect_id; |
| 2533 | |
| 2534 | b3_obj1 = me; |
| 2535 | b3_obj2 = memory->pos3_handle; |
| 2536 | b3_texture_id = heal_effect_id; |
| 2537 | } else { |
| 2538 | mprintf(0, "Invalid energy beam effect mode!\n"); |
| 2539 | return; |
| 2540 | } |
| 2541 | |
| 2542 | // Now create the beams |
nothing calls this directly
no test coverage detected