private void UpdateFlags(Creature selectedUnit) { for (int i = 0; i < 32; i++) { uint item = 1u << i; UnitFlags1 flag = (UnitFlags1)item; string name = flag.ToString(); bool enabled = (selectedUnit.flags1 & flag) == flag; flag1List[i].Enabled = enabled; } for (int i = 0; i < 32; i++) { uint item = 1u << i; UnitFlags2 flag = (UnitFlags2)item; string name = flag.ToString(); bool enabled = (selectedUnit.flags2 & flag) == flag; flag2List[i].Enabled = enabled; } for (int i = 0; i < 29; i++) { uint item = 1u << i; UnitFlags3 flag = (UnitFlags3)item; string name = flag.ToString(); bool enabled = (selectedUnit.flags3 & flag) == flag; flag3List[i].Enabled = enabled; } }
public MainWindow() { InitializeComponent(); UnitList = new ObservableCollection <Creature>(); RaceList = new ObservableCollection <Creature>(); flag1List = new ObservableCollection <FlagDisplay>(); flag2List = new ObservableCollection <FlagDisplay>(); flag3List = new ObservableCollection <FlagDisplay>(); unitListView.ItemsSource = UnitList; raceListView.ItemsSource = RaceList; flags1ListView.ItemsSource = flag1List; flags2ListView.ItemsSource = flag2List; flags3ListView.ItemsSource = flag3List; for (int i = 0; i < 32; i++) { uint item = 1u << i; UnitFlags1 flag = (UnitFlags1)item; string name = flag.ToString(); name = name.Replace('_', ' '); name = TI.ToTitleCase(name); flag1List.Add(new FlagDisplay() { Name = name, Enabled = false }); } for (int i = 0; i < 32; i++) { uint item = 1u << i; UnitFlags2 flag = (UnitFlags2)item; string name = flag.ToString(); name = name.Replace('_', ' '); name = TI.ToTitleCase(name); flag2List.Add(new FlagDisplay() { Name = name, Enabled = false }); } for (int i = 0; i < 29; i++) { uint item = 1u << i; UnitFlags3 flag = (UnitFlags3)item; string name = flag.ToString(); name = name.Replace('_', ' '); name = TI.ToTitleCase(name); flag3List.Add(new FlagDisplay() { Name = name, Enabled = false }); } }
private void UnitFlags_BmspChanged(object sender, EventArgs e) { BitmaskCheckBox bmcb = (BitmaskCheckBox)sender; if (bmcb.GetValue() == 536870912) // play dead sets feign dead { if (bmcb.IsChecked == true) { UnitFlags2.SetValueIsChecked(1, true); } else { UnitFlags2.SetValueIsChecked(1, false); } } }
public override void Process(CmdTrigger <RealmServerCmdArgs> trigger) { string str = trigger.Text.NextModifiers(); string name = ""; if (str.Contains("n")) { name = trigger.Text.NextWord(); } Unit target = trigger.Args.Target; if (target == null) { trigger.Reply("No target found."); } else { Map rgn = target.Map; if (rgn == null) { trigger.Reply("Instances are currently not supported."); } else { NPC npc = null; rgn.ExecuteInContext(() => { foreach (WorldObject worldObject in rgn) { if (worldObject is NPC && (name == "" || worldObject.Name.ContainsIgnoreCase(name))) { npc = (NPC)worldObject; break; } } }); if (npc == null) { trigger.Reply("Could not find a matching NPC."); } else { Character character = trigger.Args.Character; if (trigger.Args.HasCharacter) { if (name == "" && character.Target != null) { if (character.Target is NPC) { npc = character.Target as NPC; } else { character.Target = npc; } } else { character.Target = npc; } } else { trigger.Args.Target = npc; trigger.Args.Context = npc; } trigger.Reply("Selected: {0}", (object)npc); NPCFlags npcFlags = npc.NPCFlags; trigger.Reply("NPCFlags {0}:{1}", (object)npcFlags, (object)npcFlags); UnitDynamicFlags dynamicFlags = npc.DynamicFlags; trigger.Reply("DynamicFlags {0}:{1}", (object)dynamicFlags, (object)dynamicFlags); UnitExtraFlags extraFlags = npc.ExtraFlags; trigger.Reply("ExtraFlags {0}:{1}", (object)extraFlags, (object)extraFlags); StateFlag stateFlags = npc.StateFlags; trigger.Reply("StateFlags {0}:{1}", (object)stateFlags, (object)stateFlags); UnitFlags unitFlags = npc.UnitFlags; trigger.Reply("UnitFlags {0}:{1}", (object)unitFlags, (object)(int)unitFlags); UnitFlags2 unitFlags2 = npc.UnitFlags2; trigger.Reply("UnitFlags2 {0}:{1}", (object)unitFlags2, (object)unitFlags2); } } } }
void ShowCursorInfo() { cursorProperties.text = ""; cursorProperties.text += "Cursor: "; cursorProperties.text += cursX + ","; cursorProperties.text += cursY + ","; cursorProperties.text += cursZ + "\n"; var maybeTile = MapDataStore.Main[cursX, cursY, cursZ]; if (maybeTile != null) { var tile = maybeTile.Value; cursorProperties.text += "Tiletype:\n"; var tiletype = DFConnection.Instance.NetTiletypeList.tiletype_list [tile.tileType]; cursorProperties.text += tiletype.name + "\n"; cursorProperties.text += tiletype.shape + ":" + tiletype.special + ":" + tiletype.material + ":" + tiletype.variant + ":" + tiletype.direction + "\n"; var mat = tile.material; cursorProperties.text += "Material: "; cursorProperties.text += mat.mat_type + ","; cursorProperties.text += mat.mat_index + "\n"; if (materials.ContainsKey(mat)) { cursorProperties.text += "Material Name: "; cursorProperties.text += materials[mat].id + "\n"; } else { cursorProperties.text += "Unknown Material\n"; } cursorProperties.text += "\n"; var basemat = tile.base_material; cursorProperties.text += "Base Material: "; cursorProperties.text += basemat.mat_type + ","; cursorProperties.text += basemat.mat_index + "\n"; if (materials.ContainsKey(basemat)) { cursorProperties.text += "Base Material Name: "; cursorProperties.text += materials[basemat].id + "\n"; } else { cursorProperties.text += "Unknown Base Material\n"; } cursorProperties.text += "\n"; var layermat = tile.layer_material; cursorProperties.text += "Layer Material: "; cursorProperties.text += layermat.mat_type + ","; cursorProperties.text += layermat.mat_index + "\n"; if (materials.ContainsKey(layermat)) { cursorProperties.text += "Layer Material Name: "; cursorProperties.text += materials[layermat].id + "\n"; } else { cursorProperties.text += "Unknown Layer Material\n"; } cursorProperties.text += "\n"; var veinmat = tile.vein_material; cursorProperties.text += "Vein Material: "; cursorProperties.text += veinmat.mat_type + ","; cursorProperties.text += veinmat.mat_index + "\n"; if (materials.ContainsKey(veinmat)) { cursorProperties.text += "Vein Material Name: "; cursorProperties.text += materials[veinmat].id + "\n"; } else { cursorProperties.text += "Unknown Vein Material\n"; } cursorProperties.text += "\n"; var cons = tile.construction_item; cursorProperties.text += "Construction Item: "; cursorProperties.text += cons.mat_type + ","; cursorProperties.text += cons.mat_index + "\n"; if (materials.ContainsKey(cons)) { cursorProperties.text += "Construction Item Name: "; cursorProperties.text += items[cons].id + "\n"; } else { cursorProperties.text += "Unknown Construction Item\n"; } } if (unitList != null) { foreach (UnitDefinition unit in unitList.creature_list) { UnitFlags1 flags1 = (UnitFlags1)unit.flags1; UnitFlags2 flags2 = (UnitFlags2)unit.flags2; UnitFlags3 flags3 = (UnitFlags3)unit.flags3; if (((flags1 & UnitFlags1.dead) == UnitFlags1.dead) || ((flags1 & UnitFlags1.left) == UnitFlags1.left)) { continue; } if (unit.pos_x != cursX || unit.pos_y != cursY || unit.pos_z != cursZ) { continue; } CreatureRaw creatureRaw = null; if (DFConnection.Instance.NetCreatureRawList != null) { creatureRaw = DFConnection.Instance.NetCreatureRawList.creature_raws[unit.race.mat_type]; } if (creatureRaw != null) { cursorProperties.text += "Unit: \n"; cursorProperties.text += "Race: "; cursorProperties.text += creatureRaw.creature_id + ":"; cursorProperties.text += creatureRaw.caste[unit.race.mat_index].caste_id; cursorProperties.text += "\n"; cursorProperties.text += flags1 + "\n"; cursorProperties.text += flags2 + "\n"; cursorProperties.text += flags3 + "\n"; } break; } } }
public void OnMouseOver() { if (!UnityEngine.GameObject.Find("InfoPanel")) { UnityEngine.GameObject tempAuth = Instantiate(Resources.Load("InfoPanel") as UnityEngine.GameObject, new Vector3(Screen.width - 50, 100, 0), Quaternion.identity); tempAuth.transform.SetParent(UnityEngine.GameObject.Find("Canvas").gameObject.transform); tempAuth.transform.localScale = new Vector3(1, 1, 1); tempAuth.name = "InfoPanel"; targetHealth = UnityEngine.GameObject.Find("targethealthBarInfo").GetComponent <Image>(); targetHealth.fillAmount = 0f; Transform[] ts = tempAuth.transform.GetComponentsInChildren <Transform>(true); foreach (Transform t in ts) { if (t.gameObject.name == "InfoPanelName") { Text temo = t.gameObject.GetComponent <Text>(); temo.text = obj.Name; } if (obj is Unit) { unit = obj as Unit; if (t.gameObject.name == "InfoPanelLevel") { Text temo = t.gameObject.GetComponent <Text>(); if (obj is Unit) { if (unit.Health <= 0) { temo.text = unit.Level.ToString() + " (Corpse)"; } else { temo.text = unit.Level.ToString(); } } } uint healthPercent = (unit.Health * 200 + unit.MaxHealth) / (unit.MaxHealth * 2); targetHealth.fillAmount = healthPercent / 100f; } if (obj is Player) { player = obj as Player; if (t.gameObject.name == "InfoPanelLevel") { Text temo = t.gameObject.GetComponent <Text>(); temo.text = player.Level.ToString() + " " + player.Race + " " + player.Class; } uint healthPercent = (player.Health * 200 + player.MaxHealth) / (player.MaxHealth * 2); targetHealth.fillAmount = healthPercent / 100f; } } } if (this.obj is Unit) { Unit unit = this.obj as Unit; UnitFlags flags = (UnitFlags)unit.UnitFlags; UnitFlags2 flags2 = (UnitFlags2)unit.UnitFlags2; NPCFlags NpcFlags = (NPCFlags)unit.NpcFlags; float distance = Vector3.Distance(UnityEngine.GameObject.Find(Exchange.gameClient.Player.GUID.ToString()).transform.position, transform.position); if (NpcFlags.HasAnyFlag(NPCFlags.Gossip)) { if (distance > 4) { Texture2D texture2D = Resources.Load("Images/login/speak") as Texture2D; Cursor.SetCursor(texture2D, Vector2.zero, CursorMode.Auto); } else { Texture2D texture2D = Resources.Load("Images/login/speak") as Texture2D; Cursor.SetCursor(texture2D, Vector2.zero, CursorMode.Auto); } } if (NpcFlags.HasAnyFlag(NPCFlags.QuestGiver)) { if (distance > 4) { Texture2D texture2D = Resources.Load("Images/login/unablequest") as Texture2D; Cursor.SetCursor(texture2D, Vector2.zero, CursorMode.Auto); } else { Texture2D texture2D = Resources.Load("Images/login/quest") as Texture2D; Cursor.SetCursor(texture2D, Vector2.zero, CursorMode.Auto); } } } if (Input.GetKeyUp(KeyCode.Mouse0)) { if (this.obj is GameObject) { return; } if (Exchange.gameClient.Player.Target == this.obj) { return; } if (Exchange.gameClient.Player.Target != null) { UnityEngine.GameObject.Find(Exchange.gameClient.Player.Target.GUID.ToString() + "targetSelectUnderlay").GetComponent <SpriteRenderer>().enabled = false; } UnityEngine.GameObject.Find(obj.GUID.ToString() + "targetSelectUnderlay").GetComponent <SpriteRenderer>().enabled = true; //UnityEngine.GameObject.Find(obj.GUID.ToString() + "targetSelectUnderlay").GetComponent<SpriteRenderer>().color = Color.red; Exchange.gameClient.ThreadHelper.playAudio(obj, "interface/iselecttarget").Play(); Exchange.gameClient.ThreadHelper.setTarget(this.obj); } if (Input.GetKeyUp(KeyCode.Mouse1)) { if (Exchange.gameClient.Player.Target != this.obj) { if (Exchange.gameClient.Player.Target != null) { UnityEngine.GameObject.Find(Exchange.gameClient.Player.Target.GUID.ToString() + "targetSelectUnderlay").GetComponent <SpriteRenderer>().enabled = false; } UnityEngine.GameObject.Find(obj.GUID.ToString() + "targetSelectUnderlay").GetComponent <SpriteRenderer>().enabled = true; //UnityEngine.GameObject.Find(obj.GUID.ToString() + "targetSelectUnderlay").GetComponent<SpriteRenderer>().color = Color.red; Exchange.gameClient.ThreadHelper.playAudio(obj, "interface/iselecttarget").Play(); Exchange.gameClient.ThreadHelper.setTarget(this.obj); } float distance = Vector3.Distance(UnityEngine.GameObject.Find(Exchange.gameClient.Player.GUID.ToString()).transform.position, UnityEngine.GameObject.Find(Exchange.gameClient.Player.Target.GUID.ToString()).transform.position); if (distance > 4) { System.Random random = new System.Random(); int[] AudioFile = new int[3] { 2, 4, 5 }; int slot = AudioFile[random.Next(0, AudioFile.Length)]; Exchange.gameClient.ThreadHelper.playAudio(Exchange.gameClient.Player, "character/" + Exchange.gameClient.Player.Race.ToString() + "/" + Exchange.gameClient.Player.Race.ToString() + Exchange.gameClient.Player.Gender.ToString() + "errormessages/" + Exchange.gameClient.Player.Race.ToString() + Exchange.gameClient.Player.Gender.ToString() + "_err_outofrange0" + slot.ToString()).Play(); } } }