mnalis / ironseed_fpc

Iron Seed is a science-fiction DOS game from 1994, which was both developed and published by Channel 7. Gameplay is real-time, featuring trading, diplomacy, and strategy. This version has been changed to make it possible to compile it with the freepascal compiler under Linux.
GNU General Public License v3.0
17 stars 0 forks source link

getting Ermigen log for "REPAIR OF THE ERMIGEN SHIP" even if I did not repair it #53

Closed mnalis closed 4 years ago

mnalis commented 4 years ago

Stumbled upon the Ermigen and talked to them, but did not see anything related to them needed repairs... After finishing chat, I've got both ERMIGEN Log (which is ok) and REPAIR OF THE ERMIGEN SHIP log, which probably shouldn't have happened.

Documents/old_todo.txt that might be related:

investigate: Ermigen repairs: no dialog and automatically done on first meeting

nukebloodaxe commented 4 years ago

Check conv0000.txt, it gives the formatting for how most of these checks should be occurring, however, a lot is hard-coded into the engine. Personally, I dislike hard-coded values, and am trying to abstract out some of it so the python engine is more flexible.

Thinking on the problem at hand, it might be worthwhile making a state diagram for the event flags, as any issues should stand out like a sore thumb when it is done (and make it easier for debug.) It should also be possible to make a state checker, which will show all possible results.

mnalis commented 4 years ago

Data_Generators/makedata/ermicon1.txt does not seem to mention any repairs.. but still it is unclear how addlog(33) is being called.

mnalis commented 4 years ago

The original race contact is in comm.pas:removedata() called at the end of continuecontact() - it does:

if n<9 then event(n);

which gets executed by main 10 races (0-9: all but Phaedor Moch)

mnalis commented 4 years ago

For Ermigen, It also calls checkotherevents(3), which consults Data_Generators/makedata/event.txt especially line:

 3012 20033  Your aid was expected. We thank you because you would have us do so.

since we did have 3012 Torque Stanchion, it was taken automatically and event 20033-20000=33 was run... So we did help them repair ship, although there was no conversation in ermicon1.txt about if we want to or anything. As it was like that in original game, I will leave it and not modify storyline...