kirby-world
Places for the Kirby HERO System platform: a World of Scenes, and the
geometry inside them — surfaces, walls, furnishings, hazards, constructs,
cover, falling, line of sight and per-mode movement reachability.
A place is not a fight. A house with five people doing chores, and what is reachable from the kitchen, needs nothing but this package:
from kirby_world import AmbientConditions, Position, Scene, SceneBounds
from kirby_world.movement_legality import movement_reach
house = Scene(id="house", name="Safehouse", bounds=SceneBounds(0, 0, 0, 20, 20, 4),
surfaces=[], walls=[], hazards=[], ambient=AmbientConditions())
house = house.place_combatant("ana", Position(1.0, 0.0, 0.0))
movement_reach("flight", Position(0, 0, 1), Position(5, 0, 1), 10.0, house).reachable
Where it sits
kirby-terrain what a thing is made of no deps
kirby-world places -> kirby-terrain
kirby-combat the fight -> kirby-world, kirby-cost, kirby-dice
Questions about the person moving rather than the place — is he Stunned,
what has this building already absorbed — belong to the fight. They arrive
here as plain values (mover_can_move, a damage ledger), never as the
fight itself. tests/test_a_place_without_a_fight.py enforces that by
making the fight engine unimportable and building a house anyway.
Split out of kirby-combat at 0.20.0, where kirby_combat.scene remains as a
re-export of this package.
License
PolyForm Noncommercial 1.0.0. Not affiliated with or endorsed by Hero Games.
Metadata
Release files for kirby-world 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kirby_world-0.1.0.tar.gz | 70.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kirby_world-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 118.4 kB
Release files / kirby_world-0.1.0.tar.gz
| Download URL | kirby_world-0.1.0.tar.gz |
|---|---|
| Size | 70.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8250e39a0f2e8aebc4c8d80cf810d963cf1d20790f3df9d5f7d8ed7343b5c4d0
|
|
BLAKE2b-256 checksum How to use checksums |
e263276ae8f2e6578f6a286ee62a451e39638fc6e43643f2e7e7d262c495fa42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / kirby_world-0.1.0-py3-none-any.whl
| Download URL | kirby_world-0.1.0-py3-none-any.whl |
|---|---|
| Size | 47.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bcb26c6ba51c2286482eb05723e48cdb2703ac625c8aa7f5d44719e5e421184b
|
|
BLAKE2b-256 checksum How to use checksums |
43abc342cba12176c811c3e45e9576b424d4c60f39ca404af9b4f9752acf70bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|