Beispiel #1
0
 public void MarkAsViewed()
 {
     if (!seenParticipants.ContainsKey(Game1.player.UniqueMultiplayerID))
     {
         seenParticipants[Game1.player.UniqueMultiplayerID] = true;
     }
 }
 public void UpdateState(string new_state)
 {
     if (!_statusList.ContainsKey(Game1.player.UniqueMultiplayerID) || _statusList[Game1.player.UniqueMultiplayerID] != new_state)
     {
         _statusList.Remove(Game1.player.UniqueMultiplayerID);
         _statusList.Add(Game1.player.UniqueMultiplayerID, new_state);
     }
 }
Beispiel #3
0
 public bool IsSittingHere(Farmer who)
 {
     if (sittingFarmers.ContainsKey(who.UniqueMultiplayerID))
     {
         return(true);
     }
     return(false);
 }
Beispiel #4
0
 public virtual void Update()
 {
     _AddSpecialRulesIfNecessary();
     if (_objectiveRegistrationDirty)
     {
         _objectiveRegistrationDirty = false;
         _UpdateObjectiveRegistration();
     }
     if (!readyForRemoval.Value)
     {
         if (questState.Value == QuestState.InProgress && !participants.ContainsKey(Game1.player.UniqueMultiplayerID))
         {
             participants[Game1.player.UniqueMultiplayerID] = true;
         }
         else if (questState.Value == QuestState.Complete)
         {
             if (unclaimedRewards.ContainsKey(Game1.player.UniqueMultiplayerID))
             {
                 unclaimedRewards.Remove(Game1.player.UniqueMultiplayerID);
                 Game1.stats.QuestsCompleted++;
                 Game1.playSound("questcomplete");
                 Game1.dayTimeMoneyBox.questsDirty = true;
                 foreach (OrderReward reward in rewards)
                 {
                     reward.Grant();
                 }
             }
             if (participants.ContainsKey(Game1.player.UniqueMultiplayerID) && GetMoneyReward() <= 0)
             {
                 RemoveFromParticipants();
             }
         }
     }
     donateMutex.Update(Game1.getOnlineFarmers());
     if (donateMutex.IsLockHeld() && Game1.activeClickableMenu == null)
     {
         donateMutex.ReleaseLock();
     }
     if (Game1.activeClickableMenu == null)
     {
         _highlightLookup = null;
     }
     if (Game1.IsMasterGame && questState.Value != 0)
     {
         MarkForRemovalIfEmpty();
         if (readyForRemoval.Value)
         {
             _RemoveSpecialRuleIfNecessary();
             Game1.player.team.specialOrders.Remove(this);
         }
     }
 }
Beispiel #5
0
 public NetIntDelta GetMoney(Farmer who)
 {
     if ((bool)useSeparateWallets)
     {
         if (!individualMoney.ContainsKey(who.UniqueMultiplayerID))
         {
             individualMoney[who.uniqueMultiplayerID]         = new NetIntDelta(500);
             individualMoney[who.uniqueMultiplayerID].Minimum = 0;
         }
         return(individualMoney[who.uniqueMultiplayerID]);
     }
     return(money);
 }
Beispiel #6
0
 public override bool checkAction(Farmer who, GameLocation l)
 {
     if (!lastPetDay.ContainsKey(who.UniqueMultiplayerID))
     {
         lastPetDay.Add(who.UniqueMultiplayerID, -1);
     }
     if (lastPetDay[who.UniqueMultiplayerID] != Game1.Date.TotalDays)
     {
         lastPetDay[who.UniqueMultiplayerID] = Game1.Date.TotalDays;
         mutex.RequestLock(delegate
         {
             if (!grantedFriendshipForPet.Value)
             {
                 grantedFriendshipForPet.Set(newValue: true);
                 friendshipTowardFarmer.Set(Math.Min(1000, (int)friendshipTowardFarmer + 12));
             }
             mutex.ReleaseLock();
         });
         doEmote(20);
         playContentSound();
         return(true);
     }
     return(false);
 }