public override List <string> DefineInteraction(Player player) { List <string> result = new List <string> (); currentlyRelevantActionIDs.Clear(); switch (player.currentlyEquippedItem.id) { case equippableItemID.BAREHANDS: if (equippable.id == equippableItemID.HALTER) { currentlyRelevantActionIDs.Add(actionID.TAKE_HALTER); result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_HALTER)); } else if (equippable.id == equippableItemID.LEAD) { currentlyRelevantActionIDs.Add(actionID.TAKE_LEAD); result.Add(InteractionStrings.GetInteractionStringById(actionID.TAKE_LEAD)); } else if (equippable.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)); } break; } return(result); }
public override List <string> DefineInteraction(Player player) { currentlyRelevantActionIDs.Clear(); List <string> result = new List <string> (); result.Add(InteractionStrings.GetInteractionStringById(actionID.TALK_TO)); currentlyRelevantActionIDs.Add(actionID.TALK_TO); switch (characterId) { case Character.STORECLERK: if (player.currentlyEquippedItem.sellable) { result.Add(InteractionStrings.GetInteractionStringById(actionID.SELL) + player.currentlyEquippedItem.name + " (" + Prices.GetPriceByID(player.currentlyEquippedItem.id) + ")"); currentlyRelevantActionIDs.Add(actionID.SELL); } break; default: 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.FULL) { currentlyRelevantActionIDs.Add(actionID.EMPTY_PITCHFORK); result.Add(InteractionStrings.GetInteractionStringById(actionID.EMPTY_PITCHFORK)); } break; case equippableItemID.WHEELBARROW: if (player.currentlyEquippedItem.status != containerStatus.EMPTY) { currentlyRelevantActionIDs.Add(actionID.EMPTY_WHEELBARROW); result.Add(InteractionStrings.GetInteractionStringById(actionID.EMPTY_WHEELBARROW)); } break; } return(result); }
public override List <string> DefineInteraction(Player player) { List <string> result = new List <string> (); currentlyRelevantActionIDs.Clear(); switch (storeType) { case storeCaseType.RESTOCK_CASE: switch (player.currentlyEquippedItem.id) { case equippableItemID.BAREHANDS: //NEXT: add different options, like restock 10 for x credits, or fill cart for y credits currentlyRelevantActionIDs.Add(actionID.RESTOCK_CART); result.Add(InteractionStrings.GetInteractionStringById(actionID.RESTOCK_CART) + "(" + cartToRestock.fillType + "x" + restockUnits + ") - ¢ " + restockPrice); currentlyRelevantActionIDs.Add(actionID.REFILL_CART); result.Add(InteractionStrings.GetInteractionStringById(actionID.REFILL_CART) + "(" + cartToRestock.fillType + "x" + refillUnits + ") - ¢ " + refillPrice); break; } break; case storeCaseType.BUY_CASE: //todo break; } return(result); }
public virtual List <string> DefineInteraction(Player player) { currentlyRelevantActionIDs.Clear(); List <string> result = new List <string> (); if (player.currentlyEquippedItem.id == equippableItemID.BAREHANDS) { if (pickUpable) { currentlyRelevantActionIDs.Add(actionID.PICK_UP); result.Add(InteractionStrings.GetInteractionStringById(actionID.PICK_UP)); } if (equippable != null && equippable.carriable && player.inventory.GetFreeInventorySlot() != -1) { currentlyRelevantActionIDs.Add(actionID.PUT_INTO_POCKET); result.Add(InteractionStrings.GetInteractionStringById(actionID.PUT_INTO_POCKET)); } } //result.Add (emptyHandsAction); //currentlyRelevantActionIDs.Add (actionID.NO_SEQUENCE); return(result); }
public override List <string> DefineInteraction(Player player) { List <string> result = base.DefineInteraction(player); currentlyRelevantActionIDs.Add(actionID.OPEN_CLOSE_DOOR); result.Add(InteractionStrings.GetInteractionStringById(actionID.OPEN_CLOSE_DOOR)); return(result); }
public override List <string> DefineInteraction(Player player) { currentlyRelevantActionIDs.Clear(); List <string> result = new List <string> (); currentlyRelevantActionIDs.Add(actionID.SLEEP); result.Add(InteractionStrings.GetInteractionStringById(actionID.SLEEP)); return(result); }
public override List <string> DefineInteraction(Player player) { List <string> result = new List <string> (); currentlyRelevantActionIDs.Clear(); switch (player.currentlyEquippedItem.id) { case equippableItemID.WATERBUCKET: currentlyRelevantActionIDs.Add(actionID.FILL_BUCKET); result.Add(InteractionStrings.GetInteractionStringById(actionID.FILL_BUCKET)); 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 (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.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.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); }