Skip to content
This repository has been archived by the owner on Apr 17, 2022. It is now read-only.

SUB_1_7 doesn't end #3710

Closed
wzdev-ci opened this issue Sep 8, 2012 · 19 comments
Closed

SUB_1_7 doesn't end #3710

wzdev-ci opened this issue Sep 8, 2012 · 19 comments

Comments

@wzdev-ci
Copy link
Contributor

wzdev-ci commented Sep 8, 2012

resolution_fixed type_bug | by NoQ


In the following savegame posted on the forums ( http://forums.wz2100.net/viewtopic.php?f=45&t=9937#p110928 ), SUB_1_7 doesn't end even though no enemy units are present and the artifact was recovered.

Using "deity" or "get off my land" cheats proves that there are actually no enemy units on board.


Issue migrated from trac:3710 at 2022-04-16 10:37:23 -0700

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 8, 2012

NoQ uploaded file mysave.tar.gz (74.1 KiB)

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 8, 2012

NoQ commented


numart!=1 in this savegame. That is, the game thinks that the artifact wasn't recovered. The presence of heavy cannon proves the opposite though.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 8, 2012

NoQ commented


All previous checks in wonYetEvnt are passed successfully though.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 8, 2012

NoQ commented


Well, in fact, numart==2 in this game (two artifacts were picked up??).

How about we just change "numart # numart + 1;" to "numart 1;" and "if (numart==1)" to "if (numart>=1)"?

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 8, 2012

NoQ commented


Of course it's still interesting to investigate why the pickup event was triggered twice.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 9, 2012

KukY commented


The artifact in that stage can be picked up by both the player and the AI, and if picked up by the AI, it is dropped when the units that recovered it are destroyed. See cam1-7.slo, line 852-872.That way, the pickup event can be called multiple times. I think the simplest way to solve it would be just to change numart=numart+1 to numart=1, as it should be enough to avoid the problem.

I'll test it and see how it works.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Sep 9, 2012

NoQ commented


I still don't see how exactly a player can pick the artifact up twice. The pickup event is defined as

trigger art1TakeTrig(droidInRange(player, art1X, art1Y, 171), 10);

which makes sure only a human (aka "player") can pick it up, and once human picks it up, it is no longer dropped; and when the AI picks it up again, it doesn't trigger the event.

@wzdev-ci
Copy link
Contributor Author

Ayomikun <ayo32_ola3@...> commented


This is the way to finish the level. I hate cheats but I think it's the only way to finish this mission. So you can turn it on and turn it of when you are through.

To turn on cheat mode in Warzone 2100 (I use Ubuntu) press Shift+Backspace. There are different keys to press to do some cheats but I will only speak of the one relevant for finishing this stage.

Press Y for Demo mode. This will keep changing the player you control from the your own to the enemies and to the scavengers. When in control of the main enemy, press alt and click on the main enemy units which you are now in control of to destroy it. With this make sure you destroy all enemy construction trucks as well as all the structures in the place where the enemy transport will land. When that is done use Ctrl+A to select all your enemy units and direct them to come out to where you can finish them off without having to go close to where the transport escapes from. The moment you are through with destroying all enemy units you will be told “Return to LZ”

In order to control enemy units more comfortably without being interrupted by the continual changing from one player to the other, when in control of your enemy units save the game, quit the mission and reload it. You will now be in permanent control of the enemy units so that you can destroy all the structures and construction trucks and bring out all the enemy units. You can then return to demo mode and when it returns to your own player, save, exit and reload again, then you can finish off the units.

Do make sure that you give your own units a big task to be doing like making them patrol right through all the enemy bases that will keep them fighting while you use your enemy to destroy themselves because the time you have to do the mission is quite limited.

Enjoy!

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Jan 6, 2013

NoQ commented


Probably apply the dirty fix mentioned in comment 3?
Since we're rewriting it all anyway.

@wzdev-ci
Copy link
Contributor Author

vexed changed status from new to closed

@wzdev-ci
Copy link
Contributor Author

vexed changed resolution from `` to Needs reevaluating for current version (3.1.0)

@wzdev-ci
Copy link
Contributor Author

vexed commented


Need to know if these issues still happen with the release of 3.1.0.

@wzdev-ci
Copy link
Contributor Author

vexed changed status from closed to reopened

@wzdev-ci
Copy link
Contributor Author

vexed changed resolution from Needs reevaluating for current version (3.1.0) to ``

@wzdev-ci
Copy link
Contributor Author

vexed commented


Erm, whoops, this got caught in the batch modification, but, as was mentioned in comment:8 this is going to be rewritten anyway... and, AFAIK, this is still the same code as the original, and it did work the last time I played it...
Not sure about that fix, nor am I sure if there is going to be another release before the JS rewrite. Hmm.

@wzdev-ci
Copy link
Contributor Author

Berserk Cyborg commented


This can be closed.

@wzdev-ci
Copy link
Contributor Author

Cyp changed status from reopened to closed

@wzdev-ci
Copy link
Contributor Author

Cyp changed resolution from `` to fixed

@wzdev-ci
Copy link
Contributor Author

Cyp commented


Ok, thanks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant