🔒 SS1 EE Reactor code randomization fix

1 Guest is here.
6646bffa9a92a
JosiahJackQuote
I think there is a timer or distance check that returns the side MFD's to their previous states (I would test this to see if it is time based or distance but I'm away from my computer this weekend).  The Data Reader is a kind of "bonus" tabset.  It would technically make better sense to have it as separate tabs in the MFD sides and center.  As it is, opening the data reader (hud button, hardware inv, or pressing 8 ) causes the Data reader to hijack the MFD temporarily.  I'm wondering if your changes somehow affect the checks for when to return the hud to normal inadvertently.

Does the new archive.dat cause any problems when searching.  I'm curious if the distance check for how far away you are from a searchable (the cell it is in rather) also applies to when you activate the Data Reader and if searching has the same problem at all.
6646bffa9acdd
dertsehaQuote
Welp, analysis of a few code lines later and desperation kicks in.

It seems that any modification of the quest variables (in which also the reactor code is stored) deactivates the email reader in the side-MFD.
(For the code-curious: trigger.c::qdata_set() calls newmfd.c::mfd_notify_func() calls email.c::mfd_emailware_expose() with a 0 control value -> causing the email reader to close itself)
It is likely that this also deactivates other stuff shown in the "Item" tab, though that depends on how they react to a zero control value.

In other words, the current solution in archive.dat is not fix-able, it needs a complete revamp. (Good thing I haven't done the how-to video yet :P )

On the plus side though, I could refute a myth I had: I thought changing quest variables did not support the modulo operation - yet the codes does!
This means it should be feasible to solve this with very quick timers while hacker is still in the first room and without an email client, for all six digits.

* dertseha heads off to the editor
Acknowledged by: edx
6646bffa9addc
dertsehaQuote
* dertseha comes back from the editor

dang - I had again forgotten that the code is stored in binary-coded-decimal, and this makes things extra complicated.

I'll have to sleep over this one, perhaps I get another idea how to do all the stuff within the constraints.
6646bffa9afb0
dertsehaQuote
Phew. First I thought I could do it, then hit another roadblock, and finally had a great idea. And the solution now is elegant enough, as well as way simpler than the original one.

The new archive.dat is stored here: https://github.com/inkyblackness/mod-examples/tree/master/CitadelRNG
@voodoo47 , please update the attachment in your original post.

The code is now generated while hacker is in the first room.
The only downside of the new solution is when a player races to the far end, the code not might be randomized enough. The assumption is that the player spends a few seconds in this room before venturing forth.
Also, thanks to the incredible capabilities of "mr. gibbon", you still can fetch the email reader and encounter this "auto-turn-off" bug before leaving the room. Though, this case might be rare.
(i.e., yes, I now tested with the email reader as well :) )
Acknowledged by: edx
6646bffa9b0cf
voodoo47Quote
aand done.
Acknowledged by: dertseha

Legal stuff

Privacy Policy & Terms of Service Contact