-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathoneCellUnlock.py
129 lines (110 loc) · 3.74 KB
/
oneCellUnlock.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import sys
import os
import glob
import re
def jsonWrapper(x,y,item):
line = ' {\n'+\
' "x": '+str(x)+',\n' + \
' "y": '+str(y)+',\n' + \
' "marker": "FixedBlueprint",\n' +\
' "width": 1,\n'+\
' "height": 1,\n'+\
' "item": "'+item+'"\n' + \
' },\n'
return (line)
def jsonWrapperLoot(x,y,item):
line = ' {\n'+\
' "x": '+str(x)+',\n' + \
' "y": '+str(y)+',\n' + \
' "marker": "FixedLoot",\n' +\
' "width": 1,\n'+\
' "height": 1,\n'+\
' "item": "'+item+'"\n' + \
' },\n'
return (line)
def main():
itemDir = "./ExpandedCDB-BP/item/"
# 1. Melee items
melee = []
for item in os.listdir(itemDir+"/Melee"):
if "StartSword" not in item and "AdminWeapon" not in item:
melee.append(item[6:item.index(".")])
# 2. Ranged items
ranged = []
for item in os.listdir(itemDir+"/Ranged"):
if "StartBow" not in item:
ranged.append(item[6:item.index(".")])
# 3. Shield items
shield = []
for item in os.listdir(itemDir+"/Shield"):
if "StartShield" not in item:
shield.append(item[6:item.index(".")])
# 4. Trap items
trap = []
for item in os.listdir(itemDir+"/DeployedTrap"):
trap.append(item[6:item.index(".")])
# 5. Grenade items
grenade = []
for item in os.listdir(itemDir+"/Grenade"):
grenade.append(item[6:item.index(".")])
# 6. Power items
power = []
for item in os.listdir(itemDir+"/Power"):
power.append(item[6:item.index(".")])
# 7. Skins
skins = []
# for item in os.listdir(itemDir+"/Skin"):
for file in glob.glob(itemDir+"/Skin/*.json"):
with open(file,'r') as f:
lines = f.readlines()
for n, line in enumerate(lines):
if "cellCost" in line:
cost = int(line.split(":")[-1].split(",")[0])
if cost > 1:
lines[n] = ' "cellCost": 1,\n'
# Write to file
desFile = file.replace("CDB-BP","CDB-OCU")
with open(desFile,'w') as f2:
f2.writelines(lines)
# Jump out loop
break
# 8. Meta stuff
metas = []
lastItem = ""
for item in os.listdir(itemDir+"/Meta"):
item = item[6:item.index(".")]
if "BossRune" not in item:
metas.append(item)
# if item[0:-1] == lastItem[0:-1]:
# metas[-1] = item
# else:
# metas.append(item)
# lastItem=item
# 9. Mutations/Perks
mutations = []
for item in os.listdir(itemDir+"/Perk"):
item = item[6:item.index(".")]
mutations.append(item)
# Generate Armory list
# Remove duplicates
weapons = []
for item in melee+ranged+shield:
if "OffHand" not in item: # For some Bows
if "theRight" not in item: # For some weapons with two hands
if item not in weapons:
weapons.append(item)
sizeOfWeapons = len(weapons)
skills = []
for item in trap+grenade+power:
if "Up" not in item:
skills.append(item)
sizeOfSkills = len(skills)
sizeOfSkins = len(skins)
sizeOfMetas = len(metas)
print("Found Weapons: {0}".format(sizeOfWeapons))
print(" Skills : {0}".format(sizeOfSkills))
print(" Skins : {0}".format(sizeOfSkins))
print(" Metas : {0}".format(sizeOfMetas))
print("Done!")
if __name__ == "__main__":
main()