initial version

This commit is contained in:
cecilkorik 2017-11-26 15:43:56 -05:00
commit 0c406f4e8d
2 changed files with 88 additions and 0 deletions

0
.hgignore Normal file
View file

88
patch_7dtd.py Normal file
View file

@ -0,0 +1,88 @@
import os
import sys
import time
from datetime import datetime
from xml.etree import ElementTree
steampaths = ['C:\\games_ssd\\steam', 'D:\\games\\steam', 'C:\\games\steam', 'C:\\program files (x86)\\steam', 'C:\\program files\\steam']
steamcommon = '\\steamapps\\common\\7 Days To Die\\Data\\Config'
found_steam = None
for sp in steampaths:
if os.path.exists(sp + steamcommon):
found_steam = sp
break
if not found_steam:
print "Failed to find 7DTD on steam..."
sys.exit(1)
gamepath = found_steam + steamcommon + "\\"
ents = ElementTree.parse(gamepath + 'entityclasses.xml')
eroot = ents.getroot()
for entity in eroot.iter('entity_class'):
ename = entity.get('name')
for prp in entity.iter('property'):
pname = prp.get('name')
if pname == 'ApproachSpeed':
pv = float(prp.get('value'))
if pv <= 0.2:
""" No modifications to speeds already set to 0.2 or less """
continue
ptv = prp.get('pretweak_value')
if ptv != None:
pv = float(ptv)
else:
prp.set('pretweak_value', str(pv))
if pv > 0.9:
prp.set('value', str('0.4'))
else:
prp.set('value', str('0.2'))
elif pname == 'NightApproachSpeed':
pv = float(prp.get('value'))
if pv <= 0.2:
""" No modifications to speeds already set to 0.2 or less """
continue
ptv = prp.get('pretweak_value')
if ptv != None:
pv = float(ptv)
else:
prp.set('pretweak_value', str(pv))
if pv > 0.9:
prp.set('value', str('0.6'))
else:
prp.set('value', str('0.4'))
elif pname == 'PanicSpeed':
pv = float(prp.get('value'))
if pv <= 0.2:
""" No modifications to speeds already set to 0.2 or less """
continue
if ename[:6] == 'animal' and ename != 'animalBear':
""" Animals are pretty ok as-is, except bears which are assholes """
continue
ptv = prp.get('pretweak_value')
if ptv != None:
pv = float(ptv)
else:
prp.set('pretweak_value', str(pv))
if pv > 0.9:
prp.set('value', str('0.6'))
else:
prp.set('value', str('0.3'))
ents.write(gamepath + "entityclasses.xml")