mNo edit summary
mNo edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
I am bad at the game so I edit the wiki


What's a sandbox
<div class="mw-collapsible">I am bad at the game so I edit the wiki</div>


{| class="wikitable sortable"
==How to Debug in Scribunto==
! Hero !! Starting Base Health !! Added Base Health per PI !! Base Health at Max PI
<code><nowiki>{{#invoke:Test|a|sep=;|b}}</nowiki></code>
|-
<syntaxhighlight lang="lua">
| {{PageRef|Abrams|type=Hero|size=25px}} || {{#invoke:HeroData|get_hero_var|hero_atlas|MaxHealth}} || {{#invoke:HeroData|get_list_elem|hero_atlas|LevelScaling|Health}} || a billion
=p.main(
|-
  mw.getCurrentFrame():newChild{
| Example || Example || Example ||
      title="Module:Test",
|-
      args={"a",["sep"]=";","b"}
| Example || Example || Example ||
  }
|}
)</syntaxhighlight>
===Simplified version===
<syntaxhighlight lang="lua">
=p.main{
  args={"a",["sep"]=";","b"}
}</syntaxhighlight>


{{Item|Bullet Lifesteal}}
==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:Siphon Life.png|class=abilityicon]]
 
[[File:Tornado.png|class=abilityicon]]
{{#invoke:ItemsByStat|tablefy|BulletLifestealPercent|+X% Bullet Lifesteal|%}}
 
Use this for the debug console when testing the ItemsByStat page: =p.tablefy(  mw.getCurrentFrame():newChild{
title="Module:ItemsByStat",      args={"BulletLifestealPercent", "+X% Bullet Lifesteal", "%"}  })