Some more bugfixes for Ancient Keeper
- In Antak's Ruin, the computer digs towards the hero area early, making the level unbeatable the 'traditional' way.
Adding the following to the map00019 script prevents this and restores the ability to play the level as intended:
SET_COMPUTER_PROCESS(PLAYER1,"DIG TO CLOSE GOLD",0,30999,144000,1,1)
SET_COMPUTER_PROCESS(PLAYER2,"DIG TO CLOSE GOLD",0,30999,144000,1,1)
- In Antak's Ruin and University of Hades, moving heroes to specific tiles using word of power is necessary but borderline impossible.
Raising the WOP 'blow' distance in legacy magic.cfg to 150 appears to work very close to how it plays on DK:
[shot30]
Name = SHOT_WORD_OF_POWER
AreaDamage = 5 150 150
- In University of Hades, enemy skeletons cannot be captured since there is no way to heal them before torture.
Setting legacy skeleton.cfg hunger rate and fill as below works but really there should be a configurable on/off switch for skeleton eat ability:
HungerRate = 99999
HungerFill = 1
EDIT:
- In Post AK Level 2: Collect, the AI keeper attacks the door leading to the hero area as soon as it is encountered, making the level impossible to complete.
Adding the following line to map00191 level script resolves this:
SET_COMPUTER_EVENT(PLAYER1,"EVENT ENEMY DOOR",144000,41,2500,2,0)
- Grenades explode when hitting water or lava which is not legacy behavior. Correcting config in legacy magic cfg:
[shot11]
Name = SHOT_GRENADE
WithstandHitAgainst = WALL DOOR LAVA WATER
- Treasure rooms hold less gold than in DK so a lot of levels where you start with filled treasure rooms end up having loose tresure piles on top of each hoard. Legacy rules cfg change (not sure if this is the exact value since this value is not in creatures.txt):
[game]
GoldPerHoard = 2250
I hope that in the not too distant future we can make a full legacy computer player config to match original keeper behavior.
@Loobinex
One extremely passive and dumb computer player should address those few legacy map outliers. And maybe a few unused computer player slots in keepcomp specifically for user created computer configs.
@Loobinex
For the skeleton ability to eat, the following line in creature_states_gardn.c:
return ((crstat->hunger_rate > 0) && (crstat->hunger_fill > 0));
If it's changed so that either hunger_rate or hunger_fill need to be > 0 for the creature to have eat ability (instead of both > 0), we can use hunger_fill as an on off switch for eat ability by setting HungerFill to 1 in legacy skeleton.cfg. Skeletons will no longer actively eat on legacy but the player will still be able to force feed it chickens.