Exemple #1
0
 public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
 {
     if (((int)parameters.Hit.mType == 8 && PondManager.ArePondsLiquid()) || (int)parameters.Hit.mType == 9)
     {
         return(base.Test(ref parameters, ref greyedOutTooltipCallback));
     }
     return(InteractionTestResult.Gen_BadTerrainType);
 }
 public override InteractionTestResult Test(ref InteractionInstanceParameters parameters, ref GreyedOutTooltipCallback greyedOutTooltipCallback)
 {
     if ((parameters.Hit.mType == GameObjectHitType.WaterPond &&
          PondManager.ArePondsLiquid()) || parameters.Hit.mType == GameObjectHitType.WaterSea)
     {
         return(base.Test(ref parameters, ref greyedOutTooltipCallback));
     }
     return(InteractionTestResult.Gen_BadTerrainType);
 }
        public static bool FishTestTerrain(ref InteractionInstanceParameters parameters)
        {
            Sim               sim            = parameters.Actor as Sim;
            GameObjectHit     hit            = parameters.Hit;
            SwimmingInPool    swimmingInPool = sim.Posture as SwimmingInPool;
            GameObjectHitType mType          = hit.mType;

            if ((int)mType != 1)
            {
                switch ((int)mType - 8)
                {
                case 1:
                    return(true);

                case 0:
                    if (PondManager.ArePondsLiquid())
                    {
                        return(true);
                    }
                    return(false);

                case 2:
                    return(false);     // Cats cannot fish in swimming pools. So much human code about swimming pools.
                }
            }
            else
            {
                FishingSpot fishingSpot = GameObject.GetObject(new ObjectGuid(hit.mId)) as FishingSpot;
                if (fishingSpot != null)
                {
                    if (PondManager.ArePondsLiquid())
                    {
                        return(true);
                    }
                    return(false);
                }
            }
            return(false);
        }