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).
- Population3 500 citizens
- Culture ratingnot required
- Prosperity rating25
- Monument rating21 — complete the Medium Bent Pyramid
- Kingdom rating50
- Housing level19
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.
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
- Import plain stone in bulk before upper pyramid phases — a full Storage Yard prevents stalls.
- Oil amounts in the ladder are enormous (pak values) — stockpile oil or refuse carefully; the refuse path sieges Dahshur and collapses Byblos trade flavor.
- Prosperity 25 and housing 19 need gems/jewelry from Serabit Khadim and evolved homes.
Available buildings
All buildings are available from mission start:
| Category | Buildings |
|---|---|
| Housing & roads | Vacant Lot · Clear Land · Road · Road Block · Low Bridge · Ferry |
| Municipal | Firehouse · Architect's Post · Police Station · Village Palace · Personal Mansion · Tax Collector · Courthouse |
| Health | Water Supply · Apothecary · Physician · Mortuary |
| Food & farming | Grain Farm · Figs Farm · Hunting Lodge · Water Lift · Irrigation Ditch · Bazaar · Granary · Storage Yard |
| Raw materials | Limestone Quarry · Stone Quarry · Clay Pit |
| Industry | Bricks · Pottery · Brewery · Papyrus · Weaver · Jewels Workshops · Work Camp |
| Monuments | Small / Medium Bent Pyramid · Small / Medium Mastaba |
| Guilds | Stonemasons' · Carpenters' · Bricklayers' |
| Military | Recruiter · Weaponsmith · Military Academy · Infantry / Archers / Charioteers Fort |
| Religion | Temples & Shrines of Osiris, Ptah, Ra · Festival Square |
| Education | Scribal School · Library |
| Entertainment | Booth · Juggler School · Bandstand · Conservatory · Pavilion · Dance School |
| Beautification | Small / 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
| Key | ID | Line | When shown |
|---|---|---|---|
message_history_south_dahshur | 214 | 2653 | History briefing (subtitle "Snofru's Bent Pyramid") |
message_mission_south_dahshur | 414 | 4914 | start_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.