As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
1.51 release candidate!

(May 7th, 2018, 09:10)Seravy Wrote:
Quote:As you mention it, in the city they move differently, BTW they used to always move in front of the "door", if a wall is present, but they not always do that, if attacked by the flying hero I used against the ruin. Sometimes when I kill the door unit, the others do not move to cover the entrance of the wall.
Maybe since the only attacker flies it is not useful to move?
I don't remember the details but I'm guessing if the AI already decided to ignore walls, then it won't refill the gate either. I also don't think ranged units do that, only melee?
Either way I know I investigated that and found it's only done in cases where filling the gate wouldn't really help anyway.
I saw a logic behind it. As the attacker I prefer to let them move into the front line to kill them without entering the city and risking killing people/buildings.
As a defender it is the opposite.



Quote:
Quote:Can you do the same with invisible units?
Caster of Magic has that feature but it's probably not compatible. I wonder if the flying units move backwards or just stay in place, because in CoM they also move backwards. In case of invisible (and speed) based stall, this is important - if the unit stays where it is near an enemy, it won't "disappear" and will still get attacked. In case of movement stall it's even more important - if you aren't actually moving, it doesn't matter who is faster, you can't avoid the enemy.

If you're interested, I can point you to the relevant parts of the code (or even send you the sources) and you can try to make a 1.51 compatible version out of it.
I would like to say I can do it, but I can't.  alright
Anyway I can do it a shot, without commitments.  shakehead


Quote:
Quote:I did already spoke with Kyrub and, while he agreed it could be a bug, the fixing was too difficult to implement.
So if you too find it too difficult to fix, no problem.

While not trivial, it seems to be possible to fix, but I'm unsure it's a bug. The patch notes are pretty inaccurate, at the very least they had it wrong for Raise volcano as well. (it said they make ores when they revert, when the feature was implemented for when they were created instead)
The raise volcano was fixed by Asfex, but only in his mod (there was a problem in the code when it reverts to the mountain, the test was faulty, but with a few bytes correction it worked again).



Quote:That specifically says magic weapons, not "magic, mithril or adamant weapons", or "improved weapons". So in my interpretation it means only that part of the alchemist guild's effect applies.
The same description is used for the alchemist guild in game and in manuals: it creates all unit with magical weapons and +1 to hit.
It is only in the mithril or adamantium description of the manuals it says the magic weapons of nearby cities will be even better. and it is true.
Anyway, if the fix is too complex I do not want to bother you, you are already doing so many amazing stuff.  hammer


Quote:For the combat summoning issue it would be nice if you posted a screenshot showing which tile it is exactly. I don't think the speed of the mouse has anything to do with it, unless the target the game checks for validity isn't the one actually used and there is a timelag. Which would be a really stupid way to implement it and we'd have seen a lot of other problems that way (like hitting own units with fire bolts when trying to target an nearby enemy).
I thought it, I did it: we are tuned!
I posted the screenshot in the previous message editing it.
There are also more infos about the AI behavior.

If you like I can provide saved games as well.  pimp
Only the people crazy enough to think they can change the world of Arcanus and Myrror can do it. rolleye
Reply

That tile, huh.
I tried a few more times but didn't manage to summon there, even when I was the defender, no matter how many times I clicked in any part of that area.

What the game code does it, it gets the mouse position when there is a click. It converts it into battlefield positions. It then checks if the position is legal (this is my addition) and if yes, then returns those coordinates, otherwise loops back to waiting for input while also rendering the screen. 

So the only way this could happen would be if the position is illegal but
-the check is skipped (would imply the game thinks you are not casting a summoning spell which would be a huge problem we'd have already notices)
-the check happens but the variable containing the legality of the targeting is corrupted afterwards
-the position gets corrupted.

I guess the only way to figure out is to feed the 1.51 exe into the disassembler and see if there is anything unexpected in there...
I see nothing unusual or broken there, so that's all I could do unfortunately.

 
Quote:I would like to say I can do it, but I can't.  alright
Anyway I can do it a shot, without commitments.  shakehead

Okay, might as well post it anyway :
$886A0 is the procedure that decides to use or not use the tactic. This replaced an original procedure that actually did nothing meaningful at all - you can safely erase the whole thing and overwrite. The original procedure set units to "melee 64h" or "ranged 65h" tactics, except later a new procedure is called that assigns the real orders for units. This first procedure was likely used for some obsolete strategy that never triggers as insecticide removed it entirely (I never figured out what it was meant to do but as it was unable to use spells or abilities I assumed we are better without it).
This is the source for that procedure - you probably want to remove the reference for fortress lightning as normal MoM doesn't have it , but the rest seems compatible :

.txt   BennyHill.txt (Size: 5.97 KB / Downloads: 5)
You will need to fix up the relocation table as well, both the old and the new code has far calls.

At $88A45 you'll see a check for the AI tactic to be of certain numbers and a near procedure call - that's where I inserted the effect of the "stall" and "move before shooting" tactics. This is a quite elaborate and complicated procedure and finding room to insert it won't be trivial either so, well, good luck, I guess?
For reference, $99 is the stall tactic, $65 is ranged and $64 is melee so if you only want the stall part, that is the branch you need to care about. 
The source is

.txt   AICombatMoveBeforeAttack.txt (Size: 5.45 KB / Downloads: 2)
but this is only one half (I didn't have the room to have the whole thing in one place) you'll also need the  other half in

.txt   AIMoveAway.txt (Size: 2.13 KB / Downloads: 2)
which is referenced in the first as the label
".org 0DB4h
longrange2:"
so you have to copy the address where you insert that part here to connect them. If you do implement the whole package, you should get rid of Quick Casting and Sharpshooter checks as those are CoM only abilities.

If you are interested there are another 6 much more simple patches in the "incompatible" subfolder that you can try to make compatible and ofc there might be another dozen or hundered things fixed in CoM that never made it into a patch file as I knew in advance it wouldn't work.  (also, obviously, anyone with free time and assembler knowledge is welcome to try)
Reply

(May 7th, 2018, 15:48)Seravy Wrote: That tile, huh.
When I move the mouse quickly the tile is different, the one in the row below, on the right. I was not able to replicate it, so far.



Quote:
Quote:I would like to say I can do it, but I can't.  alright
Anyway I can do it a shot, without commitments.  shakehead

Okay, might as well post it anyway :
Wow, kudos to you!  eek
When I read your source I fell like a chess player that understand the pieces movement, but do not understand the tactics.



Quote:If you are interested there are another 6 much more simple patches in the "incompatible" subfolder that you can try to make compatible and ofc there might be another dozen or hundered things fixed in CoM that never made it into a patch file as I knew in advance it wouldn't work.  (also, obviously, anyone with free time and assembler knowledge is welcome to try)
Sure, if it is as well explained as the other ones it is very useful, if not to me, to other developers.  popcorn


Do you also have the Alchemy skill in source with this level of details?   rolleye
Only the people crazy enough to think they can change the world of Arcanus and Myrror can do it. rolleye
Reply

Well, I didn't change alchemy so the only source I have for it is in the disassembler.
It is applied at $97F45 to $97F7B.

However to make it do what you want, it would need to be applied in the $ED297 procedure which checks for the alchemist guild and ores instead. As this procedure does know the city ID and the city data contains the owner, it's possible to check for the retort there, if you can make room for that.
Reply

Just reporting that the cosmetic "Peaceful personality AI"s have inappropriate overly aggressive greetings" issue still exists. Might be worth revisiting in case of a new patch.
Reply

Noticed an oddity in Myrror where my Gorgons were using enchanted roads to cheerfully cross the whole landmass.
I've been away from MoM for decades and I'm certainly not a good player but I seem to recall that flyers didn't benefit from roads, enchanted or otherwise.

BTW great patch, loving the new features, and slightly better AI. And not a single crash, letting me enjoy my cheese tactic of flyer + call lightning.

If I may, a few remarks:
The AI keeps declaring war on me even though we're already at war. It sometimes happens as often as every half dozen turns or so. An annoyance but not game breaking.

I've had some cases where the to-hit icon was in an odd position and with no text in the unit description.

What's the deal with the dozens of ships chasing after my magic spirit? I keep fleeing and they chase me to the ends of tundra.

In one game I had a Merlin with gnolls that stopped building ships and got stuck on a tiny island by himself. For the first 50 turns or so he did expand to other islands but after I took over those towns he seemed to give up? In the end Merlin had only 3 cities and doing nothing.
Reply

Quote:The AI keeps declaring war on me even though we're already at war. It sometimes happens as often as every half dozen turns or so. An annoyance but not game breaking.
Definitely a bug, I'll have to investigate it. Never seen that happen in CoM so it might be some sort of incompatibility.

Quote:What's the deal with the dozens of ships chasing after my magic spirit? I keep fleeing and they chase me to the ends of tundra.
The AI learned to attack things on sea, which it was never able to intentionally do before 1.50.

Quote:In one game I had a Merlin with gnolls that stopped building ships and got stuck on a tiny island by himself. For the first 50 turns or so he did expand to other islands but after I took over those towns he seemed to give up? In the end Merlin had only 3 cities and doing nothing
No idea, maybe he lost his ship buildings.
Reply

Hi! I found a problem that hangs the game while using this patch. Reproduction steps:

1. Load the attached save.
2. Open the Armies screen.
3. Right-click the hero Fang's portrait to see his details.
4. Close the hero's details window (but don't exit the Armies screen).
5. Right-click any of the other heroes' portraits.
6. The game hangs at this point.


Attached Files
.gam   SAVE4.GAM (Size: 151.94 KB / Downloads: 1)
Reply

Successfully reproduced this. It seems to be caused by the hero being the last army in the list. If moved into another army, it no longer crashes.
Reply

(May 8th, 2018, 05:40)Seravy Wrote: Well, I didn't change alchemy so the only source I have for it is in the disassembler.
It is applied at $97F45 to $97F7B.

However to make it do what you want, it would need to be applied in the $ED297 procedure which checks for the alchemist guild and ores instead. As this procedure does know the city ID and the city data contains the owner, it's possible to check for the retort there, if you can make room for that.

Thanks for the info, really appreciated!  jive

Do you know the assembly code from $ED297 to the end of the procedure? Can you post it? rolleye



Meanwhile, I've tested 10 games (8 "normal" 1.51RC7 + 2 with added W034FEAT)  with Impossible/4 opponent/Huge Land/2.5x Magic losing the first 8 and winning the 2 with Tower Lightning caster.

I used FILESET WIZARDS.EXE W034FEAT.TXT to add the Capitol protection.

I supposed I could use REVERSE WIZARDS.EXE W034FEAT.TXT to undo the patch.

Instead the file Wizards.exe do not change and the file W034FEAT.TXT gets overwritten by the first 255 bytes of Wizards.exe plus 6 bytes (0D, 0A, 0D, 0A, 0D, 0A).

What is the correct procedure to undo a patch?




First impression of the Patch:

AMAZING!

I moved from 1.50RC2 to 1.51RC7 (yes I was busy and still I am) and the change is breathtaking!

The Diplomacy now is usable, I was able for the first time to have stable partnership with others,  an allied opponent even gave me a Bounty because I banned one of his enemies!

The troops transport now works better, there are constant landings in isles where the AI has no cities.

The sea warfare is scary! The ships hunt my troops relentessly; while I usually move to the sea to avoid combat on land, now I have to do the opposite!

Extra room for items, mine discovered/depleted, more troops overall, they all sound fantastic stuff!



There are same cons, like  the games crashed 80 or more times overall during the 10 games, but I'm sure it is a result of old code from the original game that were not used, now they are used and are buggy.   eek

Nearly half of the crashes happens when quitting; before giving you the prompt, the computer writes it cannot find a file (usually magic.exe  nod  ), but the game is already saved, so not a real problem.

What worries me is the game become very slow, up to 5 minutes per turn, when I was losing and the AI roamed all aver the worlds.

I used 25'000 cicles, but now I'm changing to 100'000 as you suggested to see if it become more playable.
Only the people crazy enough to think they can change the world of Arcanus and Myrror can do it. rolleye
Reply



Forum Jump: