mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-27 01:13:13 +08:00
commit
b09a24f97c
@ -1,6 +1,7 @@
|
||||
### 1.7.1 (20597, 2022-06-04)
|
||||
- V2 account logic fixes
|
||||
- Polishing V2 web-based login flow
|
||||
- Minor fixes in some minigames (Thanks Droopy!)
|
||||
|
||||
### 1.7.0 (20591, 2022-06-02)
|
||||
- V2 accounts are now available (woohoo!). These are called 'BombSquad Accounts' in the account section. V2 accounts communicate with a completely new server and will be the foundation for lots of new functionality in the future. However they also function as a V1 account so existing functionality should still work. Note that the new 'workspaces' feature for V2-accounts is not yet enabled in this build, but it will be in the next few builds. Also note that account types such as GameCenter and Google-Play will be 'upgraded' to V2 accounts in the future so there is no need to try this out if you use one of those. But if you use device-accounts you might want to create yourself a V2 account, since device-accounts will remain V1-only (though you can link an old device-account to a v2-enabled account if you want to keep your progress). Getting a V2 account now also gives you a chance to reserve a nice account-tag before all the good ones are taken.
|
||||
|
||||
@ -175,12 +175,16 @@ class AssaultGame(ba.TeamGameActivity[Player, Team]):
|
||||
|
||||
def _handle_base_collide(self, team: Team) -> None:
|
||||
try:
|
||||
player = ba.getcollision().opposingnode.getdelegate(
|
||||
PlayerSpaz, True).getplayer(Player, True)
|
||||
spaz = ba.getcollision().opposingnode.getdelegate(PlayerSpaz, True)
|
||||
except ba.NotFoundError:
|
||||
return
|
||||
|
||||
if not player.is_alive():
|
||||
if not spaz.is_alive():
|
||||
return
|
||||
|
||||
try:
|
||||
player = spaz.getplayer(Player, True)
|
||||
except ba.NotFoundError:
|
||||
return
|
||||
|
||||
# If its another team's player, they scored.
|
||||
|
||||
@ -274,6 +274,11 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]):
|
||||
|
||||
# If the enemy flag is already here, score!
|
||||
if team.enemy_flag_at_base:
|
||||
# And show team name which scored (but actually we could
|
||||
# show here player who returned enemy flag).
|
||||
self.show_zoom_message(ba.Lstr(resource='nameScoresText',
|
||||
subs=[('${NAME}', team.name)]),
|
||||
color=team.color)
|
||||
self._score(team)
|
||||
else:
|
||||
team.enemy_flag_at_base = True
|
||||
@ -435,11 +440,14 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]):
|
||||
"""
|
||||
player: Optional[Player]
|
||||
try:
|
||||
player = ba.getcollision().sourcenode.getdelegate(
|
||||
PlayerSpaz, True).getplayer(Player, True)
|
||||
spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True)
|
||||
except ba.NotFoundError:
|
||||
# This can happen if the player leaves but his corpse touches/etc.
|
||||
player = None
|
||||
return
|
||||
|
||||
if not spaz.is_alive():
|
||||
return
|
||||
|
||||
player = spaz.getplayer(Player, True)
|
||||
|
||||
if player:
|
||||
player.touching_own_flag += (1 if connecting else -1)
|
||||
|
||||
@ -239,11 +239,15 @@ class KingOfTheHillGame(ba.TeamGameActivity[Player, Team]):
|
||||
|
||||
def _handle_player_flag_region_collide(self, colliding: bool) -> None:
|
||||
try:
|
||||
player = ba.getcollision().opposingnode.getdelegate(
|
||||
PlayerSpaz, True).getplayer(Player, True)
|
||||
spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True)
|
||||
except ba.NotFoundError:
|
||||
return
|
||||
|
||||
if not spaz.is_alive():
|
||||
return
|
||||
|
||||
player = spaz.getplayer(Player, True)
|
||||
|
||||
# Different parts of us can collide so a single value isn't enough
|
||||
# also don't count it if we're dead (flying heads shouldn't be able to
|
||||
# win the game :-)
|
||||
|
||||
@ -224,9 +224,15 @@ class RaceGame(ba.TeamGameActivity[Player, Team]):
|
||||
collision = ba.getcollision()
|
||||
try:
|
||||
region = collision.sourcenode.getdelegate(RaceRegion, True)
|
||||
player = collision.opposingnode.getdelegate(PlayerSpaz,
|
||||
True).getplayer(
|
||||
Player, True)
|
||||
spaz = collision.opposingnode.getdelegate(PlayerSpaz, True)
|
||||
except ba.NotFoundError:
|
||||
return
|
||||
|
||||
if not spaz.is_alive():
|
||||
return
|
||||
|
||||
try:
|
||||
player = spaz.getplayer(Player, True)
|
||||
except ba.NotFoundError:
|
||||
return
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user