Jump to content

Mission File Discussion


mvi

Recommended Posts

whe  u purchase units  an  spaceship lands on your starport.  this is choam .

sandworm is not house.  8th house is choam. or someone else said "other"  but  i prefer choam as choam have light bronze and  thus is 8th ai:D

if sandworm could be house then  try to stick buldings to  sandworm house to see what happens :D i not chcked this so u got chance

Link to comment
Share on other sites

whe  u purchase units  an  spaceship lands on your starport.  this is choam .

sandworm is not house.  8th house is choam. or someone else said "other"  but  i prefer choam as choam have light bronze and  thus is 8th ai:D

if sandworm could be house then   try to stick buldings to  sandworm house to see what happens :D i not chcked this so u got chance

no that is a unit that is under the houses control, nice try though. THERE IS NO OTHER HOUSES. stop saying there is just because you can change a freakin color, you can do that in any game, it doesnt mean there are more characters that were cut.

Link to comment
Share on other sites

yes  that what i am trying to say.  .. i think you can  give  buldings/units to  sandworm house.  im sure that its possible.

of course if sandworm is house or  map event.

you can trick  with tibed .. replace  sandworm behavior with  MCV :)

that has nothing to do with choam, its just basic ai.

Link to comment
Share on other sites

  • 2 months later...

I have recently downloaded a hex editor, after reading your topics on mission files.  By the second day, I have uncovered a few treasures regarding reinforcements - by carryall, starport, and harvester.  Basically, I believe the event section should be more aptly named the event-action trigger, keeping in mind Westwood is likely have used the same method to create Dune 2000 missions as with those of other RTS games.  But I will keep the nomenclature for now.

Although I only use a modified O9V1.mis map to test my editions due to the multitude of carryall and starport reinforcements, as I, I strongly believe that the 72-byte structure applies for all .mis files.  Perhaps the values for the Ex part may differ between missions.

For reinforcements, the 72-byte structure will look like this:

XX 00 00 00    YY 00 00 00    00 00 00 00    ?? AA NN SS

00 00 ?? E0    E1 E2 E3 E4    E5 E6 E7 E8    E9 Ea Eb Ec

Ed V0 V1 V2    V3 V4 V5 V6    V7 V8 V9 Va    Vb Vc Vd UU

UU UU UU UU

Link to comment
Share on other sites

14 to 1a=Dunno, but includes Ornithropter, something that looks like a missile, and possibly stealthed palace units.

1b=ERROR. Invalid unit 27. (This leads me to assume a maximum of 26 types of units in multiplayer/practice)

Ornithopter?, sounds cool!

Nice info!

I'm not that good at hacking, but I think mvi can use this a lot.  :)

Link to comment
Share on other sites

I have to say, this is really well done, please add me to msn: gruntlord6@hotmail.com

The second carryall is indeed the same, at least as far as I can tell, it costs the same and has the same properties, but its listed as house Atredies.(Possibly from the Atredies high tech factory)

I would be greatly interested in combing your research with our own.

Link to comment
Share on other sites

Thanks, Thumper.  I'm pretty sure mvi knows about this already, judging by the look of his mission editor screenshots.  And the ornithopter behaves like land units being reinforced, just flying straight west from the carryall itself (the carryall was facing west).  I didn

Link to comment
Share on other sites

Awesome Work lovalmidas, I had some fun with this, and fooled around with the parameters now the mercenaries get devestators and sonic tanks :).

One thing i dont understand though. You say the forth value after nn, which you labeled ss, stands for their allegiance. I tested this, and switched the 06 value and changed it to 03 (I think thats ordos?) But I was not getting reinforcements. So Im not sure if changing that alliance value does anything. My other theory is that in order to change which house gets reinforcements, you would probably have to do alot more editing then just switching a value

Link to comment
Share on other sites

Erratum:

In my last post, all 'events' which I described (e.g. Event 02) belong to the 14th byte, and should be called Actions (AA) for consistency with my first post.

My apologies for the mistake. :(

Loval Midas

MVI is on vacation at the moment, and The mis editor does not edit carryall reinforcements as of yet, I would still like you to contact me.

Link to comment
Share on other sites

MVI is on vacation at the moment, and The mis editor does not edit carryall reinforcements as of yet, I would still like you to contact me.

The mis file can edit the carry all reinforcements, you can change which house the reinforcements belong to, if they come in carry all, or starport and what it drops

Link to comment
Share on other sites

To the sandworm:

Gruntlord6 refers to the mis file editor he and mvi are working on, that the reinforcement units are not supported (I guess it is because they didn't expect such parameters would appear at the back of the event coding, at the 48th byte.  Normally parameters start at the 11th or the 12th byte).

More information on the Alliance event - there is a total of three parameters: 11th byte = Object parameter, 12th byte = target parameter, 13th byte = new 1-sided allegiance.

And it is okay to make mistakes and post your queries.  I make them all the time, and I often need another discovery to solve it.  This will convince you:

In my previous post (not regarding the erratum), I said that events need to be declared.  Actually, no.  You create a completely new workable event by filling a null event with valid data.  I solved the problem by changing the coordinates of the carryall drop and switched it to my side.  Indeed the emperor and I had 8 sardukars each.  So creating completely new events, and I would also suppose new conditions, is possible.  Perhaps identical triggers work together as one?  Who needs identical triggers anyway?

Loval Midas

Link to comment
Share on other sites

Okay, I knew I forgot something.

I haven't tested it yet, but it is an easy foolproof way to check if house 07 is indeed the sandworm.

Just ally with it in the game (by altering the relevant bytes from 01 to 00), then play.  See if your army attempts to attack any lurking sandworms.

I just hope no error arises.  If there is, simply undo, and brainstorm for another test.

Loval Midas

Link to comment
Share on other sites

Okay, I knew I forgot something.

I haven't tested it yet, but it is an easy foolproof way to check if house 07 is indeed the sandworm.

Just ally with it in the game (by altering the relevant bytes from 01 to 00), then play.  See if your army attempts to attack any lurking sandworms.

I just hope no error arises.  If there is, simply undo, and brainstorm for another test.

Loval Midas

we know its the sand worm.

also, the reason its not in the editor is its not done being researched yet.

Link to comment
Share on other sites

Now, if someone sends you a map with his/her own .mis file attached, and when you play it, an enemy carryall appears and lands right in front of your preplaced heavy factory or construction yard, BEWARE!  For it may be the sight of an incoming death hand (or two) striking that very spot!  Or a team of invisible fremen.  Or the saboteur.

The unit codes between 0x15 and 0x1a are:

15=stealthed fremen

16=non-stealth fremen

17=saboteur (AI tend to wait for too long to deploy them or use them)

18=The one, and only... Death Hand! Without the announcement.  It will strike the carryall accurately (not that sure, since my carryall is at the top of the map), but the carryall will survive.  And yah, no one can control it.  The Death Hand acts like a unit in the unloading logic.

19=Apparently nothing, nothing came out. Not even a sandworm.  Maybe something so stealthed even the owning house can't see it? Nah.

1a=The CHOAM frigate. Having the carryall flight logic (circles, that is).  If it actually transports harvesters or units, I haven't seen it.

Next, I haven't tested this, but the possibilities are so exciting it cannot wait.  Please refer to post #120 by mvi as I will reference there.

I have just looked in the 28-byte structure of conditions, and built my knowledge with the help of the mentioned post.  Here is what is implied by mvi's post:

The last 4 bytes may be the most important as it determines the condition and, for some, its parameters.

Referencing to the post:

XX 00 YY 00 = When building type YY belonging to player XX exists...

XX 01 00 YY = When unit type YY (same as that of reinforcements) belonging to player XX exists... The 00 may mean '1', I haven't tried substituting it.

00 02 00 00 = When an Interval of NN timerticks have passed (I suppose this is the repeating timer).  NN lies at the front of the byte-structure.

00 03 00 00 = When a time of NN timerticks have passed (I suppose non-repeating)

XX 05 00 00 = When all of player XX's base destroyed (XX has no buildings)

XX 06 00 00 = When all of player XX's army destroyed (XX has no units, including harvesters)

00 08 00 00 = When your money exceeds the amount in the 9th and 10th bytes.  No, you try the 11th and 12th yourself.

00 09 00 00 = Aha.  In mvi's post this is listed as unknown.  All other bytes in the condition are '00'.  At first I have no idea, until I saw the related event: the harvester delivery event

Only conditions 15, 17 and 18 have the 'unknown code', but only condition 15 is relevant.

Event 4: When NOT16, NOT13, 14, 15 occurs, Event 4 triggers and reinforces a harvester

Event 5: When NOT16, NOT13, 14, 15 occurs, Event 5 triggers and does something (type 0x13) to Condition 15 (which is a parameter)

Condition 16: Is Ordos base destroyed? No - NOT16

Condition 13: Ordos Harvester exists? No before the carryall drop is complete - NOT13

Condition 14: Timer expired already - 14

Condition 15: ? (To Event 5: now what did you do? :-)

Now, earlier I caused the game to crash by telling the event to consider less than 4 conditions - Condition 15 is ignored.  The result is a crash of too many carryall drops; an overflow of data of some sort.  Since the truth values remain the same for 13, 14 and 16 immediately after triggering both Events 4 and 5, the truth value for 15 MUST change to a NOT15 so that Event 4 cannot be triggered ad infinitum.

My conclusion is - Condition 15: Due to Event 5 (type 0x13) - NOT15

Now the carryall delivers its load...

Condition 13: Ordos Harvester exists - 13

Now we have:

13, 14, NOT15, NOT16.  And no data overflow on the way.  And at this stage another trigger is fired

Event 6: When 13 and NOT15 occurs, Event 6 triggers and does the same thing (type 0x13) to Condition 15.  The catch is, a difference lies on the 9th byte (Event 5: 00, Event 6: 01).  My guess is: Event 6 did something opposite to Event 5.

The following logic supports this:

Everytime your last harvester is destroyed, you have a new one.  Without Event 6, this will be impossible since Event 5 had condemned Event 4 dead due to Condition 15 no longer being true.  Since to fire Event 4 like a repeating trigger will require Condition 15 to return being true, and there is only one unknown Event 6 with the relevant conditions (Events 1 and 3 alter conditions 17 and 18 to prevent a mission failed following a mission accomplished, effectively keeping win and loss seperate), Event 6 has to turn it back to a 'true' value.

So,

Condition 15: Due to Event 6 (type 0x13, 9th byte = 01) - 15

And if your last harvester is destroyed,

Condition 13: No harvester - NOT13

We have NOT13, 14, 15, NOT16.  And Event 4 triggers and gives you a new harvester!  Yay!

Now, why don't we get a harvester right from the start?  Surely the Timer for Condition 14 have expired before we have a refinery up? Or even before the initial carryalls drop their harvesters?

Correct.  We can assume Condition 14 set to true.  If you have a base, NOT16 applies.  And of course, NOT13 unless you preplaced a harvester.  Now we have to determine the set value conditions of type 09 take at start up.  Since there is no harvester arriving, our answer is: NOT15 (with the truth value reading '01').  Only when the first harvester appears, then Event 6 turns it to 15.

Neat, huh?  Solving a condition and an event trigger at the same time?  But bear in mind, putting '00' at the 9th byte turns the target condition to '01', and vice versa!

Loval Midas

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...