When a Sim dies, another Sim — in the same household or any other household — can plan and host a funeral for them at their urn or gravestone.
- Hosting a funeral costs §764, charged to the host Sim's household.
- Each attendee pays §63 to attend, charged to their own household (so guests from other households pay for themselves).
- Attendees outside the host household are summoned to the lot, given a mourning buff, and anyone (host or guest) can Give Eulogy; the host Concludes the Funeral when it's over.
Requested by Sam Crafts (@samblal) in the community Discord.
- Build or download
CommunityPoke_FuneralMod.ts4script(see Building — CI also produces it as a workflow artifact on every push). - Drop the
.ts4scriptfile into yourDocuments\Electronic Arts\The Sims 4\Modsfolder (or~/Documents/...on macOS). Keep it as a zip — do not extract it. - In game options → Game Options → Other, enable Script Mods Allowed (and Mods Allowed). Restart the game.
- No
.packagefile is needed or provided — everything is injected by script. The XML intuning/is reference documentation only and is not loaded by the game.
- The Sims 4 (any patch that runs script mods; developed against the current game API surface as of October 2026).
- Script mods enabled in game options.
- No other mod dependencies (does not require XML Injector, MCCC, S4CL, etc.).
The mod is a pure Python script mod (.ts4script = a zip of .pyc
bytecode compiled for the game's embedded Python 3.7). All English text is
generated at runtime via LocalizationHelperTuning.get_raw_text, so no
string-table (STBL) package is needed.
- Plan Funeral… — click any urn or gravestone (the game's
internal name is urnstone; the mod also accepts keywords
gravestone,tombstone,headstone) while the deceased Sim's remains are on the lot. Can also be reached by clicking a living Sim if an urnstone exists on the zone (the interaction is injected on both).- Available only if the host's household can afford §764 and no funeral is already running on that lot.
- Invite Mourners — a sim-picker dialog lists the deceased's household members and relationship contacts that are alive. Each row shows whether that Sim's household can afford the §63 attendance fee; Sims who can't afford it are shown but can't be selected (configurable). Picking nobody is allowed — a private funeral still happens.
- Charges — on confirmation the host household is charged §764 and each selected attendee's own household is charged §63. If any charge fails the mod skips that attendee rather than blocking the funeral.
- During the funeral — attendees from other lots are summoned via
SimSpawner.load_sim, mourners receive a sadness/mourning buff if one is found in tuning, and Give Eulogy (on the urnstone) becomes available to the host and attendees. - Conclude Funeral — the host ends the event from the urnstone or their own Sim menu; a summary notification reports how many mourners attended and how many eulogies were given.
With TestingCheats enabled (Ctrl+Shift+C → testingcheats on):
funeral.prices— print the configured fees.funeral.status— print whether a funeral is active on this lot and who the host/deceased are, plus a one-line debit summary.funeral.end— force-end the active funeral on this lot (if any).funeral.verify— self-check. Reports whether the pie-menu injection ran, which tuned objects carry Plan Funeral right now (and which keyword-matched objects are missing it), whether the fees are the expected §764/§63, whether a mourning buff was found, the active funeral's state, and a summary of every debit attempted.funeral.plan— dump the active funeral's plan: attendee ids, which attendees actually paid, eulogy count, and the recent debit records (household funds before → after for every charge, markedverifiedwhen the balance dropped by exactly the fee).funeral.money— household funds of the selected Sim plus every host/attendee of the active funeral, with affordability flags.funeral.attendees— dry-run of the invite picker for the selected Sim: every candidate row with their household balance and whether §63 is affordable.funeral.objects [word]— scan tuned OBJECT names. With no argument it lists urn/grave/sim/phone-ish objects and marks which carry Plan Funeral; with a word it lists every name containing it (e.g.funeral.objects urn).funeral.debug on|info|off— toggle the file log (funeral.debugalone prints status and the file path).funeral.log— print the last 30 lines of the debug log file.
The mod writes funeral_mod_debug.log next to the .ts4script inside
your Mods folder (falling back to the game's working directory). It
records every charge with the household balance before and after —
the quickest way to confirm the §764 host fee and each §63 attendee fee
actually moved — plus injection results, picker outcomes, summons, buffs
and eulogies. funeral.debug off silences it; funeral.debug info
keeps lifecycle events but drops per-click chatter. Attach this file to
any bug report.
If Plan Funeral does not appear in a menu: run funeral.verify
first — affordance injection ran: False, a NOT INJECTED Sim object,
or an empty carriers list each identify a different failure stage.
funeral.objects shows whether the urn/gravestone you're clicking is
among the tuned objects the mod injected into (pack-specific or CC
remains may use names outside FUNERAL_OBJECT_NAME_KEYWORDS — extend
the keyword list in config.py and rebuild).
All settings live in src/funeral_mod/config.py as class attributes on
FuneralConfig. To change them, edit the file and rebuild the
.ts4script (there is no in-game settings UI).
| Option | Default | Meaning |
|---|---|---|
HOST_FEE |
764 |
§ charged to the host's household |
ATTENDEE_FEE |
63 |
§ charged to each attendee's own household |
MAX_ATTENDEES |
12 |
Cap on invited guests |
SHOW_UNAFFORDABLE_ATTENDEES |
True |
Show broke guests in the picker (greyed out); False hides them |
SUMMON_ATTENDEES |
True |
Teleport off-lot guests onto the lot |
FUNERAL_OBJECT_NAME_KEYWORDS |
urn/gravestone keywords | Tuned-object class names that get the interactions |
MOURNING_BUFF_KEYWORDS |
('mourn', 'sad') |
Buff names searched for the mourning mood |
MOURN_INTERACTION_KEYWORDS |
('mourn', 'grieve') |
Reserved for future use |
DEBUG_LOGGING |
True |
Write funeral_mod_debug.log beside the mod (toggle live with funeral.debug) |
DEBUG_VERBOSE |
True |
Also log per-click chatter (menu tests, picker rows) |
DEBUG_LOG_FILENAME |
funeral_mod_debug.log |
Debug log file name |
PHONE_OBJECT_NAME_KEYWORDS |
('phone', 'cellphone', 'smartphone') |
Tuned-object names that also get the Sim funeral affordances (phone-menu reach, best effort) |
# With Python 3.7 (recommended — produces game-matching .pyc):
docker run --rm -v "$PWD":/work -w /work python:3.7-slim \
python tools/build_ts4script.py
# Or with any Python 3 (falls back to .py sources inside the zip,
# which the game compiles on import):
python3 tools/build_ts4script.pyOutput: build/CommunityPoke_FuneralMod.ts4script
python3 -m unittest discover -s tests -v42 unit tests cover the pure-Python economy logic (the §764/§63 rules,
affordability, charge planning, attendee dedup/capping) and the devtools
formatters/debit records/log writer (tests/test_devtools.py) —
everything that can be tested without the game. tests/test_logic.py
doubles as a spec for the required pricing. python -m compileall -q src
gates the source to Python 3.7-compatible syntax in CI (which runs the
suite on both ubuntu-latest and macos-13, and publishes the
.ts4script to Releases when a v* tag is pushed).
This mod was built and verified against the decompiled Sims 4 Python
API (funds, UiSimPicker, ImmediateSuperInteraction, Ghost
urnstones, SimSpawner, tuned-object injection) plus established
community patterns (TURBODRIVER/Lot51 injection). No in-game testing was
performed — there is no Sims 4 install available in the build
environment. Concretely unverified:
- Whether the interaction actually appears on urns/gravestones/Sims in
the pie menu (the keyword matching on tuned object names may need
tweaking for specific packs/CC urnstones). Run
funeral.verifyin the cheat console — it lists exactly which objects carry the interaction and which matched objects are missing it. - Whether
UiSimPickerrenders exactly as tuned and returns the expected result tags. - Real money debit for other households relies on
FamilyFunds.try_remove(..., sim=None)debiting that household — the decompiled code says it does, but it's untested live.funeral.planandfuneral_mod_debug.logshow the observed household balance before→after for every debit, flaggedverifiedwhen the drop matches the fee. - Summoning, mourning buffs, and notification timing during an actual play session.
- Behavior when the host travels/moves during a funeral (zone reloads
are guarded by
sims4.reload.protected, but not exercised).
If you test in-game, please report findings as a GitHub issue — good or
bad — and attach funeral_mod_debug.log plus the output of
funeral.verify.
MC Command Center (Deaderpool) is a closed-source mod distributed only
as compiled .ts4script/.package files, with no public module API,
plugin interface, or documented hook for third-party content — its
Sim/computer menus are populated internally by its own modules. There is
therefore no supported way to put Plan Funeral inside the
"MC Command Center" pie menu, and unofficially monkey-patching MCCC's
internal classes would break on every MCCC update, so this mod
deliberately does not attempt it.
What is available without MCCC integration:
- Plan/Conclude Funeral are injected onto Sims themselves (same menu level where MCCC's entry lives), onto urns/gravestones, and — best effort — onto phone objects, so no MCCC menu is needed to reach them.
- All
funeral.*cheat commands work alongside MCCC's ownmc_*console commands; the two mods do not interact or conflict (they touch different affordances and tunings). - If a future MCCC release ever ships a documented third-party module
interface,
tuning/+interactions.pyare structured so a menu entry could be contributed then.
src/funeral_mod/ mod source (Python 3.7-compatible)
tests/ unittest suite for pure logic
tools/build_ts4script.py packaging script
tuning/ reference XML (documentation only, not loaded by game)
.github/workflows/ CI: syntax gate, tests, package, artifact
build/ built .ts4script (git-ignored)
Built by the community for Sam Crafts. Free to use, modify, and share.