void talk_function::morale_chat_activity( npc &p ) { g->u.assign_activity( activity_id( "ACT_SOCIALIZE" ), 10000 ); g->u.activity.str_values.push_back( p.name ); add_msg( m_good, _( "That was a pleasant conversation with %s." ), p.disp_name() ); g->u.add_morale( MORALE_CHAT, rng( 3, 10 ), 10, 200_minutes, 5_minutes / 2 ); }
void talk_function::assign_guard( npc &p ) { if( !p.is_following() ) { p.mission = NPC_MISSION_GUARD; p.set_omt_destination(); return; } if( p.is_travelling() ) { if( p.has_companion_mission() ) { p.reset_companion_mission(); } } p.set_attitude( NPCATT_NULL ); p.mission = NPC_MISSION_GUARD_ALLY; p.chatbin.first_topic = "TALK_FRIEND_GUARD"; p.set_omt_destination(); cata::optional<basecamp *> bcp = overmap_buffer.find_camp( p.global_omt_location().x, p.global_omt_location().y ); if( bcp ) { basecamp *temp_camp = *bcp; temp_camp->validate_assignees(); if( p.rules.has_flag( ally_rule::ignore_noise ) ) { //~ %1$s is the NPC's translated name, %2$s is the translated faction camp name add_msg( _( "%1$s is assigned to %2$s" ), p.disp_name(), temp_camp->camp_name() ); } else { //~ %1$s is the NPC's translated name, %2$s is the translated faction camp name add_msg( _( "%1$s is assigned to guard %2$s" ), p.disp_name(), temp_camp->camp_name() ); } } else { if( p.rules.has_flag( ally_rule::ignore_noise ) ) { //~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's gender add_msg( _( "%1$s will wait for you where %2$s is." ), p.disp_name(), p.male ? _( "he" ) : _( "she" ) ); } else { add_msg( _( "%s is posted as a guard." ), p.disp_name() ); } } }
void talk_function::morale_chat( npc &p ) { g->u.add_morale( MORALE_CHAT, rng( 3, 10 ), 10, 200_minutes, 5_minutes / 2 ); add_msg( m_good, _( "That was a pleasant conversation with %s..." ), p.disp_name() ); }