public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.PITCHFORK:
            if (stallDirt.dirtLevel > 0)
            {
                currentlyRelevantActionIDs.Add(actionID.CLEAN_STALL);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.CLEAN_STALL));
            }
            break;
        }
        return(result);
    }
Exemplo n.º 2
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.BAREHANDS:
            if (player.currentlyEquippedItem.status == containerStatus.FULL)
            {
                currentlyRelevantActionIDs.Add(actionID.REARRANGE_OBSTACLES);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.REARRANGE_OBSTACLES));
            }
            break;
        }

        return(result);
    }
Exemplo n.º 3
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.PITCHFORK:
            if (player.currentlyEquippedItem.status == containerStatus.EMPTY)
            {
                currentlyRelevantActionIDs.Add(actionID.CLEAN_MANURE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.CLEAN_MANURE));
            }
            break;
        }

        return(result);
    }
Exemplo n.º 4
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.BAREHANDS:
            if (currentUnits > 0)
            {
                currentlyRelevantActionIDs.Add(actionID.TAKE_STRAW);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_STRAW) + " (" + currentUnits + ")");
            }
            break;

        case equippableItemID.STRAW:
            currentlyRelevantActionIDs.Add(actionID.PUT_AWAY_STRAW);
            result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_AWAY_STRAW));
            break;
        }
        return(result);
    }
Exemplo n.º 5
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.BAREHANDS:
            currentlyRelevantActionIDs.Add(actionID.PUSH_WHEELBARROW);
            result.Add(InteractionStrings.GetInteractionStringById(actionID.PUSH_WHEELBARROW));
            break;

        case equippableItemID.PITCHFORK:
            if (player.currentlyEquippedItem.status == containerStatus.FULL)
            {
                currentlyRelevantActionIDs.Add(actionID.EMPTY_PITCHFORK);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.EMPTY_PITCHFORK));
            }
            break;
        }

        return(result);
    }
Exemplo n.º 6
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.HORSE_ON_LEAD:
            currentlyRelevantActionIDs.Add(actionID.TIE_HORSE_TO_POST);
            result.Add(InteractionStrings.GetInteractionStringById(actionID.TIE_HORSE_TO_POST));
            break;

        case equippableItemID.BAREHANDS:
            if (horseTiedHere != null)
            {
                currentlyRelevantActionIDs.Add(actionID.TIE_HORSE_TO_POST);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.TIE_HORSE_TO_POST));
            }
            break;
        }

        return(result);
    }
Exemplo n.º 7
0
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();


        if (type == hookType.SMALL)
        {
            switch (player.currentlyEquippedItem.id)
            {
            case equippableItemID.BAREHANDS:
                if (hookStatus == containerStatus.FULL)
                {
                    if (content.id == equippableItemID.HALTER)
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER));
                    }
                    else if (content.id == equippableItemID.LEAD)
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_LEAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_LEAD));
                    }
                    else if (content.id == equippableItemID.HALTER_WITH_LEAD)
                    {
                        //if halter and lead are hanging there, you can take one, the other or both
                        currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER_AND_LEAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER_AND_LEAD));
                        currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER));
                        currentlyRelevantActionIDs.Add(actionID.TAKE_LEAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_LEAD));
                    }
                    else if (content.id == equippableItemID.BRIDLE)
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_BRIDLE);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_BRIDLE));
                    }
                }
                break;

            case equippableItemID.HALTER:
                if (hookStatus == containerStatus.EMPTY || (content != null && content.id == equippableItemID.LEAD))                  //TODO: if lead is there already, combine
                {
                    currentlyRelevantActionIDs.Add(actionID.HANG_UP_HALTER);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.HANG_UP_HALTER));
                }
                break;

            case equippableItemID.LEAD:
                if (hookStatus == containerStatus.EMPTY || (content != null && content.id == equippableItemID.HALTER))                   //TODO: if halter is there already, combine
                {
                    currentlyRelevantActionIDs.Add(actionID.HANG_UP_LEAD);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.HANG_UP_LEAD));
                }
                break;

            case equippableItemID.HALTER_WITH_LEAD:
                if (hookStatus == containerStatus.EMPTY)
                {
                    currentlyRelevantActionIDs.Add(actionID.HANG_UP_HALTER_AND_LEAD);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.HANG_UP_HALTER_AND_LEAD));
                }
                break;

            case equippableItemID.BRIDLE:
                if (hookStatus == containerStatus.EMPTY)
                {
                    currentlyRelevantActionIDs.Add(actionID.HANG_UP_BRIDLE);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.HANG_UP_BRIDLE));
                }
                break;
            }
        }
        else if (type == hookType.SADDLE)
        {
            switch (player.currentlyEquippedItem.id)
            {
            case equippableItemID.BAREHANDS:
                if (hookStatus == containerStatus.FULL)
                {
                    if (content.id == equippableItemID.SADDLE_WITH_PAD)
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_SADDLE_WITH_PAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_SADDLE_WITH_PAD));
                    }
                }
                break;

            case equippableItemID.SADDLE_WITH_PAD:
                if (hookStatus == containerStatus.EMPTY)
                {
                    currentlyRelevantActionIDs.Add(actionID.HANG_UP_SADDLE_WITH_PAD);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.HANG_UP_SADDLE_WITH_PAD));
                }
                break;
            }
        }

        return(result);
    }
    public override List <string> DefineInteraction(Player player)
    {
        List <string> result = new List <string> ();

        currentlyRelevantActionIDs.Clear();

        switch (player.currentlyEquippedItem.id)
        {
        case equippableItemID.BAREHANDS:
            result.Add(InteractionStrings.GetInteractionStringById(actionID.PET_HORSE));
            currentlyRelevantActionIDs.Add(actionID.PET_HORSE);
            if (headGear != null)
            {
                if (headGear.type == horseGearType.HALTER)
                {
                    if (headGearAttachment != null && headGearAttachment.type == horseGearType.LEAD)
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER_AND_LEAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER_AND_LEAD));

                        currentlyRelevantActionIDs.Add(actionID.TAKE_LEAD);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_LEAD));

                        currentlyRelevantActionIDs.Add(actionID.LEAD_HORSE);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.LEAD_HORSE));
                    }
                    else
                    {
                        currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER);
                        result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER));
                    }
                }
                else if (headGear.type == horseGearType.BRIDLE)
                {
                    currentlyRelevantActionIDs.Add(actionID.TAKE_BRIDLE);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_BRIDLE));
                    currentlyRelevantActionIDs.Add(actionID.LEAD_BY_REINS);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.LEAD_BY_REINS));
                }
            }
            if (backGear != null && backGear.type == horseGearType.SADDLE_WITH_PAD)
            {
                currentlyRelevantActionIDs.Add(actionID.TAKE_SADDLE_WITH_PAD);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_SADDLE_WITH_PAD));
            }

            if (backGear != null && headGear != null && backGear.type == horseGearType.SADDLE_WITH_PAD && headGear.type == horseGearType.BRIDLE)
            {
                currentlyRelevantActionIDs.Add(actionID.MOUNT_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.MOUNT_HORSE));
            }

            break;

        case equippableItemID.STRAW:
            if (horse.horseStats.Food < Horse_Stats.NeedsMaximum)
            {
                currentlyRelevantActionIDs.Add(actionID.FEED_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.FEED_HORSE));
            }
            break;

        case equippableItemID.HAY:
            if (horse.horseStats.Food < Horse_Stats.NeedsMaximum)
            {
                currentlyRelevantActionIDs.Add(actionID.FEED_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.FEED_HORSE));
            }
            break;

        case equippableItemID.APPLE:
            if (horse.horseStats.Food < Horse_Stats.NeedsMaximum)
            {
                currentlyRelevantActionIDs.Add(actionID.FEED_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.FEED_HORSE));
            }
            break;

        case equippableItemID.WATERBUCKET:
            if (horse.horseStats.Water < Horse_Stats.NeedsMaximum)
            {
                currentlyRelevantActionIDs.Add(actionID.WATER_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.WATER_HORSE));
            }
            break;

        case equippableItemID.BRUSH:
            if (backGear == null && horse.horseStats.Hygiene < Horse_Stats.NeedsMaximum)
            {
                currentlyRelevantActionIDs.Add(actionID.BRUSH_HORSE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.BRUSH_HORSE));
            }
            break;

        case equippableItemID.HALTER:
            if (headGear == null)
            {
                currentlyRelevantActionIDs.Add(actionID.PUT_ON_HALTER);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_ON_HALTER));
            }
            break;

        case equippableItemID.LEAD:
            if (headGear != null && headGear.type == horseGearType.HALTER && headGearAttachment == null)
            {
                currentlyRelevantActionIDs.Add(actionID.PUT_ON_LEAD);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_ON_LEAD));
            }
            break;

        case equippableItemID.HORSE_ON_LEAD:
            if (player.currentlyEquippedItem == horseOnLeadEquippable)               //i.e. it's this horse and not a different horse
            {
                if (headGear.type == horseGearType.HALTER)
                {
                    currentlyRelevantActionIDs.Add(actionID.TAKE_LEAD);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_LEAD));

                    currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER_AND_LEAD);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER_AND_LEAD));
                }
                else if (headGear.type == horseGearType.BRIDLE)
                {
                    currentlyRelevantActionIDs.Add(actionID.STOP_LEADING_BY_REINS);
                    result.Add(InteractionStrings.GetInteractionStringById(actionID.STOP_LEADING_BY_REINS));
                }
            }
            break;

        case equippableItemID.HALTER_WITH_LEAD:
            if (headGear == null)
            {
                currentlyRelevantActionIDs.Add(actionID.PUT_ON_HALTER_AND_LEAD);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_ON_HALTER_AND_LEAD));
            }
            break;

        case equippableItemID.SADDLE_WITH_PAD:
            if (backGear == null)
            {
                currentlyRelevantActionIDs.Add(actionID.PUT_ON_SADDLE_WITH_PAD);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_ON_SADDLE_WITH_PAD));
            }
            break;

        case equippableItemID.BRIDLE:
            if (headGear == null)
            {
                currentlyRelevantActionIDs.Add(actionID.PUT_ON_BRIDLE);
                result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_ON_BRIDLE));
            }
            break;
        }
        return(result);
    }