bcsfe-wrapper-python 0.1.16__py3-none-any.whl → 0.1.18__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
bcsfe_wrapper/wrapper.py CHANGED
@@ -91,11 +91,20 @@ class BCSFEWrapper:
91
91
  def edit_leadership(self, amount: int): self._set_val("leadership", amount)
92
92
 
93
93
  def edit_battle_items(self, amount: int):
94
- for item in self.save_file.battle_items.items: item.amount = amount
94
+ for item in self.save_file.battle_items.items:
95
+ item.amount = amount
95
96
  def edit_catseyes(self, amount: int):
96
- for i in range(len(self.save_file.catseyes)): self.save_file.catseyes[i] = amount
97
+ self.save_file.catseyes = [amount] * len(self.save_file.catseyes)
97
98
  def edit_catfruit(self, amount: int):
98
- for i in range(len(self.save_file.catfruit)): self.save_file.catfruit[i] = amount
99
+ self.save_file.catfruit = [amount] * len(self.save_file.catfruit)
100
+ def edit_catamins(self, amount: int):
101
+ self.save_file.catamins = [amount] * len(self.save_file.catamins)
102
+ def edit_talent_orbs(self, amount: int):
103
+ for orb in self.save_file.talent_orbs.orbs.values():
104
+ orb.value = amount
105
+ def edit_castle_materials(self, amount: int):
106
+ for material in self.save_file.ototo.base_materials.materials:
107
+ material.amount = amount
99
108
 
100
109
  def unlock_cats(self, cat_ids: List[int]):
101
110
  for cid in cat_ids:
@@ -163,14 +172,52 @@ class BCSFEWrapper:
163
172
  def unlock_aku_realm(self): edits.aku_realm.unlock_aku_realm(self.save_file)
164
173
 
165
174
  def unlock_all_medals(self):
166
- for i in range(len(self.save_file.medals.medals)):
167
- self.save_file.medals.medals[i] = True
175
+ # メダルはIDのリスト形式
176
+ for i in range(150): # おおよその最大数
177
+ self.save_file.medals.add_medal(i)
168
178
 
169
179
  def claim_all_stamps(self):
170
180
  for stamp in self.save_file.stamps.stamps:
171
181
  stamp.received = True
172
182
  stamp.current_stamp = stamp.total_stamps
173
183
 
184
+ def set_gold_pass(self):
185
+ self.save_file.officer_pass.gold_pass.get_gold_pass(30) # 30日間
186
+ def set_playtime(self, hours: int):
187
+ # プレイ時間はフレーム単位 (1秒=30フレーム)
188
+ self.save_file.officer_pass.play_time = hours * 60 * 60 * 30
189
+ def max_gamatoto(self):
190
+ self.legend_all_gamatoto_members()
191
+ levels = core.core_data.get_gamatoto_levels(self.save_file)
192
+ max_level = levels.get_max_level()
193
+ self.save_file.gamatoto.xp = levels.get_xp_from_level(max_level)
194
+ def max_ototo_upgrades(self):
195
+ for cannon in self.save_file.ototo.cannons.cannons.values():
196
+ # 全ての形態をレベル20にする
197
+ cannon.levels = [19] * len(cannon.levels)
198
+ cannon.development = 19
199
+ def max_cat_shrine(self):
200
+ levels = core.CatShrineLevels.create(self.save_file)
201
+ if levels:
202
+ self.save_file.cat_shrine.xp_offering = levels.get_max_xp()
203
+ def unlock_all_enemies(self):
204
+ # 敵キャラ図鑑はリスト形式
205
+ for i in range(1000): # 十分な範囲
206
+ if i not in self.save_file.enemy_guide:
207
+ self.save_file.enemy_guide.append(i)
208
+ self.save_file.enemy_guide.sort()
209
+ def clear_all_missions(self):
210
+ for mission_id in self.save_file.missions.clear_states:
211
+ self.save_file.missions.clear_states[mission_id] = 4 # 完了状態
212
+ def claim_all_user_rank_rewards(self):
213
+ for reward in self.save_file.user_rank_rewards.rewards:
214
+ reward.claimed = True
215
+ def claim_all_login_bonuses(self):
216
+ for login_set in self.save_file.logins.login_sets:
217
+ for login in login_set.logins.values():
218
+ login.count = 30 # 最大数にするなどの処理
219
+ login.received = True
220
+
174
221
  def legend_all_gamatoto_members(self):
175
222
  members_name = core.core_data.get_gamatoto_members_name(self.save_file)
176
223
  legend_ids = [m.member_id for m in members_name.members if m.rarity == 2]
@@ -210,7 +257,15 @@ class BCSFEWrapper:
210
257
  for talent in cat.talents:
211
258
  talent.level = talent.max_level
212
259
 
213
- def unban(self): self.save_file.show_ban_message = self.save_file.banned = False
260
+ def unban(self):
261
+ self.save_file.show_ban_message = self.save_file.banned = False
262
+ def remove_ads(self):
263
+ # 広告削除フラグを有効化
264
+ self.save_file.officer_pass.ad_block = True
265
+ self.save_file.officer_pass.ad_block_expiration = 0 # 0は永続を意味することが多い
266
+ # また、一部のバージョンでは以下も必要
267
+ if hasattr(self.save_file, "ad_removal"):
268
+ self.save_file.ad_removal = True
214
269
  def get_inquiry_code(self) -> str: return self.save_file.inquiry_code
215
270
  def edit_inquiry_code(self, new_code: str): self.save_file.inquiry_code = new_code
216
271
  def get_save_file(self) -> core.SaveFile: return self.save_file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bcsfe-wrapper-python
3
- Version: 0.1.16
3
+ Version: 0.1.18
4
4
  Summary: A Python wrapper for BCSFE-Python to easily interact with Battle Cats save files.
5
5
  Home-page: https://github.com/fieryhenry/BCSFE-Python
6
6
  Author: Manus AI
@@ -1,5 +1,5 @@
1
1
  bcsfe_wrapper/__init__.py,sha256=o2LbyVJjuRV1gap8wDbsv39kEUJM1rt8Lq49u1RYYXA,268
2
- bcsfe_wrapper/wrapper.py,sha256=-IVObsK-kElqXYEVuThJFZWZKadUi3hLKpilxb8HiNU,10532
2
+ bcsfe_wrapper/wrapper.py,sha256=qmyK1D-8j0vw56u41eXML9tYfc7LDWvsMVvFFksD5WQ,13170
3
3
  bcsfe_wrapper/bcsfe/__init__.py,sha256=vCHjSoJq5u684HLQXahhtA64MZWffNHFdhweP7RM0f4,144
4
4
  bcsfe_wrapper/bcsfe/__main__.py,sha256=Dam14Fv6L-tRRufIkIRpr69dM0b2ybU1eALJxIw_eFI,2091
5
5
  bcsfe_wrapper/bcsfe/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -198,7 +198,7 @@ bcsfe_wrapper/bcsfe/files/locales/vi/edits/treasures.properties,sha256=U9uKsF4y0
198
198
  bcsfe_wrapper/bcsfe/files/locales/vi/edits/user_rank.properties,sha256=FcldhzKM0UmuhmGzI3dGzxstuKcw-t-gkbmKLZT4VKg,603
199
199
  bcsfe_wrapper/bcsfe/files/themes/default.json,sha256=w8eqqd9ATIFwUcvOWTdJjyd1T3LGgUm3iVkJhT5wfEo,392
200
200
  bcsfe_wrapper/bcsfe/files/themes/discord.json,sha256=W1dtEev6tap_waHOxvSqENDcMRA9jfBvjW7t-ssdGs4,370
201
- bcsfe_wrapper_python-0.1.16.dist-info/METADATA,sha256=a8UgOyJbKSzGwbOwbTvoA9SqD-hyVRUJNK_rVWL2fkI,4327
202
- bcsfe_wrapper_python-0.1.16.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
203
- bcsfe_wrapper_python-0.1.16.dist-info/top_level.txt,sha256=kqyMKpAdNg39_kGGtqsxOSLPIb-qx7R1mQj1hReUsYM,14
204
- bcsfe_wrapper_python-0.1.16.dist-info/RECORD,,
201
+ bcsfe_wrapper_python-0.1.18.dist-info/METADATA,sha256=DgEb07HuO-UpsjxU9UvSBq--RUhmvTgG_E9giJ_OO6A,4327
202
+ bcsfe_wrapper_python-0.1.18.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
203
+ bcsfe_wrapper_python-0.1.18.dist-info/top_level.txt,sha256=kqyMKpAdNg39_kGGtqsxOSLPIb-qx7R1mQj1hReUsYM,14
204
+ bcsfe_wrapper_python-0.1.18.dist-info/RECORD,,