ID:2551037
 
Resolved
Objects in visual contents using the VIS_INHERIT_ICON or VIS_INHERIT_ICON_STATE flags didn't inherit icons/states changed by flick() in the parent icon.
BYOND Version:513.1513
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 80.0.3987.122
Applies to:Dream Seeker
Status: Resolved (513.1514)

This issue has been resolved.
Descriptive Problem Summary:
Basically vis_flags doesnt take into account flick() thus overlays or objects will not call state when flick() is used but the base icon itself will.
Numbered Steps to Reproduce Problem:
just use flick() then put on an overlay witht he same states as the base icon
Code Snippet (if applicable) to Reproduce Problem:
mob/proc/Fight()
set waitfor = 0
var/pick=rand(1,4)
if(attacking)
switch(pick)
if(1)
flick("RPunch",src)
if(2)
flick("LPunch",src)
if(3)
flick("RKick",src)
if(4)
flick("LKick",src)
else
if("Attack" in icon_states(icon))
flick("Attack",src)
if(blocking)
if("Block" in icon_states(icon))
flick("Block",src)


Expected Results:
for base icon and overlays to sync up when flick() calls for xyz state
Actual Results:
only ther base icon calls for the state when flick() isd called, while the overlay stays in the blank state.
Does the problem occur:
Every time
In other games?:havent tried other games since i doubt overlays are handled via vis_contents in other games
In other user accounts?: NO
On other computers?:NO

When does the problem NOT occur?
when using the icon_state var instead of the flick())
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?: 512.1488 (Visit http://www.byond.com/download/build to download old versions for testing.)

Workarounds:
using icon_state instead of flick()
Do you have a simple test case for this?
In response to Lummox JR
Lummox JR wrote:
Do you have a simple test case for this?

Posted in discord
Lummox JR resolved issue with message:
Objects in visual contents using the VIS_INHERIT_ICON or VIS_INHERIT_ICON_STATE flags didn't inherit icons/states changed by flick() in the parent icon.