dMZX Forums: Turn each of the five Potion effect statuses into counters, and not just internal commands/flags -> MegaZeux Feature Requests -> Tracker

Jump to content

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
  • Cannot start a new Issue
  • You cannot reply to this issue

Report ID #781: Turn each of the five Potion effect statuses into counters, and not just internal commands/flags

#1 User is offline  
smilymzx 

  • Those Goodie-Goodies!
  • PipPipPip
  • Group: Members
  • Posts: 349
  • Joined: 25-October 03
  • Gender:Male
  • Location:I.M.MEEN's book

Posted 27 July 2019 - 12:32 AM

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?

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!)


Page 1 of 1  
  • Cannot start a new Issue
  • You cannot reply to this issue

Replies (1 - 2)

#2 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

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):

: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

#3 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,904
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

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).
"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


Page 1 of 1
  • Cannot start a new Issue
  • You cannot reply to this issue

1 User(s) are reading this issue
1 Guests and 0 Anonymous Users


Powered by IP.Tracker 1.3.2 © 2024  IPS, Inc.