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

Create an account  

 
"how to mod" questions

(August 1st, 2016, 15:42)Seravy Wrote: 3391F contains "lea ax, [bp+DoublePickRetorts1]", it's the instruction that loads the address of the variable containing the list of retorts that cost 2.
thx for the info =) is there also a similar instruction to load 1-cost retorts? i'd be happy if i could just change it for character creation, i don't care much if it counts for AI or retort finds.
dance!
Reply

(August 24th, 2016, 19:45)letsdance Wrote:
(August 1st, 2016, 15:42)Seravy Wrote: 3391F contains "lea ax, [bp+DoublePickRetorts1]", it's the instruction that loads the address of the variable containing the list of retorts that cost 2.
thx for the info =) is there also a similar instruction to load 1-cost retorts? i'd be happy if i could just change it for character creation, i don't care much if it counts for AI or retort finds.

No, the equivalent source code would be this :

for i:=1 to 18 do if retort[i] then inc(picks);
for i:=1 to 5 do if retort[doublepick[i]] then inc(picks);
if retort[9] then picks:=picks+2;
Reply

thx =) so that means to reduce pick costs to 1 we simply have to replace its entry in the 2x 5 word values at 2748A and 27494 with a false number (like 12)?
dance!
Reply

(August 26th, 2016, 08:14)letsdance Wrote: thx =) so that means to reduce pick costs to 1 we simply have to replace its entry in the 2x 5 word values at 2748A and 27494 with a false number (like 12)?

Yes. At least for human pick costs at the start of the game.
AI and ingame costs are elsewhere and don't use tables.
Reply

thx =)
dance!
Reply

How moddable is map generation at the start of the game? Is it possible to edit the number or ratio of (for example) swamp tiles? Could Arcanus and Myrror ever be split to use different parameters for generation?
Reply

Numbers can be changed. For example Swamps have several numbers : how many swamp areas, and how many tiles in each etc.
Splitting the two planes, not unless you known enough ASM to write new code and find a way to have space for it. Not entirely impossible but takes much more effort than swapping a number - I did something similar when adding the "Dry" and "Wet" land options.

...not everything is using numbers though - hills and mountains do not for example. Those appear based on how many times the game generated "land" for that tile - 4-5 results in a hill and 6+ is a mountain, below are grasslands or forests.
Reply

(May 30th, 2017, 17:42)Seravy Wrote: Numbers can be changed. For example Swamps have several numbers : how many swamp areas, and how many tiles in each etc.
Splitting the two planes, not unless you known enough ASM to write new code and find a way to have space for it. Not entirely impossible but takes much more effort than swapping a number - I did something similar when adding the "Dry" and "Wet" land options.

...not everything is using numbers though - hills and mountains do not for example. Those appear based on how many times the game generated "land" for that tile - 4-5 results in a hill and 6+ is a mountain, below are grasslands or forests.
Thank you!  But after writing this message, I found I like Serena's idb file.  It turns out there's plenty of room for adding conditionals based on plane, you just have to reroute some of the repetitive data segment loading to make space.  It was kind of them to use so many functions where arg_0 is the plane.
Reply

Hi. I want to give "Create Undead" in addition to the undead immunities of normal units that are turned undead. I somehow think that Death desderves some love, and I wish to playtest an GoT army of the dead game.

Looking into Seravy's fixes (he reinserted death immuities to normal units that became undead) in conjunction with Serena IDB, I found that the immunities are set at (0x8f821-0x8f82e), and consists of this:

Code:
les     bx, [bp+battleUnit] ; Load Full Pointer to ES:xx
mov     ax, es:[bx+18h]
or      ax, D8h ; Logical Inclusive OR
les     bx, [bp+battleUnit] ; death, cold and illusion immune
mov     es:[bx+18h], ax


And in order for it to do what I want it to do it will have to change to:

Code:
les     bx, [bp+battleUnit] ; Load Full Pointer to ES:xx
mov   ax, es:[bx+18h]
or      ax, D8h ; Logical Inclusive OR
mov   cx, es:[bx+1bh]
or      cx, 80
les     bx, [bp+battleUnit] ; death, illusion and cold immune
mov   es:[bx+18h], ax
mov   es:[bx+1bh], cx

That means adding a few bytes of code and screwing up everything below. How can I camplish this without screwing up the code?
Reply

Registered only to ask this question:

How do i mod the game to eliminate the Spell of Mastery and to increase the research costs of the other spells? I want a more longer game, without it suddenly ending by researching the spell of mastery, and i like a more sedate pace on the research than the default.....

Thanks.
Reply



Forum Jump: