EC: wrong timer values used for barding skills

ForeverFunForeverFun Posts: 767
This page calls out the bard skill usage timer rules:

  • Bard Skill Timeout reduced to 8 Seconds.
  • Having a bard mastery reduces all Bard Skill Timeouts by 1 second, and an additional second for the Skill of the mastery focus.

At least in EC, the logic used to calculate skill timer count-down needs to be adjusted to account for the above.  Currently, you see wrong countdown values in the hotbar.

Something along these lines:

TextParsing.lua:
	
	-- peacemaking
	if ( SystemData.TextID == 1049532 or 	-- "You play hypnotic music, calming your target."
		 SystemData.TextID == 500615  or	-- "You play your hypnotic music, stopping the battle."
		 SystemData.TextID == 1049648 or	-- "You play hypnotic music, but there is nothing in range for you to calm."
		 SystemData.TextID == 1049531 or    -- "You attempt to calm your target, but fail."
		 SystemData.TextID == 500613		-- "You attempt to calm everyone, but fail."
		 ) then 
		HotbarSystem.SkillDelayTimeMax = 8
		HotbarSystem.SkillDelayTime = 8
		
		if (Interface.BardMastery ~= 0) then	-- any bard mastery, reduce by 1 second.
			HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
			HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1

			if (Interface.BardMastery == 2) then	-- peacemaking mastery, further reduce by 1 second.
				HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
				HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1
			end			
		end
		
		return
	end
	
	-- provocation
	if ( SystemData.TextID == 501602 or		-- "Your music succeeds, as you start a fight."
		 SystemData.TextID == 501599		-- "Your music fails to incite enough anger."
		 ) then 
		HotbarSystem.SkillDelayTimeMax = 8		
		HotbarSystem.SkillDelayTime = 8
		
		if (Interface.BardMastery ~= 0) then	-- any bard mastery, reduce by 1 second.
			HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
			HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1
			
			if (Interface.BardMastery == 1) then	-- provocation mastery, further reduce by 1 second.
				HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
				HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1
			end			
		end
		
		return
	end
	
	-- discordance
	if ( SystemData.TextID == 1049539 or	-- "You play jarring music, suppressing your target's strength."
	     SystemData.TextID == 1049540		-- "You attempt to disrupt your target, but fail."
	     ) then 
		HotbarSystem.SkillDelayTimeMax = 8
		HotbarSystem.SkillDelayTime = 8
		
		if (Interface.BardMastery ~= 0) then	-- any bard mastery, reduce by 1 second.
			HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
			HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1

			if (Interface.BardMastery == 3) then	-- discordance mastery, further reduce by 1 second.
				HotbarSystem.SkillDelayTimeMax = HotbarSystem.SkillDelayTimeMax -1
				HotbarSystem.SkillDelayTime = HotbarSystem.SkillDelayTime -1
			end			
		end
		
		return
	end
	
	-- "You are at peace." "You cannot focus your concentration." "You are busy doing something else and cannot focus." "You enter a meditative trance."


ContainerWindow.lua:


					elseif ((item.objectType == 8794 or item.objectType == 8795) and item.hueId == 0) then			-- book of masteries				
						
						Interface.BardMastery = 0	-- no bard mastery							
						
						if discoSkillLevel >= 90 or peaceSkillLevel >= 90 or provoSkillLevel >= 90 then
							local itemproperties = ItemProperties.GetObjectPropertiesArray( Interface.BackPackItems[i], "Backpack check - Bard Mastery parsing" )						

							if(itemproperties ~= nil) then
								local properties = itemproperties.PropertiesTids
								
								for index = 1, #properties do
									if( provoSkillLevel >= 90 and properties[index] == 1151946 ) then	-- provocation
										Interface.BardMastery = 1
										break
									end
									
									if( peaceSkillLevel >= 90 and properties[index] == 1151947 ) then	-- peacemaking
										Interface.BardMastery = 2	
										break									
									end
									
									if( discoSkillLevel >= 90 and properties[index] == 1151945 ) then	-- discord
										Interface.BardMastery = 3		
										break
									end
								end							
							end
						end
					end

Comments

  • looploop Posts: 299
    Numerous problems like this since the timers are on the frontend instead of responding to the server. Certainly the server has a sense of this, but if it could never be exposed to the frontend then it begs the question as to why this client-forward hotbar was ever attempted considering the Classic Client and third-party offshoots are just fine without it.
  • YoshiYoshi Posts: 3,322
    "no they are not fine, have big bug with attunement timer"
    Posts on this account have been pre filtered from personal comment or opinion in an effort to suppress conservative views in order to protect the reader.
Sign In or Register to comment.