Vous êtes sur la page 1sur 2

private static int OnBodySnatch(object[] arguments)

{
if ((arguments.Length != 0) && (Sim.ActiveActor != null))
{
SimDescription sDFromArguments = Core.GetSDFromArguments(arguments);
if (sDFromArguments == null)
{
SimpleMessageDialog.Show(GenericStrings.Fail.ToUpper(), "Couldn't fi
nd destination sim '" + arguments[0].ToString() + "'.");
return 0;
}
if ((sDFromArguments.Gender != Sim.ActiveActor.SimDescription.Gender) ||
((sDFromArguments.Age != Sim.ActiveActor.SimDescription.Age) && (!Sim.ActiveAct
or.SimDescription.Elder || !sDFromArguments.Adult)))
{
SimpleMessageDialog.Show(GenericStrings.Fail.ToUpper(), "Source sim
must be same age & sex as selected sim!");
return 0;
}
try
{
Sim.ActiveActor.SimDescription.HairColors = sDFromArguments.HairColo
rs;
Sim.ActiveActor.SimDescription.EyebrowColor = sDFromArguments.Eyebro
wColor;
Sim.ActiveActor.SimDescription.FacialHairColors = sDFromArguments.Fa
cialHairColors;
Sim.ActiveActor.SimDescription.BeardUsesHairColor = sDFromArguments.
BeardUsesHairColor;
Sim.ActiveActor.SimDescription.EyebrowsUseHairColor = sDFromArgument
s.EyebrowsUseHairColor;
Sim.ActiveActor.SimDescription.PropagateHairStyle = sDFromArguments.
PropagateHairStyle;
Sim.ActiveActor.SimDescription.GeneticHairstyleKey = sDFromArguments
.GeneticHairstyleKey;
Sim.ActiveActor.SimDescription.SkinToneIndex = sDFromArguments.SkinT
oneIndex;
Sim.ActiveActor.SimDescription.SkinToneKey = sDFromArguments.SkinTon
eKey;
Sim.ActiveActor.SimDescription.mZodiac = sDFromArguments.mZodiac;
Sim.ActiveActor.SimDescription.VoiceVariation = sDFromArguments.Voic
eVariation;
Sim.ActiveActor.SimDescription.VoicePitchModifier = sDFromArguments.
VoicePitchModifier;
OutfitCategoryMap mOutfits = Sim.ActiveActor.SimDescription.mOutfits
;
Sim.ActiveActor.SimDescription.mOutfits = sDFromArguments.mOutfits;
sDFromArguments.mOutfits = mOutfits;
OutfitCategories currentOutfitCategory = Sim.ActiveActor.CurrentOutf
itCategory;
Sim.ActiveActor.SimDescription.ForceSetBodyShape(sDFromArguments.Wei
ght, sDFromArguments.Fitness);
Sim.ActiveActor.SimDescription.RefreshBodyShape();
Sim.ActiveActor.SwitchToOutfitWithoutSpin(1);
Sim.ActiveActor.SwitchToOutfitWithoutSpin(2);
Sim.ActiveActor.SwitchToOutfitWithoutSpin(currentOutfitCategory);
if (sDFromArguments.Household != null)
{
sDFromArguments.Household.Remove(sDFromArguments);
}
DeleteHousehold.DestroySimDescription(sDFromArguments);
Household.ActiveHousehold.InvalidateThumbnail();
HudModel hudModel = (HudModel) Responder.Instance.HudModel;
if (hudModel != null)
{
int length = Enum.GetValues(typeof(MoodID)).Length;
for (int i = 0; i < length; i++)
{
ThumbnailKey key = hudModel.GetThumbnailForGameObject(Sim.Ac
tiveActor.ObjectId, 2, i);
ThumbnailManager.InvalidateThumbnail(key);
key.mCamera = 2;
ThumbnailManager.InvalidateThumbnail(key);
}
hudModel.OnSimAgeChanged(Sim.ActiveActor.ObjectId);
hudModel.OnSimAppearanceChanged(Sim.ActiveActor.ObjectId);
}
SimpleMessageDialog.Show("Success!", "Bodysnatched " + sDFromArgumen
ts.FullName + "!");
}
catch (Exception exception)
{
Main.FlagrantSystemError(exception);
}
}
return 0;
}

Vous aimerez peut-être aussi