//=================================== // Animation //=================================== /// <summary> /// Set a character's emote /// </summary> /// <param name="chara"></param> /// <param name="emoteid"></param> /// <param name="cycles"></param> public void CharSetEmote(GroundChar chara, int emoteid, int cycles) { if (chara != null) { EmoteData emote = DataManager.Instance.GetEmote(emoteid); chara.StartEmote(new Emote(emote.Anim, emote.LocHeight, cycles)); } }
public Emote() { NodeData = new EmoteData(); Type = NodeType.PARAM_EMOTE; //Update text NodeName.Content = "Emote"; //AddDatabaseSelectionFrame(new DataSelectionPossibility("Name:", "name")); }
public void StartEmote(EmoteData data, int cycles) { if (data == null) { currentEmote = null; } else { currentEmote = new Emote(data.Anim, data.LocHeight, cycles); } }
public void Read(Stream input, OWLib.STUD stud) { using (BinaryReader reader = new BinaryReader(input, System.Text.Encoding.Default, true)) { header = reader.Read <InventoryItemHeader>(); data = reader.Read <EmoteData>(); subdata = new OWRecord[0]; if (data.offset > 0) { input.Position = data.offset; STUDArrayInfo info = reader.Read <STUDArrayInfo>(); if (info.offset > 0) { input.Position = (long)info.offset; subdata = new OWRecord[info.count]; for (ulong i = 0; i < info.count; ++i) { subdata[i] = reader.Read <OWRecord>(); } } } } }
/// <summary> /// This task implements player emote detection logic for the bot. /// </summary> /// <param name="data">An object that contains relevant data for the emote event.</param> /// <returns></returns> public async Task EmoteLogic(EmoteData data) { Log.InfoFormat("[Emote] The enemy is using the emote [{0}].", data.Emote); if (data.Emote == EmoteType.GREETINGS) { } else if (data.Emote == EmoteType.WELL_PLAYED) { } else if (data.Emote == EmoteType.OOPS) { } else if (data.Emote == EmoteType.THREATEN) { } else if (data.Emote == EmoteType.THANKS) { } else if (data.Emote == EmoteType.SORRY) { } }