public void SetAvatarType(STR data) { if (data == null) { AvatarType = VMAvatarType.Adult; } else { var type = data.GetString(0); if (type == "adult") AvatarType = VMAvatarType.Adult; else if (type == "child") AvatarType = VMAvatarType.Child; else if (type == "cat") AvatarType = VMAvatarType.Cat; else if (type == "dog") AvatarType = VMAvatarType.Dog; } switch (AvatarType) { case VMAvatarType.Adult: Avatar = new SimAvatar(TSO.Content.Content.Get().AvatarSkeletons.Get("adult.skel")); Avatar.Head = TSO.Content.Content.Get().AvatarOutfits.Get("mah010_baldbeard01.oft"); //default to bob newbie, why not Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("mab002_slob.oft"); Avatar.Handgroup = Avatar.Body; break; case VMAvatarType.Cat: var skel = TSO.Content.Content.Get().AvatarSkeletons.Get("cat.skel"); Avatar = new SimAvatar(skel); Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("uaa002cat_calico.oft"); break; case VMAvatarType.Dog: Avatar = new SimAvatar(TSO.Content.Content.Get().AvatarSkeletons.Get("dog.skel")); Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("uaa012dog_scottish.oft"); //;) break; } }
public static void ShowDialog(VMStackFrame context, VMDialogStringsOperand operand, STR source) { string MessageBody = ParseDialogString(context, source.GetString(operand.MessageStringID - 1)); System.Diagnostics.Debug.Print(MessageBody); }
public void SetAvatarBodyStrings(STR data, VMContext context) { if (data == null) return; try { var body = data.GetString(1); var randBody = data.GetString(9); if (randBody != "") { var bodySpl = randBody.Split(';'); BodyOutfit = Convert.ToUInt64(bodySpl[context.NextRandom((ulong)bodySpl.Length)], 16); } else if (body != "") { BodyOutfit = Convert.ToUInt64(body, 16); } var head = data.GetString(2); var randHead = data.GetString(10); if (randHead != "") { var headSpl = randHead.Split(';'); HeadOutfit = Convert.ToUInt64(headSpl[context.NextRandom((ulong)headSpl.Length)], 16); } else if (head != "") { HeadOutfit = Convert.ToUInt64(head, 16); } } catch { //head or body invalid, resort to default. } var gender = data.GetString(12); var genVar = (int)VMPersonDataVariable.Gender; if (gender.Equals("male", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 0; else if (gender.Equals("female", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 1; else if (gender.Equals("dogmale", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 8; else if (gender.Equals("dogfemale", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 9; else if (gender.Equals("catmale", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 16; else if (gender.Equals("catfemale", StringComparison.InvariantCultureIgnoreCase)) PersonData[genVar] = 17; var names = data.GetString(11); if (names != "") { var nameSpl = names.Split(';'); Name = nameSpl[context.NextRandom((ulong)nameSpl.Length)]; } PersonData[(int)VMPersonDataVariable.PersonsAge] = Convert.ToInt16(data.GetString(13)); var skinTone = data.GetString(14); if (skinTone.Equals("lgt", StringComparison.InvariantCultureIgnoreCase)) SkinTone = AppearanceType.Light; else if (skinTone.Equals("med", StringComparison.InvariantCultureIgnoreCase)) SkinTone = AppearanceType.Medium; else if (skinTone.Equals("drk", StringComparison.InvariantCultureIgnoreCase)) SkinTone = AppearanceType.Dark; }
public static void ShowDialog(VMStackFrame context, VMDialogStringsOperand operand, STR source) { VMDialogInfo info = new VMDialogInfo { Caller = context.Caller, Icon = context.StackObject, Operand = operand, Message = ParseDialogString(context, source.GetString(operand.MessageStringID - 1), source), Title = (operand.TitleStringID == 0) ? "" : ParseDialogString(context, source.GetString(operand.TitleStringID - 1), source), IconName = (operand.IconNameStringID == 0) ? "" : ParseDialogString(context, source.GetString(operand.IconNameStringID - 1), source), Yes = (operand.YesStringID == 0) ? "Yes" : ParseDialogString(context, source.GetString(operand.YesStringID - 1), source), }; context.VM.SignalDialog(info); }