bascenev1lib.actor package¶
Our lovely collection of actor related modules.
Submodules¶
bascenev1lib.actor.background module¶
Defines Actor(s).
bascenev1lib.actor.bomb module¶
Various classes for bombs, mines, tnt, etc.
- class bascenev1lib.actor.bomb.Blast(*, position: Sequence[float] = (0.0, 1.0, 0.0), velocity: Sequence[float] = (0.0, 0.0, 0.0), blast_radius: float = 2.0, blast_type: str = 'normal', source_player: Player | None = None, hit_type: str = 'explosion', hit_subtype: str = 'normal')[source]¶
Bases:
Actor
An explosion, as generated by a bomb or some other object.
category: Gameplay Classes
- class bascenev1lib.actor.bomb.Bomb(*, position: Sequence[float] = (0.0, 1.0, 0.0), velocity: Sequence[float] = (0.0, 0.0, 0.0), bomb_type: str = 'normal', blast_radius: float = 2.0, bomb_scale: float = 1.0, source_player: Player | None = None, owner: Node | None = None)[source]¶
Bases:
Actor
A standard bomb and its variants such as land-mines and tnt-boxes.
category: Gameplay Classes
- add_explode_callback(call: Callable[[Bomb, Blast], Any]) None [source]¶
Add a call to be run when the bomb has exploded.
The bomb and the new blast object are passed as arguments.
- arm() None [source]¶
Arm the bomb (for land-mines and impact-bombs).
These types of bombs will not explode until they have been armed.
- get_source_player(playertype: type[PlayerT]) PlayerT | None [source]¶
Return the source-player if one exists and is the provided type.
- on_expire() None [source]¶
Called for remaining actors when their activity dies.
Actors can use this opportunity to clear callbacks or other references which have the potential of keeping the
Activity
alive inadvertently (activities can not exit cleanly while any Python references to them remain.)Once an actor is expired (see
expired
) it should no longer perform any game-affecting operations (creating, modifying, or deleting nodes, media, timers, etc.) Attempts to do so will likely result in errors.
- class bascenev1lib.actor.bomb.BombFactory[source]¶
Bases:
object
Wraps up media and other resources used by bs.Bombs.
A single instance of this is shared between all bombs and can be retrieved via bascenev1lib.actor.bomb.get_factory().
- activate_sound: bascenev1.Sound¶
A sound for an activating impact bomb.
- blast_material: bascenev1.Material¶
A bs.Material applied to bomb blast geometry which triggers impact events with what it touches.
- bomb_material: bascenev1.Material¶
A bs.Material applied to all bombs.
- bomb_mesh: bascenev1.Mesh¶
The mesh used for standard or ice bombs.
- debris_fall_sound: bascenev1.Sound¶
The sound for random falling debris after an explosion.
- dink_sounds: Sequence[bascenev1.Sound]¶
A tuple of sounds for when bombs hit the ground.
- explode_sounds: Sequence[bascenev1.Sound]¶
A tuple of sounds for explosions.
- freeze_sound: bascenev1.Sound¶
A sound of an ice bomb freezing something.
- fuse_sound: bascenev1.Sound¶
A sound of a burning fuse.
- classmethod get() BombFactory [source]¶
Get/create a shared bascenev1lib.actor.bomb.BombFactory object.
- hiss_sound: bascenev1.Sound¶
The sound for the hiss sound an ice bomb makes.
- ice_tex: bascenev1.Texture¶
The bs.Texture for ice bombs.
- impact_blast_material: bascenev1.Material¶
A bs.Material applied to activated impact-bombs that causes them to explode on impact.
- impact_bomb_mesh: bascenev1.Mesh¶
The mesh used for impact-bombs.
- impact_lit_tex: bascenev1.Texture¶
The bs.Texture for impact bombs with lights lit.
- impact_tex: bascenev1.Texture¶
The bs.Texture for impact bombs.
- land_mine_blast_material: bascenev1.Material¶
A bs.Material applied to activated land-mines that causes them to explode on impact.
- land_mine_lit_tex: bascenev1.Texture¶
The bs.Texture for land-mines with the light lit.
- land_mine_mesh: bascenev1.Mesh¶
The mesh used for land-mines.
- land_mine_no_explode_material: bascenev1.Material¶
A bs.Material that keeps land-mines from blowing up. Applied to land-mines when they are created to allow land-mines to touch without exploding.
- land_mine_tex: bascenev1.Texture¶
The bs.Texture for land-mines.
- normal_sound_material: bascenev1.Material¶
A bs.Material that generates standard bomb noises on impacts, etc.
- random_explode_sound() bascenev1.Sound [source]¶
Return a random explosion sound from the factory.
- regular_tex: bascenev1.Texture¶
The texture used for regular bombs.
- roll_sound: bascenev1.Sound¶
The sound for a rolling bomb.
- sticky_bomb_mesh: bascenev1.Mesh¶
The mesh used for sticky-bombs.
- sticky_impact_sound: bascenev1.Sound¶
The sound for a squish made by a sticky bomb hitting something.
- sticky_material: bascenev1.Material¶
A bs.Material that makes ‘splat’ sounds and makes collisions softer.
- sticky_tex: bascenev1.Texture¶
The bs.Texture for sticky bombs.
- tnt_mesh: bascenev1.Mesh¶
The mesh used of a tnt box.
- tnt_tex: bascenev1.Texture¶
The bs.Texture for tnt boxes.
- warn_sound: bascenev1.Sound¶
A sound for an impact bomb about to explode due to time-out.
- wood_debris_fall_sound: bascenev1.Sound¶
A sound for random wood debris falling after an explosion.
- class bascenev1lib.actor.bomb.ExplodeHitMessage[source]¶
Bases:
object
Tell an object it was hit by an explosion.
- class bascenev1lib.actor.bomb.ImpactMessage[source]¶
Bases:
object
Tell an object it touched something.
- class bascenev1lib.actor.bomb.SplatMessage[source]¶
Bases:
object
Tells an object to make a splat noise.
bascenev1lib.actor.controlsguide module¶
Defines Actors related to controls guides.
- class bascenev1lib.actor.controlsguide.ControlsGuide(*, position: tuple[float, float] = (390.0, 120.0), scale: float = 1.0, delay: float = 0.0, lifespan: float | None = None, bright: bool = False)[source]¶
Bases:
Actor
A screen overlay of game controls.
category: Gameplay Classes
Shows button mappings based on what controllers are connected. Handy to show at the start of a series or whenever there might be newbies watching.
- exists() bool [source]¶
Returns whether the actor is still present in a meaningful way.
Note that a dying character should still return True here as long as their corpse is visible; this is about presence, not being ‘alive’ (see
is_alive()
for that).If this returns False, it is assumed the actor can be completely deleted without affecting the game; this call is often used when pruning lists of actors, such as with
bascenev1.Actor.autoretain()
The default implementation of this method always return True.
Note that the boolean operator for the actor class calls this method, so a simple
if myactor
test will conveniently do the right thing even if myactor is set to None.
bascenev1lib.actor.flag module¶
Implements a flag used for marking bases, capture-the-flag games, etc.
- class bascenev1lib.actor.flag.Flag(*, position: Sequence[float] = (0.0, 1.0, 0.0), color: Sequence[float] = (1.0, 1.0, 1.0), materials: Sequence[Material] | None = None, touchable: bool = True, dropped_timeout: int | None = None)[source]¶
Bases:
Actor
A flag; used in games such as capture-the-flag or king-of-the-hill.
Can be stationary or carry-able by players.
- class bascenev1lib.actor.flag.FlagDiedMessage(flag: Flag, self_kill: bool = False)[source]¶
Bases:
object
A message saying a Flag has died.
- class bascenev1lib.actor.flag.FlagDroppedMessage(flag: Flag, node: Node)[source]¶
Bases:
object
A message saying a Flag has been dropped.
- class bascenev1lib.actor.flag.FlagFactory[source]¶
Bases:
object
Wraps up media and resources used by
Flag
.A single instance of this is shared between all flags and can be retrieved via
FlagFactory.get()
.- classmethod get() FlagFactory [source]¶
Get/create a shared flag-factory instance.
bascenev1lib.actor.image module¶
Defines Actor(s).
- class bascenev1lib.actor.image.Image(texture: bs.Texture | dict[str, Any], *, position: tuple[float, float] = (0, 0), transition: Transition | None = None, transition_delay: float = 0.0, attach: Attach = Attach.CENTER, color: Sequence[float] = (1.0, 1.0, 1.0, 1.0), scale: tuple[float, float] = (100.0, 100.0), transition_out_delay: float | None = None, mesh_opaque: bs.Mesh | None = None, mesh_transparent: bs.Mesh | None = None, vr_depth: float = 0.0, host_only: bool = False, front: bool = False)[source]¶
Bases:
Actor
Just a wrapped up image node with a few tricks up its sleeve.
- class Attach(*values)[source]¶
Bases:
Enum
Attach types we support.
- BOTTOM_CENTER = 'bottomCenter'¶
- CENTER = 'center'¶
- TOP_CENTER = 'topCenter'¶
- TOP_LEFT = 'topLeft'¶
bascenev1lib.actor.onscreencountdown module¶
Defines Actor Type(s).
- class bascenev1lib.actor.onscreencountdown.OnScreenCountdown(duration: int, endcall: Callable[[], Any] | None = None)[source]¶
Bases:
Actor
A Handy On-Screen Timer.
Useful for time-based games that count down to zero.
- on_expire() None [source]¶
Called for remaining actors when their activity dies.
Actors can use this opportunity to clear callbacks or other references which have the potential of keeping the
Activity
alive inadvertently (activities can not exit cleanly while any Python references to them remain.)Once an actor is expired (see
expired
) it should no longer perform any game-affecting operations (creating, modifying, or deleting nodes, media, timers, etc.) Attempts to do so will likely result in errors.
bascenev1lib.actor.onscreentimer module¶
Defines Actor(s).
- class bascenev1lib.actor.onscreentimer.OnScreenTimer[source]¶
Bases:
Actor
A handy on-screen timer.
Useful for time-based games where time increases.
bascenev1lib.actor.playerspaz module¶
Functionality related to player-controlled Spazzes.
- class bascenev1lib.actor.playerspaz.PlayerSpaz(player: Player, *, color: Sequence[float] = (1.0, 1.0, 1.0), highlight: Sequence[float] = (0.5, 0.5, 0.5), character: str = 'Spaz', powerups_expire: bool = True)[source]¶
Bases:
Spaz
A Spaz subclass meant to be controlled by a bascenev1.Player.
When a PlayerSpaz dies, it delivers a bascenev1.PlayerDiedMessage to the current bascenev1.Activity. (unless the death was the result of the player leaving the game, in which case no message is sent)
When a PlayerSpaz is hurt, it delivers a PlayerSpazHurtMessage to the current bascenev1.Activity.
- connect_controls_to_player(*, enable_jump: bool = True, enable_punch: bool = True, enable_pickup: bool = True, enable_bomb: bool = True, enable_run: bool = True, enable_fly: bool = True) None [source]¶
Wire this spaz up to the provided bascenev1.Player.
Full control of the character is given by default but can be selectively limited by passing False to specific arguments.
- disconnect_controls_from_player() None [source]¶
Completely sever any previously connected bascenev1.Player from control of this spaz.
- getplayer(playertype: type[PlayerT], doraise: Literal[False] = False) PlayerT | None [source]¶
- getplayer(playertype: type[PlayerT], doraise: Literal[True]) PlayerT
Get the bascenev1.Player associated with this Spaz.
By default this will return None if the Player no longer exists. If you are logically certain that the Player still exists, pass doraise=False to get a non-optional return type.
- class bascenev1lib.actor.playerspaz.PlayerSpazHurtMessage(spaz: PlayerSpaz)[source]¶
Bases:
object
A message saying a PlayerSpaz was hurt.
- spaz: PlayerSpaz¶
The PlayerSpaz that was hurt
bascenev1lib.actor.popuptext module¶
Defines Actor(s).
- class bascenev1lib.actor.popuptext.PopupText(text: str | Lstr, *, position: Sequence[float] = (0.0, 0.0, 0.0), color: Sequence[float] = (1.0, 1.0, 1.0, 1.0), random_offset: float = 0.5, offset: Sequence[float] = (0.0, 0.0, 0.0), scale: float = 1.0)[source]¶
Bases:
Actor
Text that pops up above a position to denote something special.
category: Gameplay Classes
bascenev1lib.actor.powerupbox module¶
Defines Actor(s).
- class bascenev1lib.actor.powerupbox.PowerupBox(position: Sequence[float] = (0.0, 1.0, 0.0), poweruptype: str = 'triple_bombs', expire: bool = True)[source]¶
Bases:
Actor
A box that grants a powerup.
This will deliver a
PowerupMessage
to anything that touches it which has thepowerup_accept_material
applied.
- class bascenev1lib.actor.powerupbox.PowerupBoxFactory[source]¶
Bases:
object
A collection of media and other resources used by bs.Powerups.
A single instance of this is shared between all powerups and can be retrieved via bs.Powerup.get_factory().
- classmethod get() PowerupBoxFactory [source]¶
Return a shared bs.PowerupBoxFactory object, creating if needed.
- get_random_powerup_type(forcetype: str | None = None, excludetypes: list[str] | None = None) str [source]¶
Returns a random powerup type (string).
See bs.Powerup.poweruptype for available type values.
There are certain non-random aspects to this; a ‘curse’ powerup, for instance, is always followed by a ‘health’ powerup (to keep things interesting). Passing ‘forcetype’ forces a given returned type while still properly interacting with the non-random aspects of the system (ie: forcing a ‘curse’ powerup will result in the next powerup being health).
bascenev1lib.actor.respawnicon module¶
Implements respawn icon actor.
bascenev1lib.actor.scoreboard module¶
Defines ScoreBoard Actor and related functionality.
bascenev1lib.actor.spawner module¶
Defines some lovely Actor(s).
- class bascenev1lib.actor.spawner.Spawner(*, data: Any = None, pt: Sequence[float] = (0, 0, 0), spawn_time: float = 1.0, send_spawn_message: bool = True, spawn_callback: Callable[[], Any] | None = None)[source]¶
Bases:
object
Utility for delayed spawning of objects.
Creates a light flash and sends a Spawner.SpawnMessage to the current activity after a delay.
bascenev1lib.actor.spaz module¶
Defines the spaz actor.
- class bascenev1lib.actor.spaz.BombDiedMessage[source]¶
Bases:
object
A bomb has died and thus can be recycled.
- class bascenev1lib.actor.spaz.CurseExplodeMessage[source]¶
Bases:
object
We are cursed and should blow up now.
- class bascenev1lib.actor.spaz.PunchHitMessage[source]¶
Bases:
object
Message saying an object was hit.
- class bascenev1lib.actor.spaz.Spaz(*, color: Sequence[float] = (1.0, 1.0, 1.0), highlight: Sequence[float] = (0.5, 0.5, 0.5), character: str = 'Spaz', source_player: Player | None = None, start_invincible: bool = True, can_accept_powerups: bool = True, powerups_expire: bool = False, demo_mode: bool = False)[source]¶
Bases:
Actor
Base class for various Spazzes.
A Spaz is the standard little humanoid character in the game. It can be controlled by a player or by AI, and can have various different appearances. The name ‘Spaz’ is not to be confused with the ‘Spaz’ character in the game, which is just one of the skins available for instances of this class.
- add_dropped_bomb_callback(call: Callable[[Spaz, Actor], Any]) None [source]¶
Add a call to be run whenever this Spaz drops a bomb. The spaz and the newly-dropped bomb are passed as arguments.
- curse_explode(source_player: Player | None = None) None [source]¶
Explode the poor spaz spectacularly.
- default_bomb_count = 1¶
- default_bomb_type = 'normal'¶
- default_boxing_gloves = False¶
- default_hitpoints = 1000¶
- default_shields = False¶
- drop_bomb() Bomb | None [source]¶
Tell the spaz to drop one of his bombs, and returns the resulting bomb object. If the spaz has no bombs or is otherwise unable to drop a bomb, returns None.
- exists() bool [source]¶
Returns whether the actor is still present in a meaningful way.
Note that a dying character should still return True here as long as their corpse is visible; this is about presence, not being ‘alive’ (see
is_alive()
for that).If this returns False, it is assumed the actor can be completely deleted without affecting the game; this call is often used when pruning lists of actors, such as with
bascenev1.Actor.autoretain()
The default implementation of this method always return True.
Note that the boolean operator for the actor class calls this method, so a simple
if myactor
test will conveniently do the right thing even if myactor is set to None.
- get_death_points(how: DeathType) tuple[int, int] [source]¶
Get the points awarded for killing this spaz.
- on_bomb_press() None [source]¶
Called to ‘press bomb’ on this spaz; used for player or AI connections.
- on_bomb_release() None [source]¶
Called to ‘release bomb’ on this spaz; used for player or AI connections.
- on_expire() None [source]¶
Called for remaining actors when their activity dies.
Actors can use this opportunity to clear callbacks or other references which have the potential of keeping the
Activity
alive inadvertently (activities can not exit cleanly while any Python references to them remain.)Once an actor is expired (see
expired
) it should no longer perform any game-affecting operations (creating, modifying, or deleting nodes, media, timers, etc.) Attempts to do so will likely result in errors.
- on_fly_press() None [source]¶
Called to ‘press fly’ on this spaz; used for player or AI connections.
- on_fly_release() None [source]¶
Called to ‘release fly’ on this spaz; used for player or AI connections.
- on_hold_position_press() None [source]¶
Called to ‘press hold-position’ on this spaz; used for player or AI connections.
- on_hold_position_release() None [source]¶
Called to ‘release hold-position’ on this spaz; used for player or AI connections.
- on_jump_press() None [source]¶
Called to ‘press jump’ on this spaz; used by player or AI connections.
- on_jump_release() None [source]¶
Called to ‘release jump’ on this spaz; used by player or AI connections.
- on_move(x: float, y: float) None [source]¶
Called to set the joystick amount for this spaz; used for player or AI connections.
- on_move_left_right(value: float) None [source]¶
Called to set the left/right joystick amount on this spaz; used for player or AI connections. value will be between -32768 to 32767 WARNING: deprecated; use on_move instead.
- on_move_up_down(value: float) None [source]¶
Called to set the up/down joystick amount on this spaz; used for player or AI connections. value will be between -32768 to 32767 WARNING: deprecated; use on_move instead.
- on_pickup_press() None [source]¶
Called to ‘press pick-up’ on this spaz; used by player or AI connections.
- on_pickup_release() None [source]¶
Called to ‘release pick-up’ on this spaz; used by player or AI connections.
- on_punch_press() None [source]¶
Called to ‘press punch’ on this spaz; used for player or AI connections.
- on_punch_release() None [source]¶
Called to ‘release punch’ on this spaz; used for player or AI connections.
- on_run(value: float) None [source]¶
Called to ‘press run’ on this spaz; used for player or AI connections.
- points_mult = 1¶
bascenev1lib.actor.spazappearance module¶
Appearance functionality for spazzes.
- class bascenev1lib.actor.spazappearance.Appearance(name: str)[source]¶
Bases:
object
Create and fill out one of these suckers to define a spaz appearance.
bascenev1lib.actor.spazbot module¶
Bot versions of Spaz.
- class bascenev1lib.actor.spazbot.BomberBot[source]¶
Bases:
SpazBot
A bot that throws regular bombs and occasionally punches.
category: Bot Classes
- character = 'Spaz'¶
- punchiness = 0.3¶
- class bascenev1lib.actor.spazbot.BomberBotLite[source]¶
Bases:
BomberBot
A less aggressive yellow version of bs.BomberBot.
category: Bot Classes
- charge_speed_max = 0.6¶
- charge_speed_min = 0.6¶
- color = (1.2, 0.9, 0.2)¶
- highlight = (1.0, 0.5, 0.6)¶
- punchiness = 0.2¶
- throw_rate = 0.7¶
- throwiness = 0.1¶
- class bascenev1lib.actor.spazbot.BomberBotPro[source]¶
Bases:
BomberBot
A more powerful version of bs.BomberBot.
category: Bot Classes
- color = (1.0, 0.2, 0.1)¶
- default_bomb_count = 3¶
- default_boxing_gloves = True¶
- highlight = (0.6, 0.1, 0.05)¶
- points_mult = 2¶
- punchiness = 0.7¶
- run = True¶
- run_dist_min = 6.0¶
- throw_rate = 1.3¶
- class bascenev1lib.actor.spazbot.BomberBotProShielded[source]¶
Bases:
BomberBotPro
A more powerful version of bs.BomberBot who starts with shields.
category: Bot Classes
- default_shields = True¶
- points_mult = 3¶
- class bascenev1lib.actor.spazbot.BomberBotProStatic[source]¶
Bases:
BomberBotPro
A more powerful bs.BomberBot who generally stays in one place.
category: Bot Classes
- static = True¶
- throw_dist_min = 0.0¶
- class bascenev1lib.actor.spazbot.BomberBotProStaticShielded[source]¶
Bases:
BomberBotProShielded
A powerful bs.BomberBot with shields who is generally immobile.
category: Bot Classes
- static = True¶
- throw_dist_min = 0.0¶
- class bascenev1lib.actor.spazbot.BomberBotStatic[source]¶
Bases:
BomberBot
A version of bs.BomberBot who generally stays in one place.
category: Bot Classes
- static = True¶
- throw_dist_min = 0.0¶
- class bascenev1lib.actor.spazbot.BomberBotStaticLite[source]¶
Bases:
BomberBotLite
A less aggressive generally immobile weak version of bs.BomberBot.
category: Bot Classes
- static = True¶
- throw_dist_min = 0.0¶
- class bascenev1lib.actor.spazbot.BouncyBot[source]¶
Bases:
SpazBot
A speedy attacking melee bot that jumps constantly.
category: Bot Classes
- bouncy = True¶
- character = 'Easter Bunny'¶
- charge_dist_max = 9999.0¶
- charge_dist_min = 10.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- color = (1, 1, 1)¶
- default_boxing_gloves = True¶
- highlight = (1.0, 0.5, 0.5)¶
- points_mult = 2¶
- punchiness = 1.0¶
- run = True¶
- throw_dist_max = 9999¶
- throw_dist_min = 9999¶
- class bascenev1lib.actor.spazbot.BrawlerBot[source]¶
Bases:
SpazBot
A bot who walks and punches things.
category: Bot Classes
- character = 'Kronk'¶
- charge_dist_max = 9999.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- punchiness = 0.9¶
- throw_dist_max = 9999¶
- throw_dist_min = 9999¶
- class bascenev1lib.actor.spazbot.BrawlerBotLite[source]¶
Bases:
BrawlerBot
A weaker version of bs.BrawlerBot.
category: Bot Classes
- charge_speed_max = 0.6¶
- charge_speed_min = 0.6¶
- color = (1.2, 0.9, 0.2)¶
- highlight = (1.0, 0.5, 0.6)¶
- punchiness = 0.3¶
- class bascenev1lib.actor.spazbot.BrawlerBotPro[source]¶
Bases:
BrawlerBot
A stronger version of bs.BrawlerBot.
category: Bot Classes
- color = (1.0, 0.2, 0.1)¶
- default_boxing_gloves = True¶
- highlight = (0.6, 0.1, 0.05)¶
- points_mult = 2¶
- punchiness = 0.95¶
- run = True¶
- run_dist_min = 4.0¶
- class bascenev1lib.actor.spazbot.BrawlerBotProShielded[source]¶
Bases:
BrawlerBotPro
A stronger version of bs.BrawlerBot who starts with shields.
category: Bot Classes
- default_shields = True¶
- points_mult = 3¶
- class bascenev1lib.actor.spazbot.ChargerBot[source]¶
Bases:
SpazBot
A speedy melee attack bot.
category: Bot Classes
- character = 'Snake Shadow'¶
- charge_dist_max = 9999.0¶
- charge_dist_min = 10.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- points_mult = 2¶
- punchiness = 1.0¶
- run = True¶
- throw_dist_max = 9999¶
- throw_dist_min = 9999¶
- class bascenev1lib.actor.spazbot.ChargerBotPro[source]¶
Bases:
ChargerBot
A stronger bs.ChargerBot.
category: Bot Classes
- color = (1.0, 0.2, 0.1)¶
- default_boxing_gloves = True¶
- highlight = (0.6, 0.1, 0.05)¶
- points_mult = 3¶
- class bascenev1lib.actor.spazbot.ChargerBotProShielded[source]¶
Bases:
ChargerBotPro
A stronger bs.ChargerBot who starts with shields.
category: Bot Classes
- default_shields = True¶
- points_mult = 4¶
- class bascenev1lib.actor.spazbot.ExplodeyBot[source]¶
Bases:
SpazBot
A bot who runs and explodes in 5 seconds.
category: Bot Classes
- character = 'Jack Morgan'¶
- charge_dist_max = 9999¶
- charge_dist_min = 0.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- points_mult = 4¶
- run = True¶
- start_cursed = True¶
- throw_dist_max = 9999¶
- throw_dist_min = 9999¶
- class bascenev1lib.actor.spazbot.ExplodeyBotNoTimeLimit[source]¶
Bases:
ExplodeyBot
A bot who runs but does not explode on his own.
category: Bot Classes
- class bascenev1lib.actor.spazbot.ExplodeyBotShielded[source]¶
Bases:
ExplodeyBot
A bs.ExplodeyBot who starts with shields.
category: Bot Classes
- default_shields = True¶
- points_mult = 5¶
- class bascenev1lib.actor.spazbot.SpazBot[source]¶
Bases:
Spaz
A really dumb AI version of bs.Spaz.
Add these to a bs.BotSet to use them.
Note: currently the AI has no real ability to navigate obstacles and so should only be used on wide-open maps.
When a SpazBot is killed, it delivers a bs.SpazBotDiedMessage to the current activity.
When a SpazBot is punched, it delivers a bs.SpazBotPunchedMessage to the current activity.
- bouncy = False¶
- character = 'Spaz'¶
- charge_dist_max = 2.0¶
- charge_dist_min = 0.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 0.4¶
- color = (0.6, 0.6, 0.6)¶
- default_bomb_count = 3¶
- default_bomb_type = 'normal'¶
- highlight = (0.1, 0.3, 0.1)¶
- on_expire() None [source]¶
Called for remaining actors when their activity dies.
Actors can use this opportunity to clear callbacks or other references which have the potential of keeping the
Activity
alive inadvertently (activities can not exit cleanly while any Python references to them remain.)Once an actor is expired (see
expired
) it should no longer perform any game-affecting operations (creating, modifying, or deleting nodes, media, timers, etc.) Attempts to do so will likely result in errors.
- on_punched(damage: int) None [source]¶
Method override; sends bs.SpazBotPunchedMessage to the current activity.
- punchiness = 0.5¶
- run = False¶
- run_dist_min = 0.0¶
- set_player_points(pts: list[tuple[Vec3, Vec3]]) None [source]¶
Provide the spaz-bot with the locations of its enemies.
- start_cursed = False¶
- static = False¶
- throw_dist_max = 9.0¶
- throw_dist_min = 5.0¶
- throw_rate = 1.0¶
- throwiness = 0.7¶
- class bascenev1lib.actor.spazbot.SpazBotDiedMessage(spazbot: SpazBot, killerplayer: Player | None, how: DeathType)[source]¶
Bases:
object
A message saying a bs.SpazBot has died.
- class bascenev1lib.actor.spazbot.SpazBotPunchedMessage(spazbot: SpazBot, damage: int)[source]¶
Bases:
object
A message saying a bs.SpazBot got punched.
- class bascenev1lib.actor.spazbot.SpazBotSet[source]¶
Bases:
object
A container/controller for one or more bs.SpazBots.
category: Bot Classes
- celebrate(duration: float) None [source]¶
Tell all living bots in the set to celebrate momentarily.
Duration is given in seconds.
- final_celebrate() None [source]¶
Tell all bots in the set to stop what they were doing and celebrate.
Use this when the bots have won a game.
- class bascenev1lib.actor.spazbot.StickyBot[source]¶
Bases:
SpazBot
A crazy bot who runs and throws sticky bombs.
category: Bot Classes
- character = 'Mel'¶
- charge_dist_max = 10.0¶
- charge_dist_min = 4.0¶
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- default_bomb_count = 3¶
- default_bomb_type = 'sticky'¶
- points_mult = 3¶
- punchiness = 0.9¶
- run = True¶
- throw_dist_max = 4.0¶
- throw_dist_min = 0.0¶
- throw_rate = 2.0¶
- throwiness = 1.0¶
- class bascenev1lib.actor.spazbot.StickyBotStatic[source]¶
Bases:
StickyBot
A crazy bot who throws sticky-bombs but generally stays in one place.
category: Bot Classes
- static = True¶
- class bascenev1lib.actor.spazbot.TriggerBot[source]¶
Bases:
SpazBot
A slow moving bot with trigger bombs.
category: Bot Classes
- character = 'Zoe'¶
- charge_dist_max = 1.0¶
- charge_speed_max = 0.5¶
- charge_speed_min = 0.3¶
- default_bomb_type = 'impact'¶
- points_mult = 2¶
- punchiness = 0.75¶
- throw_dist_max = 5.5¶
- throw_dist_min = 3.5¶
- throwiness = 0.7¶
- class bascenev1lib.actor.spazbot.TriggerBotPro[source]¶
Bases:
TriggerBot
A stronger version of bs.TriggerBot.
category: Bot Classes
- charge_speed_max = 1.0¶
- charge_speed_min = 1.0¶
- color = (1.0, 0.2, 0.1)¶
- default_bomb_count = 3¶
- default_boxing_gloves = True¶
- highlight = (0.6, 0.1, 0.05)¶
- points_mult = 3¶
- punchiness = 0.9¶
- run = True¶
- run_dist_min = 6.0¶
- throw_rate = 1.3¶
- class bascenev1lib.actor.spazbot.TriggerBotProShielded[source]¶
Bases:
TriggerBotPro
A stronger version of bs.TriggerBot who starts with shields.
category: Bot Classes
- default_shields = True¶
- points_mult = 4¶
- class bascenev1lib.actor.spazbot.TriggerBotStatic[source]¶
Bases:
TriggerBot
A bs.TriggerBot who generally stays in one place.
category: Bot Classes
- static = True¶
- throw_dist_min = 0.0¶
bascenev1lib.actor.spazfactory module¶
Provides a factory object from creating Spazzes.
- class bascenev1lib.actor.spazfactory.SpazFactory[source]¶
Bases:
object
Wraps up media and other resources used by bs.Spaz instances.
Generally one of these is created per bascenev1.Activity and shared between all spaz instances. Use bs.Spaz.get_factory() to return the shared factory for the current activity.
- classmethod get() SpazFactory [source]¶
Return the shared bs.SpazFactory, creating it if necessary.
- get_media(character: str) dict[str, Any] [source]¶
Return the set of media used by this variant of spaz.
- get_style(character: str) str [source]¶
Return the named style for this character.
(this influences subtle aspects of their appearance, etc)
- impact_sounds_hard: Sequence[Sound]¶
A tuple of bs.Sound-s for when a bs.Spaz hits something really hard.
- impact_sounds_harder: Sequence[Sound]¶
A tuple of bs.Sound-s for when a bs.Spaz hits something really really hard.
- impact_sounds_medium: Sequence[Sound]¶
A tuple of bs.Sound-s for when a bs.Spaz hits something kinda hard.
- roller_material: Material¶
A bs.Material applied to the invisible roller ball body that a bs.Spaz uses for locomotion.
bascenev1lib.actor.text module¶
Defines Actor(s).
- class bascenev1lib.actor.text.Text(text: str | bs.Lstr, *, position: tuple[float, float] = (0.0, 0.0), h_align: HAlign = HAlign.LEFT, v_align: VAlign = VAlign.NONE, color: Sequence[float] = (1.0, 1.0, 1.0, 1.0), transition: Transition | None = None, transition_delay: float = 0.0, flash: bool = False, v_attach: VAttach = VAttach.CENTER, h_attach: HAttach = HAttach.CENTER, scale: float = 1.0, transition_out_delay: float | None = None, maxwidth: float | None = None, shadow: float = 0.5, flatness: float = 0.0, vr_depth: float = 0.0, host_only: bool = False, front: bool = False)[source]¶
Bases:
Actor
Text with some tricks.
- class HAlign(*values)[source]¶
Bases:
Enum
Horizontal alignment type.
- CENTER = 'center'¶
- LEFT = 'left'¶
- RIGHT = 'right'¶
- class HAttach(*values)[source]¶
Bases:
Enum
Horizontal attach type.
- CENTER = 'center'¶
- LEFT = 'left'¶
- RIGHT = 'right'¶
- class Transition(*values)[source]¶
Bases:
Enum
Transition types for text.
- FADE_IN = 'fade_in'¶
- IN_BOTTOM = 'in_bottom'¶
- IN_BOTTOM_SLOW = 'in_bottom_slow'¶
- IN_LEFT = 'in_left'¶
- IN_RIGHT = 'in_right'¶
- IN_TOP_SLOW = 'in_top_slow'¶
- class VAlign(*values)[source]¶
Bases:
Enum
Vertical alignment type.
- CENTER = 'center'¶
- NONE = 'none'¶
bascenev1lib.actor.tipstext module¶
Provides tip related Actor(s).
bascenev1lib.actor.zoomtext module¶
Defined Actor(s).
- class bascenev1lib.actor.zoomtext.ZoomText(text: str | Lstr, position: tuple[float, float] = (0.0, 0.0), *, shiftposition: tuple[float, float] | None = None, shiftdelay: float | None = None, lifespan: float | None = None, flash: bool = True, trail: bool = True, h_align: str = 'center', color: Sequence[float] = (0.9, 0.4, 0.0), jitter: float = 0.0, trailcolor: Sequence[float] = (1.0, 0.35, 0.1, 0.0), scale: float = 1.0, project_scale: float = 1.0, tilt_translate: float = 0.0, maxwidth: float | None = None)[source]¶
Bases:
Actor
Big Zooming Text.
Used for things such as the ‘BOB WINS’ victory messages.