public static string TeleportToBar(Player player, bool root, Random rand = null) { // Not all getaways can be clean.. string bar = "tavern_counter"; rand = rand ?? new Random(); if (!Teleport(player, bar, true)) { return(null); } if (root) { CharacterPrankProcedures.GiveEffect(player, JokeShopProcedures.ROOT_EFFECT); } else { CharacterPrankProcedures.ApplyLocalCurse(player, bar, rand); } return("You've been looking around the shop for a while now and are starting to get thirsty. Something within the shop knows it too, and very quickly you find yourself in the bar!"); }
public static string TeleportToOverworld(Player player, bool root, bool curse, Random rand = null) { rand = rand ?? new Random(); var location = LocationsStatics.GetRandomLocationNotInDungeonOr(LocationsStatics.JOKE_SHOP); if (!Teleport(player, location, rand.Next(2) == 0)) { return(null); } if (root) { CharacterPrankProcedures.GiveEffect(player, JokeShopProcedures.ROOT_EFFECT); root = EffectProcedures.PlayerHasActiveEffect(player.Id, JokeShopProcedures.ROOT_EFFECT); } if (curse && !root) { CharacterPrankProcedures.ApplyLocalCurse(player, location, rand); } return($"All of a sudden the Joke Shop spits you out and you find yourself in {LocationsStatics.GetConnectionName(location)}!"); }