private int getidxAfterDelay(TinyStatus src, int Current, int startindex) { var st = src.Clone(); st.Currentframe = Current; st.RemoveType(3); // Remove fidget // Delay switch (Method) { case 5: // Fishing st.time_elapse(Delay); for (int i = 3 * PartySize; i > 0; i--) { st.Next(); } st.time_elapse(132); st.time_elapse(st.Rand(7) * 30 + 60); break; case 6: // Rock Smash st.time_elapse(16); for (int i = 3; i > 0; i--) // Memory for Rock Smasher { st.Next(); } st.time_elapse(Delay - 228); st.Next(); // Rand(240) st.time_elapse(212); break; case 10: st.time_elapse(146); st.Next(); if (Delay == 324) // Kyogre { st.time_elapse(118); st.Next(); st.time_elapse(60); } else // Groudon { st.time_elapse(180); } for (int i = 3 * PartySize; i > 0; i--) // Memory { st.Next(); } st.time_elapse(124); break; default: if (CryFrame == -1) // No Cry { st.time_elapse(Delay); } else { st.time_elapse(CryFrame); st.Next(); st.time_elapse(Delay - CryFrame); } break; } // Check hit idx var hitstate = st.Status; for (int i = startindex; i < ReferenceList.Count; i++) { if (ReferenceList[i].tinystate.Status.SequenceEqual(hitstate)) { return(i); } } return(int.MaxValue); }
public TinyTimeline(uint[] Seeds) { TimelineStatus = new TinyStatus(Seeds); }