ID:2777216
 
BYOND Version:514
Operating System:Windows 10 Pro 64-bit
Web Browser:Chrome 99.0.4844.83
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:

If you pass an icon_state to icon() that the icon doesn't have, any other arguments to icon() will be silently ignored without runtime. Normally using an icon_state something doesn't have results in the "no name" state to be used, which is the case here as well, but things like "frame", "dir", and "moving" get ignored in the result.

Numbered Steps to Reproduce Problem:

1) Make an icon, give it no named states.
2) Animate icon.
3) Use below code.
4) Profit?

Code Snippet (if applicable) to Reproduce Problem:
var/icon/I = icon('myicon.dmi',"buggy",frame=1,moving=0,dir=SOUTH)
fcopy(I,"test.dmi")


Expected Results:

Either a runtime saying the icon_state isn't valid, or it just using the default state with no other issues.

Actual Results:

"test.dmi" contains the icon, animated, despite the frame argument.

Does the problem occur:
Every time? Or how often? Every time.

When does the problem NOT occur?

Don't typo your icon_state and wonder for three hours why the result is animated.



What happens if you do
icon(icon='myicon.dmi',state="buggy",frame=1,moving=0,dir=SOUTH)
Same thing, it doesn't matter where the state is passed, or if it's a named argument.