private void lstNpcItems_SelectionChanged(object sender, EventArgs e) { EncounterItem Item = (EncounterItem)lstNpcItems.SelectedObject; if (Item == null) { return; } if (CurrentItem == Item) { return; } if (CurrentItem != null) { SaveCurrentItem(); } CurrentItem = Item; cmbItemPid.SelectedIndex = cmbItemPid.Items.IndexOf(Item.Item.Define); cmbSlot.SelectedIndex = (int)Item.Slot; numItemMin.Value = Item.Min; numItemMax.Value = Item.Max; }
public static List <FOCommon.Worldmap.EncounterGroup.EncounterGroup> LoadNew(List <string> lines) { List <FOCommon.Worldmap.EncounterGroup.EncounterGroup> Groups = new List <FOCommon.Worldmap.EncounterGroup.EncounterGroup>(); int groupId = 0; EncounterGroup Group = null; foreach (string line in lines) { if (line.StartsWith("*")) // Npc data { string[] parts = line.Split('|'); string[] param = parts[0].Split(','); EncounterNpc NpcObj = new EncounterNpc(Int32.Parse(param[1]), Int32.Parse(param[2]), param[3], Int32.Parse(param[4]), param[5] == "1" ? true : false, Int32.Parse(param[6]), Int32.Parse(param[7]), Int32.Parse(param[8])); for (int i = 1; i < parts.Length; i++) { string[] npcData = parts[i].Split(','); if (Int32.Parse(npcData[0]) == (int)GroupFormatData.Item) { EncounterItem item = new EncounterItem(Int32.Parse(npcData[1]), Int32.Parse(npcData[2]), Int32.Parse(npcData[3]), Int32.Parse(npcData[4])); NpcObj.AddItem(item); } else if (Int32.Parse(npcData[0]) == (int)GroupFormatData.Perk) { EncounterPerk perk = new EncounterPerk(npcData[1], Int32.Parse(npcData[2]), Int32.Parse(npcData[3]), Int32.Parse(npcData[4])); NpcObj.Perks.Add(perk); } } Group.Npcs.Add(NpcObj); } else // Group data { if (String.IsNullOrEmpty(line) || line.Length < 5) { continue; } string[] param = line.Split(','); float quantityDay = (float)double.Parse(param[7], NumberStyles.Any, ci); float quantityNight = (float)double.Parse(param[8], NumberStyles.Any, ci); Group = new FOCommon.Worldmap.EncounterGroup.EncounterGroup(param[0], Int32.Parse(param[1]), Int32.Parse(param[2]), Int32.Parse(param[3]), Int32.Parse(param[4]), Int32.Parse(param[5]), Int32.Parse(param[6]), quantityDay, quantityNight, Int32.Parse(param[9]), Int32.Parse(param[10])); if (Group != null) { Group.Id = groupId++; Groups.Add(Group); } } } return(Groups); }
public static List <FOCommon.Worldmap.EncounterGroup.EncounterGroup> LoadOld(List <string> lines) { List <FOCommon.Worldmap.EncounterGroup.EncounterGroup> Groups = new List <FOCommon.Worldmap.EncounterGroup.EncounterGroup>(); int groupId = 0; foreach (string line in lines) { string[] partsdel = { "|||" }; string[] npcsdel = { "||" }; string[] parts = line.Split(partsdel, StringSplitOptions.RemoveEmptyEntries); string[] npcs; if (parts.Length == 2) { npcs = parts[1].Split(npcsdel, StringSplitOptions.RemoveEmptyEntries); } else { npcs = new string[0]; } string[] param = parts[0].Split(','); float quantityDay = (float)double.Parse(param[7], NumberStyles.Any, ci); float quantityNight = (float)double.Parse(param[8], NumberStyles.Any, ci); FOCommon.Worldmap.EncounterGroup.EncounterGroup Group = new FOCommon.Worldmap.EncounterGroup.EncounterGroup(param[0], Int32.Parse(param[1]), Int32.Parse(param[2]), Int32.Parse(param[3]), Int32.Parse(param[4]), Int32.Parse(param[5]), Int32.Parse(param[6]), quantityDay, quantityNight, Int32.Parse(param[9]), Int32.Parse(param[10])); Group.Id = groupId++; foreach (string npc in npcs) { string[] npcparts = npc.Split('|'); string[] npcparams = npcparts[0].Split(','); // Convert EncounterNpc NpcObj = new EncounterNpc(Int32.Parse(npcparams[0]), Int32.Parse(npcparams[1]), npcparams[2], Int32.Parse(npcparams[3]), npcparams[4] == "1" ? true : false, -1, -1, -1); for (int i = 1; i < npcparts.Length; i++) { string[] itemparam = npcparts[i].Split(','); EncounterItem item = new EncounterItem(Int32.Parse(itemparam[0]), Int32.Parse(itemparam[1]), Int32.Parse(itemparam[2]), Int32.Parse(itemparam[3])); NpcObj.AddItem(item); } Group.Npcs.Add(NpcObj); } Groups.Add(Group); } return(Groups); }
private void btnAddNpc_Click(object sender, EventArgs e) { EncounterNpc Npc = new EncounterNpc(Decimal.ToInt32(numProto.Value), Decimal.ToInt32(numDialog.Value), cmbScript.Text, Decimal.ToInt32(numNpcRatio.Value), chkDead.Checked, GetArmorPid(), GetHelmPid(), GetForcedCrType()); if (lstNpcItems.Items.Count > 0) { foreach (Object o in lstNpcItems.Objects) { EncounterItem item = (EncounterItem)o; Npc.AddItem(item); } } CurrentGroup.Npcs.Add(Npc); CurrentGroup.NpcCount++; RefreshNpcList(); }
private void btnAddItem_Click(object sender, EventArgs e) { if (cmbItemPid.SelectedIndex == -1) { Message.Show("No item PID selected.", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (cmbSlot.SelectedIndex == -1) { Message.Show("No item slot selected.", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } EncounterItem Item = new EncounterItem(ItemPid.GetPid(cmbItemPid.SelectedItem.ToString()), Decimal.ToInt32(numItemMin.Value), Decimal.ToInt32(numItemMax.Value), cmbSlot.SelectedIndex); CurrentNpc.AddItem(Item); RefreshItems(); RefreshNpcList(); }
public void NextItem(int Encounter = 0) { if (currentItem.nextItem[0]) { currentItem = currentItem.nextItem[Encounter]; encounterText.text = currentItem.message; for (int index = 0; index < decButtons.Count; ++index) { decButtons[index].gameObject.SetActive(false); if (index < currentItem.nextItem.Count) { decButtons[index].gameObject.SetActive(true); decButtons[index].GetComponentInChildren <Text>().text = currentItem.nextItem[index].decisionText; } } _GameManager.AddMoney(currentItem.moneyToGive); partyMoney.text = "Cash: " + _GameManager.GetMoney().ToString(); slot.gameObject.SetActive(false); if (currentItem.itemToGive) { slot.gameObject.SetActive(true); slot.item = currentItem.itemToGive.gameObject; slot.GetComponent <Image>().sprite = slot.item.GetComponent <Item>().itemSprite; } if (currentItem.nextItem.Count > 4) { Debug.Log("Too Many Encounter Items!"); } if (image && currentItem.sprite) { image = currentItem.sprite; } } }