package model import "math/rand" // HeroMeetAutoLineSlugs are stable ids for auto-dialogue (client localizes hero_meet.auto.). var HeroMeetAutoLineSlugs = []string{ "nod_traveler", "quiet_road_today", "heard_rumors_beasts", "gear_clinks_soft", "stay_safe_out_there", "short_rest_then_go", "sun_in_eyes", "paths_cross_again", "trade_news_smile", "wind_picks_up", "good_luck_hunt", "watch_the_brush", "same_road_twice", "water_skin_low", "campfire_smoke_ahead", "no_coin_no_story", "armor_pinch_reminder", "storm_smell_air", "map_wrong_fold", "heard_city_bells", "strap_mended_maybe", "monster_or_mud", "share_rations_nod", "night_cold_early", "footprints_cross_yours", "quiet_not_safe", "merchant_lied_once", "birds_flew_strange", } // HeroMeetAutoPhraseKey returns phrase key by index (legacy tests); prefer RandomHeroMeetAutoPhraseKey for emits. func HeroMeetAutoPhraseKey(lineIdx int) string { if len(HeroMeetAutoLineSlugs) == 0 { return "hero_meet.auto.fallback" } if lineIdx < 0 { lineIdx = 0 } slug := HeroMeetAutoLineSlugs[lineIdx%len(HeroMeetAutoLineSlugs)] return "hero_meet.auto." + slug } // RandomHeroMeetAutoPhraseKey picks a random auto line (offline / scripted hero-meet dialogue). func RandomHeroMeetAutoPhraseKey() string { if len(HeroMeetAutoLineSlugs) == 0 { return "hero_meet.auto.fallback" } slug := HeroMeetAutoLineSlugs[rand.Intn(len(HeroMeetAutoLineSlugs))] return "hero_meet.auto." + slug }