- name: ballastdenizen regex: !anyvalue="(?!num)"!anyCharacterAbilityGiveStat stattype="HoldBreathMultiplier" value="(?!num)" lua: | holdbreathmultiplier=round(holdbreathmultiplier*2, 2) holdbreathmultiplierv=round(holdbreathmultiplier/100, 2) files: - '**/TalentsMechanic.xml' - name: engineengineer regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)" lua: | enginemaxspeedperlevel=round(enginemaxspeedperlevel*2, 2) enginemaxspeedmaxvalue=round(enginemaxspeedmaxvalue*2, 2) enginemaxspeedv=round(1+enginemaxspeedperlevel/100, 2) enginemaxspeedv2=round(1+2*enginemaxspeedperlevel/100, 2) enginemaxspeedv3=round(1+3*enginemaxspeedperlevel/100, 2) enginemaxspeedv4=round(1+4*enginemaxspeedperlevel/100, 2) enginemaxspeedv5=round(1+5*enginemaxspeedperlevel/100, 2) enginemaxspeedv6=round(1+6*enginemaxspeedperlevel/100, 2) enginemaxspeedv7=round(1+7*enginemaxspeedperlevel/100, 2) enginemaxspeedv8=round(1+8*enginemaxspeedperlevel/100, 2) files: - '**/TalentsMechanic.xml' - name: machinemaniac regex: !anyvalue="(?!num)"!anyaddeddamagemultiplier="(?!num)" lua: | addeddamagemultiplier=round(addeddamagemultiplier*1.5, 2) addeddamagemultiplierv=round(addeddamagemultiplier/100, 2) files: - '**/TalentsMechanic.xml' - name: salvagecrew regex: !anyvalue="(?!num)"!anyswimbonus!anyvalue="(?!num)"!anyvalue="(?!num)"!anymultiplyvalue="(?!num)" lua: | xpbonus=round(xpbonus*4, 2) swimbonus=round(swimbonus*2, 2) resistanceamount=round(resistanceamount*1.5, 2) xpbonusv=round(1+xpbonus/100, 2) files: - '**/TalentsMechanic.xml' - name: salvagecrew regex: !num)"!anymaxresistance="(?!num)"!anySwimmingSpeed!anyvalue="(?!num)" lua: | minresistance=round(minresistance*1.5, 2) maxresistance=round(maxresistance*1.5, 2) swimmingspeed=round(swimmingspeed*2, 2) files: - '**/AfflictionsMechanic.xml' - name: modularrepairs regex: !anylevel!anyvalue="(?!num)"!anylevel="(?!num)"!anylevel="(?!num)" lua: | levelbonus=round(levelbonus*2, 2) levelbonusv=levelbonus levelbonusv2=levelbonus files: - '**/TalentsMechanic.xml' - name: oiledmachinery regex: !anyvalue="(?!num)"!anyFabricationSpeed" value="(?!num)"!anyDeconstructorSpeed" value="(?!num)" lua: | fabricationspeed=round(fabricationspeed*4, 2) fabricationspeedv=round(fabricationspeed/100, 2) deconstructorspeedv=round(fabricationspeed/100, 2) files: - '**/TalentsMechanic.xml' - name: pumpndump regex: !anyvalue="(?!num)"!anyPumpSpeed" value="(?!num)" lua: | pumpspeed=round(pumpspeed*3, 2) pumpspeedv=round(1+pumpspeed/100, 2) files: - '**/TalentsMechanic.xml' # Not obvious what this does # "Unlock hull upgrades as if your submarine is one tier higher. Does not stack with multiple of the same talent." # - name: retrofit # regex: !anyvalue="(?!num)" # lua: | # walllevel=round(walllevel*1, 2) # files: # - '**/TalentsMechanic.xml' - name: miner regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyrandomchance="(?!num)" lua: | doubleyieldchance=round(doubleyieldchance*3.5, 2) miningspeed=round(miningspeed*2, 2) miningspeedv=round(1+miningspeed/100, 2) doubleyieldchancev=round(doubleyieldchance/100, 2) files: - '**/TalentsMechanic.xml' - name: massproduction regex: !anyvalue="(?!num)"!anyrandomChance="(?!num)" lua: | doublechance=round(doublechance*1.45, 2) doublechancev=round(doublechance/100, 2) files: - '**/TalentsMechanic.xml' - name: residualwaste regex: !anyvalue="(?!num)"!anyrandomChance="(?!num)" lua: | doublechance=100 doublechancev=round(doublechance/100, 2) files: - '**/TalentsMechanic.xml' - name: scrapsavant regex: !anyvalue="(?!num)"!anymultiplyvalue="(?!num)"!anyrandomchance="(?!num)" lua: | doublechance=round(doublechance*3.45, 2) scrapmultiplier=round(scrapmultiplier*1.5, 2) doublechancev=round(doublechance/100, 2) files: - '**/TalentsMechanic.xml' - name: toolmaintenance regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)" lua: | qualitybonus=round(qualitybonus*2, 2) qualitybonusv=qualitybonus qualitybonusv2=qualitybonus files: - '**/TalentsMechanic.xml' - name: hullfixer regex: !anyvalue="(?!num)"!anyvalue="(?!num)" lua: | repairtoolstructurerepairmultiplier=round(repairtoolstructurerepairmultiplier*2, 2) repairtoolstructurerepairmultiplierv=round(repairtoolstructurerepairmultiplier/100, 2) files: - '**/TalentsMechanic.xml' - name: quickfixer regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvalue="(?!num)"!anyamount="(?!num)" lua: | movementspeed=round(movementspeed*1.5, 2) duration=round(duration*2, 2) repairspeed=round(repairspeed*2, 2) durationv=duration files: - '**/TalentsMechanic.xml' - name: quickfixer regex: !num)" lua: | movementspeedv=round(movementspeedv*1.5, 2) files: - '**/AfflictionsMechanic.xml' - name: tinkerer regex: !anyvalue="(?!num)"!anyvalue="(?!num)" lua: | maxrepairconditionmultipliermechanical=round(maxrepairconditionmultipliermechanical*2.5, 2) maxrepairconditionmultipliermechanicalv=round(maxrepairconditionmultipliermechanical/100, 2) files: - '**/TalentsMechanic.xml' - name: letitdrain regex: !anyvalue="(?!num)"!anyvalue="(?!num)" lua: | maxpumps=round(maxpumps*4, 2) maxpumpsv=maxpumps files: - '**/TalentsMechanic.xml' - name: robotics regex: !anyvalue="(?!num)" lua: | maxdrones=round(maxdrones*2, 2) files: - '**/TalentsMechanic.xml' - name: defensebotspawner regex: !num)" lua: | maxdronesv=round(maxdronesv*2, 2) files: - '**/mechanic_talent_items.xml' - name: iamthatguy regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anySkillBonus" value="(?!num)"!anyaddedmultiplier="(?!num)" lua: | damagebonus=round(damagebonus*1.5, 2) skillbonus=round(skillbonus*1.5, 2) skillbonusv=skillbonus damagebonusv=round(damagebonus/100, 2) files: - '**/TalentsMechanic.xml' - name: heavylifting regex: !anyvalue="(?!num)"!anyvalue="(?!num)" lua: | movementspeed=round(movementspeed*1.5, 2) movementspeedv=round(movementspeed/100, 2) files: - '**/TalentsMechanic.xml' - name: mudraptorwrestler regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyaddeddamagemultiplier="(?!num)"!anyCharacterAbilityGiveResistance resistanceid="damage" multiplier="(?!num)" lua: | addeddamage=round(addeddamage*1.5, 2) addeddamagev=round(addeddamage/100, 2) bonusresistance=round(bonusresistance*1.5, 2) bonusresistancev=round(1-bonusresistance/100, 2) files: - '**/TalentsMechanic.xml' - name: berserker regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvitalitypercentage="(?!num)" lua: | hpthreshold=round(hpthreshold*1.37, 2) damagebonus=round(damagebonus*1.5, 2) hpthresholdv=round(hpthreshold/100, 2) files: - '**/TalentsMechanic.xml' - name: berserker regex: !num)" lua: | meleedamage=round(meleedamage*1.5, 2) files: - '**/AfflictionsMechanic.xml' - name: foolhardy regex: !anyvalue="(?!num)"!anyvalue="(?!num)"!anyvitalitypercentage="(?!num)" lua: | hpthreshold=round(hpthreshold*1.37, 2) resistancebonus=round(resistancebonus*1.5, 2) hpthresholdv=round(hpthreshold/100, 2) files: - '**/TalentsMechanic.xml' - name: foolhardy regex: