Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- else //first thing we shoot when they stop
- {
- entity->SetEyeAngles(info.last_lby);
- resolve_type[entity->GetIndex()] = 5;
- sdk::CAnimationLayer layer = entity->GetAnimOverlay(0);
- if (entity->GetSimTime() != info.stored_simtime)
- {
- info.stored_simtime = entity->GetSimTime();
- info.prev_layer = info.backup_layer;
- sdk::CAnimationLayer dummy;
- info.backup_layer = find_layer(entity, 979, &dummy) ? dummy : layer;
- }
- sdk::CAnimationLayer prev = info.prev_layer;
- auto server_time = local_player->GetTickBase() * ctx::globals->interval_per_tick; //i have a global dedicated to curtime but am using this because lemon is gay
- if (info.is_moving && !info.could_be_slowmo)
- {
- entity->SetEyeAngles(info.lby);
- info.last_moving_lby = entity->GetLowerBodyYaw();
- info.stored_missed = shots_missed[entity->GetIndex()];
- info.last_move_time = server_time;
- info.reset_state = true;
- resolve_type[entity->GetIndex()] = 1;
- }
- else
- {
- if (info.stored_lby != entity->GetLowerBodyYaw())
- {
- entity->SetEyeAngles(info.lby);
- info.stored_lby = entity->GetLowerBodyYaw();
- info.next_lby_update_time = entity->GetSimTime() + 1.1;
- resolve_type[entity->GetIndex()] = 7;
- }
- if (info.is_standing && !info.could_be_slowmo)
- {
- entity->SetEyeAngles(info.lby);
- info.last_moving_lby = entity->GetLowerBodyYaw();
- info.stored_missed = shots_missed[entity->GetIndex()];
- info.last_move_time = server_time;
- info.could_be_faking = info.stored_missed;
- info.reset_state = true;
- resolve_type[entity->GetIndex()] = 1;
- }
- else if (server_time - info.last_move_time < 0.1 && info.reset_state)
- {
- info.pre_anim_lby = entity->GetLowerBodyYaw();
- info.reset_state = false;
- info.breaking_lby = true;
- //std::cout << "reset and lby break is false!" << std::endl;
- }
- auto previous_is_valid = entity->GetSequenceActivity(prev.m_nSequence) == 979;
- if (info.unresolved_yaw.size() < 2 || info.lby_deltas.size() < 2)
- return;
- auto average_unresolved_yaw = 0;
- for (auto val : info.unresolved_yaw)
- average_unresolved_yaw += val;
- average_unresolved_yaw /= info.unresolved_yaw.size();
- auto average_lby_delta = 0;
- for (auto val : info.lby_deltas)
- average_lby_delta += val;
- average_lby_delta /= info.lby_deltas.size();
- int deltaxd = average_unresolved_yaw - entity->GetLowerBodyYaw();
- auto current_lby_delta = abs((((deltaxd + 180) % 360 + 360) % 360 - 180) % 90 - 120);
- int update_delta = info.pre_anim_lby - entity->GetLowerBodyYaw();
- auto lby_update_delta = abs((((update_delta + 180) % 360 + 360) % 360 - 180) % 90 - 120);
- if (find_layer(entity, 979, &layer)
- && previous_is_valid
- && (layer.m_flCycle != prev.m_flCycle
- || layer.m_flWeight == 1.f
- || server_time - info.last_move_time < 0.5
- && !info.breaking_lby
- && layer.m_flCycle >= 0.01
- && layer.m_flCycle >= 0.05
- && lby_update_delta > 75))
- {
- if (server_time - info.last_move_time < 1.1)
- {
- info.breaking_lby = true;
- //std::cout << "breaking lby" << std::endl;
- }
- entity->SetEyeAngles(info.inverse);
- resolve_type[entity->GetIndex()] = 6;
- }
- else
- {
- if (info.breaking_lby)
- {
- if (current_lby_delta > 120 && average_lby_delta > 120, current_lby_delta > 110 && average_lby_delta > 110, current_lby_delta > 100 && average_lby_delta > 100) {
- entity->SetEyeAngles(info.lby);
- resolve_type[entity->GetIndex()] = 7;
- }
- else {
- if (info.next_lby_update_time < entity->GetSimTime())
- {
- entity->SetEyeAngles(info.lby);
- if (info.next_lby_update_time = entity->GetSimTime() + 1.1 && info.lby_updated && info.stored_lby);
- info.is_moving = entity->GetLowerBodyYaw();
- resolve_type[entity->GetIndex()] = 3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement