Page 1 of 1
Ultima 8: Pagan on DosBOX
Posted: Tue Jan 17, 2023 10:27 pm
by gibberishh
Cheat tables for Ultima 8: Pagan on DosBOX. These have been tested on Ultima 8 that have been pre-packaged by me (
[Link]) to run on DosBOX (on Windows 7, but Windows version shouldn't matter). They will probably not work on the GOG release.
To use, run the game in DosBOX (
Ultima8.exe
if you download from the above link) then open the table. Or simply open the table -- it will launch the game by itself.
- You can edit str, dex, int, hp, mana. You can also enable/disable the in-game cheats.
- With in-game cheats active, left-clicking Avatar once will bring up a menu of cheats. Plus, F7 (unpatched) or F9 (patched) will bring up more cheat options.
- Alt+M will maximize Avatar's stats (25-25-25-50-50). It is possible to get the stats much higher too -- I've played once with 100 str, dex and int.
- Alt+R will restore full health and mana.
- Alt+G will freeze health and mana, and let you walk on water and lava, giving you effective godmode. You can still die by falling.
- Alt+C will de/activate the in-game cheats.
If you enable in-game cheats, then enable Hackmover or Power Avatar, then disable the cheats, those will remain on even though you will no longer be able to access the cheats menu.
Added
- Brand new: Walk on water and lava. With Godmode enabled, the only way you can die is by falling from a great height.
- Brand new: Activate whichever recall pads (waypoints) you wish.
- I've also added the option to always Hear Truth. I've not added every possible game status because there are 500+. However, if you know the offset and bit #, you can modify any quest or conversation status without requiring the cheats to be installed. For those interested, the full list of bit offsets is posted below.
- It is also possible to walk on water, lava, enable waypoints, and change flags on the unpatched game, for which there is no flag editing cheat available afaik.
- Number of hours elapsed. If you want to change the current time bracket you are in, add 4 for every bracket you wish to skip. Note: this will not change the environment around you immediately. If you are waiting for someone to appear or go away, you will need to be away from them (probably on a different map) for them to spawn/despawn. It is useful if you already know you are going to be early/late for an event.
- New table in case you play the patched version with the Usecode Flags cheat installed.
- Fixed: Due to an oversight, hp and mana wouldn't go over 127 in the earlier tables. Now they can go up to 255.
Make sure to download the correct cheat table for the version of your game! Ctrl+V in the game will show its version.
Re: Ultima 8: Pagan on DosBOX
Posted: Sat May 27, 2023 7:22 pm
by gibberishh
Full list of bit offsets for Usecode Flags. Works with the patched game only.
In the unpatched game, subtract 2 from the StartBit; but this has not been tested for the full list and obviously, unknown two items from the start of the list don't exist in the unpatched game.
Code: Select all
Variable Bits Offset StartBit
startedConvo 1 0 0
doneDefault 1 0 1
jumpedAhead 1 0 2
baneWarned 2 0 3
berenWarned 2 0 5
startedQuestions 1 0 7
finishedQuestions 1 1 0
reStartedFall 1 1 1
doneKeepFallEnd 1 1 2
devonHeardLurker 1 1 3
devonComplained 1 1 4
doneFallEnd 1 1 5
neverSinks 1 1 6
somebodyTalking 1 1 7
getUp 1 2 0
justTeleported 1 2 1
postEarthQuake 1 2 2
guardsCalled 1 2 3
lastPotPeriod 16 2 4
gettingDrunk 3 4 4
hearTruthActive 1 4 7
avatarEndure 1 5 0
avatarArmor 1 5 1
deathSpeakCast 1 5 2
lithosHis 1 5 3
lithosMet 1 5 4
pyrosHis 1 5 5
pyrosMet 1 5 6
stratosHis 1 5 7
hydrosHis 1 6 0
hydrosMet 1 6 1
titansHis 1 6 2
nowCaretaker 1 6 3
nowApprentice 1 6 4
nowScion 1 6 5
hydrosFree 2 6 6
pyrosFree 1 7 0
hasTongue 1 7 1
hasBreath 1 7 2
hasTear 1 7 3
hasHeart 1 7 4
needBreath 1 7 5
takenBreath 1 7 6
needTear 1 7 7
needHeart 1 8 0
deadWalk 1 8 1
blackLoreSeen 1 8 2
mythranSaidBlackLore 1 8 3
readMagBook 1 8 4
talkedToDeadDudes 1 8 5
sawCentralTenebraeTeleporter 1 8 6
sawPlateauTeleporter 1 8 7
sawUpperCatacombsTeleporter 1 9 0
sawMountainKingTeleporter 1 9 1
sawArgentrockIsleTeleporter 1 9 2
sawCarthaxLakeTeleporter 1 9 3
sawDaemonsCragTeleporter 1 9 4
ancientOnesMet 1 9 5
getPowerAO 1 9 6
metKhumash 1 9 7
gotObTip 1 A 0
hanoiBusy 1 A 1
hanoiStairDown 3 A 2
hanoiStairBlocked 1 A 5
toldAboutPower 1 A 6
devonsPower 1 A 7
devonInRule 1 B 0
devonAtDock 1 B 1
devonJailed 1 B 2
toranDead 1 B 3
helpDevon 1 B 4
refusedDevon 1 B 5
talkedAboutToran 1 B 6
benticCacked 1 B 7
metDevonInJail 1 C 0
barmaidForNow 1 C 1
avatarTooCheap 1 C 2
secondexecution 1 C 3
guardEWMet 1 C 4
guardEWPissed 1 C 5
guardEWThanked 1 C 6
interrogEW 1 C 7
askedAboutEWRoad 1 D 0
DevonHitWater 1 D 1
completedTest 1 D 2
passedTests 1 D 3
atWindyPoint 1 D 4
spokenXavier 1 D 5
stratosName 1 D 6
stratosMet 1 D 7
stratosTakenBreath 1 E 0
fociReturned 1 E 1
hasXavierFoci 1 E 2
spokeAboutTorwinS 1 E 3
spokeAboutTorwinX 1 E 4
spokeAboutTorwin 1 E 5
torwinGottaJump 1 E 6
levitateAvatar 1 E 7
passedWisdomTest 1 F 0
attemptedWisdomTest 1 F 1
readyForTests 1 F 2
attemptedCenteredTest 1 F 3
passedCenteredTest 1 F 4
spokeOfTests 1 F 5
breakWind 1 F 6
refusedSpell 1 F 7
hasOwnFoci 1 10 0
attemptedThirdTest 1 10 1
passedThirdTest 1 10 2
solvedMystery 1 10 3
goJump 1 10 4
permissionToAirWalk 1 10 5
haveFoci 1 10 6
hasHearTruth 1 10 7
fasFoci 1 11 0
toldThurgists 1 11 1
spokenAboutBreath 1 11 2
focusMissing 1 11 3
hasRing 1 11 4
rewardMe 1 11 5
avatarTookRock 1 11 6
betrayedDisciple 1 11 7
acolyteKilled 2 12 0
goToInnerSanctum 1 12 2
gotTheSymbols 1 12 3
tonguing 1 12 4
sponsorTest 1 12 5
spellsCast 2 12 6
spell1 1 13 0
spell2 1 13 1
spell3 1 13 2
keyOfTheAcolyte 1 13 3
masterTest 1 13 4
inDaemonScene 1 13 5
afterDaemonScene 1 13 6
avatarMasterSorcerer 1 13 7
gotSabrione 1 14 0
gotMorduin 1 14 1
screwUps 2 14 2
blastFirst 1 14 4
thisIsIt 1 14 5
doChannel 1 14 6
cardasMet 1 14 7
cardasName 1 15 0
cardasJob 1 15 1
cardasAvaName 1 15 2
daemosMet 1 15 3
daemosName 1 15 4
daemosJob 1 15 5
daemosAvaName 1 15 6
kothiusMet 1 15 7
kothiusName 1 16 0
kothiusJob 1 16 1
kothiusAvaName 1 16 2
mentarMet 1 16 3
mentarName 1 16 4
mentarJob 1 16 5
mentarAvaName 1 16 6
tallonMet 1 16 7
tallonName 1 17 0
tallonJob 1 17 1
tallonAvaName 1 17 2
emricholMet 1 17 3
emricholName 1 17 4
emricholJob 1 17 5
emricholAvaName 1 17 6
lothianDead 1 17 7
mythranNec 1 18 0
vividosMet 1 18 1
vividosSchedule 2 18 2
ceremonySoon 1 18 4
haveDagger 1 18 5
vivTold 1 18 6
toldReagents 1 18 7
haveReagents 1 19 0
haveReagentsDone 1 19 1
haveSkullKey 1 19 2
metNec1 1 19 3
metNec2 1 19 4
metNec3 1 19 5
metNec4 1 19 6
metNec5 1 19 7
metNec6 1 1A 0
gotKey 1 1A 1
gotTheKey 1 1A 2
lothInterred 1 1A 3
toldSticks 1 1A 4
metGwillim 1 1A 5
toldDagger 1 1A 6
isApprentice 1 1A 7
toldDaggerDone 1 1B 0
lithosMetDone 1 1B 1
magicWallDone 1 1B 2
vividosPissed 1 1B 3
askToDo 1 1B 4
askToDoDone 1 1B 5
openBirth 1 1B 6
saidBirth 1 1B 7
readGravestone 1 1C 0
waterDone 1 1C 1
metHydros 1 1C 2
hydrosPissed 1 1C 3
hydrosBegged 1 1C 4
leaving 1 1C 5
rainStorm 1 1C 6
rainStormActive 1 1C 7
fireStorm 1 1D 0
fireStormActive 1 1D 1
shroomPaletteEffectsActive 1 1D 2
stormsActive 1 1D 3
arcadionMet 1 1D 4
arcadionName 1 1D 5
arcadionJob 1 1D 6
arcadionAvaName 1 1D 7
arcadionMad 2 1E 0
arcadionMetBefore 3 1E 2
gainedPurity 1 1E 5
corinthPissed 1 1E 6
corinthRealPissed 1 1E 7
corinthMet 1 1F 0
corinthToldGhost 1 1F 1
corinthSchedule 2 1F 2
devonName 1 1F 4
devonJob 2 1F 5
devonSaidBentic 1 1F 7
devonMentionedTear 1 20 0
devonMet 1 20 1
gwillimPissed 1 20 2
gwillimSchedule 3 20 3
kilandraMet 1 20 6
kilandraName 1 20 7
kilandraJob 1 21 0
kilandraPissed 1 21 1
askedFirstTime 1 21 2
askedSecondTime 1 21 3
toldAboutKey 1 21 4
gwilliamToldDoor 1 21 5
keyFromGhost 1 21 6
korickMet 1 21 7
korickPissed 1 22 0
korickRealPissed 1 22 1
korickSchedule 3 22 2
mordeaMet 1 22 5
mordeaName 1 22 6
mordeaJob 1 22 7
mordeaAvaName 1 23 0
mordeaPissed 1 23 1
mordeaDead 1 23 2
mordeaSitting 1 23 3
mordeaTalking 1 23 4
mordeaSchedule 3 23 5
mythranMet 1 24 0
mythranName 1 24 1
mythranJob 1 24 2
mythranMad 2 24 3
mythranAvaName 1 24 5
mythSticks 1 24 6
mythDoneLeave 1 24 7
mythGuard 1 25 0
paganLore 1 25 1
mythMagic 1 25 2
mythranScrolls 1 25 3
mythReagents 1 25 4
wantsScrolls 1 25 5
wantsSpells 1 25 6
wantsReagents 1 25 7
gotBlast 1 26 0
gotShower 1 26 1
gotSummon 1 26 2
gotDestruction 1 26 3
gotDevastation 1 26 4
lockSpellSpeech 1 26 5
usedRecall 1 26 6
orlokMet 1 26 7
orlokName 1 27 0
orlokJob 1 27 1
orlokMad 2 27 2
orlokAvaName 1 27 4
orlokPoison 1 27 5
orlokDrink 1 27 6
orlokTales 1 27 7
orlokTab 5 28 0
orlokLeading 1 28 5
toldGhostStory 1 28 6
toldOfTreasure 1 28 7
benticStoryTold 1 29 0
drinkStr 1 29 1
nameVar 1 29 2
haveAnother 1 29 3
cost 4 29 4
shaanaMet 1 2A 0
shaanaName 1 2A 1
shaanaJob 1 2A 2
shaanaMad 2 2A 3
shaanaAvaName 1 2A 5
sawShaana 1 2A 6
shaanaSchedule 2 2A 7
tarnaMet 1 2B 1
tarnaName 1 2B 2
tarnaJob 1 2B 3
tarnaAvaName 1 2B 4
tarnaTenebraed 1 2B 5
malchirMet 2 2B 6
malchirName 1 2C 0
malchirJob 1 2C 1
malchirMad 2 2C 2
malchirAvaName 1 2C 4
MalchirTest 3 2C 5
vardionMet 1 2D 0
vardionName 1 2D 1
vardionJob 1 2D 2
vardionMad 2 2D 3
vardionAvaName 1 2D 5
vardionHome 3 2D 6
vardionGroveled 1 2E 1
vardionEnclave 1 2E 2
vardionOffer 3 2E 3
vardionRefused 1 2E 6
vardionJoined 1 2E 7
vardionDolt 1 2F 0
vardionFool 1 2F 1
vardionStupid 1 2F 2
vardionFalse 2 2F 3
baneMet 1 2F 5
baneName 1 2F 6
baneJob 1 2F 7
baneMad 2 30 0
baneAvaName 1 30 2
baneOffer 1 30 3
baneHasAsked 1 30 4
baneJoined 1 30 5
baneFool 1 30 6
baneIdiot 1 30 7
baneMoron 1 31 0
baneFalse 2 31 1
baneGroveled 1 31 3
berenMet 2 31 4
berenName 1 31 6
berenJob 1 31 7
berenMad 2 32 0
berenAvaName 1 32 2
berenGroveled 1 32 3
tickedOff 2 32 4
berenSchedule 3 32 6
gorgrondMet 2 33 1
gorgrondName 1 33 3
gorgrondJob 1 33 4
gorgrondMad 2 33 5
gorgrondAvaName 1 33 7
gorgrondDung 1 34 0
ticked 2 34 1
gorgrondGroveled 1 34 3
friendBane 1 34 4
askedFriend 1 34 5
xavierMet 1 34 6
xavierName 1 34 7
xavierJob 1 35 0
xavierAskedToHeal 1 35 1
xavierJustHealed 1 35 2
spokeAboutTests 1 35 3
xavierSitting 1 35 4
xavierSchedule 2 35 5
xavierPissed 1 35 7
askedAboutArgent 1 36 0
cyrrusMet 1 36 1
cyrrusName 1 36 2
cyrrusJob 1 36 3
cyrrusSitting 1 36 4
cyrrusJustHealed 1 36 5
cyrrusSchedule 2 36 6
torwinMet 1 37 0
torwinName 1 37 1
torwinJob 1 37 2
torwinPissed 1 37 3
torwinJumped 1 37 4
torwinSitting 1 37 5
torwinSchedule 2 37 6
stellosMet 1 38 0
stellosName 1 38 1
stellosJob 1 38 2
stellosSchedule 2 38 3
stellosJustHealed 1 38 5
stellosSitting 1 38 6
spokenAboutFoci 1 38 7
spokeAboutRing 1 39 0
silverMineKeyGiven 1 39 1
madeToraxForTest 1 39 2
salkindMet 1 39 3
salkindName 1 39 4
salkindJob 1 39 5
salkindPissed 1 39 6
salkindTalking 1 39 7
salkindAnswerMordea 1 3A 0
SalkindSchedule 2 3A 1
benticMet 1 3A 3
benticName 1 3A 4
benticJob 1 3A 5
benticSaidMythran 1 3A 6
mentionedPagan 1 3A 7
haveAvaName 1 3B 0
benticGivenBook 1 3B 1
darionMet 1 3B 2
darionName 1 3B 3
darionJob 1 3B 4
darionSchedule 4 3B 5
spokeAboutJenna 1 3C 1
darionHavName 1 3C 2
darionGhostStory 1 3C 3
askedAboutSell 1 3C 4
hasAvaName 1 3C 5
AvatarTookHit 1 3C 6
DarionTookHit 1 3C 7
DarionTraining 1 3D 0
jennaMet 1 3D 1
jennaName 1 3D 2
jennaJob 1 3D 3
jennaPissed 1 3D 4
havAvaName 1 3D 5
jennaGhostStory 1 3D 6
sendJennaToLunch 1 3D 7
rhianMet 1 3E 0
rhianName 1 3E 1
rhianJob 1 3E 2
rhianSchedule 2 3E 3
rhianMoveCheck 2 3E 5
askedAboutTears 1 3E 7
askedAboutSon 1 3F 0
knowsName 1 3F 1
rhianSitting 1 3F 2
rhianKneeling 1 3F 3
rhiangrieving 1 3F 4
toldOfTorwinDeath 1 3F 5
whatGem 1 3F 6
whatClothes 1 3F 7
stolenOnce 1 40 0
askedClothes 1 40 1
askedGems 1 40 2
araminaMet 1 40 3
araminaName 1 40 4
araminaJob 1 40 5
araminaTalking 1 40 6
araminaSchedule 2 40 7
guard1met 1 41 1
guard1job 1 41 2
guard1pissed 1 41 3
guard1town 1 41 4
guard1directions 1 41 5
guard2Met 1 41 6
guard2GaveDirections 1 41 7
guard2Pissed 1 42 0
guard3Met 1 42 1
guard3Pissed 1 42 2
guard4Met 1 42 3
guard4Pissed 1 42 4
guard4Thanked 1 42 5
guard5Met 1 42 6
guard5Pissed 1 42 7
guard5Thanked 1 43 0
guard6Met 1 43 1
guard6Pissed 1 43 2
guard6Thanked 1 43 3
guard7Met 1 43 4
guard7Pissed 1 43 5
guard7Thanked 1 43 6
guard8Met 1 43 7
guard8Pissed 1 44 0
guard8Thanked 1 44 1
guard9Met 1 44 2
guard9Pissed 1 44 3
guard9Thanked 1 44 4
whatDrink 3 44 5
whatFood 4 45 0
whatWeapon 1 45 4
butthead 1 45 5
pissed 1 45 6
alreadyHitLightBeam 1 45 7
alreadyHitLightningZapper 1 46 0
leverTest0 1 46 1
leverTest1 1 46 2
leverTest2 1 46 3
leverTest3 1 46 4
leverTest4 1 46 5
leverTest5 1 46 6
leverTest6 1 46 7
leverTestDone 1 47 0
etherstone 1 47 1
firestone 1 47 2
waterstone 1 47 3
airstone 1 47 4
earthstone 1 47 5
yojustchill 1 47 6
scheduleChange 4 47 7
zealanHis 1 48 3
makePlatformAppear 1 48 4
gorgrondWarned 2 48 5
gwillimToldDoor 1 48 7
mythGaveStuff 1 49 0
knowAboutReagents 1 49 1
didReagents 1 49 2
heardScrollJust 1 49 3
pyrosQuitPlayingAround 1 49 4
shaanaBored 1 49 5
saidOrlok 1 49 6
vardionWarned 2 49 7
Re: Ultima 8: Pagan on DosBOX
Posted: Mon Aug 21, 2023 8:04 am
by gibberishh
Added pointers for all Usecode Flags for the patched game if you are playing without the Usecode Flags cheat. I've grouped all the status flags that were activated during my playthough, but there are scores of status flags that were never triggered for me. Either one needs to do stuff in a particular order for their values to change, or they are remnants from the unpatched game which are no longer used (unlikely, because the cheat was only made for the patched version). All those flags are in a group named Undetermined. Their names are what the creator of that cheat named them.
Known Issue: The address for the flags changes sometimes after using the Recall Item, or sometimes when entering a new map. It is not clear what causes the address to change, but whenever this happens, the first thing you will notice that any visited waypoints show as 'not visited' in the table. You can no longer use any of the flags after this happens (including Walk on Water/Lava, Hear Truth, etc.). The only way currently to 'fix' this is to exit the game entirely and start again (save first if you wish).