Wiki / Player Guide / Missions / Iunet

Iunet — The Defense of Egypt

Mission
16 of 38 — choice A of the Iunet / On pair
Era
Old Kingdom · Dynasty 4 · Pharaoh Khufu
Classical name
Dendera (Tentyris) — briefing popup uses "Dendera"
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 8% (pak) Hard 10% Very Hard 12%
Deities
Ra · Seth · Bast (pak)
Trade
Buhen (land 480) · Selima (land 820) · Kerma (sea 870) · Dahshur (sea 620) · Byblos (sea 1400) — closed; Men-nefer unlock on fish ok; Abu unlock on meat ok
Previous mission
North Dahshur
Next mission
Rostja (18) — Iunet / On converge there
Status
Choice A Implemented

Briefing

History panel (message_history_iunet) and briefing popup (message_mission_dendera):

Pharaoh Khufu has taken the throne, and, as foretold by the seers of Horus and Ra, our people have already begun to suffer under his oppression. Khufu has ordered that a Royal Governor be dispatched at once to Iunet, to defend our land against Kushite invaders.

Iunet can support a small fishing industry. If the Kushites invade by water, the river may become unsafe for fishing boats, and shore areas may be better used to support a fleet of warships. If food becomes scarce, cattle may be raised for meat, though the herds require much straw for fodder — straw you will also need to make bricks for your mastaba.

The finest ivory may be obtained via Byblos, trading with Assyria and Ur. And Pharaoh has ordered countless quarries dug at On — it is rumored he plans a colossal building project on the plateau outside Rostja.

Pak vs briefing: scenario enemy is Hittite (ENEMY_4_HITTITE), not Kushite. Briefing text still mentions Kushites.

Objectives

Goals match mission1.pak scenario 16.

Scripted events

Full empire redefine verified against pak scenario 16 (2026-07-26). Empire id 1. Enemy Hittite. Favour Pharaoh 15→45→30→30.

Year 1Pharaoh fish ×4 / 12 months → ok opens Men-nefer trade; refuse/late KR−10.
Year 3 · month 2Meat ×2 / 12 months → ok KR+10 then opens Abu trade; refuse −10; late −5 then Hittite×10 (if not already fired).
Year 4Hittite raid size 10; clay flood (7% of pits).
Year 5 · month 2Pottery ×15 / 12 months.
Year 5 · month 10Hittite size 20.
Year 8Hittite size 32.
Year 10 · month 5Limestone ×15 → ok meat gift ×15; refuse KR−40 then Egyptian army ×24.
Year 16 · month 10Hittite size 48 → wipe KR+10 / flee KR−10.
Favour collapsePharaoh army 15 → 45 → 30 → 30.

Strategy

Population 4 000, housing 16, and escalating Hittite pressure around a single mastaba. Open Dahshur for straw; Byblos for luxury/timber.

Phase 1 — Food

Fishing for the year-1 fish ask; cattle for meat ×2. Import straw from Dahshur.

Phase 2 — Mastaba and exports

Granite quarry + gold mines; small mastaba rating 9. Pottery industry before y5.

Phase 3 — Defense

Hittite waves at y4 / y5m10 / y8 / y16. Keep walls, academy, and companies. Sea invasion points exist (naval landings still land-proxied).

Tips

Available buildings

All buildings are available from mission start. Religion: Ra, Seth, Bast (no Osiris/Ptah).

Developer reference

Paths relative to repository root.

Mission script — src/scripts/mission/m_016_iunet.js
mission16 {
  player_rank : 6
  next_mission : 18
  // funds Normal 10000 / loan 2500 / debt 8%
  // pop 4000, culture 30, prosperity 30, monuments 9, kingdom 65, housing 16
}

Empire id 1 via empire.set_id(1). Enemy ENEMY_4_HITTITE.

Event handlers — m_016_iunet.js
  • event_mission_startempire.set_id(1); Hittite; wire KR leaves.mission16_on_start
  • Requestsfish×4 y1; meat×2 y3m2 (late→hittite×10); pottery×15 y5m2; limestone×15 y10m5.mission16_event_i0/i4/i10/i14_*
  • Request clearedlimestone refuse→egypt×24; meat/pottery late→hittite×10 (event_request_cleared).mission16_on_request_cleared
  • Hittite + clay + favoursize 10/20/32/48 (×48 bind KR±10); clay 7% y4m1; favour 15→45→30→30.mission16_event_i8/i12/i13/i17 / favour
Game messages
KeyIDWhen shown
message_history_iunet216History briefing
message_mission_dendera416start_message popup
Known deviations from the original (tracked)
  • Briefing “Kushite” vs pak Hittite enemy — pak wins.
  • NEW_TRADE i=1/6 — pak city=Iunet + ok=999/99 junk; remapped to Men-nefer (fish ok) / Abu (meat ok) with filled sells/buys.
  • Invasion i=3 amount=0 skipped.
  • Egypt×24 on limestone refuse / Hittite×10 on meat|pottery late — JS via event_request_cleared; EVENT_TYPE_INVASION chain child still no-op. Smoke: tests/170_iunet_request_outcomes.js (B13a).
  • Shared leaf 1011 (pottery ok KR+10 ≡ Hittite×48 wipe) re-fires — engine clone-on-fire (B14). Smoke: tests/177_shared_leaf_refire.js.
  • Orphan route 15 / empty map_obj idx=9 skipped; Saqqara/Nekhen route 5/8 have no polyline.
  • Naval landings still land-army proxy.
  • Favour invasions JS-proxied (B2 calendar native cancelled).