public static BlastUnit getBlastUnit(string _target, long _address) { BlastUnit bu = null; switch (selectedEngine) { case CorruptionEngine.NIGHTMARE: bu = WGH_NightmareEngine.GenerateUnit(_target, _address); break; case CorruptionEngine.VECTOR: bu = WGH_VectorEngine.GenerateUnit(_target, _address); break; case CorruptionEngine.NONE: return(null); } return(bu); }
private void btnRerollInject_Click(object sender, EventArgs e) { if (WGH_Core.currentMemoryInterface == null) { MessageBox.Show("No target is loaded"); return; } TerminateIfNeeded(); StashKey sk = null; if (lbStashHistory.SelectedIndex != -1) { sk = (StashKey)lbStashHistory.SelectedItem; } else if (lbStockpile.SelectedIndex != -1) { sk = (StashKey)lbStockpile.SelectedItem; } if (sk != null) { StashKey newSk = (StashKey)sk.Clone(); newSk.Key = WGH_Core.GetRandomKey(); newSk.Alias = null; WGH_Core.ghForm.DontLoadSelectedStash = true; WGH_Core.ghForm.lbStashHistory.Items.Add(newSk); WGH_Core.ghForm.lbStashHistory.ClearSelected(); WGH_Core.ghForm.lbStashHistory.SelectedIndex = WGH_Core.ghForm.lbStashHistory.Items.Count - 1; WGH_Core.ghForm.lbStockpile.ClearSelected(); //TODO: Refactor this properly instead of as a hacky mess foreach (BlastUnit bu in newSk.BlastLayer.Layer) { var bb = (bu as BlastByte); var bv = (bu as BlastVector); //BAD HACK. USE THIS TO DECTECT IF VECTOR. SORRY I DIDN'T KNOW WHERE TO REFACTOR THIS -NARRY if (bb != null) { if (bb.Type == BlastByteType.SET) { bb.Value = WGH_Core.RND.Next(0, 255); } else if (bb.Type == BlastByteType.ADD || bb.Type == BlastByteType.SUBSTRACT) { int result = WGH_Core.RND.Next(1, 3); switch (result) { case 1: bb.Type = BlastByteType.ADD; break; case 2: bb.Type = BlastByteType.SUBSTRACT; break; } } } if (bv != null) { bv.Values = WGH_VectorEngine.getRandomConstant(WGH_VectorEngine.valueList); } } WGH_Core.RestoreTarget(); newSk.Run(); WGH_Executor.Execute(); } }