Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
(Update for v6)
 
m (→‎Rank table: cleanup)
 
Line 1: Line 1:
  +
{{removedfromgame||patch=4.0.1}}
'''ChatThrottleLib''' is a small, embeddable library by [[User:Mikk|Mikk]] that keeps outbound chat and addon communication from exceeding the output rate limit in WoW that otherwise causes players to disconnect from the server.
 
  +
<onlyinclude>{{Infobox ability
  +
|name=Deathchill
  +
|image=Spell_Shadow_SoulLeech_2
  +
|description=When activated increases your critical strike chance with Frost spells and abilities by 100% for the next 6 sec.
  +
|class=[[Death knight]]
  +
|type=Offensive
  +
|school=Frost
  +
|cost=
  +
|costunit=
  +
|range=
  +
|rangeunit=
  +
|cast_time=Instant
  +
|cooldown=2 mins
  +
|talented=Yes
  +
|talent_tree=Frost, Tier 5
  +
|talent_req=Deathchill
  +
|improvement=
  +
|ranks=??
  +
|requirements=
  +
|buff_name=Deathchill
  +
|buff_image=Spell_Shadow_SoulLeech_2
  +
|buff_type=
  +
|buff_desc=Increases critical strike chance with Frost spells and abilties by 100%.
  +
|buff_dur=6 secs
  +
}}</onlyinclude>
   
  +
'''Deathchill''' was a [[Death knight]] ability that allows the death knight to increase their chance to critically strike a target with frost spell and abilities by 100%.
Using its functions in your addon helps keep players from getting disconnected when your addon sends too much data. It also makes your job easier by giving you priorities to use, and also treats different streams individually, so a long whisper data transfer to "Alice" doesn't delay your real-time traffic to and from "Bob", or to the raid channel, even if it's all in the same priority.
 
   
  +
<!--This is the rank table. Replace numbers in table when possible
  +
== Rank table ==
  +
{| class="darktable" style="text-align: center;"
  +
|-
  +
! Rank !! Level !! [[Energy]]/[[Mana]]/[[Rage]] Cost !! Damage !! Cost
  +
|-
  +
| 1 || 30 || 15 || + 32 || {{cost|1|8}}
  +
|-class="alt"
  +
| 2 || 38 || 15 || + 43 || {{cost|1|80}}
  +
|-
  +
| 3 || 46 || 15 || + 68 || {{cost|3|24}}
  +
|-class="alt"
  +
| 4 || 54 || 15 || + 87 || {{cost|5|4}}
  +
|-
  +
| 5 || 61 || 15 || + 105 || {{cost|5|85}}
  +
|-class="alt"
  +
| 6 {{bc-inline}} || 69 || 15 || + 140 || {{cost|5|85}}
  +
|}
  +
-->
   
  +
==External links==
ChatThrottleLib does:
 
  +
<!-- Read http://www.wowpedia.org/Wowpedia:External_links before posting your links here.
* '''Round-robin traffic shaping''' of different communication paths
 
  +
Links that do not conform to the rules will be DELETED.
* '''Prioritization''' of messages according to three predefined priorities: "BULK", "NORMAL" and "ALERT"
 
  +
Repeat violations may result in a BAN.
* '''NO''' queueing of traffic needlessly. No lag is introduced until it needs to be.
 
  +
Have a nice day. :) -->
  +
{{elinks-spell|49796}}
   
   
  +
{{classfooter|Death knight}}
== ChatThrottleLib APIs == <div style="margin-left: 3%;">
 
   
=== ChatThrottleLib:SendChatMessage === <div style="margin-left: 3%;">
 
   
  +
[[es:Escalofrío de muerte]]
ChatThrottleLib:SendChatMessage("prio", "prefix", "text", "chattype", "language", "destination");
 
  +
[[Category:Death knight abilities]]
 
 
[[Category:Spells]]
;prio:String - "BULK", "NORMAL" or "ALERT".
 
;prefix:String - a unique identifier for your addon (or class of traffic)
 
The following parameters are the same as the [[API SendChatMessage|SendChatMessage]]() API:
 
;text:String - the text to be sent
 
;chattype:String - "SAY", "WHISPER", "CHANNEL", etc...
 
;language:String or nil
 
;destination:String or nil - Used for WHISPER, CHANNEL..
 
 
 
</div>
 
=== ChatThrottleLib:SendAddonMessage === <div style="margin-left: 3%;">
 
 
ChatThrottleLib:SendAddonMessage("prio", "prefix", "text", "chattype");
 
 
;prio:String - "BULK", "NORMAL", or "ALERT".
 
The following parameters are the same as the [[API SendAddonMessage|SendAddonMessage]]() API:
 
;prefix:String - a unique identifier for your addon (or class of traffic)
 
;text:String - the text to be sent
 
;chattype:String - "PARTY", "RAID", "GUILD", "BATTLEGROUND"
 
 
 
</div>
 
 
</div>
 
 
== Notes on outbound rate == <div style="margin-left: 3%">
 
 
The World of Warcraft servers will disconnect you if you generate too much output. This is not limited to chat output; any type of output can cause it. Some of you may have noticed that holding down your right mouse button and wiggling it wildly for an extended time can kick you off.
 
 
 
In my own testing, I've found that a data rate of 3000 [[CPS]] will cause a disconnect if sustained for more than a few seconds. There seems to be an input buffer of something along the lines of 32KBytes serverside. Filling it would be what causes the kick.
 
 
A total output of 2000 CPS seems safe.
 
 
ChatThrottleLib will allow '''bursts of up to 8000 bytes''' and after that '''throttle its output to 1000 CPS''', to allow room for actual game events.
 
 
 
ChatThrottleLib will also assume that there's a 40-byte overhead associated with sending messages, so if you're sending "hi", it will count as 42 bytes for traffic shaping purposes. It's fairly unscientific, I'm assuming it's fair estimate of source + destination + chattype + some envisioned protocol overhead.
 
 
40 bytes seems a bit on the low side for sending data, possibly because the sender is not included, but it seems about right on the receiving end from measuring actual network traffic (excluding ethernet+IP+TCP headers).
 
 
 
</div>
 
 
== Throttling algorithms == <div style="margin-left: 3%">
 
 
There are two types of traffic shaping going on in ChatThrottleLib.
 
 
=== Per-stream shaping === <div style="margin-left: 3%;">
 
Each prefix + chattype (+ destination) tuple is treated as a separate stream. Streams output is simply round-robined, i.e. they get the same amount of messages per second. Not necessarily the same CPS though. Doing full-out data rate shaping seemed like unnecessary overhead for very little gain.
 
 
</div>
 
=== Prioritization === <div style="margin-left: 3%;">
 
Traffic in the three priorities will be fully data rate shaped so that the net output stays at 1000 CPS. Higher priorities do not force lower priority traffic out of the way utterly. In a fully loaded system (with full output in all priorities), each priority gets 1/3rd of the available bandwidth.
 
 
It is fully balanced. Examples of attempted transmit rates and actual output results:
 
 
* <small>'''BULK'''</small> 500 CPS. <small>'''NORMAL'''</small> 500 CPS. <small>'''ALERT'''</small> 200 CPS
 
** Bulk gets 400
 
** Normal gets 400
 
** Alert gets 200
 
 
* <small>'''BULK'''</small> 1500 CPS. <small>'''NORMAL'''</small> 200 CPS. <small>'''ALERT'''</small> 500 CPS
 
** Bulk gets 400
 
** Normal gets 200
 
** Alert gets 400
 
 
* <small>'''BULK'''</small> 1200 CPS. <small>'''NORMAL'''</small> 0 CPS. <small>'''ALERT'''</small> 100 CPS
 
** Bulk gets 900
 
** Normal gets 0
 
** Alert gets 100
 
 
* <small>'''BULK'''</small> 0 CPS. <small>'''NORMAL'''</small> 500 CPS. <small>'''ALERT'''</small> 400 CPS
 
** Bulk gets 0
 
** Normal gets 500
 
** Alert gets 400
 
 
 
</div>
 
 
</div>
 
 
== How to use ChatThrottleLib == <div style="margin-left: 3%">
 
 
* Copy ChatThrottleLib.lua into your addon directory
 
 
* Add "ChatThrottleLib.lua" to your .toc file
 
 
You're done, and can now use ChatThrottleLib:SendChatMessage and ChatThrottleLib:SendAddonMessage to send your messages!
 
 
 
 
 
The library has built-in checks for if it has already been loaded, and avoids loading again if so.
 
 
If your addon has a newer version of the library than one that has already been loaded, it will replace the old version.
 
 
 
</div>
 
[[Category:Function Libraries]]
 

Revision as of 13:41, 14 March 2011

Deathchill
Spell shadow soulleech 2
  • Deathchill (?? rankExpression error: Unrecognized punctuation character "?".)
  • Death knight ability
  • 2 mins cooldown
  • Instant
  • When activated increases your critical strike chance with Frost spells and abilities by 100% for the next 6 sec.
Properties
Class Death knight
School Frost
Cooldown 2 mins
Talents
Talent tree Frost, Tier 5
Talent required Deathchill
Related buff
Spell shadow soulleech 2
  • Deathchill
  • Increases critical strike chance with Frost spells and abilties by 100%.
  • Duration: 6 secs

[[Category:Removed death knight abilities]][[Category:Removed death knight abilities]]

Deathchill was a Death knight ability that allows the death knight to increase their chance to critically strike a target with frost spell and abilities by 100%.


External links