| 2256 | } |
| 2257 | |
| 2258 | int16_t SuperThief::CallEvent(int event, tOSIRISEventInfo *data) { |
| 2259 | switch (event) { |
| 2260 | case EVT_AI_INIT: |
| 2261 | DoInit(data->me_handle); |
| 2262 | break; |
| 2263 | case EVT_AI_FRAME: |
| 2264 | DoInterval(data->me_handle); |
| 2265 | break; |
| 2266 | case EVT_AI_NOTIFY: |
| 2267 | return (DoNotify(data->me_handle, &data->evt_ai_notify) != false) ? CONTINUE_CHAIN | CONTINUE_DEFAULT : 0; |
| 2268 | break; |
| 2269 | case EVT_DESTROY: { |
| 2270 | SpewEverything(data->me_handle); |
| 2271 | msafe_struct mo; |
| 2272 | mo.objhandle = memory->laser_obj; |
| 2273 | MSafe_CallFunction(MSAFE_OBJECT_REMOVE, &mo); |
| 2274 | mo.objhandle = memory->camera_obj; |
| 2275 | MSafe_CallFunction(MSAFE_OBJECT_REMOVE, &mo); |
| 2276 | } break; |
| 2277 | case EVT_MEMRESTORE: { |
| 2278 | memory = (superthief_data *)data->evt_memrestore.memory_ptr; |
| 2279 | |
| 2280 | uint16_t wpn = Wpn_FindID(memory->weapon); |
| 2281 | int snd = Sound_FindId(memory->sound); |
| 2282 | |
| 2283 | Obj_WBValue(data->me_handle, 1, VF_SET, WBSV_I_FIRE_SOUND, &snd, 0); |
| 2284 | Obj_WBValue(data->me_handle, 1, VF_SET, WBSV_F_LATENCY, &memory->latency, 0); |
| 2285 | Obj_WBValue(data->me_handle, 1, VF_SET, WBSV_US_GUNPT_WEAPON_ID, &wpn, 0); |
| 2286 | } break; |
| 2287 | } |
| 2288 | return CONTINUE_CHAIN | CONTINUE_DEFAULT; |
| 2289 | } |
| 2290 | |
| 2291 | //----------------- |
| 2292 | // FireAtDist |
no test coverage detected