| 1082 | } |
| 1083 | |
| 1084 | void zNPCDutchman::Reset() |
| 1085 | { |
| 1086 | // Best I can get it |
| 1087 | // xFXRibbon::clear doenst make much sense |
| 1088 | zNPCCommon::Reset(); |
| 1089 | memset((void*)flag.face_player, 0, 16); |
| 1090 | decompose(); |
| 1091 | life = 3; |
| 1092 | round = 0; |
| 1093 | stage = -1; |
| 1094 | alpha = 1.0f; |
| 1095 | update_round(); |
| 1096 | face_player(); |
| 1097 | flg_vuln = 1; |
| 1098 | reset_speed(); |
| 1099 | move.vel = 0.0f; |
| 1100 | move.dest = get_center(); |
| 1101 | flag.move = MOVE_FOLLOW; |
| 1102 | flames.imax_dist = 1.0f / tweak.ground_radius; |
| 1103 | reset_blob_mat(); |
| 1104 | waves.clear(); |
| 1105 | slime.slices.clear(); |
| 1106 | //eye_scorch->joints.clear(); |
| 1107 | //eye_scorch->joints.clear(); |
| 1108 | fade.sound_handle = 0; |
| 1109 | vanish(); |
| 1110 | refresh_reticle(); |
| 1111 | flag.fighting = 0; |
| 1112 | plasma_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_PLASMA"); |
| 1113 | plasma_emitter_settings.custom_flags = 0x100; |
| 1114 | plasma_emitter_settings.pos = g_O3; |
| 1115 | spark_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_SPARKS"); |
| 1116 | spark_emitter_settings.custom_flags = 0x100; |
| 1117 | spark_emitter_settings.pos = g_O3; |
| 1118 | light_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_LIGHT"); |
| 1119 | light_emitter_settings.custom_flags = 0x110; |
| 1120 | light_emitter_settings.pos = g_O3; |
| 1121 | light_emitter->prop->life.set((119.99999f * tweak.beam.light_rate)); |
| 1122 | eyeglow_emitter[0] = zParEmitterFind("PAREMIT_DUTCHMAN_EYEGLOW0"); |
| 1123 | eyeglow_emitter[1] = zParEmitterFind("PAREMIT_DUTCHMAN_EYEGLOW1"); |
| 1124 | death_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_DEATH"); |
| 1125 | dissolve_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_DISSOLVE"); |
| 1126 | fadeout_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_FADEOUT"); |
| 1127 | fadein_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_FADEIN"); |
| 1128 | flame_emitter[0] = zParEmitterFind("PAREMIT_DUTCHMAN_FLAME_LIGHT"); |
| 1129 | flame_emitter[1] = zParEmitterFind("PAREMIT_DUTCHMAN_FLAME_NORMAL"); |
| 1130 | flame_emitter[2] = zParEmitterFind("PAREMIT_DUTCHMAN_FLAME_SPRAY"); |
| 1131 | flame_emitter_settings.custom_flags = 0x110; |
| 1132 | flame_emitter_settings.pos = g_O3; |
| 1133 | light_emitter->prop->life.set((59.999996f)); |
| 1134 | snot_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_FLAME_SNOT"); |
| 1135 | snot_emitter_settings.custom_flags = 0x300; |
| 1136 | slime_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_SLIME_TRAIL"); |
| 1137 | slime_emitter_settings.custom_flags = 0x100; |
| 1138 | hand_trail_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_HAND_TRAIL"); |
| 1139 | blob_emitter = zParEmitterFind("PAREMIT_DUTCHMAN_BLOB"); |
| 1140 | psy_instinct->GoalSet('NGM=', 1); |
| 1141 | } |