This quick little bit of code is my workaround for the unvGetTick / Domina powers & tithing bug:
Code: Select all
<Invoke>
<!-- This is a temporary solution. Very inelegant. -->
(block nil
(if (typGetGlobalData 0x00202001 "lastInvokeTime1") (typSetGlobalData 0x00202001 "lastInvokeTime1" 180))
(if (typGetGlobalData 0x00202001 "lastInvokeTime2") (typSetGlobalData 0x00202001 "lastInvokeTime2" 180))
(if (typGetGlobalData 0x00202001 "lastInvokeTime3") (typSetGlobalData 0x00202001 "lastInvokeTime3" 180))
(if (typGetGlobalData 0x00202001 "lastInvokeTime4") (typSetGlobalData 0x00202001 "lastInvokeTime4" 180))
(if (typGetGlobalData 0x00202001 "lastInvokeTime5") (typSetGlobalData 0x00202001 "lastInvokeTime5" 180))
(if (typGetGlobalData 0x00202001 "lastInvokeTime6") (typSetGlobalData 0x00202001 "lastInvokeTime6" 180))
(objSetData gPlayerShip "sistersLastDonation" (60))
(plyMessage gplayer (cat "Domina powers reset. Your Domina XP is currently: " (typGetGlobalData 0x00202001 "xp")))
)
</Invoke>
This code, when added to an item, does the following when the item is <U>sed:
- Set the "last invoke time" for each of the Domina powers of levels 1-6 to 180 "ticks" (a few seconds after game start)
- Set the "last donation time" for Sisters of Domina tithing to 60 ticks (two seconds after game start)
- Send a message to the player indicating that powers have been reset and also revealing their current Domina XP.
Notes:
- Yes, I should have used a loop. Initially I just tried level 1 powers and I copy/pasted from that instead of rewriting the code.
- Tithing @ Sisters of Domina temple is affected by unvGetTick, hence why it is reset also.
- If you don't understand Domina XP and levels, revealing that info might be a minor spoiler for you.
- You could use this code to cheat and have basically perpetually usable Domina powers with no "cooldown". I thought about ways to make it fair but decided that was way too much effort for my own uses since I know
I would never use it to cheat. If you cheat with it, it's your conscience, not mine. I also heard that Domina doesn't like cheaters.
- I stuck this code in a ROM biosoft that doesn't go away when you use it, and then edited the playerships to have the ROM right from the start of the game. I called it "Domina Bugfix ROM" and gave it basically no other value. If you do something like this, be warned that you could still lose the item to, e.g., solvent flooding your cargo hold.
- I also stuck the code into the Jewel of Contemplation item 'cuz I thought that would be neat.
- The code provided here is in the Public Domain. You can use it, steal it, modify it, print it out, wear it on a t-shirt, whatever you want. No credit to me is necessary.
- Oh yeah, almost forgot. I hardcoded the 0x00202001 ID instead of using the global variable. That's not good. There's a constant set for it in Transcendence.xml I think, something like &stDomina. I had the number memorized but not the variable name. Anyway, that's bad practice, don't do it.