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); }
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); }
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); }
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); }
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); }
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); }
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); }