Jaen's fortress start hidden and re-hide after you kill Jaen

This commit is contained in:
2025-05-11 09:25:49 -05:00
parent 9d47262bc4
commit 780dd3a3b9
4 changed files with 17 additions and 3 deletions

View File

@@ -270,7 +270,7 @@
pic 0, 4
ex1 -1, -1, -1
ex2 -1, -1, -1
goto -1
goto 43
@disp-msg = 39
sdf -1, -1
msg 59, 60, -1
@@ -299,3 +299,10 @@
ex1 1, 34, -1
ex2 -1, -1, -1
goto -1
@town-visible = 43
sdf -1, -1
msg -1, -1, -1
pic 0, 4
ex1 20, -1, -1
ex2 0, -1, -1
goto -1

View File

@@ -12,7 +12,9 @@
<onenter condition="dead">41</onenter>
<onexit dir="e">37</onexit>
<timer freq="50">42</timer>
<flags />
<flags>
<hidden>true</hidden>
</flags>
<wandering>
<monster>13</monster>
<monster>13</monster>

View File

@@ -72,6 +72,8 @@ void cTown::import_legacy(legacy::town_record_type& old){
specials[i].import_legacy(old.specials[i]);
difficulty = old.difficulty;
strong_barriers = defy_scrying = defy_mapping = false;
// Legacy scenarios store is_hidden in an array on scenario_data_type, so that flag is imported in cScenario::import_legacy()
}
cTown::cTown(cScenario& scenario, size_t dim) : cArea(dim), scenario(&scenario), lighting(dim, boost::dynamic_bitset<>(dim)) {

View File

@@ -90,7 +90,9 @@ public:
short spec_on_hostile;
std::array<cTimer,8> timers;
bool strong_barriers, defy_mapping, defy_scrying;
bool is_hidden, has_tavern;
// Whether the town STARTS OUT hidden.
bool is_hidden;
bool has_tavern;
short difficulty;
// Using std::array here so we can have .size()
// This'll make the transition smoother once it becomes a vector.
@@ -102,6 +104,7 @@ private:
boost::dynamic_bitset<> item_taken;
public:
std::vector<location> door_unlocked;
// Whether the town IS CURRENTLY visible.
bool can_find;
long m_killed = 0;