For a forum that prides itself on trying new things, for the love of all that is novel and interesting, please can we have a new QotM? - Krill

Create an account  

 
Caster of Magic II Bug Reports!

It seems that an excessive amount of vials is generated when the "Treasure Impact" is on. I've played several games and cleared most of the lairs/towers and in some games received absolutely no items at all, in others very few. Books, retorts, mana and money seem to be generated fine: just all the items seem to be replaced by vials. Playing on advanced/expert difficulty, fair size and about 7-9 opponents. Any ideas/suggestions to what might cause and how to fix it?
Reply

Hi, I am getting a really unusual crash here.

It is not triggered by any of the scripts I modded, but occurs directly at the end of "Start turn process ENDED ". Below is the last line before the crash.

City Walls priority =2
Cannae started producing Shrine
Naples progresses production by 36
Capua progresses production by 22
Capua produced Stables
Settler wanted input :0
Settler wanted output :0
Building chosen!
Barracks priority =9
Fighter's Guild priority =9
Ship Yard priority =0
Magic Market priority =30
Sage's Guild priority =0
Alchemist's Guild priority =43
Shrine priority =7
Marketplace priority =20
Forester's Guild priority =4
Builder's Hall priority =10
Miner's Guild priority =7
Monument priority =-5
City Walls priority =9
Capua started producing Alchemist's Guild
Processing city spell effects
Refilling unit movement
Checking AI retire
Rolling for a Mercenary offer
Rolling for a Hero offer
Rolling for a Merchant offer
Start turn process ENDED

   

The Crash to Desktop occurs immediately when the Trumpet sounds for the event goes off, so I think that its because the Sorcery Conjunction Event deactivates. Just a theory though.

Since its a modded file, I attached the Data file and the save file below.
Data File
https://drive.google.com/file/d/1TYpsaCk...drive_link
Save File
https://drive.google.com/file/d/1DzODhwg...drive_link

Okie, I found out what is the error, turns out, you cannot allow the hero to level up via the gainexp function in OverlandTurn.CAS. 

I got a working theory: Gaining exp is fine, but if your heroes earn enough exp to hit the next level, the trumpet and probably the level up User Screen is trying to play, but your turn has already passed. So it is trying to display that screen with that trumpet sound as the indicator on the enemies turn, which is obviously incorrect. 

You can easily see this happening by commenting out gainexp functions in OverlandTurn.CAS, then the crash completely disappears.

: Unit is in the city :
IF (C>0) THEN
{
CityPop = POPUNITS©;

: Unit below Max Level :
IF (State=0) THEN
{
: GAINEXP(U,CityPop); : ====> Line 3542 comment this out

IF (HOMERACE(W)=8) %AND (CITYRACE©<>8) THEN
{
: GAINEXP(U,2*CityPop); : ====> Line 3546 comment this out

HMGoldTax = HMGoldTax + %I(2*CityPop/5);
}
}
: Unit at Max Level :
ELSE
{
HMGoldTax = HMGoldTax + %I(CityPop/5);
}
}

Good to know, better now then never. This is one of those VERY niche cases whereby, unless it happens even once, I would never have known. Still going to have to rework how experience gain works, (Can't let it happen at the end of an overlandturn, in case it triggers the levelup process)
Reply



Forum Jump: