@@ -196,6 +196,7 @@ std::string enum_to_string<debug_menu::debug_menu_index>( debug_menu::debug_menu
196
196
case debug_menu::debug_menu_index::SHORT_TELEPORT: return " SHORT_TELEPORT" ;
197
197
case debug_menu::debug_menu_index::LONG_TELEPORT: return " LONG_TELEPORT" ;
198
198
case debug_menu::debug_menu_index::SPAWN_NPC: return " SPAWN_NPC" ;
199
+ case debug_menu::debug_menu_index::SPAWN_NPC_FOLLOWER: return " SPAWN_NPC_FOLLOWER" ;
199
200
case debug_menu::debug_menu_index::SPAWN_NAMED_NPC: return " SPAWN_NAMED_NPC" ;
200
201
case debug_menu::debug_menu_index::SPAWN_OM_NPC: return " SPAWN_OM_NPC" ;
201
202
case debug_menu::debug_menu_index::SPAWN_MON: return " SPAWN_MON" ;
@@ -1038,6 +1039,7 @@ static int spawning_uilist()
1038
1039
{ uilist_entry ( debug_menu_index::WISH, true , ' w' , _ ( " Spawn an item" ) ) },
1039
1040
{ uilist_entry ( debug_menu_index::SPAWN_ITEM_GROUP, true , ' W' , _ ( " Spawn an item group" ) ) },
1040
1041
{ uilist_entry ( debug_menu_index::SPAWN_NPC, true , ' n' , _ ( " Spawn NPC" ) ) },
1042
+ { uilist_entry ( debug_menu_index::SPAWN_NPC_FOLLOWER, true , ' f' , _ ( " Spawn NPC follower" ) ) },
1041
1043
{ uilist_entry ( debug_menu_index::SPAWN_NAMED_NPC, true , ' p' , _ ( " Spawn named NPC" ) ) },
1042
1044
{ uilist_entry ( debug_menu_index::SPAWN_OM_NPC, true , ' N' , _ ( " Spawn random NPC on overmap" ) ) },
1043
1045
{ uilist_entry ( debug_menu_index::SPAWN_MON, true , ' m' , _ ( " Spawn monster" ) ) },
@@ -3749,6 +3751,23 @@ static void spawn_npc()
3749
3751
g->load_npcs ();
3750
3752
}
3751
3753
3754
+ static void spawn_npc_follower ()
3755
+ {
3756
+ avatar &player_character = get_avatar ();
3757
+ shared_ptr_fast<npc> temp = make_shared_fast<npc>();
3758
+ temp->normalize ();
3759
+ temp->randomize ();
3760
+ temp->spawn_at_precise ( player_character.pos_abs () + point ( -4 , -4 ) );
3761
+ overmap_buffer.insert_npc ( temp );
3762
+ temp->form_opinion ( player_character );
3763
+ temp->set_attitude ( NPCATT_FOLLOW );
3764
+ temp->set_fac ( faction_your_followers );
3765
+ temp->mission = NPC_MISSION_NULL;
3766
+ temp->add_new_mission ( mission::reserve_random ( ORIGIN_ANY_NPC, temp->pos_abs_omt (),
3767
+ temp->getID () ) );
3768
+ g->load_npcs ();
3769
+ }
3770
+
3752
3771
static void spawn_named_npc ()
3753
3772
{
3754
3773
uilist npc_menu;
@@ -4117,6 +4136,10 @@ void debug()
4117
4136
spawn_npc ();
4118
4137
break ;
4119
4138
4139
+ case debug_menu_index::SPAWN_NPC_FOLLOWER:
4140
+ spawn_npc_follower ();
4141
+ break ;
4142
+
4120
4143
case debug_menu_index::SPAWN_NAMED_NPC:
4121
4144
spawn_named_npc ();
4122
4145
break ;
0 commit comments