/// <summary> /// A new biota be created taking all of its values from weenie. /// </summary> public GamePiece(Weenie weenie, ObjectGuid guid, Realms.AppliedRuleset ruleset) : base(weenie, guid, ruleset) { SetEphemeralValues(); }
/// <summary> /// A new biota be created taking all of its values from weenie. /// </summary> public CombatPet(Weenie weenie, ObjectGuid guid, Realms.AppliedRuleset ruleset) : base(weenie, guid, ruleset) { SetEphemeralValues(); }
private static WorldObject GetClothingObject(uint weenieClassId, uint palette, double shade, Realms.AppliedRuleset ruleset) { var weenie = DatabaseManager.World.GetCachedWeenie(weenieClassId); if (weenie == null) { return(null); } var worldObject = (Clothing)WorldObjectFactory.CreateNewWorldObject(weenie, ruleset); worldObject.SetProperties((int)palette, shade); //if (shirtCT.ClothingBaseEffects.ContainsKey(sex.SetupID)) //{ // ClothingBaseEffect shirtCBE = shirtCT.ClothingBaseEffects[sex.SetupID]; // for (int i = 0; i < shirtCBE.CloObjectEffects.Count; i++) // { // byte partNum = (byte)shirtCBE.CloObjectEffects[i].Index; // shirt.AnimationOverrides.Add(new AnimationOverride() // { // AceObjectId = shirt.AceObjectId, // AnimationId = shirtCBE.CloObjectEffects[i].ModelId, // Index = (byte)shirtCBE.CloObjectEffects[i].Index // }); // for (int j = 0; j < shirtCBE.CloObjectEffects[i].CloTextureEffects.Count; j++) // { // shirt.TextureOverrides.Add(new TextureMapOverride() // { // AceObjectId = shirt.AceObjectId, // Index = (byte)shirtCBE.CloObjectEffects[i].Index, // OldId = (ushort)shirtCBE.CloObjectEffects[i].CloTextureEffects[j].OldTexture, // NewId = (ushort)shirtCBE.CloObjectEffects[i].CloTextureEffects[j].NewTexture // }); // } // } // // Apply the proper palette(s). Unlike character skin/hair, clothes can have several palette ranges! // if (shirtCT.ClothingSubPalEffects.ContainsKey(appearance.ShirtColor)) // { // CloSubPalEffect shirtSubPal = shirtCT.ClothingSubPalEffects[appearance.ShirtColor]; // for (int i = 0; i < shirtSubPal.CloSubPalettes.Count; i++) // { // PaletteSet shirtPalSet = PaletteSet.ReadFromDat(shirtSubPal.CloSubPalettes[i].PaletteSet); // ushort shirtPal = (ushort)shirtPalSet.GetPaletteID(appearance.ShirtHue); // if (shirtPal > 0) // shirtPal will be 0 if the palette set is empty/not found // { // for (int j = 0; j < shirtSubPal.CloSubPalettes[i].Ranges.Count; j++) // { // uint palOffset = shirtSubPal.CloSubPalettes[i].Ranges[j].Offset / 8; // uint numColors = shirtSubPal.CloSubPalettes[i].Ranges[j].NumColors / 8; // shirt.PaletteOverrides.Add(new PaletteOverride() // { // AceObjectId = shirt.AceObjectId, // SubPaletteId = shirtPal, // Offset = (ushort)palOffset, // Length = (ushort)numColors // }); // } // } // } // } //} return(worldObject); }