private void OnStartedPartyFinishes() { if (!mbPartyFinishedCalled) { mbPartyFinishedCalled = true; Party.PartyOutcomes partyOutcome = GetPartyOutcome(); Party.SpecialPartyOutcome specialPartyOutcome = GetSpecialPartyOutcome(); bool flag = Host.HasTrait(TraitNames.LegendaryHost); switch (specialPartyOutcome) { case Party.SpecialPartyOutcome.kSpecialConditionsFailed: partyOutcome = Party.PartyOutcomes.kBadParty; break; } switch (partyOutcome) { case Party.PartyOutcomes.kBadParty: Host.BuffManager.AddElement(BuffNames.ThrewLameParty, Origin.FromUnhappyGuests); break; case Party.PartyOutcomes.kGoodParty: Host.BuffManager.AddElement(BuffNames.ThrewAGreatParty, Origin.FromHappyGuests); break; } Host.BuffManager.UnpauseBuff(BuffNames.TheLifeOfTheParty); Host.BuffManager.UnpauseBuff(BuffNames.AwesomeParty); Host.PartyAnimalWooList.Clear(); foreach (Sim sim in OtherHosts) { if (flag) { sim.BuffManager.AddElement(BuffNames.AwesomeParty, Origin.FromLegendaryHost); } sim.BuffManager.UnpauseBuff(BuffNames.TheLifeOfTheParty); sim.BuffManager.UnpauseBuff(BuffNames.AwesomeParty); sim.PartyAnimalWooList.Clear(); } ActiveTopic.AddToSim(Host, "Party Over"); EventTracker.SendEvent(new PartyEvent(EventTypeId.kPartyOver, Host, Host.SimDescription, this)); if (specialPartyOutcome == Party.SpecialPartyOutcome.kSpecialConditionsFailed) { ShowSpecialFailureTNS(); } else { ShowPartyEndTNS(partyOutcome); } } }
public override Party.PartyOutcomes GetPartyOutcomeForSim(Sim sim) { Party.PartyOutcomes kNeutralParty = Party.PartyOutcomes.kNeutralParty; int simHostedMood = GetSimHostedMood(sim); bool flag = Host.HasTrait(TraitNames.LegendaryHost); if ((simHostedMood > HouseParty.kThrewGreatPartyBuffMoodRequirement) || flag) { return(Party.PartyOutcomes.kGoodParty); } if (simHostedMood < HouseParty.kThrewLamePartyBuffMoodRequirement) { kNeutralParty = Party.PartyOutcomes.kBadParty; } return(kNeutralParty); }
public override Party.PartyOutcomes GetPartyOutcome() { Party.PartyOutcomes kNeutralParty = Party.PartyOutcomes.kNeutralParty; if (mNumberOfGuests > 0x0) { float num = mPartyMood / ((float)mNumberOfGuests); bool flag = Host.HasTrait(TraitNames.LegendaryHost); if ((num > HouseParty.kThrewGreatPartyBuffMoodRequirement) || flag) { return(Party.PartyOutcomes.kGoodParty); } if (num < HouseParty.kThrewLamePartyBuffMoodRequirement) { kNeutralParty = Party.PartyOutcomes.kBadParty; } } return(kNeutralParty); }
public override void ShowPartyEndTNS(Party.PartyOutcomes partyResult) { string str; switch (partyResult) { case Party.PartyOutcomes.kBadParty: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:BadFuneral", new object[] { Host.SimDescription }); break; case Party.PartyOutcomes.kGoodParty: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:GoodFuneral", new object[] { Host.SimDescription }); break; default: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:NormalFuneral", new object[] { Host.SimDescription }); break; } StyledNotification.Format format = new StyledNotification.Format(str, ObjectGuid.InvalidObjectGuid, Host.ObjectId, StyledNotification.NotificationStyle.kGameMessagePositive); StyledNotification.Show(format, "w_party"); }
public virtual void ShowPartyEndTNS(Party.PartyOutcomes partyResult) { if (StoryProgression.Main.Situations.MatchesAlertLevel(Host)) { string str; switch (partyResult) { case Party.PartyOutcomes.kBadParty: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:BadParty", new object[] { Host.SimDescription }); break; case Party.PartyOutcomes.kGoodParty: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:GoodParty", new object[] { Host.SimDescription }); break; default: str = Common.LocalizeEAString(Host.IsFemale, "Gameplay/Notifications/Party:NormalParty", new object[] { Host.SimDescription }); break; } StyledNotification.Format format = new StyledNotification.Format(str, ObjectGuid.InvalidObjectGuid, Host.ObjectId, StyledNotification.NotificationStyle.kGameMessagePositive); StyledNotification.Show(format, "w_party"); } }