User:SerpentofSet: Difference between revisions
Jump to navigation
Jump to search
SerpentofSet (talk | contribs) mNo edit summary |
SerpentofSet (talk | contribs) mNo edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<div class="mw-collapsible">I am bad at the game so I edit the wiki</div> | |||
==How to Debug in Scribunto== | |||
<code><nowiki>{{#invoke:Test|a|sep=;|b}}</nowiki></code> | |||
<syntaxhighlight lang="lua"> | |||
=p.main( | |||
mw.getCurrentFrame():newChild{ | |||
title="Module:Test", | |||
args={"a",["sep"]=";","b"} | |||
} | |||
)</syntaxhighlight> | |||
===Simplified version=== | |||
<syntaxhighlight lang="lua"> | |||
=p.main{ | |||
args={"a",["sep"]=";","b"} | |||
}</syntaxhighlight> | |||
==What's a sandbox== | |||
===DPS calcs=== | |||
def _calc_dps(self, dps_stats, type='burst'): | |||
"""Calculates Burst or Sustained DPS of a weapon""" | |||
# Burst, not to be confused with burst as in burst fire, but rather | |||
# a burst of damage where delta time is 0 | |||
# sustained has delta time of infinity | |||
# meaning, sustained takes into account time-to-empty clip and reload time | |||
# All reload actions have ReloadDelay played first, | |||
# but typically only single bullet reloads have a non-zero delay | |||
# i.e. | |||
# ReloadDelay of .5, | |||
# ReloadTime of 1, | |||
# ClipSize of 10, | |||
# =time to reload 1 bullet is 1.5s, time to reload 10 bullets is 10.5s | |||
# BurstInterShotInterval represents time between shots in a burst | |||
# Abbreivated dictionary for easier access | |||
d = dps_stats.copy() | |||
cycle_time = 1 / d['RoundsPerSecond'] | |||
total_cycle_time = cycle_time + d['BulletsPerBurst'] * d['BurstInterShotInterval'] | |||
if type == 'burst': | |||
return ( | |||
d['BulletDamage'] * d['BulletsPerShot'] * d['BulletsPerBurst'] / (total_cycle_time) | |||
) | |||
elif type == 'sustained': | |||
if d['ReloadSingle']: | |||
# If reloading 1 bullet at a time, reload time is actually per bullet | |||
time_to_reload = d['ReloadTime'] * d['ClipSize'] | |||
else: | |||
time_to_reload = d['ReloadTime'] | |||
time_to_reload += d['ReloadDelay'] | |||
time_to_empty_clip = d['ClipSize'] / d['BulletsPerBurst'] * (total_cycle_time) | |||
# More bullets per shot doesn't consume more bullets in the clip, | |||
# so think of it as bullet per bullet | |||
# BulletsPerBurst does consume more bullets in the clip | |||
damage_from_clip = d['BulletDamage'] * d['BulletsPerShot'] * d['ClipSize'] | |||
return damage_from_clip / (time_to_empty_clip + time_to_reload) | |||
else: | |||
===Input for JS?=== | |||
<input id="spirit" type="number" value="100"> | |||
<input id="pi" type="number" value="14"> | |||
===Light/Dark Mode Fiddling=== | |||
[[File:Siphon Life.png|class=abilityicon]] | |||
[[File:Tornado.png|class=abilityicon]] |
Latest revision as of 22:08, 23 October 2024
I am bad at the game so I edit the wiki
How to Debug in Scribunto[edit | edit source]
{{#invoke:Test|a|sep=;|b}}
=p.main(
mw.getCurrentFrame():newChild{
title="Module:Test",
args={"a",["sep"]=";","b"}
}
)
Simplified version[edit | edit source]
=p.main{
args={"a",["sep"]=";","b"}
}
What's a sandbox[edit | edit source]
DPS calcs[edit | edit source]
def _calc_dps(self, dps_stats, type='burst'): """Calculates Burst or Sustained DPS of a weapon""" # Burst, not to be confused with burst as in burst fire, but rather # a burst of damage where delta time is 0 # sustained has delta time of infinity # meaning, sustained takes into account time-to-empty clip and reload time # All reload actions have ReloadDelay played first, # but typically only single bullet reloads have a non-zero delay # i.e. # ReloadDelay of .5, # ReloadTime of 1, # ClipSize of 10, # =time to reload 1 bullet is 1.5s, time to reload 10 bullets is 10.5s # BurstInterShotInterval represents time between shots in a burst # Abbreivated dictionary for easier access d = dps_stats.copy() cycle_time = 1 / d['RoundsPerSecond'] total_cycle_time = cycle_time + d['BulletsPerBurst'] * d['BurstInterShotInterval'] if type == 'burst': return ( d['BulletDamage'] * d['BulletsPerShot'] * d['BulletsPerBurst'] / (total_cycle_time) ) elif type == 'sustained': if d['ReloadSingle']: # If reloading 1 bullet at a time, reload time is actually per bullet time_to_reload = d['ReloadTime'] * d['ClipSize'] else: time_to_reload = d['ReloadTime'] time_to_reload += d['ReloadDelay'] time_to_empty_clip = d['ClipSize'] / d['BulletsPerBurst'] * (total_cycle_time) # More bullets per shot doesn't consume more bullets in the clip, # so think of it as bullet per bullet # BulletsPerBurst does consume more bullets in the clip damage_from_clip = d['BulletDamage'] * d['BulletsPerShot'] * d['ClipSize'] return damage_from_clip / (time_to_empty_clip + time_to_reload) else:
Input for JS?[edit | edit source]
<input id="spirit" type="number" value="100"> <input id="pi" type="number" value="14">