mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-06 15:47:06 +08:00
commit
b09a24f97c
@ -1,6 +1,7 @@
|
|||||||
### 1.7.1 (20597, 2022-06-04)
|
### 1.7.1 (20597, 2022-06-04)
|
||||||
- V2 account logic fixes
|
- V2 account logic fixes
|
||||||
- Polishing V2 web-based login flow
|
- Polishing V2 web-based login flow
|
||||||
|
- Minor fixes in some minigames (Thanks Droopy!)
|
||||||
|
|
||||||
### 1.7.0 (20591, 2022-06-02)
|
### 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.
|
- 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:
|
def _handle_base_collide(self, team: Team) -> None:
|
||||||
try:
|
try:
|
||||||
player = ba.getcollision().opposingnode.getdelegate(
|
spaz = ba.getcollision().opposingnode.getdelegate(PlayerSpaz, True)
|
||||||
PlayerSpaz, True).getplayer(Player, True)
|
|
||||||
except ba.NotFoundError:
|
except ba.NotFoundError:
|
||||||
return
|
return
|
||||||
|
|
||||||
if not player.is_alive():
|
if not spaz.is_alive():
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
player = spaz.getplayer(Player, True)
|
||||||
|
except ba.NotFoundError:
|
||||||
return
|
return
|
||||||
|
|
||||||
# If its another team's player, they scored.
|
# 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 the enemy flag is already here, score!
|
||||||
if team.enemy_flag_at_base:
|
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)
|
self._score(team)
|
||||||
else:
|
else:
|
||||||
team.enemy_flag_at_base = True
|
team.enemy_flag_at_base = True
|
||||||
@ -435,11 +440,14 @@ class CaptureTheFlagGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
"""
|
"""
|
||||||
player: Optional[Player]
|
player: Optional[Player]
|
||||||
try:
|
try:
|
||||||
player = ba.getcollision().sourcenode.getdelegate(
|
spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True)
|
||||||
PlayerSpaz, True).getplayer(Player, True)
|
|
||||||
except ba.NotFoundError:
|
except ba.NotFoundError:
|
||||||
# This can happen if the player leaves but his corpse touches/etc.
|
return
|
||||||
player = None
|
|
||||||
|
if not spaz.is_alive():
|
||||||
|
return
|
||||||
|
|
||||||
|
player = spaz.getplayer(Player, True)
|
||||||
|
|
||||||
if player:
|
if player:
|
||||||
player.touching_own_flag += (1 if connecting else -1)
|
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:
|
def _handle_player_flag_region_collide(self, colliding: bool) -> None:
|
||||||
try:
|
try:
|
||||||
player = ba.getcollision().opposingnode.getdelegate(
|
spaz = ba.getcollision().sourcenode.getdelegate(PlayerSpaz, True)
|
||||||
PlayerSpaz, True).getplayer(Player, True)
|
|
||||||
except ba.NotFoundError:
|
except ba.NotFoundError:
|
||||||
return
|
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
|
# 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
|
# also don't count it if we're dead (flying heads shouldn't be able to
|
||||||
# win the game :-)
|
# win the game :-)
|
||||||
|
|||||||
@ -224,9 +224,15 @@ class RaceGame(ba.TeamGameActivity[Player, Team]):
|
|||||||
collision = ba.getcollision()
|
collision = ba.getcollision()
|
||||||
try:
|
try:
|
||||||
region = collision.sourcenode.getdelegate(RaceRegion, True)
|
region = collision.sourcenode.getdelegate(RaceRegion, True)
|
||||||
player = collision.opposingnode.getdelegate(PlayerSpaz,
|
spaz = collision.opposingnode.getdelegate(PlayerSpaz, True)
|
||||||
True).getplayer(
|
except ba.NotFoundError:
|
||||||
Player, True)
|
return
|
||||||
|
|
||||||
|
if not spaz.is_alive():
|
||||||
|
return
|
||||||
|
|
||||||
|
try:
|
||||||
|
player = spaz.getplayer(Player, True)
|
||||||
except ba.NotFoundError:
|
except ba.NotFoundError:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user