I am currently creating a module that creates custom boss fights in vanilla dungeons. To accomplish this without having to make edits to existing spells used by other creatures, I've been using Stoneharry Spell Editor to create custom spells that the bosses use.
The spells that I created are doing exactly what I want them to do but the majority of the spells that aren't instant cast will not have a cast timer shown while the boss is casting the spell.
Some of these spells haven't been edited aside from the damage. Just a straight up copy of a basic spell like Lightning Bolt. I searched through all of the attributes and there was no difference between spells that would show the cast timer and those that wouldn't.
What determines whether or not a spell with have a visible cast bar and how do I fix the spells that don't?
I have gone through the process of creating a custom MPQ file to patch my client in addition to the server side DBC file.
I was unable to find the cause of why some of these spells were not showing a cast bar but I did find a flag that can be set to force the display of the cast bar as a fix to the issue.
Setting AttributeEx4 with the value 268435456 (hex value 0x10000000) will force it to display. I confirmed this flag worked with all of the spells that were previously not showing a cast bar.
Might be related, might be unrelated, but from what I understand the 3.3.5 client and blizz's own UI uses events in the combat log to show stuff like cast bars in the UI frame. And because 3.3.5 client famously has bugs that the combat log gets frozen and stuck, sometimes these things disappear. People also call this famous bug other names like the "recount bug", since it leads to addons like Recount showing the wrong values for damage and such, because they stop receiving the correct events from the combat log. Notable thing is though the bug is very strange, it does not always completely freeze everything but rather still let some of the events through, leading the numbers in damage meter addons to change but be completely wrong.
I have stumbled to the same problem with regular mobs and bosses, noticed that some of them suddenly stop showing things like cast bars and buffs/debuffs after the combat log bug happens. The bosses still make their animations for casting and stuff properly, but they don't show in the UI. That's what lead me to think that the stuff happening in the "world" are handled by server sending opcodes but the stuff that is shown in your UI frame are from the combat log.
So first make sure you're using a combat log clearing addon or a macro, like this one:
https://github.com/anzz1/CLFix
Yes, I know that code runs the CombatLogClearEntires() every single frame, but from what I have tested I simply found every other addon that clears the log more infrequently to the combat log bug sometimes happening. Only running it every frame has spared me from any more combat log bugs. See, the thing about that bug is that you have to clear the log before it happens, clearing it afterwards won't usually help and you need to reload the whole UI.
Secondly, what you could do is check what your client sees happening in the combat log by printing the combat log events and comparing the different spell events that way. This can be achieved easily by making a frame, registering the COMBAT_LOG_EVENT_UNFILTERED event and printing the results.
Like this, just wrap that code into a .lua addon to see what's what:
local f = CreateFrame("Frame", nil, UIParent)
f:SetScript("OnEvent", function(self, event, ...)
-- timestamp, eventType, srcGUID, sourceName, srcFlags, destGUID, destName, destFlags, spellID, spellName, arg1, arg2, arg3, ...
print(...)
end)
f:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
I am in the process to add FullCalendar v4 to our react application and I'm pretty new to FullCalendar, so excuse me if I ask a basic question.
I searched both the documentation and StackOverflow, but couldn't find any hints to my current problem. Let me briefly describe our goal scenario:
We want to load and render the events for a whole year and show a date range of about 40 days (a whole month and additionally 5 days from the last and the next month) to the user. The user should be able to scroll through the whole year with the scrollbar.
The first question is whether FC4 already provides the functionality with which we can achieve our goal. I tried to define a custom view of type 'resourceTimeline' with a duration of 30 days and additionally set the 'validRange' to the current year. This gives me the look I want, but unfortunately it is static - the scrollbar is not visible as long as the screen can display the whole area of 40 days. With the next/previous buttons I can switch between the 40 days segments, but I'd rather use these buttons to switch between years and use the scrollbar to scroll within the year.
We have now tried to set the 'visibleRange' to the current year and programmatically scroll to the current date in the 'datesRender' function. The problem is that we can't decide whether FC4 was initially loaded (where we would scroll to the current date) or whether a user scrolled manually to another date in the timeline and edited an event there. In this case the scroll position should be kept.
So what we are missing is the matching callback that tells us that the 'executeRender' function has been completely executed. The question at this point is how and where I can provide an application specific callback function that is triggered after all dates and events have been rendered. I also saw several internal success callbacks. Is it possible to overwrite them?
Any ideas and hints are highly appreciated.
Thank you very much for thinking along.
I've add my complication entries and this all seems to work well - each complication entry is scheduled for midnight.
I'm testing the time change by setting my Mac's date to the following day where I'm expecting my complication to update to the next entry.
However, it only updates the entry when I open and close my app. I'm expecting to see it automatically change like the other standard complications do. Is this some behaviour I need to go out of my way to implement? I'd expect an automatic change as per the docs.
I've found the following:
ClockKit begins displaying a timeline entry precisely at the time specified by the entry’s date property.
But surely this is a greater than check too? I tried setting it exactly to midnight but (surprisingly) this doesn't work either.
Any help is appreciated.
Additionally, I found the following regarding updating the timeline, but I would have thought this would be for changing the timeline entries as oppose to just refreshing the complication for the current timeline:
During a background app refresh task. You can schedule background tasks to periodically update your watchOS content. This works best when your data changes at predictable times.
The Watch Simulator appears to have some quirks around handling of times. In particular, it doesn’t seem to obey time changes on the underlying system until you relaunch it.
Relaunch the Simulator after changing the system clock and check on your Complication then. If you want to test the transition to the next day specifically, you can set the system time to 11:58 pm and wait for it to cut over.
When i try to select a time (3:15 as example) on the display it is mostly one minute beside the actual desired time. Mostly - sometimes it is selecting properly but i didn't find out when. Is it a known bug? Do i have to set a range or something. Thanks for any help.
I want to display an agendaDay view with hour spaced slots. However I also want to events that are arbitrary lengths. If something takes an hour and 5 minutes then I want it to display as an hour and 5 minutes. At the minute drag resizing snaps to the next available slot.
how can I disable this snap drag behaviour and allow users to set events of arbitrary length?
This doesn't seem to be that unusual a use case to me, how have other people solved this?
Things I've tried:
Setting the slotMinutes to a low value such as 5. This helps with resizing but also makes the default event length 5 minutes. Also it takes up alot of space. I tried reducing the height of the slots to 1px which works to an extent but the drag action becomes untethered from the timescale. Also the calculation of the clicked time becomes wildly inaccurate.
I don't know of a programmatic solution, but I think this is a problem best solved by a second edit screen for the event.
Take a look at Google Calendar, you drag events to the nearest size (often the divisions work out well for most events) ... and then you edit the event giving a specific start/end time on a second page.
Other than that ... when you say arbitrary length, you mean 1 minute precision I assume - so then you essentially need slots of 1 minute. Not sure how cumbersome that will be for the user. You could have 1 min slots and then only display the time on the left hand side every half hour. Not sure where in the code this would be, but try having a look in /src/agenda/AgendaView.js