This is for those people making a Sprite-based Status Bar out there,
Simply said: MZX never had a way to detect how much time (value) an effect takes before wearing off, those 5 timers built in are fixed to 200 decimal and only activated and written to by robots, BUT never read.
Surely, there may be a way/compromise in the future, right?
Report ID | 781 | Title | Turn each of the five Potion effect statuses into counters, and not just internal commands/flags |
Product | MegaZeux Feature Requests | Status | Approved (Severity 1 - Low) |
Version | TBA | Fixed in | - |
Page 1 of 1
Report ID #781: Turn each of the five Potion effect statuses into counters, and not just internal commands/flags
#1 smilymzx
Posted 27 July 2019 - 12:32 AM
SmilyMZX, A.K.A. Hamtaro126 (A.K.A. AtariHacker)
I am at:
Z2 - ZZT forums, NESDEV Forums, SMW Central (Super Mario World)
Other interests:
Museum of ZZT, NESDEV Wiki, Wiki of Weavers (ZZT-related!)
I am at:
Z2 - ZZT forums, NESDEV Forums, SMW Central (Super Mario World)
Other interests:
Museum of ZZT, NESDEV Wiki, Wiki of Weavers (ZZT-related!)
Page 1 of 1
Replies (1 - 2)
#2 Lachesis
Posted 02 August 2019 - 05:46 PM
I think it's reasonable to have access to some of these directly and counters would be the correct way to do this. I'm concerned about how many things might have to get exposed like this, though (if X is a counter, why isn't Y? etc). If done it might be good (but not necessary at all) to prefix them with "player_" ("player_freezetime", "player_slowtime", "player_firewalker", "player_wind", "player_blind") to avoid cluttering up the counter namespace with more counters that have side effects.
That said I think these are pretty low priority and I'm not going to touch this at the moment, so here's the best way to work around it in the meantime. Basically you'll have to reimplement anything that triggers those effects as robots and set your own counter. While the counter is >1, have the global robot do this (as the global robot is not affected by the time effects):
It's not perfect but hopefully it works for you in the meantime. (the alternative is probably don't have a display for these for now)
That said I think these are pretty low priority and I'm not going to touch this at the moment, so here's the best way to work around it in the meantime. Basically you'll have to reimplement anything that triggers those effects as robots and set your own counter. While the counter is >1, have the global robot do this (as the global robot is not affected by the time effects):
:l if freezetime < 1 no_ft dec freezetime 1 freezetime 1 :no_ft if slowtime < 1 no_st dec slowtime 1 slowtime 1 :no_st if firewalker < 1 no_fw dec firewalker 1 . "Note: 1 isn't sufficient here, it has to be 2" firewalker 2 :no_fw if wind < 1 no_wind dec wind 1 . "Note: 1 isn't sufficient here, it has to be 2" wind 2 :no_wind if blind < 1 no_blind dec blind 1 blind 1 :no_blind * "&freezetime& &slowtime& &firewalker& &wind& &blind&" wait for 1 goto l
It's not perfect but hopefully it works for you in the meantime. (the alternative is probably don't have a display for these for now)
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
#3 Lachesis
Posted 02 August 2019 - 05:56 PM
Updating status to: Approved
Updating severity to: 1 - Low
Updating version to: TBA
Tentatively approving it but not giving it a particular target version (leaning towards 3.00 for now though).
Updating severity to: 1 - Low
Updating version to: TBA
Tentatively approving it but not giving it a particular target version (leaning towards 3.00 for now though).
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository
Page 1 of 1
1 User(s) are reading this issue
1 Guests and 0 Anonymous Users
Powered by IP.Tracker 1.3.2 © 2025 IPS, Inc.