mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-27 01:13:13 +08:00
cleaning up score screen names
This commit is contained in:
parent
71b77be103
commit
b11bb26f51
10
.idea/dictionaries/ericf.xml
generated
10
.idea/dictionaries/ericf.xml
generated
@ -330,7 +330,9 @@
|
||||
<w>cooldown</w>
|
||||
<w>cooldowns</w>
|
||||
<w>coopgame</w>
|
||||
<w>coopjoin</w>
|
||||
<w>coopjoinscreen</w>
|
||||
<w>coopscore</w>
|
||||
<w>coopscorescreen</w>
|
||||
<w>coopsession</w>
|
||||
<w>coords</w>
|
||||
@ -447,6 +449,7 @@
|
||||
<w>downmix</w>
|
||||
<w>dpad</w>
|
||||
<w>dpath</w>
|
||||
<w>drawscore</w>
|
||||
<w>drawscreen</w>
|
||||
<w>dripity</w>
|
||||
<w>dropbox</w>
|
||||
@ -469,7 +472,9 @@
|
||||
<w>dstvar</w>
|
||||
<w>dtest</w>
|
||||
<w>dtime</w>
|
||||
<w>dualteamscore</w>
|
||||
<w>dualteamscorescreen</w>
|
||||
<w>dualteamsession</w>
|
||||
<w>duckdns</w>
|
||||
<w>dummymodule</w>
|
||||
<w>dummyname</w>
|
||||
@ -637,6 +642,7 @@
|
||||
<w>freefly</w>
|
||||
<w>freeforallendscreen</w>
|
||||
<w>freeforallsession</w>
|
||||
<w>freeforallvictory</w>
|
||||
<w>freepik</w>
|
||||
<w>freesound</w>
|
||||
<w>froemling</w>
|
||||
@ -1088,7 +1094,11 @@
|
||||
<w>multiline</w>
|
||||
<w>multiplayer</w>
|
||||
<w>multiteamendscreen</w>
|
||||
<w>multiteamjoin</w>
|
||||
<w>multiteamjoinscreen</w>
|
||||
<w>multiteamscore</w>
|
||||
<w>multiteamsession</w>
|
||||
<w>multiteamvictory</w>
|
||||
<w>multithreaded</w>
|
||||
<w>musicinfo</w>
|
||||
<w>musicinfos</w>
|
||||
|
||||
@ -16,6 +16,7 @@
|
||||
"ba_data/python/ba/__pycache__/_coopgame.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_coopsession.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_dependency.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_dualteamsession.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_enums.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_error.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_freeforallsession.cpython-37.opt-1.pyc",
|
||||
@ -33,6 +34,7 @@
|
||||
"ba_data/python/ba/__pycache__/_messages.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_meta.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_modutils.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_multiteamsession.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_music.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_netutils.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_nodeactor.cpython-37.opt-1.pyc",
|
||||
@ -44,9 +46,7 @@
|
||||
"ba_data/python/ba/__pycache__/_stats.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_store.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_team.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_teambasesession.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_teamgame.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_teamssession.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_tips.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/_tournament.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/ba/__pycache__/deprecated.cpython-37.opt-1.pyc",
|
||||
@ -66,6 +66,7 @@
|
||||
"ba_data/python/ba/_coopgame.py",
|
||||
"ba_data/python/ba/_coopsession.py",
|
||||
"ba_data/python/ba/_dependency.py",
|
||||
"ba_data/python/ba/_dualteamsession.py",
|
||||
"ba_data/python/ba/_enums.py",
|
||||
"ba_data/python/ba/_error.py",
|
||||
"ba_data/python/ba/_freeforallsession.py",
|
||||
@ -83,6 +84,7 @@
|
||||
"ba_data/python/ba/_messages.py",
|
||||
"ba_data/python/ba/_meta.py",
|
||||
"ba_data/python/ba/_modutils.py",
|
||||
"ba_data/python/ba/_multiteamsession.py",
|
||||
"ba_data/python/ba/_music.py",
|
||||
"ba_data/python/ba/_netutils.py",
|
||||
"ba_data/python/ba/_nodeactor.py",
|
||||
@ -94,9 +96,7 @@
|
||||
"ba_data/python/ba/_stats.py",
|
||||
"ba_data/python/ba/_store.py",
|
||||
"ba_data/python/ba/_team.py",
|
||||
"ba_data/python/ba/_teambasesession.py",
|
||||
"ba_data/python/ba/_teamgame.py",
|
||||
"ba_data/python/ba/_teamssession.py",
|
||||
"ba_data/python/ba/_tips.py",
|
||||
"ba_data/python/ba/_tournament.py",
|
||||
"ba_data/python/ba/deprecated.py",
|
||||
@ -118,22 +118,22 @@
|
||||
"ba_data/python/bastd/__pycache__/tutorial.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__init__.py",
|
||||
"ba_data/python/bastd/activity/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/coopjoinscreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/coopscorescreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/drawscreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/dualteamscorescreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/freeforallendscreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/multiteamendscreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/multiteamjoinscreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/teamsscorescreen.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/coopjoinscreen.py",
|
||||
"ba_data/python/bastd/activity/coopscorescreen.py",
|
||||
"ba_data/python/bastd/activity/drawscreen.py",
|
||||
"ba_data/python/bastd/activity/dualteamscorescreen.py",
|
||||
"ba_data/python/bastd/activity/freeforallendscreen.py",
|
||||
"ba_data/python/bastd/activity/multiteamendscreen.py",
|
||||
"ba_data/python/bastd/activity/multiteamjoinscreen.py",
|
||||
"ba_data/python/bastd/activity/teamsscorescreen.py",
|
||||
"ba_data/python/bastd/activity/__pycache__/coopjoin.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/coopscore.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/drawscore.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/dualteamscore.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/freeforallvictory.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/multiteamjoin.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/multiteamscore.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/__pycache__/multiteamvictory.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/activity/coopjoin.py",
|
||||
"ba_data/python/bastd/activity/coopscore.py",
|
||||
"ba_data/python/bastd/activity/drawscore.py",
|
||||
"ba_data/python/bastd/activity/dualteamscore.py",
|
||||
"ba_data/python/bastd/activity/freeforallvictory.py",
|
||||
"ba_data/python/bastd/activity/multiteamjoin.py",
|
||||
"ba_data/python/bastd/activity/multiteamscore.py",
|
||||
"ba_data/python/bastd/activity/multiteamvictory.py",
|
||||
"ba_data/python/bastd/actor/__init__.py",
|
||||
"ba_data/python/bastd/actor/__pycache__/__init__.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/background.cpython-37.opt-1.pyc",
|
||||
@ -141,6 +141,7 @@
|
||||
"ba_data/python/bastd/actor/__pycache__/controlsguide.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/flag.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/image.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/multiteamvictory.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/onscreencountdown.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/onscreentimer.cpython-37.opt-1.pyc",
|
||||
"ba_data/python/bastd/actor/__pycache__/playerspaz.cpython-37.opt-1.pyc",
|
||||
@ -161,6 +162,7 @@
|
||||
"ba_data/python/bastd/actor/controlsguide.py",
|
||||
"ba_data/python/bastd/actor/flag.py",
|
||||
"ba_data/python/bastd/actor/image.py",
|
||||
"ba_data/python/bastd/actor/multiteamvictory.py",
|
||||
"ba_data/python/bastd/actor/onscreencountdown.py",
|
||||
"ba_data/python/bastd/actor/onscreentimer.py",
|
||||
"ba_data/python/bastd/actor/playerspaz.py",
|
||||
|
||||
117
assets/Makefile
117
assets/Makefile
@ -158,6 +158,7 @@ SCRIPT_TARGETS_PY_1 = \
|
||||
build/ba_data/python/bacommon/__init__.py \
|
||||
build/ba_data/python/bacommon/assets.py \
|
||||
build/ba_data/python/bacommon/err.py \
|
||||
build/ba_data/python/ba/_dualteamsession.py \
|
||||
build/ba_data/python/ba/_gameactivity.py \
|
||||
build/ba_data/python/ba/_apputils.py \
|
||||
build/ba_data/python/ba/_coopsession.py \
|
||||
@ -172,7 +173,6 @@ SCRIPT_TARGETS_PY_1 = \
|
||||
build/ba_data/python/ba/_error.py \
|
||||
build/ba_data/python/ba/_achievement.py \
|
||||
build/ba_data/python/ba/_map.py \
|
||||
build/ba_data/python/ba/_teambasesession.py \
|
||||
build/ba_data/python/ba/_gameutils.py \
|
||||
build/ba_data/python/ba/_activity.py \
|
||||
build/ba_data/python/ba/deprecated.py \
|
||||
@ -190,10 +190,10 @@ SCRIPT_TARGETS_PY_1 = \
|
||||
build/ba_data/python/ba/_benchmark.py \
|
||||
build/ba_data/python/ba/_tournament.py \
|
||||
build/ba_data/python/ba/_messages.py \
|
||||
build/ba_data/python/ba/_teamssession.py \
|
||||
build/ba_data/python/ba/_freeforallsession.py \
|
||||
build/ba_data/python/ba/_playlist.py \
|
||||
build/ba_data/python/ba/_team.py \
|
||||
build/ba_data/python/ba/_multiteamsession.py \
|
||||
build/ba_data/python/ba/_actor.py \
|
||||
build/ba_data/python/ba/_powerup.py \
|
||||
build/ba_data/python/ba/_campaign.py \
|
||||
@ -310,15 +310,15 @@ SCRIPT_TARGETS_PY_1 = \
|
||||
build/ba_data/python/bastd/ui/store/browser.py \
|
||||
build/ba_data/python/bastd/ui/store/button.py \
|
||||
build/ba_data/python/bastd/ui/store/item.py \
|
||||
build/ba_data/python/bastd/activity/freeforallendscreen.py \
|
||||
build/ba_data/python/bastd/activity/coopjoin.py \
|
||||
build/ba_data/python/bastd/activity/multiteamvictory.py \
|
||||
build/ba_data/python/bastd/activity/dualteamscore.py \
|
||||
build/ba_data/python/bastd/activity/drawscore.py \
|
||||
build/ba_data/python/bastd/activity/__init__.py \
|
||||
build/ba_data/python/bastd/activity/coopscorescreen.py \
|
||||
build/ba_data/python/bastd/activity/dualteamscorescreen.py \
|
||||
build/ba_data/python/bastd/activity/coopjoinscreen.py \
|
||||
build/ba_data/python/bastd/activity/multiteamendscreen.py \
|
||||
build/ba_data/python/bastd/activity/teamsscorescreen.py \
|
||||
build/ba_data/python/bastd/activity/multiteamjoinscreen.py \
|
||||
build/ba_data/python/bastd/activity/drawscreen.py \
|
||||
build/ba_data/python/bastd/activity/freeforallvictory.py \
|
||||
build/ba_data/python/bastd/activity/coopscore.py \
|
||||
build/ba_data/python/bastd/activity/multiteamjoin.py \
|
||||
build/ba_data/python/bastd/activity/multiteamscore.py \
|
||||
build/ba_data/python/bastd/game/capturetheflag.py \
|
||||
build/ba_data/python/bastd/game/targetpractice.py \
|
||||
build/ba_data/python/bastd/game/ninjafight.py \
|
||||
@ -362,6 +362,7 @@ SCRIPT_TARGETS_PY_1 = \
|
||||
build/ba_data/python/bastd/actor/flag.py \
|
||||
build/ba_data/python/bastd/actor/scoreboard.py \
|
||||
build/ba_data/python/bastd/actor/popuptext.py \
|
||||
build/ba_data/python/bastd/actor/multiteamvictory.py \
|
||||
build/ba_data/python/bastd/actor/background.py \
|
||||
build/ba_data/python/bastd/actor/__init__.py \
|
||||
build/ba_data/python/bastd/actor/zoomtext.py \
|
||||
@ -396,6 +397,7 @@ SCRIPT_TARGETS_PYC_1 = \
|
||||
build/ba_data/python/bacommon/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bacommon/__pycache__/assets.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bacommon/__pycache__/err.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_dualteamsession.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_gameactivity.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_apputils.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_coopsession.cpython-37.opt-1.pyc \
|
||||
@ -410,7 +412,6 @@ SCRIPT_TARGETS_PYC_1 = \
|
||||
build/ba_data/python/ba/__pycache__/_error.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_achievement.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_map.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_teambasesession.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_gameutils.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_activity.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/deprecated.cpython-37.opt-1.pyc \
|
||||
@ -428,10 +429,10 @@ SCRIPT_TARGETS_PYC_1 = \
|
||||
build/ba_data/python/ba/__pycache__/_benchmark.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_tournament.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_messages.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_teamssession.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_freeforallsession.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_playlist.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_team.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_multiteamsession.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_actor.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_powerup.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/ba/__pycache__/_campaign.cpython-37.opt-1.pyc \
|
||||
@ -548,15 +549,15 @@ SCRIPT_TARGETS_PYC_1 = \
|
||||
build/ba_data/python/bastd/ui/store/__pycache__/browser.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/ui/store/__pycache__/button.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/ui/store/__pycache__/item.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/freeforallendscreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopjoin.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamvictory.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/dualteamscore.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/drawscore.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopscorescreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/dualteamscorescreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopjoinscreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamendscreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/teamsscorescreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamjoinscreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/drawscreen.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/freeforallvictory.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopscore.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamjoin.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamscore.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/game/__pycache__/capturetheflag.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/game/__pycache__/targetpractice.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/game/__pycache__/ninjafight.cpython-37.opt-1.pyc \
|
||||
@ -600,6 +601,7 @@ SCRIPT_TARGETS_PYC_1 = \
|
||||
build/ba_data/python/bastd/actor/__pycache__/flag.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/scoreboard.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/popuptext.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/multiteamvictory.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/background.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/__init__.cpython-37.opt-1.pyc \
|
||||
build/ba_data/python/bastd/actor/__pycache__/zoomtext.cpython-37.opt-1.pyc \
|
||||
@ -710,6 +712,11 @@ build/ba_data/python/bacommon/__pycache__/err.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_dualteamsession.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_dualteamsession.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_gameactivity.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_gameactivity.py
|
||||
@echo Compiling script: $^
|
||||
@ -780,11 +787,6 @@ build/ba_data/python/ba/__pycache__/_map.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_teambasesession.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_teambasesession.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_gameutils.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_gameutils.py
|
||||
@echo Compiling script: $^
|
||||
@ -870,11 +872,6 @@ build/ba_data/python/ba/__pycache__/_messages.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_teamssession.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_teamssession.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_freeforallsession.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_freeforallsession.py
|
||||
@echo Compiling script: $^
|
||||
@ -890,6 +887,11 @@ build/ba_data/python/ba/__pycache__/_team.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_multiteamsession.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_multiteamsession.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/ba/__pycache__/_actor.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/ba/_actor.py
|
||||
@echo Compiling script: $^
|
||||
@ -1470,8 +1472,23 @@ build/ba_data/python/bastd/ui/store/__pycache__/item.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/freeforallendscreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/freeforallendscreen.py
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopjoin.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/coopjoin.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamvictory.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/multiteamvictory.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/dualteamscore.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/dualteamscore.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/drawscore.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/drawscore.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
@ -1480,38 +1497,23 @@ build/ba_data/python/bastd/activity/__pycache__/__init__.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopscorescreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/coopscorescreen.py
|
||||
build/ba_data/python/bastd/activity/__pycache__/freeforallvictory.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/freeforallvictory.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/dualteamscorescreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/dualteamscorescreen.py
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopscore.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/coopscore.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/coopjoinscreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/coopjoinscreen.py
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamjoin.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/multiteamjoin.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamendscreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/multiteamendscreen.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/teamsscorescreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/teamsscorescreen.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamjoinscreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/multiteamjoinscreen.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/activity/__pycache__/drawscreen.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/drawscreen.py
|
||||
build/ba_data/python/bastd/activity/__pycache__/multiteamscore.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/activity/multiteamscore.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
@ -1730,6 +1732,11 @@ build/ba_data/python/bastd/actor/__pycache__/popuptext.cpython-37.opt-1.pyc: \
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/actor/__pycache__/multiteamvictory.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/actor/multiteamvictory.py
|
||||
@echo Compiling script: $^
|
||||
@rm -rf $@ && $(TOOLS_DIR)/snippets compile_python_files $^ && chmod 444 $@
|
||||
|
||||
build/ba_data/python/bastd/actor/__pycache__/background.cpython-37.opt-1.pyc: \
|
||||
build/ba_data/python/bastd/actor/background.py
|
||||
@echo Compiling script: $^
|
||||
|
||||
@ -62,7 +62,7 @@ from ba._session import Session
|
||||
from ba._stats import PlayerScoredMessage, PlayerRecord, Stats
|
||||
from ba._team import Team
|
||||
from ba._teamgame import TeamGameActivity
|
||||
from ba._teamssession import TeamsSession
|
||||
from ba._dualteamsession import DualTeamSession
|
||||
from ba._achievement import Achievement
|
||||
from ba._appconfig import AppConfig
|
||||
from ba._appdelegate import AppDelegate
|
||||
@ -82,7 +82,7 @@ from ba._messages import (OutOfBoundsMessage, DeathType, DieMessage,
|
||||
CelebrateMessage)
|
||||
from ba._music import setmusic, MusicPlayer, MusicType, MusicPlayMode
|
||||
from ba._powerup import PowerupMessage, PowerupAcceptMessage
|
||||
from ba._teambasesession import TeamBaseSession
|
||||
from ba._multiteamsession import MultiTeamSession
|
||||
from ba.ui import Window, UIController, uicleanupcheck
|
||||
|
||||
app: App
|
||||
|
||||
@ -62,7 +62,7 @@ class EndSessionActivity(Activity):
|
||||
call_after_ad(Call(_ba.new_host_session, MainMenuSession))
|
||||
|
||||
|
||||
class JoiningActivity(Activity):
|
||||
class JoinActivity(Activity):
|
||||
"""Standard activity for waiting for players to join.
|
||||
|
||||
It shows tips and other info and waits for all players to check ready.
|
||||
|
||||
@ -109,7 +109,7 @@ def stop_stress_test() -> None:
|
||||
def start_stress_test(args: Dict[str, Any]) -> None:
|
||||
"""(internal)"""
|
||||
from ba._general import Call
|
||||
from ba._teamssession import TeamsSession
|
||||
from ba._dualteamsession import DualTeamSession
|
||||
from ba._freeforallsession import FreeForAllSession
|
||||
from ba._enums import TimeType, TimeFormat
|
||||
bs_config = _ba.app.config
|
||||
@ -125,7 +125,8 @@ def start_stress_test(args: Dict[str, Any]) -> None:
|
||||
bs_config['Team Tournament Playlist Selection'] = args['playlist_name']
|
||||
bs_config['Team Tournament Playlist Randomize'] = 1
|
||||
_ba.timer(1.0,
|
||||
Call(_ba.pushcall, Call(_ba.new_host_session, TeamsSession)),
|
||||
Call(_ba.pushcall, Call(_ba.new_host_session,
|
||||
DualTeamSession)),
|
||||
timetype=TimeType.REAL)
|
||||
else:
|
||||
bs_config['Free-for-All Playlist Selection'] = args['playlist_name']
|
||||
|
||||
@ -48,7 +48,7 @@ class CoopSession(Session):
|
||||
"""Instantiate a co-op mode session."""
|
||||
# pylint: disable=cyclic-import
|
||||
from ba._campaign import get_campaign
|
||||
from bastd.activity.coopjoinscreen import CoopJoiningActivity
|
||||
from bastd.activity.coopjoin import CoopJoinActivity
|
||||
|
||||
_ba.increment_analytics_count('Co-op session start')
|
||||
|
||||
@ -100,7 +100,7 @@ class CoopSession(Session):
|
||||
self._custom_menu_ui: List[Dict[str, Any]] = []
|
||||
|
||||
# Start our joining screen.
|
||||
self.set_activity(_ba.new_activity(CoopJoiningActivity))
|
||||
self.set_activity(_ba.new_activity(CoopJoinActivity))
|
||||
|
||||
self._next_game_instance: Optional[ba.GameActivity] = None
|
||||
self._next_game_name: Optional[str] = None
|
||||
@ -249,13 +249,13 @@ class CoopSession(Session):
|
||||
# pylint: disable=too-many-locals
|
||||
# pylint: disable=too-many-statements
|
||||
# pylint: disable=cyclic-import
|
||||
from ba._activitytypes import JoiningActivity, TransitionActivity
|
||||
from ba._activitytypes import JoinActivity, TransitionActivity
|
||||
from ba._lang import Lstr
|
||||
from ba._general import WeakCall
|
||||
from ba._coopgame import CoopGameActivity
|
||||
from ba._gameresults import TeamGameResults
|
||||
from bastd.tutorial import TutorialActivity
|
||||
from bastd.activity.coopscorescreen import CoopScoreScreen
|
||||
from bastd.activity.coopscore import CoopScoreScreen
|
||||
|
||||
app = _ba.app
|
||||
|
||||
@ -279,9 +279,8 @@ class CoopSession(Session):
|
||||
|
||||
# If we're in a between-round activity or a restart-activity,
|
||||
# hop into a round.
|
||||
if (isinstance(
|
||||
activity,
|
||||
(JoiningActivity, CoopScoreScreen, TransitionActivity))):
|
||||
if (isinstance(activity,
|
||||
(JoinActivity, CoopScoreScreen, TransitionActivity))):
|
||||
|
||||
if outcome == 'next_level':
|
||||
if self._next_game_instance is None:
|
||||
@ -295,7 +294,7 @@ class CoopSession(Session):
|
||||
# Special case: if we're coming from a joining-activity
|
||||
# and will be going into onslaught-training, show the
|
||||
# tutorial first.
|
||||
if (isinstance(activity, JoiningActivity)
|
||||
if (isinstance(activity, JoinActivity)
|
||||
and self.campaign_state['level'] == 'Onslaught Training'
|
||||
and not app.kiosk_mode):
|
||||
if self._tutorial_activity is None:
|
||||
|
||||
@ -24,13 +24,13 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import _ba
|
||||
from ba import _teambasesession
|
||||
from ba import _multiteamsession
|
||||
|
||||
if TYPE_CHECKING:
|
||||
import ba
|
||||
|
||||
|
||||
class TeamsSession(_teambasesession.TeamBaseSession):
|
||||
class DualTeamSession(_multiteamsession.MultiTeamSession):
|
||||
"""ba.Session type for teams mode games.
|
||||
|
||||
Category: Gameplay Classes
|
||||
@ -46,15 +46,16 @@ class TeamsSession(_teambasesession.TeamBaseSession):
|
||||
|
||||
def _switch_to_score_screen(self, results: ba.TeamGameResults) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
from bastd.activity import drawscreen
|
||||
from bastd.activity import dualteamscorescreen
|
||||
from bastd.activity import multiteamendscreen
|
||||
from bastd.activity.drawscore import DrawScoreScreenActivity
|
||||
from bastd.activity.dualteamscore import (
|
||||
TeamVictoryScoreScreenActivity)
|
||||
from bastd.activity.multiteamvictory import (
|
||||
TeamSeriesVictoryScoreScreenActivity)
|
||||
winners = results.get_winners()
|
||||
|
||||
# If everyone has the same score, call it a draw.
|
||||
if len(winners) < 2:
|
||||
self.set_activity(
|
||||
_ba.new_activity(drawscreen.DrawScoreScreenActivity))
|
||||
self.set_activity(_ba.new_activity(DrawScoreScreenActivity))
|
||||
else:
|
||||
winner = winners[0].teams[0]
|
||||
winner.sessiondata['score'] += 1
|
||||
@ -63,12 +64,9 @@ class TeamsSession(_teambasesession.TeamBaseSession):
|
||||
if winner.sessiondata['score'] >= (self._series_length -
|
||||
1) / 2 + 1:
|
||||
self.set_activity(
|
||||
_ba.new_activity(
|
||||
multiteamendscreen.
|
||||
TeamSeriesVictoryScoreScreenActivity,
|
||||
{'winner': winner}))
|
||||
_ba.new_activity(TeamSeriesVictoryScoreScreenActivity,
|
||||
{'winner': winner}))
|
||||
else:
|
||||
self.set_activity(
|
||||
_ba.new_activity(
|
||||
dualteamscorescreen.TeamVictoryScoreScreenActivity,
|
||||
{'winner': winner}))
|
||||
_ba.new_activity(TeamVictoryScoreScreenActivity,
|
||||
{'winner': winner}))
|
||||
@ -25,14 +25,14 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import _ba
|
||||
from ba._teambasesession import TeamBaseSession
|
||||
from ba._multiteamsession import MultiTeamSession
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Dict
|
||||
import ba
|
||||
|
||||
|
||||
class FreeForAllSession(TeamBaseSession):
|
||||
class FreeForAllSession(MultiTeamSession):
|
||||
"""ba.Session type for free-for-all mode games.
|
||||
|
||||
Category: Gameplay Classes
|
||||
@ -70,10 +70,10 @@ class FreeForAllSession(TeamBaseSession):
|
||||
|
||||
def _switch_to_score_screen(self, results: ba.TeamGameResults) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
from bastd.activity.drawscreen import DrawScoreScreenActivity
|
||||
from bastd.activity.multiteamendscreen import (
|
||||
from bastd.activity.drawscore import DrawScoreScreenActivity
|
||||
from bastd.activity.multiteamvictory import (
|
||||
TeamSeriesVictoryScoreScreenActivity)
|
||||
from bastd.activity.freeforallendscreen import (
|
||||
from bastd.activity.freeforallvictory import (
|
||||
FreeForAllVictoryScoreScreenActivity)
|
||||
winners = results.get_winners()
|
||||
|
||||
|
||||
@ -289,10 +289,10 @@ class GameActivity(Activity):
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
"""Return whether this game supports the provided Session type."""
|
||||
from ba._teambasesession import TeamBaseSession
|
||||
from ba._multiteamsession import MultiTeamSession
|
||||
|
||||
# By default, games support any versus mode
|
||||
return issubclass(sessiontype, TeamBaseSession)
|
||||
return issubclass(sessiontype, MultiTeamSession)
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
"""Instantiate the Activity."""
|
||||
@ -550,7 +550,7 @@ class GameActivity(Activity):
|
||||
def _game_begin_analytics(self) -> None:
|
||||
"""Update analytics events for the start of the game."""
|
||||
# pylint: disable=too-many-branches
|
||||
from ba._teamssession import TeamsSession
|
||||
from ba._dualteamsession import DualTeamSession
|
||||
from ba._freeforallsession import FreeForAllSession
|
||||
from ba._coopsession import CoopSession
|
||||
session = self.session
|
||||
@ -573,7 +573,7 @@ class GameActivity(Activity):
|
||||
elif len(self.players) >= 4:
|
||||
_ba.increment_analytics_count(
|
||||
'Co-op round start 4+ human players')
|
||||
elif isinstance(session, TeamsSession):
|
||||
elif isinstance(session, DualTeamSession):
|
||||
_ba.set_analytics_screen('Teams Game: ' + self.get_name())
|
||||
_ba.increment_analytics_count('Teams round start')
|
||||
if len(self.players) == 1:
|
||||
|
||||
@ -36,8 +36,8 @@ DEFAULT_TEAM_COLORS = ((0.1, 0.25, 1.0), (1.0, 0.25, 0.2))
|
||||
DEFAULT_TEAM_NAMES = ("Blue", "Red")
|
||||
|
||||
|
||||
class TeamBaseSession(Session):
|
||||
"""Common base class for ba.TeamsSession and ba.FreeForAllSession.
|
||||
class MultiTeamSession(Session):
|
||||
"""Common base class for ba.DualTeamSession and ba.FreeForAllSession.
|
||||
|
||||
Category: Gameplay Classes
|
||||
|
||||
@ -54,7 +54,7 @@ class TeamBaseSession(Session):
|
||||
"""Set up playlists and launches a ba.Activity to accept joiners."""
|
||||
# pylint: disable=cyclic-import
|
||||
from ba import _playlist
|
||||
from bastd.activity import multiteamjoinscreen
|
||||
from bastd.activity.multiteamjoin import MultiTeamJoinActivity
|
||||
app = _ba.app
|
||||
cfg = app.config
|
||||
|
||||
@ -133,8 +133,7 @@ class TeamBaseSession(Session):
|
||||
self._instantiate_next_game()
|
||||
|
||||
# Start in our custom join screen.
|
||||
self.set_activity(
|
||||
_ba.new_activity(multiteamjoinscreen.TeamJoiningActivity))
|
||||
self.set_activity(_ba.new_activity(MultiTeamJoinActivity))
|
||||
|
||||
def get_ffa_series_length(self) -> int:
|
||||
"""Return free-for-all series length."""
|
||||
@ -174,7 +173,7 @@ class TeamBaseSession(Session):
|
||||
# pylint: disable=cyclic-import
|
||||
from ba import _error
|
||||
from bastd.tutorial import TutorialActivity
|
||||
from bastd.activity.multiteamendscreen import (
|
||||
from bastd.activity.multiteamvictory import (
|
||||
TeamSeriesVictoryScoreScreenActivity)
|
||||
from ba import _activitytypes
|
||||
|
||||
@ -195,7 +194,7 @@ class TeamBaseSession(Session):
|
||||
# into a round.
|
||||
elif isinstance(
|
||||
activity,
|
||||
(_activitytypes.JoiningActivity, _activitytypes.TransitionActivity,
|
||||
(_activitytypes.JoinActivity, _activitytypes.TransitionActivity,
|
||||
_activitytypes.ScoreScreenActivity)):
|
||||
|
||||
# If we're coming from a series-end activity, reset scores.
|
||||
@ -143,7 +143,7 @@ def launch_server_session() -> None:
|
||||
"""Kick off a host-session based on the current server config."""
|
||||
from ba._netutils import serverget
|
||||
from ba import _freeforallsession
|
||||
from ba import _teamssession
|
||||
from ba import _dualteamsession
|
||||
app = _ba.app
|
||||
servercfg = copy.deepcopy(app.server_config)
|
||||
appcfg = app.config
|
||||
@ -155,7 +155,7 @@ def launch_server_session() -> None:
|
||||
if session_type_name == 'ffa':
|
||||
sessiontype = _freeforallsession.FreeForAllSession
|
||||
elif session_type_name == 'teams':
|
||||
sessiontype = _teamssession.TeamsSession
|
||||
sessiontype = _dualteamsession.DualTeamSession
|
||||
else:
|
||||
raise Exception('invalid session_type value: ' + session_type_name)
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ class Session:
|
||||
|
||||
category: Gameplay Classes
|
||||
|
||||
Examples of sessions are ba.FreeForAllSession, ba.TeamsSession, and
|
||||
Examples of sessions are ba.FreeForAllSession, ba.DualTeamSession, and
|
||||
ba.CoopSession.
|
||||
|
||||
A Session is responsible for wrangling and transitioning between various
|
||||
|
||||
@ -28,7 +28,7 @@ import _ba
|
||||
from ba._freeforallsession import FreeForAllSession
|
||||
from ba._gameactivity import GameActivity
|
||||
from ba._gameresults import TeamGameResults
|
||||
from ba._teamssession import TeamsSession
|
||||
from ba._dualteamsession import DualTeamSession
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, Type, Sequence
|
||||
@ -49,10 +49,10 @@ class TeamGameActivity(GameActivity):
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
"""
|
||||
Class method override;
|
||||
returns True for ba.TeamsSessions and ba.FreeForAllSessions;
|
||||
returns True for ba.DualTeamSessions and ba.FreeForAllSessions;
|
||||
False otherwise.
|
||||
"""
|
||||
return (issubclass(sessiontype, TeamsSession)
|
||||
return (issubclass(sessiontype, DualTeamSession)
|
||||
or issubclass(sessiontype, FreeForAllSession))
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -95,7 +95,7 @@ class TeamGameActivity(GameActivity):
|
||||
if len(self.players) >= 2:
|
||||
from ba import _achievement
|
||||
_achievement.award_local_achievement('Free Loader')
|
||||
elif isinstance(self.session, TeamsSession):
|
||||
elif isinstance(self.session, DualTeamSession):
|
||||
if len(self.players) >= 4:
|
||||
from ba import _achievement
|
||||
_achievement.award_local_achievement('Team Player')
|
||||
@ -116,7 +116,7 @@ class TeamGameActivity(GameActivity):
|
||||
"""
|
||||
if position is None:
|
||||
# In teams-mode get our team-start-location.
|
||||
if isinstance(self.session, TeamsSession):
|
||||
if isinstance(self.session, DualTeamSession):
|
||||
position = (self.map.get_start_position(player.team.get_id()))
|
||||
else:
|
||||
# Otherwise do free-for-all spawn locations.
|
||||
@ -137,7 +137,7 @@ class TeamGameActivity(GameActivity):
|
||||
"""
|
||||
# pylint: disable=arguments-differ
|
||||
from ba._coopsession import CoopSession
|
||||
from ba._teambasesession import TeamBaseSession
|
||||
from ba._multiteamsession import MultiTeamSession
|
||||
from ba._general import Call
|
||||
|
||||
# Announce win (but only for the first finish() call)
|
||||
@ -148,7 +148,7 @@ class TeamGameActivity(GameActivity):
|
||||
super().end(results, delay=2.0 + announce_delay, force=force)
|
||||
# Need to do this *after* end end call so that results is valid.
|
||||
assert isinstance(results, TeamGameResults)
|
||||
if do_announce and isinstance(session, TeamBaseSession):
|
||||
if do_announce and isinstance(session, MultiTeamSession):
|
||||
session.announce_game_results(
|
||||
self,
|
||||
results,
|
||||
|
||||
@ -40,7 +40,7 @@ from ba._account import (on_account_state_changed,
|
||||
ensure_have_account_player_profile,
|
||||
get_purchased_icons, get_cached_league_rank_data,
|
||||
get_league_rank_points, cache_league_rank_data)
|
||||
from ba._activitytypes import JoiningActivity, ScoreScreenActivity
|
||||
from ba._activitytypes import JoinActivity, ScoreScreenActivity
|
||||
from ba._achievement import (get_achievement, set_completed_achievements,
|
||||
display_achievement_banner,
|
||||
get_achievements_for_coop_level)
|
||||
@ -52,7 +52,7 @@ from ba._campaign import get_campaign
|
||||
from ba._messages import PlayerProfilesChangedMessage
|
||||
from ba._meta import get_game_types
|
||||
from ba._modutils import show_user_scripts
|
||||
from ba._teambasesession import DEFAULT_TEAM_COLORS, DEFAULT_TEAM_NAMES
|
||||
from ba._multiteamsession import DEFAULT_TEAM_COLORS, DEFAULT_TEAM_NAMES
|
||||
from ba._music import (have_music_player, music_volume_changed, do_play_music,
|
||||
get_soundtrack_entry_name, get_soundtrack_entry_type,
|
||||
get_music_player, set_music_play_mode,
|
||||
|
||||
@ -26,13 +26,13 @@ from typing import TYPE_CHECKING
|
||||
|
||||
import _ba
|
||||
import ba
|
||||
from ba.internal import JoiningActivity
|
||||
from ba.internal import JoinActivity
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, List, Optional, Sequence, Union
|
||||
|
||||
|
||||
class CoopJoiningActivity(JoiningActivity):
|
||||
class CoopJoinActivity(JoinActivity):
|
||||
"""Join-screen for co-op mode."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -25,13 +25,13 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from bastd.activity.teamsscorescreen import TeamsScoreScreenActivity
|
||||
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict
|
||||
|
||||
|
||||
class DrawScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
class DrawScoreScreenActivity(MultiTeamScoreScreenActivity):
|
||||
"""Score screen shown after a draw."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -25,14 +25,14 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from bastd.activity.teamsscorescreen import TeamsScoreScreenActivity
|
||||
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
|
||||
from bastd.actor.zoomtext import ZoomText
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict
|
||||
|
||||
|
||||
class TeamVictoryScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
class TeamVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
|
||||
"""Scorescreen between rounds of a dual-team session."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -52,7 +52,7 @@ class TeamVictoryScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
# Usually we say 'Best of 7', but if the language prefers we can say
|
||||
# 'First to 4'.
|
||||
session = self.session
|
||||
assert isinstance(session, ba.TeamBaseSession)
|
||||
assert isinstance(session, ba.MultiTeamSession)
|
||||
if get_resource('bestOfUseFirstToInstead'):
|
||||
best_txt = ba.Lstr(resource='firstToSeriesText',
|
||||
subs=[('${COUNT}',
|
||||
@ -25,14 +25,14 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from bastd.activity.teamsscorescreen import TeamsScoreScreenActivity
|
||||
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, Optional, Set
|
||||
|
||||
|
||||
class FreeForAllVictoryScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
"""Score screen shown at the end of a free-for-all series."""
|
||||
class FreeForAllVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
|
||||
"""Score screen shown at after free-for-all rounds."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
super().__init__(settings=settings)
|
||||
@ -25,14 +25,14 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from ba.internal import JoiningActivity
|
||||
from ba.internal import JoinActivity
|
||||
from bastd.actor.text import Text
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
|
||||
class TeamJoiningActivity(JoiningActivity):
|
||||
class MultiTeamJoinActivity(JoinActivity):
|
||||
"""Join screen for teams sessions."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -41,12 +41,12 @@ class TeamJoiningActivity(JoiningActivity):
|
||||
|
||||
def on_transition_in(self) -> None:
|
||||
from bastd.actor.controlsguide import ControlsGuide
|
||||
from ba import TeamsSession
|
||||
from ba import DualTeamSession
|
||||
super().on_transition_in()
|
||||
ControlsGuide(delay=1.0).autoretain()
|
||||
|
||||
session = self.session
|
||||
assert isinstance(session, ba.TeamBaseSession)
|
||||
assert isinstance(session, ba.MultiTeamSession)
|
||||
|
||||
# Show info about the next up game.
|
||||
self._next_up_text = Text(ba.Lstr(
|
||||
@ -65,7 +65,7 @@ class TeamJoiningActivity(JoiningActivity):
|
||||
|
||||
# In teams mode, show our two team names.
|
||||
# FIXME: Lobby should handle this.
|
||||
if isinstance(ba.getsession(), TeamsSession):
|
||||
if isinstance(ba.getsession(), DualTeamSession):
|
||||
team_names = [team.name for team in ba.getsession().teams]
|
||||
team_colors = [
|
||||
tuple(team.color) + (0.5, ) for team in ba.getsession().teams
|
||||
@ -32,7 +32,7 @@ if TYPE_CHECKING:
|
||||
from ba import PlayerRecord
|
||||
|
||||
|
||||
class TeamsScoreScreenActivity(ScoreScreenActivity):
|
||||
class MultiTeamScoreScreenActivity(ScoreScreenActivity):
|
||||
"""Base class for score screens."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -46,7 +46,7 @@ class TeamsScoreScreenActivity(ScoreScreenActivity):
|
||||
from bastd.actor.text import Text
|
||||
super().on_begin()
|
||||
session = self.session
|
||||
if self._show_up_next and isinstance(session, ba.TeamBaseSession):
|
||||
if self._show_up_next and isinstance(session, ba.MultiTeamSession):
|
||||
txt = ba.Lstr(value='${A} ${B}',
|
||||
subs=[
|
||||
('${A}',
|
||||
@ -165,7 +165,7 @@ class TeamsScoreScreenActivity(ScoreScreenActivity):
|
||||
transition_delay=tdelay).autoretain()
|
||||
|
||||
session = self.session
|
||||
assert isinstance(session, ba.TeamBaseSession)
|
||||
assert isinstance(session, ba.MultiTeamSession)
|
||||
tval = ba.Lstr(resource='gameLeadersText',
|
||||
subs=[('${COUNT}', str(session.get_game_number()))])
|
||||
_txt(180,
|
||||
@ -25,13 +25,13 @@ from __future__ import annotations
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from bastd.activity.teamsscorescreen import TeamsScoreScreenActivity
|
||||
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, List, Tuple, Optional
|
||||
|
||||
|
||||
class TeamSeriesVictoryScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
class TeamSeriesVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
|
||||
"""Final score screen for a team series."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
@ -104,7 +104,7 @@ class TeamSeriesVictoryScoreScreenActivity(TeamsScoreScreenActivity):
|
||||
str(session.get_ffa_series_length()))]))
|
||||
])
|
||||
else:
|
||||
assert isinstance(session, ba.TeamBaseSession)
|
||||
assert isinstance(session, ba.MultiTeamSession)
|
||||
|
||||
# Some languages may prefer to always show 'first to X' instead of
|
||||
# 'best of X'.
|
||||
392
assets/src/ba_data/python/bastd/actor/multiteamvictory.py
Normal file
392
assets/src/ba_data/python/bastd/actor/multiteamvictory.py
Normal file
@ -0,0 +1,392 @@
|
||||
# Copyright (c) 2011-2020 Eric Froemling
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
# -----------------------------------------------------------------------------
|
||||
"""Functionality related to the final screen in multi-teams sessions."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
import ba
|
||||
from bastd.activity.multiteamscore import MultiTeamScoreScreenActivity
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Dict, List, Tuple, Optional
|
||||
|
||||
|
||||
class TeamSeriesVictoryScoreScreenActivity(MultiTeamScoreScreenActivity):
|
||||
"""Final score screen for a team series."""
|
||||
|
||||
def __init__(self, settings: Dict[str, Any]):
|
||||
super().__init__(settings=settings)
|
||||
self._min_view_time = 15.0
|
||||
self._is_ffa = isinstance(self.session, ba.FreeForAllSession)
|
||||
self._allow_server_restart = True
|
||||
self._tips_text = None
|
||||
|
||||
def on_transition_in(self) -> None:
|
||||
# We don't yet want music and whatnot...
|
||||
self.default_music = None
|
||||
self._default_show_tips = False
|
||||
super().on_transition_in()
|
||||
|
||||
def on_begin(self) -> None:
|
||||
# pylint: disable=too-many-branches
|
||||
# pylint: disable=too-many-locals
|
||||
# pylint: disable=too-many-statements
|
||||
from bastd.actor.text import Text
|
||||
from bastd.actor.image import Image
|
||||
from ba.deprecated import get_resource
|
||||
ba.set_analytics_screen('FreeForAll Series Victory Screen' if self.
|
||||
_is_ffa else 'Teams Series Victory Screen')
|
||||
if ba.app.interface_type == 'large':
|
||||
sval = ba.Lstr(resource='pressAnyKeyButtonPlayAgainText')
|
||||
else:
|
||||
sval = ba.Lstr(resource='pressAnyButtonPlayAgainText')
|
||||
self._show_up_next = False
|
||||
self._custom_continue_message = sval
|
||||
super().on_begin()
|
||||
winning_team = self.settings['winner']
|
||||
|
||||
# Pause a moment before playing victory music.
|
||||
ba.timer(0.6, ba.WeakCall(self._play_victory_music))
|
||||
ba.timer(4.4, ba.WeakCall(self._show_winner, self.settings['winner']))
|
||||
ba.timer(4.6, ba.Call(ba.playsound, self._score_display_sound))
|
||||
|
||||
# Score / Name / Player-record.
|
||||
player_entries: List[Tuple[int, str, ba.PlayerRecord]] = []
|
||||
|
||||
# Note: for ffa, exclude players who haven't entered the game yet.
|
||||
if self._is_ffa:
|
||||
for _pkey, prec in self.stats.get_records().items():
|
||||
if prec.player.in_game:
|
||||
player_entries.append(
|
||||
(prec.player.team.sessiondata['score'],
|
||||
prec.get_name(full=True), prec))
|
||||
player_entries.sort(reverse=True, key=lambda x: x[0])
|
||||
else:
|
||||
for _pkey, prec in self.stats.get_records().items():
|
||||
player_entries.append((prec.score, prec.name_full, prec))
|
||||
player_entries.sort(reverse=True, key=lambda x: x[0])
|
||||
|
||||
ts_height = 300.0
|
||||
ts_h_offs = -390.0
|
||||
tval = 6.4
|
||||
t_incr = 0.12
|
||||
|
||||
always_use_first_to = get_resource('bestOfUseFirstToInstead')
|
||||
|
||||
session = self.session
|
||||
if self._is_ffa:
|
||||
assert isinstance(session, ba.FreeForAllSession)
|
||||
txt = ba.Lstr(
|
||||
value='${A}:',
|
||||
subs=[('${A}',
|
||||
ba.Lstr(resource='firstToFinalText',
|
||||
subs=[('${COUNT}',
|
||||
str(session.get_ffa_series_length()))]))
|
||||
])
|
||||
else:
|
||||
assert isinstance(session, ba.MultiTeamSession)
|
||||
|
||||
# Some languages may prefer to always show 'first to X' instead of
|
||||
# 'best of X'.
|
||||
# FIXME: This will affect all clients connected to us even if
|
||||
# they're not using this language. Should try to come up
|
||||
# with a wording that works everywhere.
|
||||
if always_use_first_to:
|
||||
txt = ba.Lstr(
|
||||
value='${A}:',
|
||||
subs=[
|
||||
('${A}',
|
||||
ba.Lstr(resource='firstToFinalText',
|
||||
subs=[
|
||||
('${COUNT}',
|
||||
str(session.get_series_length() / 2 + 1))
|
||||
]))
|
||||
])
|
||||
else:
|
||||
txt = ba.Lstr(
|
||||
value='${A}:',
|
||||
subs=[('${A}',
|
||||
ba.Lstr(resource='bestOfFinalText',
|
||||
subs=[('${COUNT}',
|
||||
str(session.get_series_length()))]))
|
||||
])
|
||||
|
||||
Text(txt,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=300,
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
position=(0, 220),
|
||||
scale=1.2,
|
||||
transition=Text.Transition.IN_TOP_SLOW,
|
||||
h_align=Text.HAlign.CENTER,
|
||||
transition_delay=t_incr * 4).autoretain()
|
||||
|
||||
win_score = (session.get_series_length() - 1) / 2 + 1
|
||||
lose_score = 0
|
||||
for team in self.teams:
|
||||
if team.sessiondata['score'] != win_score:
|
||||
lose_score = team.sessiondata['score']
|
||||
|
||||
if not self._is_ffa:
|
||||
Text(ba.Lstr(resource='gamesToText',
|
||||
subs=[('${WINCOUNT}', str(win_score)),
|
||||
('${LOSECOUNT}', str(lose_score))]),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
maxwidth=160,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
position=(0, -215),
|
||||
scale=1.8,
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
h_align=Text.HAlign.CENTER,
|
||||
transition_delay=4.8 + t_incr * 4).autoretain()
|
||||
|
||||
if self._is_ffa:
|
||||
v_extra = 120
|
||||
else:
|
||||
v_extra = 0
|
||||
|
||||
mvp: Optional[ba.PlayerRecord] = None
|
||||
mvp_name: Optional[str] = None
|
||||
|
||||
# Show game MVP.
|
||||
if not self._is_ffa:
|
||||
mvp, mvp_name = None, None
|
||||
for entry in player_entries:
|
||||
if entry[2].team == winning_team:
|
||||
mvp = entry[2]
|
||||
mvp_name = entry[1]
|
||||
break
|
||||
if mvp is not None:
|
||||
Text(ba.Lstr(resource='mostValuablePlayerText'),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=300,
|
||||
position=(180, ts_height / 2 + 15),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
h_align=Text.HAlign.LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
|
||||
Image(mvp.get_icon(),
|
||||
position=(230, ts_height / 2 - 55 + 14 - 5),
|
||||
scale=(70, 70),
|
||||
transition=Image.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
Text(ba.Lstr(value=mvp_name),
|
||||
position=(280, ts_height / 2 - 55 + 15 - 5),
|
||||
h_align=Text.HAlign.LEFT,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=170,
|
||||
scale=1.3,
|
||||
color=ba.safecolor(mvp.team.color + (1, )),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
|
||||
# Most violent.
|
||||
most_kills = 0
|
||||
for entry in player_entries:
|
||||
if entry[2].kill_count >= most_kills:
|
||||
mvp = entry[2]
|
||||
mvp_name = entry[1]
|
||||
most_kills = entry[2].kill_count
|
||||
if mvp is not None:
|
||||
Text(ba.Lstr(resource='mostViolentPlayerText'),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=300,
|
||||
position=(180, ts_height / 2 - 150 + v_extra + 15),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
h_align=Text.HAlign.LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
Text(ba.Lstr(value='(${A})',
|
||||
subs=[('${A}',
|
||||
ba.Lstr(resource='killsTallyText',
|
||||
subs=[('${COUNT}', str(most_kills))]))
|
||||
]),
|
||||
position=(260, ts_height / 2 - 150 - 15 + v_extra),
|
||||
color=(0.3, 0.3, 0.3, 1.0),
|
||||
scale=0.6,
|
||||
h_align=Text.HAlign.LEFT,
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
|
||||
Image(mvp.get_icon(),
|
||||
position=(233, ts_height / 2 - 150 - 30 - 46 + 25 + v_extra),
|
||||
scale=(50, 50),
|
||||
transition=Image.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
Text(ba.Lstr(value=mvp_name),
|
||||
position=(270, ts_height / 2 - 150 - 30 - 36 + v_extra + 15),
|
||||
h_align=Text.HAlign.LEFT,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=180,
|
||||
color=ba.safecolor(mvp.team.color + (1, )),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
|
||||
# Most killed.
|
||||
most_killed = 0
|
||||
mkp, mkp_name = None, None
|
||||
for entry in player_entries:
|
||||
if entry[2].killed_count >= most_killed:
|
||||
mkp = entry[2]
|
||||
mkp_name = entry[1]
|
||||
most_killed = entry[2].killed_count
|
||||
if mkp is not None:
|
||||
Text(ba.Lstr(resource='mostViolatedPlayerText'),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=300,
|
||||
position=(180, ts_height / 2 - 300 + v_extra + 15),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
h_align=Text.HAlign.LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
Text(ba.Lstr(value='(${A})',
|
||||
subs=[('${A}',
|
||||
ba.Lstr(resource='deathsTallyText',
|
||||
subs=[('${COUNT}', str(most_killed))]))
|
||||
]),
|
||||
position=(260, ts_height / 2 - 300 - 15 + v_extra),
|
||||
h_align=Text.HAlign.LEFT,
|
||||
scale=0.6,
|
||||
color=(0.3, 0.3, 0.3, 1.0),
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
Image(mkp.get_icon(),
|
||||
position=(233, ts_height / 2 - 300 - 30 - 46 + 25 + v_extra),
|
||||
scale=(50, 50),
|
||||
transition=Image.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
Text(ba.Lstr(value=mkp_name),
|
||||
position=(270, ts_height / 2 - 300 - 30 - 36 + v_extra + 15),
|
||||
h_align=Text.HAlign.LEFT,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
color=ba.safecolor(mkp.team.color + (1, )),
|
||||
maxwidth=180,
|
||||
transition=Text.Transition.IN_LEFT,
|
||||
transition_delay=tval).autoretain()
|
||||
tval += 4 * t_incr
|
||||
|
||||
# Now show individual scores.
|
||||
tdelay = tval
|
||||
Text(ba.Lstr(resource='finalScoresText'),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
position=(ts_h_offs, ts_height / 2),
|
||||
transition=Text.Transition.IN_RIGHT,
|
||||
transition_delay=tdelay).autoretain()
|
||||
tdelay += 4 * t_incr
|
||||
|
||||
v_offs = 0.0
|
||||
tdelay += len(player_entries) * 8 * t_incr
|
||||
for _score, name, prec in player_entries:
|
||||
tdelay -= 4 * t_incr
|
||||
v_offs -= 40
|
||||
Text(str(prec.team.sessiondata['score'])
|
||||
if self._is_ffa else str(prec.score),
|
||||
color=(0.5, 0.5, 0.5, 1.0),
|
||||
position=(ts_h_offs + 230, ts_height / 2 + v_offs),
|
||||
h_align=Text.HAlign.RIGHT,
|
||||
transition=Text.Transition.IN_RIGHT,
|
||||
transition_delay=tdelay).autoretain()
|
||||
tdelay -= 4 * t_incr
|
||||
|
||||
Image(prec.get_icon(),
|
||||
position=(ts_h_offs - 72, ts_height / 2 + v_offs + 15),
|
||||
scale=(30, 30),
|
||||
transition=Image.Transition.IN_LEFT,
|
||||
transition_delay=tdelay).autoretain()
|
||||
Text(ba.Lstr(value=name),
|
||||
position=(ts_h_offs - 50, ts_height / 2 + v_offs + 15),
|
||||
h_align=Text.HAlign.LEFT,
|
||||
v_align=Text.VAlign.CENTER,
|
||||
maxwidth=180,
|
||||
color=ba.safecolor(prec.team.color + (1, )),
|
||||
transition=Text.Transition.IN_RIGHT,
|
||||
transition_delay=tdelay).autoretain()
|
||||
|
||||
ba.timer(15.0, ba.WeakCall(self._show_tips))
|
||||
|
||||
def _show_tips(self) -> None:
|
||||
from bastd.actor.tipstext import TipsText
|
||||
self._tips_text = TipsText(offs_y=70)
|
||||
|
||||
def _play_victory_music(self) -> None:
|
||||
|
||||
# Make sure we don't stomp on the next activity's music choice.
|
||||
if not self.is_transitioning_out():
|
||||
ba.setmusic(ba.MusicType.VICTORY)
|
||||
|
||||
def _show_winner(self, team: ba.Team) -> None:
|
||||
from bastd.actor.image import Image
|
||||
from bastd.actor.zoomtext import ZoomText
|
||||
if not self._is_ffa:
|
||||
offs_v = 0.0
|
||||
ZoomText(team.name,
|
||||
position=(0, 97),
|
||||
color=team.color,
|
||||
scale=1.15,
|
||||
jitter=1.0,
|
||||
maxwidth=250).autoretain()
|
||||
else:
|
||||
offs_v = -80.0
|
||||
if len(team.players) == 1:
|
||||
i = Image(team.players[0].get_icon(),
|
||||
position=(0, 143),
|
||||
scale=(100, 100)).autoretain()
|
||||
assert i.node
|
||||
ba.animate(i.node, 'opacity', {0.0: 0.0, 0.25: 1.0})
|
||||
ZoomText(ba.Lstr(
|
||||
value=team.players[0].get_name(full=True, icon=False)),
|
||||
position=(0, 97 + offs_v),
|
||||
color=team.color,
|
||||
scale=1.15,
|
||||
jitter=1.0,
|
||||
maxwidth=250).autoretain()
|
||||
|
||||
s_extra = 1.0 if self._is_ffa else 1.0
|
||||
|
||||
# Some languages say "FOO WINS" differently for teams vs players.
|
||||
if isinstance(self.session, ba.FreeForAllSession):
|
||||
wins_resource = 'seriesWinLine1PlayerText'
|
||||
else:
|
||||
wins_resource = 'seriesWinLine1TeamText'
|
||||
wins_text = ba.Lstr(resource=wins_resource)
|
||||
|
||||
# Temp - if these come up as the english default, fall-back to the
|
||||
# unified old form which is more likely to be translated.
|
||||
ZoomText(wins_text,
|
||||
position=(0, -10 + offs_v),
|
||||
color=team.color,
|
||||
scale=0.65 * s_extra,
|
||||
jitter=1.0,
|
||||
maxwidth=250).autoretain()
|
||||
ZoomText(ba.Lstr(resource='seriesWinLine2Text'),
|
||||
position=(0, -110 + offs_v),
|
||||
scale=1.0 * s_extra,
|
||||
color=team.color,
|
||||
jitter=1.0,
|
||||
maxwidth=250).autoretain()
|
||||
@ -135,7 +135,7 @@ class RespawnIcon:
|
||||
def _get_context(self, player: ba.Player) -> Tuple[bool, float, Dict]:
|
||||
"""Return info on where we should be shown and stored."""
|
||||
activity = ba.getactivity()
|
||||
if isinstance(ba.getsession(), ba.TeamsSession):
|
||||
if isinstance(ba.getsession(), ba.DualTeamSession):
|
||||
on_right = player.team.get_id() % 2 == 1
|
||||
|
||||
# Store a list of icons in the team.
|
||||
|
||||
@ -49,7 +49,7 @@ class AssaultGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamsSession)
|
||||
return issubclass(sessiontype, ba.DualTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
|
||||
@ -91,7 +91,7 @@ class CaptureTheFlagGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamsSession)
|
||||
return issubclass(sessiontype, ba.DualTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
|
||||
@ -71,7 +71,7 @@ class ConquestGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamsSession)
|
||||
return issubclass(sessiontype, ba.DualTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
|
||||
@ -48,7 +48,7 @@ class DeathMatchGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return (issubclass(sessiontype, ba.TeamsSession)
|
||||
return (issubclass(sessiontype, ba.DualTeamSession)
|
||||
or issubclass(sessiontype, ba.FreeForAllSession))
|
||||
|
||||
@classmethod
|
||||
|
||||
@ -63,7 +63,7 @@ class EasterEggHuntGame(ba.TeamGameActivity):
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return (issubclass(sessiontype, ba.CoopSession)
|
||||
or issubclass(sessiontype, ba.TeamsSession)
|
||||
or issubclass(sessiontype, ba.DualTeamSession)
|
||||
or issubclass(sessiontype, ba.FreeForAllSession))
|
||||
|
||||
@classmethod
|
||||
|
||||
@ -185,7 +185,7 @@ class EliminationGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return (issubclass(sessiontype, ba.TeamsSession)
|
||||
return (issubclass(sessiontype, ba.DualTeamSession)
|
||||
or issubclass(sessiontype, ba.FreeForAllSession))
|
||||
|
||||
@classmethod
|
||||
@ -214,7 +214,7 @@ class EliminationGame(ba.TeamGameActivity):
|
||||
}),
|
||||
("Epic Mode", {'default': False})] # yapf: disable
|
||||
|
||||
if issubclass(sessiontype, ba.TeamsSession):
|
||||
if issubclass(sessiontype, ba.DualTeamSession):
|
||||
settings.append(("Solo Mode", {'default': False}))
|
||||
settings.append(("Balance Total Lives", {'default': False}))
|
||||
|
||||
@ -237,11 +237,11 @@ class EliminationGame(ba.TeamGameActivity):
|
||||
|
||||
def get_instance_description(self) -> Union[str, Sequence]:
|
||||
return 'Last team standing wins.' if isinstance(
|
||||
self.session, ba.TeamsSession) else 'Last one standing wins.'
|
||||
self.session, ba.DualTeamSession) else 'Last one standing wins.'
|
||||
|
||||
def get_instance_scoreboard_description(self) -> Union[str, Sequence]:
|
||||
return 'last team standing wins' if isinstance(
|
||||
self.session, ba.TeamsSession) else 'last one standing wins'
|
||||
self.session, ba.DualTeamSession) else 'last one standing wins'
|
||||
|
||||
def on_transition_in(self) -> None:
|
||||
self.default_music = (ba.MusicType.EPIC if self.settings['Epic Mode']
|
||||
@ -463,7 +463,7 @@ class EliminationGame(ba.TeamGameActivity):
|
||||
|
||||
# If balance-team-lives is on, add lives to the smaller team until
|
||||
# total lives match.
|
||||
if (isinstance(self.session, ba.TeamsSession)
|
||||
if (isinstance(self.session, ba.DualTeamSession)
|
||||
and self.settings['Balance Total Lives']
|
||||
and self.teams[0].players and self.teams[1].players):
|
||||
if self._get_total_team_lives(
|
||||
|
||||
@ -77,7 +77,7 @@ class FootballTeamGame(ba.TeamGameActivity):
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
# We only support two-team play.
|
||||
return issubclass(sessiontype, ba.TeamsSession)
|
||||
return issubclass(sessiontype, ba.DualTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_description(cls, sessiontype: Type[ba.Session]) -> str:
|
||||
|
||||
@ -120,7 +120,7 @@ class HockeyGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamsSession)
|
||||
return issubclass(sessiontype, ba.DualTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
|
||||
@ -59,7 +59,7 @@ class KeepAwayGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return (issubclass(sessiontype, ba.TeamsSession)
|
||||
return (issubclass(sessiontype, ba.DualTeamSession)
|
||||
or issubclass(sessiontype, ba.FreeForAllSession))
|
||||
|
||||
@classmethod
|
||||
|
||||
@ -61,7 +61,7 @@ class KingOfTheHillGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamBaseSession)
|
||||
return issubclass(sessiontype, ba.MultiTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
|
||||
@ -71,7 +71,7 @@ class MeteorShowerGame(ba.TeamGameActivity):
|
||||
# We support teams, free-for-all, and co-op sessions.
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return (issubclass(sessiontype, ba.TeamsSession)
|
||||
return (issubclass(sessiontype, ba.DualTeamSession)
|
||||
or issubclass(sessiontype, ba.FreeForAllSession)
|
||||
or issubclass(sessiontype, ba.CoopSession))
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
|
||||
@classmethod
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
return issubclass(sessiontype, ba.TeamBaseSession)
|
||||
return issubclass(sessiontype, ba.MultiTeamSession)
|
||||
|
||||
@classmethod
|
||||
def get_supported_maps(cls, sessiontype: Type[ba.Session]) -> List[str]:
|
||||
@ -125,7 +125,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
'default': False
|
||||
})] # yapf: disable
|
||||
|
||||
if issubclass(sessiontype, ba.TeamsSession):
|
||||
if issubclass(sessiontype, ba.DualTeamSession):
|
||||
settings.append(('Entire Team Must Finish', {'default': False}))
|
||||
return settings
|
||||
|
||||
@ -156,7 +156,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
self._bomb_spawn_timer: Optional[ba.Timer] = None
|
||||
|
||||
def get_instance_description(self) -> Union[str, Sequence]:
|
||||
if isinstance(self.session, ba.TeamsSession) and self.settings.get(
|
||||
if isinstance(self.session, ba.DualTeamSession) and self.settings.get(
|
||||
'Entire Team Must Finish', False):
|
||||
t_str = ' Your entire team has to finish.'
|
||||
else:
|
||||
@ -252,7 +252,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
# value is the min of all team players.
|
||||
# Otherwise its the max.
|
||||
if isinstance(self.session,
|
||||
ba.TeamsSession) and self.settings.get(
|
||||
ba.DualTeamSession) and self.settings.get(
|
||||
'Entire Team Must Finish'):
|
||||
team.gamedata['lap'] = min(
|
||||
[p.gamedata['lap'] for p in team.players])
|
||||
@ -265,7 +265,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
|
||||
# In teams mode, hand out points based on the order
|
||||
# players come in.
|
||||
if isinstance(self.session, ba.TeamsSession):
|
||||
if isinstance(self.session, ba.DualTeamSession):
|
||||
assert self._team_finish_pts is not None
|
||||
if self._team_finish_pts > 0:
|
||||
self.stats.player_scored(player,
|
||||
@ -364,7 +364,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
# A player leaving disqualifies the team if 'Entire Team Must Finish'
|
||||
# is on (otherwise in teams mode everyone could just leave except the
|
||||
# leading player to win).
|
||||
if (isinstance(self.session, ba.TeamsSession)
|
||||
if (isinstance(self.session, ba.DualTeamSession)
|
||||
and self.settings.get('Entire Team Must Finish')):
|
||||
ba.screenmessage(ba.Lstr(
|
||||
translate=('statements',
|
||||
@ -396,7 +396,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
if not distances:
|
||||
teams_dist = 0
|
||||
else:
|
||||
if (isinstance(self.session, ba.TeamsSession)
|
||||
if (isinstance(self.session, ba.DualTeamSession)
|
||||
and self.settings.get('Entire Team Must Finish')):
|
||||
teams_dist = min(distances)
|
||||
else:
|
||||
@ -690,7 +690,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
# In teams mode its over as soon as any team finishes the race
|
||||
|
||||
# FIXME: The get_ffa_point_awards code looks dangerous.
|
||||
if isinstance(session, ba.TeamsSession):
|
||||
if isinstance(session, ba.DualTeamSession):
|
||||
self.end_game()
|
||||
else:
|
||||
# In ffa we keep the race going while there's still any points
|
||||
@ -729,7 +729,7 @@ class RaceGame(ba.TeamGameActivity):
|
||||
# odd to be announcing that now.
|
||||
self.end(results=results,
|
||||
announce_winning_team=isinstance(self.session,
|
||||
ba.TeamsSession))
|
||||
ba.DualTeamSession))
|
||||
|
||||
def handlemessage(self, msg: Any) -> Any:
|
||||
if isinstance(msg, PlayerSpazDeathMessage):
|
||||
|
||||
@ -57,7 +57,7 @@ class TargetPracticeGame(ba.TeamGameActivity):
|
||||
def supports_session_type(cls, sessiontype: Type[ba.Session]) -> bool:
|
||||
# We support any teams or versus sessions.
|
||||
return (issubclass(sessiontype, ba.CoopSession)
|
||||
or issubclass(sessiontype, ba.TeamBaseSession))
|
||||
or issubclass(sessiontype, ba.MultiTeamSession))
|
||||
|
||||
@classmethod
|
||||
def get_settings(
|
||||
|
||||
@ -434,7 +434,7 @@ class MainMenuActivity(ba.Activity):
|
||||
from bastd.ui.playlist.browser import (
|
||||
PlaylistBrowserWindow)
|
||||
ba.app.main_menu_window = PlaylistBrowserWindow(
|
||||
sessiontype=ba.TeamsSession,
|
||||
sessiontype=ba.DualTeamSession,
|
||||
transition=None).get_root_widget()
|
||||
elif main_window == 'Free-for-All Game Select':
|
||||
# pylint: disable=cyclic-import
|
||||
|
||||
@ -450,7 +450,7 @@ class KioskWindow(ba.Window):
|
||||
endcall=ba.Call(
|
||||
ba.pushcall,
|
||||
ba.Call(_ba.new_host_session,
|
||||
ba.TeamsSession)))
|
||||
ba.DualTeamSession)))
|
||||
ba.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
return
|
||||
|
||||
|
||||
@ -438,7 +438,7 @@ class PlayWindow(ba.Window):
|
||||
ba.containerwidget(edit=self._root_widget, transition='out_left')
|
||||
ba.app.main_menu_window = (browser.PlaylistBrowserWindow(
|
||||
origin_widget=self._teams_button,
|
||||
sessiontype=ba.TeamsSession).get_root_widget())
|
||||
sessiontype=ba.DualTeamSession).get_root_widget())
|
||||
|
||||
def _free_for_all(self) -> None:
|
||||
# pylint: disable=cyclic-import
|
||||
|
||||
@ -38,15 +38,15 @@ class PlaylistTypeVars:
|
||||
from ba.internal import (get_default_teams_playlist,
|
||||
get_default_free_for_all_playlist)
|
||||
self.sessiontype: Type[ba.Session]
|
||||
if issubclass(sessiontype, ba.TeamsSession):
|
||||
if issubclass(sessiontype, ba.DualTeamSession):
|
||||
play_mode_name = ba.Lstr(resource='playModes.teamsText',
|
||||
fallback_resource='teamsText')
|
||||
self.get_default_list_call = get_default_teams_playlist
|
||||
self.session_type_name = 'ba.TeamsSession'
|
||||
self.session_type_name = 'ba.DualTeamSession'
|
||||
self.config_name = 'Team Tournament'
|
||||
self.window_title_name = ba.Lstr(resource='playModes.teamsText',
|
||||
fallback_resource='teamsText')
|
||||
self.sessiontype = ba.TeamsSession
|
||||
self.sessiontype = ba.DualTeamSession
|
||||
elif issubclass(sessiontype, ba.FreeForAllSession):
|
||||
play_mode_name = ba.Lstr(resource='playModes.freeForAllText',
|
||||
fallback_resource='freeForAllText')
|
||||
|
||||
@ -55,7 +55,7 @@ class PlaylistBrowserWindow(ba.Window):
|
||||
scale_origin = None
|
||||
|
||||
# Store state for when we exit the next game.
|
||||
if issubclass(sessiontype, ba.TeamsSession):
|
||||
if issubclass(sessiontype, ba.DualTeamSession):
|
||||
ba.app.main_window = "Team Game Select"
|
||||
ba.set_analytics_screen('Teams Window')
|
||||
elif issubclass(sessiontype, ba.FreeForAllSession):
|
||||
@ -412,7 +412,7 @@ class PlaylistBrowserWindow(ba.Window):
|
||||
if name == '__default__':
|
||||
if self._sessiontype is ba.FreeForAllSession:
|
||||
playlist = (get_default_free_for_all_playlist())
|
||||
elif self._sessiontype is ba.TeamsSession:
|
||||
elif self._sessiontype is ba.DualTeamSession:
|
||||
playlist = get_default_teams_playlist()
|
||||
else:
|
||||
raise Exception("unrecognized session-type: " +
|
||||
|
||||
@ -66,7 +66,7 @@ class PlayOptionsWindow(popup.PopupWindow):
|
||||
self._height = 330.0 - 50.0
|
||||
|
||||
# In teams games, show the custom names/colors button.
|
||||
if self._sessiontype is ba.TeamsSession:
|
||||
if self._sessiontype is ba.DualTeamSession:
|
||||
self._height += 50.0
|
||||
|
||||
self._row_height = 45.0
|
||||
@ -90,7 +90,7 @@ class PlayOptionsWindow(popup.PopupWindow):
|
||||
if name == '__default__':
|
||||
if self._sessiontype is ba.FreeForAllSession:
|
||||
plst = get_default_free_for_all_playlist()
|
||||
elif self._sessiontype is ba.TeamsSession:
|
||||
elif self._sessiontype is ba.DualTeamSession:
|
||||
plst = get_default_teams_playlist()
|
||||
else:
|
||||
raise Exception("unrecognized session-type: " +
|
||||
@ -262,7 +262,7 @@ class PlayOptionsWindow(popup.PopupWindow):
|
||||
|
||||
# Team names/colors.
|
||||
self._custom_colors_names_button: Optional[ba.Widget]
|
||||
if self._sessiontype is ba.TeamsSession:
|
||||
if self._sessiontype is ba.DualTeamSession:
|
||||
y_offs = 50 if show_shuffle_check_box else 0
|
||||
self._custom_colors_names_button = ba.buttonwidget(
|
||||
parent=self.root_widget,
|
||||
|
||||
@ -111,7 +111,7 @@ def instantiate_store_item_display(item_name: str,
|
||||
modes_l = []
|
||||
if gametype.supports_session_type(ba.CoopSession):
|
||||
modes_l.append(ba.Lstr(resource='playModes.coopText'))
|
||||
if gametype.supports_session_type(ba.TeamsSession):
|
||||
if gametype.supports_session_type(ba.DualTeamSession):
|
||||
modes_l.append(ba.Lstr(resource='playModes.teamsText'))
|
||||
if gametype.supports_session_type(ba.FreeForAllSession):
|
||||
modes_l.append(ba.Lstr(resource='playModes.freeForAllText'))
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
|
||||
<h4><em>last updated on 2020-04-14 for Ballistica version 1.5.0 build 20001</em></h4>
|
||||
<h4><em>last updated on 2020-04-15 for Ballistica version 1.5.0 build 20001</em></h4>
|
||||
<p>This page documents the Python classes and functions in the 'ba' module,
|
||||
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
|
||||
<hr>
|
||||
@ -30,10 +30,10 @@
|
||||
<li><a href="#class_ba_Session">ba.Session</a></li>
|
||||
<ul>
|
||||
<li><a href="#class_ba_CoopSession">ba.CoopSession</a></li>
|
||||
<li><a href="#class_ba_TeamBaseSession">ba.TeamBaseSession</a></li>
|
||||
<li><a href="#class_ba_MultiTeamSession">ba.MultiTeamSession</a></li>
|
||||
<ul>
|
||||
<li><a href="#class_ba_DualTeamSession">ba.DualTeamSession</a></li>
|
||||
<li><a href="#class_ba_FreeForAllSession">ba.FreeForAllSession</a></li>
|
||||
<li><a href="#class_ba_TeamsSession">ba.TeamsSession</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="#class_ba_Stats">ba.Stats</a></li>
|
||||
@ -1843,11 +1843,32 @@ its time with lingering corpses, sound effects, etc.</p>
|
||||
<dt><h4><a name="method_ba_DroppedMessage____init__"><constructor></a></dt></h4><dd>
|
||||
<p><span>ba.DroppedMessage(node: <a href="#class_ba_Node">ba.Node</a>)</span></p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_DualTeamSession">ba.DualTeamSession</a></strong></h3>
|
||||
<p>inherits from: <a href="#class_ba_MultiTeamSession">ba.MultiTeamSession</a>, <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p><a href="#class_ba_Session">ba.Session</a> type for teams mode games.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a>
|
||||
</p>
|
||||
|
||||
<h3>Attributes Inherited:</h3>
|
||||
<h5><a href="#attr_ba_Session__campaign">campaign</a>, <a href="#attr_ba_Session__lobby">lobby</a>, <a href="#attr_ba_Session__max_players">max_players</a>, <a href="#attr_ba_Session__min_players">min_players</a>, <a href="#attr_ba_Session__players">players</a>, <a href="#attr_ba_Session__teams">teams</a></h5>
|
||||
<h3>Methods Inherited:</h3>
|
||||
<h5><a href="#method_ba_MultiTeamSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_MultiTeamSession__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_MultiTeamSession__end">end()</a>, <a href="#method_ba_MultiTeamSession__end_activity">end_activity()</a>, <a href="#method_ba_MultiTeamSession__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_MultiTeamSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_MultiTeamSession__get_game_number">get_game_number()</a>, <a href="#method_ba_MultiTeamSession__get_max_players">get_max_players()</a>, <a href="#method_ba_MultiTeamSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_MultiTeamSession__get_series_length">get_series_length()</a>, <a href="#method_ba_MultiTeamSession__getactivity">getactivity()</a>, <a href="#method_ba_MultiTeamSession__handlemessage">handlemessage()</a>, <a href="#method_ba_MultiTeamSession__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_MultiTeamSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_MultiTeamSession__on_player_leave">on_player_leave()</a>, <a href="#method_ba_MultiTeamSession__on_player_request">on_player_request()</a>, <a href="#method_ba_MultiTeamSession__on_team_join">on_team_join()</a>, <a href="#method_ba_MultiTeamSession__on_team_leave">on_team_leave()</a>, <a href="#method_ba_MultiTeamSession__set_activity">set_activity()</a></h5>
|
||||
<h3>Methods Defined or Overridden:</h3>
|
||||
<dl>
|
||||
<dt><h4><a name="method_ba_DualTeamSession____init__"><constructor></a></dt></h4><dd>
|
||||
<p><span>ba.DualTeamSession()</span></p>
|
||||
|
||||
<p>Set up playlists and launches a <a href="#class_ba_Activity">ba.Activity</a> to accept joiners.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_FreeForAllSession">ba.FreeForAllSession</a></strong></h3>
|
||||
<p>inherits from: <a href="#class_ba_TeamBaseSession">ba.TeamBaseSession</a>, <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p>inherits from: <a href="#class_ba_MultiTeamSession">ba.MultiTeamSession</a>, <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p><a href="#class_ba_Session">ba.Session</a> type for free-for-all mode games.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a>
|
||||
@ -1856,7 +1877,7 @@ its time with lingering corpses, sound effects, etc.</p>
|
||||
<h3>Attributes Inherited:</h3>
|
||||
<h5><a href="#attr_ba_Session__campaign">campaign</a>, <a href="#attr_ba_Session__lobby">lobby</a>, <a href="#attr_ba_Session__max_players">max_players</a>, <a href="#attr_ba_Session__min_players">min_players</a>, <a href="#attr_ba_Session__players">players</a>, <a href="#attr_ba_Session__teams">teams</a></h5>
|
||||
<h3>Methods Inherited:</h3>
|
||||
<h5><a href="#method_ba_TeamBaseSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_TeamBaseSession__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_TeamBaseSession__end">end()</a>, <a href="#method_ba_TeamBaseSession__end_activity">end_activity()</a>, <a href="#method_ba_TeamBaseSession__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_TeamBaseSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_TeamBaseSession__get_game_number">get_game_number()</a>, <a href="#method_ba_TeamBaseSession__get_max_players">get_max_players()</a>, <a href="#method_ba_TeamBaseSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_TeamBaseSession__get_series_length">get_series_length()</a>, <a href="#method_ba_TeamBaseSession__getactivity">getactivity()</a>, <a href="#method_ba_TeamBaseSession__handlemessage">handlemessage()</a>, <a href="#method_ba_TeamBaseSession__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_TeamBaseSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_TeamBaseSession__on_player_leave">on_player_leave()</a>, <a href="#method_ba_TeamBaseSession__on_player_request">on_player_request()</a>, <a href="#method_ba_TeamBaseSession__on_team_join">on_team_join()</a>, <a href="#method_ba_TeamBaseSession__on_team_leave">on_team_leave()</a>, <a href="#method_ba_TeamBaseSession__set_activity">set_activity()</a></h5>
|
||||
<h5><a href="#method_ba_MultiTeamSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_MultiTeamSession__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_MultiTeamSession__end">end()</a>, <a href="#method_ba_MultiTeamSession__end_activity">end_activity()</a>, <a href="#method_ba_MultiTeamSession__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_MultiTeamSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_MultiTeamSession__get_game_number">get_game_number()</a>, <a href="#method_ba_MultiTeamSession__get_max_players">get_max_players()</a>, <a href="#method_ba_MultiTeamSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_MultiTeamSession__get_series_length">get_series_length()</a>, <a href="#method_ba_MultiTeamSession__getactivity">getactivity()</a>, <a href="#method_ba_MultiTeamSession__handlemessage">handlemessage()</a>, <a href="#method_ba_MultiTeamSession__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_MultiTeamSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_MultiTeamSession__on_player_leave">on_player_leave()</a>, <a href="#method_ba_MultiTeamSession__on_player_request">on_player_request()</a>, <a href="#method_ba_MultiTeamSession__on_team_join">on_team_join()</a>, <a href="#method_ba_MultiTeamSession__on_team_leave">on_team_leave()</a>, <a href="#method_ba_MultiTeamSession__set_activity">set_activity()</a></h5>
|
||||
<h3>Methods Defined or Overridden:</h3>
|
||||
<h5><a href="#method_ba_FreeForAllSession____init__"><constructor></a>, <a href="#method_ba_FreeForAllSession__get_ffa_point_awards">get_ffa_point_awards()</a></h5>
|
||||
<dl>
|
||||
@ -3130,6 +3151,87 @@ m.add_actions(conditions=('they_have_material',
|
||||
<p>Models are used for drawing.
|
||||
Use <a href="#function_ba_getmodel">ba.getmodel</a>() to instantiate one.</p>
|
||||
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_MultiTeamSession">ba.MultiTeamSession</a></strong></h3>
|
||||
<p>inherits from: <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p>Common base class for <a href="#class_ba_DualTeamSession">ba.DualTeamSession</a> and <a href="#class_ba_FreeForAllSession">ba.FreeForAllSession</a>.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a></p>
|
||||
|
||||
<p> Free-for-all-mode is essentially just teams-mode with each <a href="#class_ba_Player">ba.Player</a> having
|
||||
their own <a href="#class_ba_Team">ba.Team</a>, so there is much overlap in functionality.
|
||||
</p>
|
||||
|
||||
<h3>Attributes Inherited:</h3>
|
||||
<h5><a href="#attr_ba_Session__campaign">campaign</a>, <a href="#attr_ba_Session__lobby">lobby</a>, <a href="#attr_ba_Session__max_players">max_players</a>, <a href="#attr_ba_Session__min_players">min_players</a>, <a href="#attr_ba_Session__players">players</a>, <a href="#attr_ba_Session__teams">teams</a></h5>
|
||||
<h3>Methods Inherited:</h3>
|
||||
<h5><a href="#method_ba_Session__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_Session__end">end()</a>, <a href="#method_ba_Session__end_activity">end_activity()</a>, <a href="#method_ba_Session__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_Session__getactivity">getactivity()</a>, <a href="#method_ba_Session__handlemessage">handlemessage()</a>, <a href="#method_ba_Session__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_Session__on_player_leave">on_player_leave()</a>, <a href="#method_ba_Session__on_player_request">on_player_request()</a>, <a href="#method_ba_Session__on_team_leave">on_team_leave()</a>, <a href="#method_ba_Session__set_activity">set_activity()</a></h5>
|
||||
<h3>Methods Defined or Overridden:</h3>
|
||||
<h5><a href="#method_ba_MultiTeamSession____init__"><constructor></a>, <a href="#method_ba_MultiTeamSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_MultiTeamSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_MultiTeamSession__get_game_number">get_game_number()</a>, <a href="#method_ba_MultiTeamSession__get_max_players">get_max_players()</a>, <a href="#method_ba_MultiTeamSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_MultiTeamSession__get_series_length">get_series_length()</a>, <a href="#method_ba_MultiTeamSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_MultiTeamSession__on_team_join">on_team_join()</a></h5>
|
||||
<dl>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession____init__"><constructor></a></dt></h4><dd>
|
||||
<p><span>ba.MultiTeamSession()</span></p>
|
||||
|
||||
<p>Set up playlists and launches a <a href="#class_ba_Activity">ba.Activity</a> to accept joiners.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__announce_game_results">announce_game_results()</a></dt></h4><dd>
|
||||
<p><span>announce_game_results(self, activity: <a href="#class_ba_GameActivity">ba.GameActivity</a>, results: <a href="#class_ba_TeamGameResults">ba.TeamGameResults</a>, delay: float, announce_winning_team: bool = True) -> None</span></p>
|
||||
|
||||
<p>Show basic game result at the end of a game.</p>
|
||||
|
||||
<p>(before transitioning to a score screen).
|
||||
This will include a zoom-text of 'BLUE WINS'
|
||||
or whatnot, along with a possible audio
|
||||
announcement of the same.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__get_ffa_series_length">get_ffa_series_length()</a></dt></h4><dd>
|
||||
<p><span>get_ffa_series_length(self) -> int</span></p>
|
||||
|
||||
<p>Return free-for-all series length.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__get_game_number">get_game_number()</a></dt></h4><dd>
|
||||
<p><span>get_game_number(self) -> int</span></p>
|
||||
|
||||
<p>Returns which game in the series is currently being played.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__get_max_players">get_max_players()</a></dt></h4><dd>
|
||||
<p><span>get_max_players(self) -> int</span></p>
|
||||
|
||||
<p>Return max number of <a href="#class_ba_Player">ba.Players</a> allowed to join the game at once.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__get_next_game_description">get_next_game_description()</a></dt></h4><dd>
|
||||
<p><span>get_next_game_description(self) -> <a href="#class_ba_Lstr">ba.Lstr</a></span></p>
|
||||
|
||||
<p>Returns a description of the next game on deck.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__get_series_length">get_series_length()</a></dt></h4><dd>
|
||||
<p><span>get_series_length(self) -> int</span></p>
|
||||
|
||||
<p>Return teams series length.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__on_activity_end">on_activity_end()</a></dt></h4><dd>
|
||||
<p><span>on_activity_end(self, activity: <a href="#class_ba_Activity">ba.Activity</a>, results: Any) -> None</span></p>
|
||||
|
||||
<p>Called when the current <a href="#class_ba_Activity">ba.Activity</a> has ended.</p>
|
||||
|
||||
<p>The <a href="#class_ba_Session">ba.Session</a> should look at the results and start
|
||||
another <a href="#class_ba_Activity">ba.Activity</a>.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_MultiTeamSession__on_team_join">on_team_join()</a></dt></h4><dd>
|
||||
<p><span>on_team_join(self, team: <a href="#class_ba_Team">ba.Team</a>) -> None</span></p>
|
||||
|
||||
<p>Called when a new <a href="#class_ba_Team">ba.Team</a> joins the session.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_MusicPlayer">ba.MusicPlayer</a></strong></h3>
|
||||
<p><em><top level class></em>
|
||||
@ -3874,7 +3976,7 @@ cause the powerup box to make a sound and disappear or whatnot.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a></p>
|
||||
|
||||
<p> Examples of sessions are <a href="#class_ba_FreeForAllSession">ba.FreeForAllSession</a>, <a href="#class_ba_TeamsSession">ba.TeamsSession</a>, and
|
||||
<p> Examples of sessions are <a href="#class_ba_FreeForAllSession">ba.FreeForAllSession</a>, <a href="#class_ba_DualTeamSession">ba.DualTeamSession</a>, and
|
||||
<a href="#class_ba_CoopSession">ba.CoopSession</a>.</p>
|
||||
|
||||
<p> A Session is responsible for wrangling and transitioning between various
|
||||
@ -4339,87 +4441,6 @@ of the session.</p>
|
||||
|
||||
<p>Returns the numeric team ID.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_TeamBaseSession">ba.TeamBaseSession</a></strong></h3>
|
||||
<p>inherits from: <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p>Common base class for <a href="#class_ba_TeamsSession">ba.TeamsSession</a> and <a href="#class_ba_FreeForAllSession">ba.FreeForAllSession</a>.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a></p>
|
||||
|
||||
<p> Free-for-all-mode is essentially just teams-mode with each <a href="#class_ba_Player">ba.Player</a> having
|
||||
their own <a href="#class_ba_Team">ba.Team</a>, so there is much overlap in functionality.
|
||||
</p>
|
||||
|
||||
<h3>Attributes Inherited:</h3>
|
||||
<h5><a href="#attr_ba_Session__campaign">campaign</a>, <a href="#attr_ba_Session__lobby">lobby</a>, <a href="#attr_ba_Session__max_players">max_players</a>, <a href="#attr_ba_Session__min_players">min_players</a>, <a href="#attr_ba_Session__players">players</a>, <a href="#attr_ba_Session__teams">teams</a></h5>
|
||||
<h3>Methods Inherited:</h3>
|
||||
<h5><a href="#method_ba_Session__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_Session__end">end()</a>, <a href="#method_ba_Session__end_activity">end_activity()</a>, <a href="#method_ba_Session__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_Session__getactivity">getactivity()</a>, <a href="#method_ba_Session__handlemessage">handlemessage()</a>, <a href="#method_ba_Session__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_Session__on_player_leave">on_player_leave()</a>, <a href="#method_ba_Session__on_player_request">on_player_request()</a>, <a href="#method_ba_Session__on_team_leave">on_team_leave()</a>, <a href="#method_ba_Session__set_activity">set_activity()</a></h5>
|
||||
<h3>Methods Defined or Overridden:</h3>
|
||||
<h5><a href="#method_ba_TeamBaseSession____init__"><constructor></a>, <a href="#method_ba_TeamBaseSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_TeamBaseSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_TeamBaseSession__get_game_number">get_game_number()</a>, <a href="#method_ba_TeamBaseSession__get_max_players">get_max_players()</a>, <a href="#method_ba_TeamBaseSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_TeamBaseSession__get_series_length">get_series_length()</a>, <a href="#method_ba_TeamBaseSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_TeamBaseSession__on_team_join">on_team_join()</a></h5>
|
||||
<dl>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession____init__"><constructor></a></dt></h4><dd>
|
||||
<p><span>ba.TeamBaseSession()</span></p>
|
||||
|
||||
<p>Set up playlists and launches a <a href="#class_ba_Activity">ba.Activity</a> to accept joiners.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__announce_game_results">announce_game_results()</a></dt></h4><dd>
|
||||
<p><span>announce_game_results(self, activity: <a href="#class_ba_GameActivity">ba.GameActivity</a>, results: <a href="#class_ba_TeamGameResults">ba.TeamGameResults</a>, delay: float, announce_winning_team: bool = True) -> None</span></p>
|
||||
|
||||
<p>Show basic game result at the end of a game.</p>
|
||||
|
||||
<p>(before transitioning to a score screen).
|
||||
This will include a zoom-text of 'BLUE WINS'
|
||||
or whatnot, along with a possible audio
|
||||
announcement of the same.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__get_ffa_series_length">get_ffa_series_length()</a></dt></h4><dd>
|
||||
<p><span>get_ffa_series_length(self) -> int</span></p>
|
||||
|
||||
<p>Return free-for-all series length.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__get_game_number">get_game_number()</a></dt></h4><dd>
|
||||
<p><span>get_game_number(self) -> int</span></p>
|
||||
|
||||
<p>Returns which game in the series is currently being played.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__get_max_players">get_max_players()</a></dt></h4><dd>
|
||||
<p><span>get_max_players(self) -> int</span></p>
|
||||
|
||||
<p>Return max number of <a href="#class_ba_Player">ba.Players</a> allowed to join the game at once.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__get_next_game_description">get_next_game_description()</a></dt></h4><dd>
|
||||
<p><span>get_next_game_description(self) -> <a href="#class_ba_Lstr">ba.Lstr</a></span></p>
|
||||
|
||||
<p>Returns a description of the next game on deck.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__get_series_length">get_series_length()</a></dt></h4><dd>
|
||||
<p><span>get_series_length(self) -> int</span></p>
|
||||
|
||||
<p>Return teams series length.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__on_activity_end">on_activity_end()</a></dt></h4><dd>
|
||||
<p><span>on_activity_end(self, activity: <a href="#class_ba_Activity">ba.Activity</a>, results: Any) -> None</span></p>
|
||||
|
||||
<p>Called when the current <a href="#class_ba_Activity">ba.Activity</a> has ended.</p>
|
||||
|
||||
<p>The <a href="#class_ba_Session">ba.Session</a> should look at the results and start
|
||||
another <a href="#class_ba_Activity">ba.Activity</a>.</p>
|
||||
|
||||
</dd>
|
||||
<dt><h4><a name="method_ba_TeamBaseSession__on_team_join">on_team_join()</a></dt></h4><dd>
|
||||
<p><span>on_team_join(self, team: <a href="#class_ba_Team">ba.Team</a>) -> None</span></p>
|
||||
|
||||
<p>Called when a new <a href="#class_ba_Team">ba.Team</a> joins the session.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
@ -4514,7 +4535,7 @@ on the <a href="#class_ba_Player">ba.Player</a> and their <a href="#class_ba_Tea
|
||||
<p><span>supports_session_type(sessiontype: Type[<a href="#class_ba_Session">ba.Session</a>]) -> bool </span></p>
|
||||
|
||||
<p>Class method override;
|
||||
returns True for <a href="#class_ba_TeamsSession">ba.TeamsSessions</a> and <a href="#class_ba_FreeForAllSession">ba.FreeForAllSessions</a>;
|
||||
returns True for <a href="#class_ba_DualTeamSession">ba.DualTeamSessions</a> and <a href="#class_ba_FreeForAllSession">ba.FreeForAllSessions</a>;
|
||||
False otherwise.</p>
|
||||
|
||||
</dd>
|
||||
@ -4629,27 +4650,6 @@ Results for a completed <a href="#class_ba_TeamGameActivity">ba.TeamGameActivity
|
||||
<h3>Methods:</h3>
|
||||
<p><all methods inherited from <a href="#class_ba_NotFoundError">ba.NotFoundError</a>></p>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_TeamsSession">ba.TeamsSession</a></strong></h3>
|
||||
<p>inherits from: <a href="#class_ba_TeamBaseSession">ba.TeamBaseSession</a>, <a href="#class_ba_Session">ba.Session</a></p>
|
||||
<p><a href="#class_ba_Session">ba.Session</a> type for teams mode games.</p>
|
||||
|
||||
<p>Category: <a href="#class_category_Gameplay_Classes">Gameplay Classes</a>
|
||||
</p>
|
||||
|
||||
<h3>Attributes Inherited:</h3>
|
||||
<h5><a href="#attr_ba_Session__campaign">campaign</a>, <a href="#attr_ba_Session__lobby">lobby</a>, <a href="#attr_ba_Session__max_players">max_players</a>, <a href="#attr_ba_Session__min_players">min_players</a>, <a href="#attr_ba_Session__players">players</a>, <a href="#attr_ba_Session__teams">teams</a></h5>
|
||||
<h3>Methods Inherited:</h3>
|
||||
<h5><a href="#method_ba_TeamBaseSession__announce_game_results">announce_game_results()</a>, <a href="#method_ba_TeamBaseSession__begin_next_activity">begin_next_activity()</a>, <a href="#method_ba_TeamBaseSession__end">end()</a>, <a href="#method_ba_TeamBaseSession__end_activity">end_activity()</a>, <a href="#method_ba_TeamBaseSession__get_custom_menu_entries">get_custom_menu_entries()</a>, <a href="#method_ba_TeamBaseSession__get_ffa_series_length">get_ffa_series_length()</a>, <a href="#method_ba_TeamBaseSession__get_game_number">get_game_number()</a>, <a href="#method_ba_TeamBaseSession__get_max_players">get_max_players()</a>, <a href="#method_ba_TeamBaseSession__get_next_game_description">get_next_game_description()</a>, <a href="#method_ba_TeamBaseSession__get_series_length">get_series_length()</a>, <a href="#method_ba_TeamBaseSession__getactivity">getactivity()</a>, <a href="#method_ba_TeamBaseSession__handlemessage">handlemessage()</a>, <a href="#method_ba_TeamBaseSession__launch_end_session_activity">launch_end_session_activity()</a>, <a href="#method_ba_TeamBaseSession__on_activity_end">on_activity_end()</a>, <a href="#method_ba_TeamBaseSession__on_player_leave">on_player_leave()</a>, <a href="#method_ba_TeamBaseSession__on_player_request">on_player_request()</a>, <a href="#method_ba_TeamBaseSession__on_team_join">on_team_join()</a>, <a href="#method_ba_TeamBaseSession__on_team_leave">on_team_leave()</a>, <a href="#method_ba_TeamBaseSession__set_activity">set_activity()</a></h5>
|
||||
<h3>Methods Defined or Overridden:</h3>
|
||||
<dl>
|
||||
<dt><h4><a name="method_ba_TeamsSession____init__"><constructor></a></dt></h4><dd>
|
||||
<p><span>ba.TeamsSession()</span></p>
|
||||
|
||||
<p>Set up playlists and launches a <a href="#class_ba_Activity">ba.Activity</a> to accept joiners.</p>
|
||||
|
||||
</dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<h2><strong><a name="class_ba_Texture">ba.Texture</a></strong></h3>
|
||||
<p><em><top level class></em>
|
||||
</p>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user