| 1501 | } |
| 1502 | |
| 1503 | void zNPCDutchman::dissolve(F32 delay) |
| 1504 | { |
| 1505 | F32 volume; |
| 1506 | if (delay == 0.0f) |
| 1507 | { |
| 1508 | flag.fade = FADE_TELEPORT; |
| 1509 | disable_emitter(*fadeout_emitter); |
| 1510 | set_alpha(0.0f); |
| 1511 | vanish(); |
| 1512 | volume = 1.0f; |
| 1513 | } |
| 1514 | else |
| 1515 | { |
| 1516 | flag.fade = FADE_DISSOLVE; |
| 1517 | fade.time = 0.0f; |
| 1518 | fade.duration = delay; |
| 1519 | fade.iduration = 1.0f / fade.duration; |
| 1520 | enable_emitter(*fadeout_emitter); |
| 1521 | set_alpha(1.0f); |
| 1522 | reappear(); |
| 1523 | volume = 0.0f; |
| 1524 | } |
| 1525 | enable_emitter(*dissolve_emitter); |
| 1526 | start_eye_glow(); |
| 1527 | start_hand_trail(); |
| 1528 | |
| 1529 | if (fade.sound_handle == 0) |
| 1530 | { |
| 1531 | fade.sound_handle = play_sound(2, (const xVec3*)&bound.pad[3], volume); |
| 1532 | } |
| 1533 | else |
| 1534 | { |
| 1535 | set_volume(2, 0, 0.0f); |
| 1536 | } |
| 1537 | } |
| 1538 | |
| 1539 | void zNPCDutchman::coalesce(F32 delay) |
| 1540 | { |
nothing calls this directly
no test coverage detected