Wiki / Player Guide / Missions / South Dahshur

South Dahshur — Snofru's Bent Pyramid

Mission
14 of 38 — choice B of the Buhen / South Dahshur pair
Era
Old Kingdom · Dynasty 4 · Pharaoh Snofru
Classical name
Dahshur (royal necropolis south of Saqqara)
Starting funds
Very Easy 20 000 Db Easy 13 300 Db Normal 10 000 Db (pak) Hard 6 700 Db Very Hard 5 300 Db
Debt interest
Normal 20% (pak) Hard 25% Very Hard 30%
Deities
Osiris · Ra · Ptah (pak)
Trade
Selima Oasis (land 900) · Abu (sea 650) · Meidum (sea 300) · Serabit Khadim (land 800) — all closed at start; Men-nefer display-only
Previous mission
Serabit Khadim or Meidum
Next mission
North Dahshur (15) — not yet scripted
Status
Choice B Implemented

Briefing

The mission opens with the history panel (message_history_south_dahshur) and the briefing popup (message_mission_south_dahshur):

Our new Pharaoh, Snofru, is determined that this, the fourth dynasty, be remembered as the greatest ever to rule Egypt. His architects have contrived a tomb even more spectacular than the stepped pyramid of Huni, and Pharaoh wishes you to oversee its construction. You will need to establish a fair-sized settlement south of Dahshur, the site for Pharaoh's bent pyramid.

The bent pyramid is to be constructed of a plain stone core, and faced with fine white limestone, that it may forever shine under the desert sun. You will find sufficient quantities of limestone at Dahshur, but you'll need to import the necessary amount of plain stone.

Precious gemstones may be obtained from a recently established Egyptian outpost at Serabit Khadim, in the land of Sinai. Lately the supply has become erratic, due to unrelenting Bedouin and Canaanite attacks.

Dahshur is the royal necropolis south of Saqqara where Snofru built the Bent Pyramid — so called because its angle changes partway up, a mid-construction correction that makes it the transitional monument between step and true pyramids. In the campaign this is the builder branch of the Snofru fork: a peaceful construction mission where the whole city exists to feed the pyramid stone and limestone.

Objectives

All goals match mission1.pak scenario 14 (2026-07-26 dump).

Note: the Medium Bent Pyramid uses the original bent_pyramid art pack. A finished medium bent (weight 8) gives rating 22 under the additive formula — enough for the pak goal of 21. Per-type monument weights are still placeholders pending weight recalibration.

Scripted events

Full empire redefine + event schedule verified against pak scenario 14. Empire id 13 (same fork map as Buhen). Scenario enemy is Hyksos (ENEMY_5_HYKSOS); there are no timed enemy raids — only Pharaoh's favour punishment (size 49 → 21) if kingdom rating collapses. Favour / invasions stay JS-proxied until B2-migrate.

Year 1 · month 6Oil ladder root: 500 oil / 12 months. Success KR steps chain further oil asks (1 000 → 2 000 → 4 000); refuse/late branches escalate amounts up to 8 000 and eventually land on CITY_UNDER_SIEGE Dahshur → Byblos falls → copper/gems price & demand cascade.
Year 2 · month 10+Recurring Pharaoh request: 10 grain / 24 months (idle-gated). Completing +8 kingdom; refuse −8; late −4.
Year 4 · month 8Limestone ×32 / 24 months → ok: KR+8 then stone gift ×64; refuse: KR−15 then stone demand −8; late: KR−5 then stone gift ×32.
Year 5+Recurring wage decrease (−1) every year from year 5.
Favour collapsePharaoh army size 49, then chained size 21 (Egyptian troops, random target).

Strategy

Everything here serves the pyramid. Culture is not scored, so effort goes into food (for 3 500 people), stone/limestone, housing level 19, and keeping kingdom rating off the floor while the oil ladder and grain requests fire.

Phase 1 — Food and settlement

Grain and fig farms on the floodplain plus Water Lifts and Irrigation Ditches support a large population. Build housing early — 3 500 citizens plus a high housing-level goal need long evolution time.

Phase 2 — Stone, limestone, trade

Limestone is quarried locally; plain stone comes from Meidum (sea, cheap to open at 300). Serabit Khadim sells gems/copper; Selima Oasis sells luxury goods and timber. Export pottery/limestone for income. Open trade before the oil ladder amounts become crushing.

Phase 3 — The pyramid

Lay out the medium bent pyramid early — it is the win condition and takes years of deliveries. Keep stone imports steady. Do not let kingdom rating hit zero: favour drops a size-49 Pharaoh army.

Tips

Available buildings

All buildings are available from mission start:

CategoryBuildings
Housing & roadsVacant Lot · Clear Land · Road · Road Block · Low Bridge · Ferry
MunicipalFirehouse · Architect's Post · Police Station · Village Palace · Personal Mansion · Tax Collector · Courthouse
HealthWater Supply · Apothecary · Physician · Mortuary
Food & farmingGrain Farm · Figs Farm · Hunting Lodge · Water Lift · Irrigation Ditch · Bazaar · Granary · Storage Yard
Raw materialsLimestone Quarry · Stone Quarry · Clay Pit
IndustryBricks · Pottery · Brewery · Papyrus · Weaver · Jewels Workshops · Work Camp
MonumentsSmall / Medium Bent Pyramid · Small / Medium Mastaba
GuildsStonemasons' · Carpenters' · Bricklayers'
MilitaryRecruiter · Weaponsmith · Military Academy · Infantry / Archers / Charioteers Fort
ReligionTemples & Shrines of Osiris, Ptah, Ra · Festival Square
EducationScribal School · Library
EntertainmentBooth · Juggler School · Bandstand · Conservatory · Pavilion · Dance School
BeautificationSmall / Medium / Large Statue · Gardens · Plaza

Developer reference

All paths are relative to the repository root.

Mission script — src/scripts/mission/m_014_south_dahshur.js

Imported by src/scripts/missions.js. Key parts of the mission14 { … } block:

mission14 { // South Dahshur — Snofru's Bent Pyramid
  player_rank : 5
  next_mission : 15          // converges on North Dahshur (not scripted yet)

  // pak Normal funds=10000 loan=3500 debt_interest=20 → int_dcy (verified)
  initial_funds [20000, 13300, 10000, 6700, 5300]
  debt_interest [10, 15, 20, 25, 30]

  // pop 3500, culture off, prosperity 25, monuments 21, kingdom 50, housing 19
  win_criteria {
    population    { enabled : true, goal : 3500 }
    culture       { enabled : false }
    prosperity    { enabled : true, goal : 25 }
    monuments     { enabled : true, goal : 21 }
    kingdom       { enabled : true, goal : 50 }
    housing_level { enabled : true, goal : 19 }
  }
}

No choice[]: second arm of the fork from mission 11/12; both set next_mission : 15. Empire id 13 via empire.set_id(13) with full hide_pak_* redefine (four openable traders + Men-nefer display + nine other display cities).

Event handlers — m_014_south_dahshur.js
  • event_mission_startStart message; empire.set_id(13); ENEMY_5_HYKSOS; wire oil / limestone / grain chain leaves.mission14_on_start
  • Oil ladder (i=2…8)y1m6 oil×500 root; chain-only asks 1000/2000/4000/8000; refuse/late → siege Dahshur → Byblos fell → copper/gems cascade.mission14_event_i2_oil_request / mission14_ensure_oil_ladder_leaves
  • Grain recurring (i=9)y2m10+ grain×10/24mo, idle-gated, Pharaoh sender.mission14_event_i9_grain_recurring
  • Limestone once (i=10)y4m8 limestone×32 → stone gift / demand leaves.mission14_event_i10_limestone_request
  • Wage decrease (i=11)y5m0+ amount 1 recurring.mission14_event_i11_wage_decrease
  • Favour (i=37→38)Pharaoh army 49→21 via shared helper.mission14_pharaoh_favour_invasion

Dump: __test_mission_pak_dump(14) / Cleop mission1.pak (ad-hoc test deleted after verification).

Game messages — src/scripts/game_messages_en.js
KeyIDLineWhen shown
message_history_south_dahshur2142653History briefing (subtitle "Snofru's Bent Pyramid")
message_mission_south_dahshur4144914start_message — first popup on mission load

Audio: Voice/Mission/214_mission.mp3 and Voice/Mission/214_victory.mp3.

Known deviations from the original (tracked)
  • Monument weights: goal 21 is the pak raw value; finished medium bent → rating 22 under the additive formula. Per-type weights will be recalibrated later.
  • Clay floods i=0/1/12/13 skipped: all year=24 editor junk.
  • Route 5 (Men-nefer): pak has no polyline — 2-point stub + deviation from Dahshur to Men-nefer.
  • map_obj idx=10 empty stub skipped.
  • Oil ladder end: completing the final KR+16 leaf also chains into CITY_UNDER_SIEGE Dahshur (pak wiring copied faithfully — odd for a success path).
  • Favour invasions JS-proxied until B2-migrate (no timed Hyksos raids in this scenario).
  • Next mission 15 (North Dahshur) is not scripted yet; the campaign currently ends after a win here.