@@ -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" ;
@@ -1040,6 +1041,7 @@ static int spawning_uilist()
1040
1041
{ uilist_entry ( debug_menu_index::WISH, true , ' w' , _ ( " Spawn an item" ) ) },
1041
1042
{ uilist_entry ( debug_menu_index::SPAWN_ITEM_GROUP, true , ' W' , _ ( " Spawn an item group" ) ) },
1042
1043
{ uilist_entry ( debug_menu_index::SPAWN_NPC, true , ' n' , _ ( " Spawn NPC" ) ) },
1044
+ { uilist_entry ( debug_menu_index::SPAWN_NPC_FOLLOWER, true , ' f' , _ ( " Spawn NPC follower" ) ) },
1043
1045
{ uilist_entry ( debug_menu_index::SPAWN_NAMED_NPC, true , ' p' , _ ( " Spawn named NPC" ) ) },
1044
1046
{ uilist_entry ( debug_menu_index::SPAWN_OM_NPC, true , ' N' , _ ( " Spawn random NPC on overmap" ) ) },
1045
1047
{ uilist_entry ( debug_menu_index::SPAWN_MON, true , ' m' , _ ( " Spawn monster" ) ) },
@@ -3731,6 +3733,23 @@ static void spawn_npc()
3731
3733
g->load_npcs ();
3732
3734
}
3733
3735
3736
+ static void spawn_npc_follower ()
3737
+ {
3738
+ avatar &player_character = get_avatar ();
3739
+ shared_ptr_fast<npc> temp = make_shared_fast<npc>();
3740
+ temp->normalize ();
3741
+ temp->randomize ();
3742
+ temp->spawn_at_precise ( player_character.pos_abs () + point ( -4 , -4 ) );
3743
+ overmap_buffer.insert_npc ( temp );
3744
+ temp->form_opinion ( player_character );
3745
+ temp->set_attitude ( NPCATT_FOLLOW );
3746
+ temp->set_fac ( faction_your_followers );
3747
+ temp->mission = NPC_MISSION_NULL;
3748
+ temp->add_new_mission ( mission::reserve_random ( ORIGIN_ANY_NPC, temp->pos_abs_omt (),
3749
+ temp->getID () ) );
3750
+ g->load_npcs ();
3751
+ }
3752
+
3734
3753
static void spawn_named_npc ()
3735
3754
{
3736
3755
uilist npc_menu;
@@ -4099,6 +4118,10 @@ void debug()
4099
4118
spawn_npc ();
4100
4119
break ;
4101
4120
4121
+ case debug_menu_index::SPAWN_NPC_FOLLOWER:
4122
+ spawn_npc_follower ();
4123
+ break ;
4124
+
4102
4125
case debug_menu_index::SPAWN_NAMED_NPC:
4103
4126
spawn_named_npc ();
4104
4127
break ;
0 commit comments