ent_objective_pass( world, next );
else{
vg_info( "pass challenge point\n" );
+ audio_lock();
audio_oneshot_3d( &audio_challenge[0], localplayer.rb.co,
30.0f, 1.0f );
+ audio_unlock();
}
}
else {
vg_success( "challenge win\n" );
+ audio_lock();
audio_oneshot( &audio_challenge[2], 1.0f, 0.0f );
+ audio_unlock();
world_static.challenge_target = NULL;
world_static.challenge_timer = 0.0f;
world_static.focused_entity = 0;
entity_call( world, &call );
}
- u32 world_completed = 1;
- for( u32 i=0; i<mdl_arrcount(&world->ent_challenge); i++ ){
- ent_challenge *challenge = mdl_arritm( &world->ent_challenge, i );
- if( !challenge->status ){
- world_completed = 0;
- break;
- }
- }
-
- if( world_completed ){
- const char *understate = "Understate DIY park";
- if( mdl_pstreq( &world->meta, world->info.pstr_name,
- understate, vg_strdjb2( understate ))){
- steam_set_achievement( "CITY_COMPLETE" );
- steam_store_achievements();
- }
- }
+ ent_region_re_eval( world );
}
}
ent_objective_pass( world, objective );
}
else {
+ audio_lock();
audio_oneshot_3d( &audio_challenge[6], localplayer.rb.co,
30.0f, 1.0f );
+ audio_unlock();
vg_error( "challenge failed\n" );
world_static.challenge_target = NULL;
world_static.challenge_timer = 0.0f;