michael
297fbcdb93
fix(again): shadow set_tag directly on the SmartTagSystem INSTANCE (rawset) — three class-table hook attempts all provably missed the instance call path (marker nil, counter 0, zero fires); instance shadow also re-arms per mission since systems are recreated
2026-10-03 16:03:37 -04:00
michael
5ab17ac22e
change: remove omni auto-hack range cap (companion decoding costs the player no charges per user; nearest decoding objective anywhere wins, 30s per-object retry blacklist still guards loop-de-loop)
2026-10-03 15:52:02 -04:00
michael
ab5ff1ee49
fix: omni auto-hack retargeted at DECODING OBJECTS (_target_type=='hack' + interactee can_interact) — per cryptic_double_tag_settings the companion hack template applies to data-interro objectives, NOT enemies (enemy double-ping = shooting tag, already covered by marking); validates the exact same way the game's own double-ping resolver does
2026-10-03 15:50:37 -04:00
michael
1479b62a61
debug: hook wrapper stamp (marker field on fn) + unconditional fire-counter — engine stubs tostring(function) so pointer traces were blind; counters settle whether wrapper is on the call path at all
2026-10-03 15:45:56 -04:00
michael
c274d177ec
fix: hook the real class table via metatable.__index (getmetatable may return a wrapper whose raw fields are invisible to instance lookups) + pointer-trace diag to prove hook actually sits on the call path
2026-10-03 15:37:48 -04:00
michael
dfcafb9f4a
debug: one-shot hook-fire trace (is_server/flag state inside wrapped set_tag) — last run: hook installed OK, tag created-then-gone or branch-skipped, console shows zero SmartTagSystem warnings, ambiguous
2026-10-03 15:31:19 -04:00
michael
33bdc872b2
feat: bypass host-side look-check by replicating set_tag's accept-branch in a hook (source from Darktide-Source-Code dump: gate is _tagger_is_looking_at_target dot-0.75 cone + LOS sweep inside set_tag/handler; everything after is _generate_tag_id/_create_tag_locally/group-limit/rpc — reproduced verbatim for flagged auto-hack targets, pcall-guarded with vanilla fallback); replaces never-installed spoof attempt
2026-10-03 15:23:52 -04:00
michael
ac79578c19
fix: install spoof hook lazily from a live extension instance (getmetatable/__index) — CLASS-registry scan at mod load found nothing because extension classes register later; failure path now dumps class keys for next diagnosis
2026-10-03 15:21:13 -04:00
michael
e62d6dc6e8
feat: spoof _contextual_tag_template_name for the flagged auto-hack target — tagcheck proved the game silently rejects off-LOS set_tag (27/29 tag_applied=false); the game re-validates tags through this forward-LOS check, so flagging the chosen unit's extension makes its own validation accept the order
2026-10-03 15:13:50 -04:00
michael
e98d5e166e
debug: OMNI-HACK tagcheck — 1s after each auto set_tag, log whether the tag actually applied and whether skull entered hacking state (selection itself confirmed working: 16 picks incl 7m; skull only flies on-screen targets) + blacklist entries carry breed name
2026-10-03 15:05:46 -04:00
michael
15994ed04e
debug: sample per-candidate distances when filter matches but nothing within OMNI_HACK_RANGE (measured: enemies=8-10 yet selected=nil all mission — suspect NaN/long distances from position reads)
2026-10-03 14:52:21 -04:00
michael
2cabef7661
feat: omni auto-hack picks target itself (measured: game's _contextual_tag_template_name is forward-LOS gated — hackable=0 all session even under crosshair); nearest filtered enemy breed within 45m, direct set_tag, 30s per-unit retry blacklist
2026-10-03 14:43:21 -04:00
michael
5334580fd3
fix: diagnostics write to mods/AutoMark/diag_log.txt — printf is not a Lua sandbox global (nil call crashed the hook every tick once debug_mode was on) and DMF :info spams notifications; pcall-guarded mod:diag via Mods.lua.io
2026-10-03 14:25:13 -04:00
michael
a9fa06e6f8
chore: ignore .opencode/ workspace dir
2026-10-03 14:17:43 -04:00
michael
d4290329d7
docs: README crediting upstream AutoMark v2.5.3 (Shui Yu), fork by Nacho Replay; info.json 2.5.3-fork1 with source URL; gitignore AGENTS.md
2026-10-03 14:16:49 -04:00
michael
b16a9cc8df
fix: route OMNI/HACK diagnostics through raw engine printf — DMF :info also fires on-screen notifications and spammed chat
2026-10-03 14:10:07 -04:00
michael
0ba1d73ba4
fix: capacitance retention thresholds were mislabeled 'percent' (-1000..1000) — values are compared to remaining ability charges; relabel to charge(s), range -10..10, rewrite tooltip in plain English (+zh)
2026-10-03 14:07:05 -04:00
michael
f41ef1793e
debug: OMNI-HACK-DIAG probe — dump hack-tag template fields + hackable-vs-total unit counts (debug_mode-gated) to locate why omni auto-hack doesn't fire off-LOS
2026-10-03 14:07:05 -04:00
michael
32994520bb
feat: auto-hack is 360-aware — with omni_mark on, pick nearest hackable unit from smart-tag registry instead of crosshair-scoped HUD markers
2026-10-03 07:24:54 -04:00
michael
bd8b3f2f72
fix: 360 omni marking now enumerates smart-tag registry instead of physics sweep
...
linear_sphere_sweep returns only a capped hit table (no count) and its
slots flood with world-geometry actors, starving real enemies behind the
player (crash: nil num_hits compare; then silent no-marks). Candidates
now come from smart_tag_system._unit_extension_data (alive, breed-typed,
in range) — geometry can't interfere, LOS gates still apply unless
omni_mark_ignore_los. OMNI-DIAG candidate/reject logging kept, gated on
debug_mode.
2026-10-03 07:15:32 -04:00
michael
791c68b64e
chore: make breed dump silent (debug-mode logging only, file still refreshed each boot)
2026-10-03 06:18:09 -04:00
michael
79ec73506f
notes: live breed dump 2026-10-03 (verified all hardcoded breed names current; new boss-tier: renegade_twin_captain x2, renegade_wizard — auto-covered by generic boss handling)
2026-10-03 06:16:38 -04:00
michael
57ba90fe71
fix: sandbox strips standard io, use Mods.lua.io (DMF engine backup); pcall the load-time dump
2026-10-03 06:13:50 -04:00
michael
5862b9194f
feat: 360-degree omni marking option
...
- omni_mark: full-sphere sweep (linear_sphere_sweep capsule covering max_range
around the player) replaces the forward-only ping raycast, so enemies behind
you / off-screen become mark candidates
- omni_mark_ignore_los: optional sub-toggle, skips line-of-sight checks entirely
- prefer nearest unit on score ties (sweep hit order is arbitrary)
- bypass FOV dot gate in is_target_pingable when omni_mark is on
- LOS check budget 10 -> 16 per frame
2026-10-03 06:09:31 -04:00
michael
a2de1dfd1d
dev: dump live game breeds to breed_dump.txt on mod load (for post-update enemy table diffing)
2026-10-03 06:09:31 -04:00
michael
41a999f7d7
Upstream AutoMark v2.5.3 (Shui Yu, Nexus #736 ) baseline
2026-10-03 06:04:57 -04:00