diff --git a/erepublik/access_points.py b/erepublik/access_points.py index 5af99de..21ea28d 100644 --- a/erepublik/access_points.py +++ b/erepublik/access_points.py @@ -436,8 +436,10 @@ class ErepublikMilitaryAPI(CitizenBaseAPI): data = dict(_token=self.token, sideCountryId=side_id, battleId=battle_id) return self.post(f"{self.url}/main/battlefieldTravel", data=data) - def _post_main_battlefield_change_division(self, battle_id: int, division_id: int) -> Response: + def _post_main_battlefield_change_division(self, battle_id: int, division_id: int, side_id: int = None) -> Response: data = dict(_token=self.token, battleZoneId=division_id, battleId=battle_id) + if side_id is not None: + data.update(sideCountryId=side_id) return self.post(f"{self.url}/main/battlefieldTravel", data=data) def _get_wars_show(self, war_id: int) -> Response: diff --git a/erepublik/citizen.py b/erepublik/citizen.py index 50e4df3..fed6516 100644 --- a/erepublik/citizen.py +++ b/erepublik/citizen.py @@ -2036,16 +2036,18 @@ class CitizenMilitary(CitizenTravel): self._report_action('MILITARY_BOMB', f"Deployed {deployed_count} bombs in battle {battle.id}") return deployed_count - def change_division(self, battle: classes.Battle, division: classes.BattleDivision) -> bool: + def change_division(self, battle: classes.Battle, division: classes.BattleDivision, side: classes.BattleSide = None) -> bool: """Change division. - :param battle: Battle - :type battle: Battle + :param battle: classes.Battle + :type battle: classes.Battle :param division: int target division to switch to - :type division: BattleDivision + :type division: classes.BattleDivision + :param side: Side to choose + :type side: classes.BattleSide :return: """ - resp = self._post_main_battlefield_change_division(battle.id, division.id) + resp = self._post_main_battlefield_change_division(battle.id, division.id, side.id if side else None) if resp.json().get('error'): self.logger.warning(resp.json().get('message')) return False