Files
barotrauma-gamefiles/cookmechanic.sh
2025-03-26 20:26:24 +01:00

174 lines
9.1 KiB
Bash

bigmodifier=2
smallmodifier=1.5
modify '<Talent identifier="ballastdenizen">!anyvalue="(?<holdbreathmultiplier>!num)"!anyCharacterAbilityGiveStat stattype="HoldBreathMultiplier" value="(?<holdbreathmultiplierv>!num)"' \
'holdbreathmultiplier=holdbreathmultiplier*2
holdbreathmultiplierv=holdbreathmultiplier/100' \
**/TalentsMechanic.xml
modify '<Talent identifier="engineengineer">!anyvalue="(?<enginemaxspeedperlevel>!num)"!anyvalue="(?<enginemaxspeedmaxvalue>!num)"!anyvalue="(?<enginemaxspeedv>!num)"!anyvalue="(?<enginemaxspeedv2>!num)"!anyvalue="(?<enginemaxspeedv3>!num)"!anyvalue="(?<enginemaxspeedv4>!num)"!anyvalue="(?<enginemaxspeedv5>!num)"!anyvalue="(?<enginemaxspeedv6>!num)"!anyvalue="(?<enginemaxspeedv7>!num)"!anyvalue="(?<enginemaxspeedv8>!num)"' \
"enginemaxspeedperlevel=enginemaxspeedperlevel*$bigmodifier
enginemaxspeedmaxvalue=enginemaxspeedmaxvalue*$bigmodifier
enginemaxspeedv=1+enginemaxspeedperlevel/100
enginemaxspeedv2=1+2*enginemaxspeedperlevel/100
enginemaxspeedv3=1+3*enginemaxspeedperlevel/100
enginemaxspeedv4=1+4*enginemaxspeedperlevel/100
enginemaxspeedv5=1+5*enginemaxspeedperlevel/100
enginemaxspeedv6=1+6*enginemaxspeedperlevel/100
enginemaxspeedv7=1+7*enginemaxspeedperlevel/100
enginemaxspeedv8=1+8*enginemaxspeedperlevel/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="machinemaniac"!anyamount!anyamount!anyvalue="(?<mechanicalskillbonus>!num)"!anyxpamount!anyvalue="(?<xpbonus>!num)"!anylevel!anyvalue="(?<levelbonus>!num)"!anyamount!anyvalue="(?<repairspeed>!num)"!anyCharacterAbilityGiveExperience amount="(?<experiencev>!num)"!anyCharacterAbilityGivePermanentStat stattype="MechanicalSkillBonus"!anyvalue="(?<mechanicalskillbonusv>!num)"!anyCharacterAbilityUpgradeSubmarine!anylevel="(?<levelv>!num)"!anyCharacterAbilityGivePermanentStat stattype="MechanicalRepairSpeed"!anyvalue="(?<repairspeedv>!num)"' \
"mechanicalskillbonus=mechanicalskillbonus*$smallmodifier
xpbonus=xpbonus*$bigmodifier
levelbonus=levelbonus*2
repairspeed=repairspeed*$bigmodifier
experiencev=xpbonus
levelv=levelbonus
mechanicalskillbonusv=mechanicalskillbonus
repairspeedv=repairspeed/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="multifunctional">!anyvalue="(?<addeddamagemultiplier>!num)"!anyaddeddamagemultiplier="(?<addeddamagemultiplierv>!num)"' \
"addeddamagemultiplier=addeddamagemultiplier*$smallmodifier
addeddamagemultiplierv=addeddamagemultiplier/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="salvagecrew">!anyvalue="(?<xpbonus>!num)"!anyswimbonus!anyvalue="(?<swimbonus>!num)"!anyvalue="(?<resistanceamount>!num)"!anymultiplyvalue="(?<xpbonusv>!num)"' \
"xpbonus=xpbonus*$bigmodifier
swimbonus=swimbonus*$bigmodifier
resistanceamount=resistanceamount*$smallmodifier
xpbonusv=1+xpbonus/100" \
**/TalentsMechanic.xml
modify '<Affliction!anyidentifier="salvagecrew"!anyminresistance="(?<minresistance>!num)"!anymaxresistance="(?<maxresistance>!num)"!anySwimmingSpeed!anyvalue="(?<swimmingspeed>!num)"' \
"minresistance=minresistance*$smallmodifier
maxresistance=maxresistance*$smallmodifier
swimmingspeed=swimmingspeed*$bigmodifier" \
**/AfflictionsMechanic.xml
modify '<Talent identifier="modularrepairs">!anylevel!anyvalue="(?<levelbonus>!num)"!anylevel="(?<levelbonusv>!num)"!anylevel="(?<levelbonusv2>!num)"' \
"levelbonus=levelbonus*2
levelbonusv=levelbonus
levelbonusv2=levelbonus" \
**/TalentsMechanic.xml
modify '<Talent identifier="oiledmachinery">!anyvalue="(?<fabricationspeed>!num)"!anyFabricationSpeed" value="(?<fabricationspeedv>!num)"!anyDeconstructorSpeed" value="(?<deconstructorspeedv>!num)"' \
"fabricationspeed=fabricationspeed*$bigmodifier
fabricationspeedv=fabricationspeed/100
deconstructorspeedv=fabricationspeed/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="pumpndump">!anyvalue="(?<pumpspeed>!num)"!anyPumpSpeed" value="(?<pumpspeedv>!num)"' \
"pumpspeed=pumpspeed*3
pumpspeedv=1+pumpspeed/100" \
**/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."
modify '<Talent identifier="retrofit">!anyvalue="(?<walllevel>!num)"' \
"walllevel=walllevel*1" \
**/TalentsMechanic.xml
modify '<Talent identifier="miner">!anyvalue="(?<doubleyieldchance>!num)"!anyvalue="(?<miningspeed>!num)"!anyvalue="(?<miningspeedv>!num)"!anyrandomchance="(?<doubleyieldchancev>!num)"' \
"doubleyieldchance=doubleyieldchance*3.5
miningspeed=miningspeed*2
miningspeedv=1+miningspeed/100
doubleyieldchancev=doubleyieldchance/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="massproduction">!anyvalue="(?<doublechance>!num)"!anyrandomChance="(?<doublechancev>!num)"' \
"doublechance=doublechance*1.45
doublechancev=doublechance/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="residualwaste">!anyvalue="(?<doublechance>!num)"!anyrandomChance="(?<doublechancev>!num)"' \
"doublechance=doublechance*3.45
doublechancev=doublechance/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="scrapsavant">!anyvalue="(?<doublechance>!num)"!anymultiplyvalue="(?<scrapmultiplier>!num)"!anyrandomchance="(?<doublechancev>!num)"' \
"doublechance=doublechance*3.45
scrapmultiplier=scrapmultiplier*1.5
doublechancev=doublechance/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="toolmaintenance">!anyvalue="(?<qualitybonus>!num)"!anyvalue="(?<qualitybonusv>!num)"!anyvalue="(?<qualitybonusv2>!num)"' \
"qualitybonus=qualitybonus*2
qualitybonusv=qualitybonus
qualitybonusv2=qualitybonus" \
**/TalentsMechanic.xml
modify '<Talent identifier="hullfixer">!anyvalue="(?<repairtoolstructurerepairmultiplier>!num)"!anyvalue="(?<repairtoolstructurerepairmultiplierv>!num)"' \
"repairtoolstructurerepairmultiplier=repairtoolstructurerepairmultiplier*$bigmodifier
repairtoolstructurerepairmultiplierv=repairtoolstructurerepairmultiplier/100" \
**/TalentsMechanic.xml
# TODO: This also crashes modify...
modify '<Talent identifier="quickfixer">!anyvalue="(?<movementspeed>!num)"!anyvalue="(?<duration>!num)"!anyvalue="(?<repairspeed>!num)"!anyamount="(?<durationv>!num)"' \
"movementspeed=movementspeed*$smallmodifier
duration=duration*$bigmodifier
repairspeed=repairspeed*$bigmodifier
durationv=duration" \
**/TalentsMechanic.xml
# TODO: This also produces a weird bug, it's probably due to indices
modify '<Affliction!anyidentifier="quickfixer"!anyvalue="(?<movementspeedv>!num)"' \
"movementspeedv=movementspeedv*$smallmodifier" \
**/AfflictionsMechanic.xml
modify '<Talent identifier="tinkerer">!anyvalue="(?<maxrepairconditionmultipliermechanical>!num)"!anyvalue="(?<maxrepairconditionmultipliermechanicalv>!num)"' \
"maxrepairconditionmultipliermechanical=maxrepairconditionmultipliermechanical*2.5
maxrepairconditionmultipliermechanicalv=maxrepairconditionmultipliermechanical/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="letitdrain">!anyvalue="(?<maxpumps>!num)"!anyvalue="(?<maxpumpsv>!num)"' \
"maxpumps=maxpumps*2
maxpumpsv=maxpumps" \
**/TalentsMechanic.xml
modify '<Talent identifier="robotics">!anyvalue="(?<maxdrones>!num)"' \
"maxdrones=maxdrones*2" \
**/TalentsMechanic.xml
modify '<Item!anyidentifier="defensebotspawner"!anytotalmaxcount="(?<maxdronesv>!num)"' \
"maxdronesv=maxdronesv*2" \
**/mechanic_talent_items.xml
modify '<Talent identifier="iamthatguy">!anyvalue="(?<damagebonus>!num)"!anyvalue="(?<skillbonus>!num)"!anySkillBonus" value="(?<skillbonusv>!num)"!anyaddedmultiplier="(?<damagebonusv>!num)"' \
"damagebonus=damagebonus*$smallmodifier
skillbonus=skillbonus*$smallmodifier
skillbonusv=skillbonus
damagebonusv=damagebonus/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="heavylifting">!anyvalue="(?<movementspeed>!num)"!anyvalue="(?<movementspeedv>!num)"' \
"movementspeed=movementspeed*$smallmodifier
movementspeedv=movementspeed/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="mudraptorwrestler">!anyvalue="(?<addeddamage>!num)"!anyvalue="(?<bonusresistance>!num)"!anyaddeddamagemultiplier="(?<addeddamagev>!num)"!anyCharacterAbilityGiveResistance resistanceid="damage" multiplier="(?<bonusresistancev>!num)"' \
"addeddamage=addeddamage*$smallmodifier
addeddamagev=addeddamage/100
bonusresistance=bonusresistance*$smallmodifier
bonusresistancev=1-bonusresistance/100" \
**/TalentsMechanic.xml
modify '<Talent identifier="berserker">!anyvalue="(?<hpthreshold>!num)"!anyvalue="(?<damagebonus>!num)"!anyvitalitypercentage="(?<hpthresholdv>!num)"' \
"hpthreshold=hpthreshold*1.37
damagebonus=damagebonus*$smallmodifier
hpthresholdv=hpthreshold/100" \
**/TalentsMechanic.xml
modify '<Affliction!anyidentifier="berserker"!anyvalue="(?<meleedamage>!num)"' \
"meleedamage=meleedamage*$smallmodifier" \
**/AfflictionsMechanic.xml
modify '<Talent identifier="foolhardy">!anyvalue="(?<hpthreshold>!num)"!anyvalue="(?<resistancebonus>!num)"!anyvitalitypercentage="(?<hpthresholdv>!num)"' \
"hpthreshold=hpthreshold*1.37
resistancebonus=resistancebonus*$smallmodifier
hpthresholdv=hpthreshold/100" \
**/TalentsMechanic.xml
modify '<Affliction!anyidentifier="foolhardy"!anyresistancefor="damage" minresistance="(?<minresistance>!num)" maxresistance="(?<maxresistance>!num)"' \
"minresistance=minresistance*$bigmodifier
maxresistance=maxresistance*$bigmodifier" \
**/AfflictionsMechanic.xml
# MECHanic is missing but I can't find its id...