Difference between revisions of "Template:Metrics/Capture return"
m (Rename for catagory page) |
(Exact values for 1..32 from Wolfram Alpha) |
||
Line 1: | Line 1: | ||
{{#switch: {{{1}}} | {{#switch: {{{1}}} | ||
− | | | + | |1={{#expr:1}} |
− | | | + | |2={{#expr:2/3}} |
− | | | + | |3={{#expr:6/11}} |
− | | | + | |4={{#expr:12/25}} |
− | | | + | |5={{#expr:60/137}} |
− | | | + | |6={{#expr:20/49}} |
− | | | + | |7={{#expr:140/363}} |
− | | | + | |8={{#expr:280/761}} |
− | | | + | |9={{#expr:2520/7129}} |
− | | 10 = | + | |10={{#expr:2520/7381}} |
− | | 11 = | + | |11={{#expr:27720/83711}} |
− | | 12 = | + | |12={{#expr:27720/86021}} |
− | | 13 = | + | |13={{#expr:360360/1145993}} |
− | | 14 = | + | |14={{#expr:360360/1171733}} |
− | | 15 = | + | |15={{#expr:360360/1195757}} |
− | | 16 = | + | |16={{#expr:720720/2436559}} |
− | | 17 = | + | |17={{#expr:12252240/42142223}} |
− | | 18 = | + | |18={{#expr:4084080/14274301}} |
− | | 19 = | + | |19={{#expr:77597520/275295799}} |
− | | 20 = | + | |20={{#expr:15519504/55835135}} |
− | | 21 = | + | |21={{#expr:5173168/18858053}} |
− | | 22 = | + | |22={{#expr:5173168/19093197}} |
− | | 23 = | + | |23={{#expr:118982864/444316699}} |
− | | 24 = | + | |24={{#expr:356948592/1347822955}} |
+ | |25={{#expr:8923714800/34052522467}} | ||
+ | |26={{#expr:8923714800/34395742267}} | ||
+ | |27={{#expr:80313433200/312536252003}} | ||
+ | |28={{#expr:80313433200/315404588903}} | ||
+ | |29={{#expr:2329089562800/9227046511387}} | ||
+ | |30={{#expr:2329089562800/9304682830147}} | ||
+ | |31={{#expr:72201776446800/290774257297357}} | ||
+ | |32={{#expr:144403552893600/586061125622639}} | ||
}} | }} | ||
<noinclude>{{clr}} | <noinclude>{{clr}} | ||
{{Template doc}} | {{Template doc}} | ||
[[Category:Game mechanics|{{SUBPAGENAME}}]] | [[Category:Game mechanics|{{SUBPAGENAME}}]] |
Latest revision as of 13:23, 14 February 2013
Multiplier | Adjustment | Rate |
---|---|---|
x1 | 1 | 100% |
x2 | 0.66666666666667 | 150% |
x3 | 0.54545454545455 | 183% |
x4 | 0.48 | 208% |
x5 | 0.43795620437956 | 228% |
x6 | 0.40816326530612 | 245% |
x7 | 0.38567493112948 | 259% |
x8 | 0.36793692509855 | 272% |
x9 | 0.35348576237902 | 283% |
x10 | 0.34141715214741 | 293% |
x11 | 0.33113927679755 | 302% |
x12 | 0.3222468932005 | 310% |
x13 | 0.31445218251769 | 318% |
x14 | 0.30754446618812 | 325% |
x15 | 0.30136557845783 | 332% |
x16 | 0.29579419172694 | 338% |
x17 | 0.29073549347409 | 344% |
x18 | 0.28611418520599 | 350% |
x19 | 0.2818696118207 | 355% |
x20 | 0.2779522965244 | 360% |
x21 | 0.27432142650145 | 365% |
x22 | 0.27094299608389 | 369% |
x23 | 0.26778841368733 | 373% |
x24 | 0.26483344171861 | 378% |
x25 | 0.26205737940994 | 382% |
x26 | 0.25944242548188 | 385% |
x27 | 0.25697317570452 | 389% |
x28 | 0.25463622288863 | 393% |
x29 | 0.25241983552654 | 396% |
x30 | 0.25031369744854 | 399% |
x31 | 0.24830869526721 | 403% |
x32 | 0.24639674358231 | 406% |
The values are computed using the equation sum(1/i for i=1 to n), where n is the number of capturing players, a harmonic number. This equation is derived from the source file trigger_area_capture.cpp
that is available as part of the Source SDK. Values generated from WolframAlpha using the input Table[1/HarmonicNumber[n], {n, 32}]
Previous experimental results
These decay rates were determined by creating a map with a 100 second capture point, then using Puppet Bots to capture said point. I am unable to derive a simple equation that explains these values. These times were generated using a SourceMod script as follows:
#include <sourcemod> public Plugin:myinfo = { name = "Capture Timing", author = "Org", description = "Console out debug info", version = "1.0.0.2", url = "example.org" }; public OnPluginStart() { HookEvent("controlpoint_starttouch", Event_StartCapture) HookEvent("teamplay_point_captured", Event_EndCapture) } public Action:Event_StartCapture(Handle:event, const String:name[], bool:dontBroadcast) { new Float:time = GetEngineTime() PrintToServer("Control Point Entered : %f", time) return Plugin_Continue } public Action:Event_EndCapture(Handle:event, const String:name[], bool:dontBroadcast) { new Float:time = GetEngineTime() PrintToServer("Control Point Captured: %f", time) return Plugin_Continue }