Merge pull request #429 from Easy10781/master

Own PlayerSpaz
This commit is contained in:
Eric Froemling 2022-06-22 10:51:39 -07:00 committed by GitHub
commit 69e7eca075
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 4 deletions

View File

@ -32,3 +32,6 @@
### Droopy
- Fixes in some minigames
### Easy10781
- Added feature

View File

@ -853,12 +853,16 @@ class GameActivity(Activity[PlayerType, TeamType]):
color = player.color
highlight = player.highlight
playerspaztype = getattr(player, 'playerspaztype', PlayerSpaz)
if not issubclass(playerspaztype, PlayerSpaz):
playerspaztype = PlayerSpaz
light_color = _math.normalized_color(color)
display_color = _ba.safecolor(color, target_intensity=0.75)
spaz = PlayerSpaz(color=color,
highlight=highlight,
character=player.character,
player=player)
spaz = playerspaztype(color=color,
highlight=highlight,
character=player.character,
player=player)
player.actor = spaz
assert spaz.node

View File

@ -15,6 +15,7 @@ from ba._messages import DeathType, DieMessage
if TYPE_CHECKING:
from typing import Optional, Sequence, Any, Union, Callable
import ba
from bastd.actor.playerspaz import PlayerSpaz
# pylint: disable=invalid-name
PlayerType = TypeVar('PlayerType', bound='ba.Player')
@ -62,6 +63,8 @@ class Player(Generic[TeamType]):
color: Sequence[float]
highlight: Sequence[float]
playerspaztype: Optional[type[PlayerSpaz]]
_team: TeamType
_sessionplayer: ba.SessionPlayer
_nodeactor: Optional[ba.NodeActor]