Skip to content

Commit

Permalink
Overmap bugfixes (#47071)
Browse files Browse the repository at this point in the history
  • Loading branch information
Venera3 authored Jan 28, 2021
1 parent adc031f commit 9dde4db
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 15 deletions.
2 changes: 1 addition & 1 deletion data/json/npcs/Lighthouse_Family/NPC_lighthouse_man.json
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@
"difficulty": 0,
"value": 5000,
"start": {
"assign_mission_target": { "om_terrain": "lighthouse_ground", "reveal_radius": 10 },
"assign_mission_target": { "om_terrain": "lighthouse_ground", "reveal_radius": 10, "search_range": 360 },
"update_mapgen": [
{
"om_terrain": "lighthouse_ground",
Expand Down
17 changes: 11 additions & 6 deletions data/json/npcs/missiondef.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"value": 50000,
"start": {
"effect": [ "follow", { "u_buy_item": "sarcophagus_access_code" } ],
"assign_mission_target": { "om_terrain": "haz_sar_1_1", "om_special": "Hazardous Waste Sarcophagus", "reveal_radius": 3 }
"assign_mission_target": { "om_terrain": "haz_sar_1_1", "om_special": "Hazardous Waste Sarcophagus", "reveal_radius": 3, "search_range": 360 }
},
"origins": [ "ORIGIN_SECONDARY" ],
"destination": "haz_sar_b_1",
Expand Down Expand Up @@ -124,7 +124,10 @@
"difficulty": 2,
"value": 150000,
"item": "black_box_transcript",
"start": { "effect": { "u_buy_item": "black_box" }, "assign_mission_target": { "om_terrain": "lab", "reveal_radius": 3 } },
"start": {
"effect": { "u_buy_item": "black_box" },
"assign_mission_target": { "om_terrain": "lab", "reveal_radius": 3, "search_range": 360 }
},
"origins": [ "ORIGIN_SECONDARY" ],
"followup": "MISSION_EXPLORE_SARCOPHAGUS",
"dialogue": {
Expand Down Expand Up @@ -329,7 +332,7 @@
"item": "software_blood_data",
"start": {
"effect": [ { "u_buy_item": "vacutainer" }, { "u_buy_item": "usb_drive" } ],
"assign_mission_target": { "om_terrain": "hospital_2", "om_special": "hospital", "reveal_radius": 3 }
"assign_mission_target": { "om_terrain": "hospital_2", "om_special": "hospital", "reveal_radius": 3, "search_range": 360 }
},
"origins": [ "ORIGIN_SECONDARY" ],
"dialogue": {
Expand All @@ -352,7 +355,9 @@
"difficulty": 2,
"value": 150000,
"item": "etched_skull",
"start": { "assign_mission_target": { "om_terrain": "cabin_strange", "om_special": "Strange Cabin", "reveal_radius": 3 } },
"start": {
"assign_mission_target": { "om_terrain": "cabin_strange", "om_special": "Strange Cabin", "reveal_radius": 3, "search_range": 360 }
},
"origins": [ "ORIGIN_SECONDARY" ],
"followup": "MISSION_INVESTIGATE_PRISON_VISIONARY",
"dialogue": {
Expand All @@ -376,7 +381,7 @@
"value": 150000,
"item": "visions_solitude",
"start": {
"assign_mission_target": { "om_terrain": "prison_1_4", "om_special": "Prison", "reveal_radius": 3 },
"assign_mission_target": { "om_terrain": "prison_1_4", "om_special": "Prison", "reveal_radius": 3, "search_range": 360 },
"update_mapgen": { "om_terrain": "prison_1_4", "place_item": [ { "item": "visions_solitude", "x": 15, "y": 22 } ] }
},
"origins": [ "ORIGIN_SECONDARY" ],
Expand Down Expand Up @@ -601,7 +606,7 @@
"difficulty": 1,
"value": 0,
"start": {
"assign_mission_target": { "om_terrain": "s_air_hangars", "reveal_radius": 5, "om_special": "o_airport", "search_range": 100 }
"assign_mission_target": { "om_terrain": "s_air_hangars", "reveal_radius": 5, "om_special": "o_airport", "search_range": 360 }
},
"origins": [ "ORIGIN_GAME_START" ]
},
Expand Down
4 changes: 3 additions & 1 deletion data/json/npcs/necropolis/NPC_Old_Guard_Captain.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,9 @@
"difficulty": 5,
"value": 250000,
"monster_type": "mon_charred_nightmare",
"start": { "assign_mission_target": { "om_terrain": "necropolis_c_44", "om_special": "Necropolis", "z": -2 } },
"start": {
"assign_mission_target": { "om_terrain": "necropolis_c_44", "om_special": "Necropolis", "z": -2, "search_range": 360 }
},
"monster_kill_goal": 20,
"origins": [ "ORIGIN_SECONDARY" ],
"dialogue": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -631,7 +631,7 @@
"value": 50000,
"item": "commune_prospectus",
"start": {
"assign_mission_target": { "om_terrain": "ranch_camp_67", "reveal_radius": 1 },
"assign_mission_target": { "om_terrain": "ranch_camp_67", "reveal_radius": 1, "search_range": 360 },
"update_mapgen": {
"place_npcs": [
{ "class": "ranch_foreman", "x": 16, "y": 15, "target": true, "add_trait": "NPC_MISSION_LEV_1" },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
"difficulty": 5,
"value": 50000,
"start": {
"assign_mission_target": { "om_terrain": "bandit_cabin", "om_special": "bandit_cabin", "reveal_radius": 1 },
"assign_mission_target": { "om_terrain": "bandit_cabin", "om_special": "bandit_cabin", "reveal_radius": 1, "search_range": 360 },
"update_mapgen": {
"set": [
{ "point": "trap", "id": "tr_landmine_buried", "x": 7, "y": 6 },
Expand Down
2 changes: 1 addition & 1 deletion data/json/npcs/robofac/NPC_ROBOFAC_MERC_1.json
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@
"difficulty": 0,
"value": 0,
"start": {
"assign_mission_target": { "om_terrain": "robofachq_surface_entrance", "om_special": "hub_01", "reveal_radius": 1, "search_range": 90, "z": 0 }
"assign_mission_target": { "om_terrain": "robofachq_surface_entrance", "om_special": "hub_01", "reveal_radius": 1, "search_range": 360, "z": 0 }
},
"end": {
"effect": [
Expand Down
7 changes: 3 additions & 4 deletions src/overmap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -412,13 +412,12 @@ void overmap_specials::finalize()

void overmap_specials::check_consistency()
{
const size_t max_count = ( OMAPX / OMSPEC_FREQ ) * ( OMAPY / OMSPEC_FREQ ) / 2;
const size_t max_count = ( OMAPX / OMSPEC_FREQ ) * ( OMAPY / OMSPEC_FREQ );
const size_t actual_count = std::accumulate( specials.get_all().begin(), specials.get_all().end(),
static_cast< size_t >( 0 ),
[]( size_t sum, const overmap_special & elem ) {
return sum + ( elem.flags.count( "UNIQUE" ) == static_cast<size_t>( 0 ) ? static_cast<size_t>
( std::max(
elem.occurrences.min, 0 ) ) : static_cast<size_t>( 1 ) );
return sum + ( elem.flags.count( "UNIQUE" ) ? static_cast<size_t>( 0 ) : static_cast<size_t>( (
std::max( elem.occurrences.min, 0 ) ) ) ) ;
} );

if( actual_count > max_count ) {
Expand Down

0 comments on commit 9dde4db

Please sign in to comment.