Skip to content
This repository was archived by the owner on May 31, 2025. It is now read-only.

lambdv/ParametricTransformer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Parametric Transformer

⚠️ Sunsetted
this project has been sunsetted and no longer maintained. for a similar library, consider checking out the rust reimplementation at https://github.com/lambdv/aminus.

framework for genshin impact damage/stat calculation and optimization.

Installation

  1. Clone The Repository
git clone https://github.com/ulambda/ParametricTransformer.git 
  1. Navagate into the directory
cd ParametricTransformer
  1. Install Dependencies (Maven required: https://maven.apache.org)
mvn install

Usage

  import com.github.lambdv.ParametricTransformer.core.*;
  var ayaka = Characters.of("ayaka")
    .equip(Weapons.of("mistsplitter"))
    .add(StatTable.of(
        Stat.ATKPercent, 0.20 + 0.20 + 0.48,
        Stat.CritRate, 0.4 + 0.15,
        Stat.ElementalDMGBonus, 0.15 + 0.12 + 0.28 + 0.18 + (0.0004*800),
        Stat.NormalATKDMGBonus, 0.3,
        Stat.ChargeATKDMGBonus, 0.3,
        Stat.CryoResistanceReduction, 0.4));
  var ayakaRotation = new Rotation()
      .add("n1", DamageFormulas.defaultCryoNormalATK(3.0, 0.84))
      .add("n2", DamageFormulas.defaultCryoNormalATK(2.0, 0.894))
      .add("ca", DamageFormulas.defaultCryoChargedATK(2.0, 3.039))
      .add("skill", DamageFormulas.defaultCryoSkillATK(2.0, 4.07))
      .add("burstcutts", DamageFormulas.defaultCryoBurstATK(19.0, 1.91))
      .add("burstexplosion", DamageFormulas.defaultCryoBurstATK(1.0, 2.86));
  ayaka.optimize(Optimizers.KQMSArtifactOptimizer(ayakaRotation, 1.30));
  var dps = ayakaRotation.compute(ayaka)/21;

About

framework for genshin damage calculation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages