ksaa 2025.9.post1__py3-none-any.whl → 2025.11b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kaa/config/schema.py +18 -6
- kaa/errors.py +16 -1
- kaa/main/dmm_host.py +60 -60
- kaa/main/gr.py +21 -4
- kaa/metadata.py +6 -0
- kaa/resources/__pycache__/__init__.cpython-310.pyc +0 -0
- kaa/resources/game.db +0 -0
- kaa/resources/game_ver.txt +0 -0
- kaa/resources/idol_cards/i_card-skin-amao-3-015_0.png +0 -0
- kaa/resources/idol_cards/i_card-skin-amao-3-015_1.png +0 -0
- kaa/resources/idol_cards/i_card-skin-kcna-3-014_0.png +0 -0
- kaa/resources/idol_cards/i_card-skin-kcna-3-014_1.png +0 -0
- kaa/resources/idol_cards/i_card-skin-ttmr-3-015_0.png +0 -0
- kaa/resources/idol_cards/i_card-skin-ttmr-3-015_1.png +0 -0
- kaa/sprites/44097699-487f-4932-846a-095a427f4ed8.png +0 -0
- kaa/sprites/c5356ad6-0f1e-42be-b090-059f33ea7cee.png +0 -0
- kaa/tasks/R.py +138 -130
- kaa/tasks/daily/purchase.py +1 -1
- kaa/tasks/produce/common.py +7 -0
- kaa/tasks/produce/produce.py +10 -0
- kaa/tasks/start_game.py +59 -4
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/METADATA +5 -4
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/RECORD +155 -147
- /kaa/sprites/{96534d33-1c49-4a45-8ad9-655562ee0116.png → 01247ebe-8d63-4573-90f4-d8dc2b7ca14c.png} +0 -0
- /kaa/sprites/{f1754205-37ba-46f5-9111-894148142e00.png → 01256311-237c-476f-96ce-4136dc4bfbd3.png} +0 -0
- /kaa/sprites/{20c78d3f-4995-437c-bfc2-43bccab2ba5c.png → 023b8f4c-15ab-4845-b141-446c861ad475.png} +0 -0
- /kaa/sprites/{85bd863c-1e0a-4241-8b99-7f305e908d86.png → 043e753e-db15-45ba-8513-53c3fc9c7f3c.png} +0 -0
- /kaa/sprites/{6d966536-969e-44f8-8347-a9c1868f5576.png → 0562f69f-0300-4a2b-8252-63f3e7180e4c.png} +0 -0
- /kaa/sprites/{02acd699-7743-42af-b531-d420cf0ae074.png → 0af1d573-1dc7-427e-997d-173308ea3649.png} +0 -0
- /kaa/sprites/{90d9a73d-c00f-417a-afb7-7b8bf214a471.png → 13cb0309-b713-4725-b10b-26afe46eb9c0.png} +0 -0
- /kaa/sprites/{f368d471-7270-4abc-8abd-add7aa530af0.png → 16a0fd47-e85b-4848-8894-9d071ea993ac.png} +0 -0
- /kaa/sprites/{85bea903-8b69-43c8-a601-fd7ff7646aca.png → 179c0fff-ebd2-4a16-8db2-297552cca218.png} +0 -0
- /kaa/sprites/{a773fe55-a9d4-4888-954d-16852bae4ba1.png → 1ad89ee4-1bb1-41d2-a92c-79caf6baa38a.png} +0 -0
- /kaa/sprites/{d723ae99-fbad-4611-bad3-c251b24e523a.png → 1befe09b-cb77-417a-b21e-7746804d4e03.png} +0 -0
- /kaa/sprites/{2607618a-3c84-408a-97d1-daf9b6f16a30.png → 1cf03f98-63e9-467c-804d-c74dd97b69bd.png} +0 -0
- /kaa/sprites/{84575ae0-6b24-4bd8-bea3-5ea26aaa7acb.png → 2204967a-a0ee-4dd3-aecb-4d531e8e954c.png} +0 -0
- /kaa/sprites/{a9468fe0-e367-4b72-8f5d-d4d1e5ab6b81.png → 2234f709-1703-4589-905c-175f4db09b1b.png} +0 -0
- /kaa/sprites/{671e5373-8714-4a8b-a629-c9fa86d73fa7.png → 2289d38f-dc98-4310-9f34-4cf5023f8545.png} +0 -0
- /kaa/sprites/{833ef64c-a7e7-4ef7-b5b6-617bc88487c2.png → 22dc4cfe-8c66-4461-8660-e2d11bbe6154.png} +0 -0
- /kaa/sprites/{ca265a10-45b0-4619-80e3-a7c917e1c53f.png → 23b9cda9-8be8-438e-8e54-57d91a4bd875.png} +0 -0
- /kaa/sprites/{a25f9b05-a4dd-45af-bd9d-50b2852a2dd3.png → 256ffeba-8e9e-4cc5-8a1c-9eaee427f1a5.png} +0 -0
- /kaa/sprites/{8366ad0f-544e-43bc-9e72-014665c42494.png → 2a8626df-056c-46a2-aaf3-0060a5aef6a3.png} +0 -0
- /kaa/sprites/{2ccff894-a8cf-4a34-ab5a-524c83cc6992.png → 2b6d2eb0-bcf7-4bea-b037-6293d9c6d728.png} +0 -0
- /kaa/sprites/{55fb096d-4ace-40cf-aba3-ba7fab800f92.png → 2cec1d6a-9e8c-49b3-b885-0b0d7c4b95ee.png} +0 -0
- /kaa/sprites/{c426d1d0-9e4f-45a8-9547-51ec6d910d1c.png → 2d0e9d49-365a-4bcb-a416-38b87defaa3c.png} +0 -0
- /kaa/sprites/{5828ae1d-7a44-4d0a-9c54-798ba58d64ac.png → 30e12bf1-8fa5-4de1-8d7b-28fa0fec0cb6.png} +0 -0
- /kaa/sprites/{9821cd39-c35b-4cd6-a61a-9d3a8d6d50ac.png → 31e3ac2b-ecd4-4c37-88bc-985ef32e73a3.png} +0 -0
- /kaa/sprites/{3f400c6c-7db1-4db2-8e50-9486b4b07437.png → 31f2de0a-567b-425a-9be6-536e4532d813.png} +0 -0
- /kaa/sprites/{b4faf43f-3f87-42d0-bc49-80d8e00eb148.png → 338d7e71-98ce-4cd1-9954-bf7155150780.png} +0 -0
- /kaa/sprites/{d2bd0dca-2d8a-43b8-a33e-5d2719684f32.png → 35341839-4469-4ab6-aa40-33642fe43e82.png} +0 -0
- /kaa/sprites/{6c7ac520-f03c-4b29-933d-26260087cb66.png → 37215a56-f8e1-4f22-a148-9894136f6ab1.png} +0 -0
- /kaa/sprites/{fe076754-0526-46e2-b3c9-6c1d469ff564.png → 39f6d657-3b3e-40aa-849b-7ad87a0be1d0.png} +0 -0
- /kaa/sprites/{1ed4ffc4-3642-4582-be1b-b22e4025176f.png → 3aed50a2-d640-4178-9b8a-4dd7973eebf1.png} +0 -0
- /kaa/sprites/{cc6e7c70-f6f5-43ef-9a80-d28bc7cb9756.png → 3b4dc708-1d34-4a88-9fe3-d8de2ec1d5c8.png} +0 -0
- /kaa/sprites/{d9045aa2-d7c0-441e-b6cb-846dcfee5c2d.png → 3b4f90c9-6de7-4ac3-8e41-5f8757bf3f3e.png} +0 -0
- /kaa/sprites/{d60c2dfc-7da5-49fc-ab6c-7cec921d85a0.png → 3e087b8d-420d-48ff-b526-29c4a65d8cbe.png} +0 -0
- /kaa/sprites/{5f83e914-7aed-45f0-8542-2b68770187d0.png → 3fa5f81c-9223-44ba-bf07-71932350e845.png} +0 -0
- /kaa/sprites/{055924ec-ce39-4af4-b01c-0f1a5b29195a.png → 424a0ef5-102d-4734-a731-2b3b3c7c9682.png} +0 -0
- /kaa/sprites/{f8f209fd-b83e-47ed-b1e9-4b24a7e86a08.png → 43a367e1-91dd-495e-8c30-41903f75a99a.png} +0 -0
- /kaa/sprites/{19ded837-0393-4093-93a0-af09256808ab.png → 464b1dd8-ca2e-41e9-a5b5-90545c584db7.png} +0 -0
- /kaa/sprites/{beae7ebd-839b-4ae5-9c94-e99d17534c1c.png → 49bde219-f9a3-41b5-84b8-e417160a0f40.png} +0 -0
- /kaa/sprites/{d64f5c96-3d3a-4311-ae16-ad9d9089490e.png → 4a081370-b0a1-4067-8470-e3007cc68a12.png} +0 -0
- /kaa/sprites/{854996b0-ffa4-426e-b15d-0a8b033fcdab.png → 51b95c81-4ff9-434c-ade2-3518e63337cb.png} +0 -0
- /kaa/sprites/{c6a24b4c-66fc-4bc0-a31b-fbc4661f80af.png → 5431dc38-c257-40b3-8f7b-8bceaa7fe587.png} +0 -0
- /kaa/sprites/{3349ba61-7023-47d1-b852-11c533d5bd33.png → 55c3af20-58dc-4407-a383-312a57417c39.png} +0 -0
- /kaa/sprites/{6f0b1e68-92c4-4fb6-8fc8-acc588dff9c7.png → 572a921d-633f-4465-b177-7a0d9ad7e099.png} +0 -0
- /kaa/sprites/{2d709f96-2a2f-4c61-9923-c7fe6b3b88eb.png → 5734e48a-1e58-42de-be7b-b7db67db4a01.png} +0 -0
- /kaa/sprites/{bce1ddac-5cd3-476b-9a2d-e6467c06032a.png → 57c81080-7b53-4286-8fa5-848ad63e4774.png} +0 -0
- /kaa/sprites/{8f74b244-1268-4a95-9289-b48e4ebe91f8.png → 5906d986-d0e5-452d-a7c4-ddeb7af8751d.png} +0 -0
- /kaa/sprites/{4babe602-a238-46e9-9b8e-84a57743ea0a.png → 5930140e-effe-4bcf-b0be-c20d3990d833.png} +0 -0
- /kaa/sprites/{c42b40f7-5f18-4bbc-ac54-9d0c2d682793.png → 5bf2a814-df85-4d0a-b4b5-8883ac2ee434.png} +0 -0
- /kaa/sprites/{e962f312-ac55-4247-ad99-b483fe3adc55.png → 5c310fe5-7e92-4167-9eba-6e8e14a2863a.png} +0 -0
- /kaa/sprites/{ceb9c53d-da52-4e0f-9897-1da15c2f5256.png → 5ffd3f29-db4f-4f66-b9ed-be5a70b7ebf9.png} +0 -0
- /kaa/sprites/{5f4636d5-8139-45d1-a1dc-b927cf9241c7.png → 645909d7-b960-46c7-b208-db44b6b7feec.png} +0 -0
- /kaa/sprites/{d34094ea-44ff-44a9-aa66-76602e7cfd77.png → 68d9f340-a3d2-4708-8eb1-c1ed857decda.png} +0 -0
- /kaa/sprites/{be27fa98-8572-40b8-b1db-d274b8ff470f.png → 68e20ebf-02fd-46a1-88d7-b4472824e7bc.png} +0 -0
- /kaa/sprites/{8efcc86f-9467-4290-bdeb-330f1c505bbb.png → 694879e8-ecca-45e2-8ea4-1b447fd43ace.png} +0 -0
- /kaa/sprites/{88d2214f-49a6-4f5b-8dd5-75f77c3215a8.png → 6c926e92-9af9-402d-8512-6417ca116928.png} +0 -0
- /kaa/sprites/{6bdadeaf-e180-4007-a61f-3e2d75b6f9c9.png → 70768479-5d7a-4941-8774-ad556c47bee2.png} +0 -0
- /kaa/sprites/{84b64050-2183-4271-8c72-fa0987fdaaaf.png → 72634cb3-4c76-4ca2-8898-ebb837ec19e3.png} +0 -0
- /kaa/sprites/{8082c8fe-2b11-4d6f-862d-8d8613416fcb.png → 736a9daf-05d6-46ba-810b-5a8f509152d1.png} +0 -0
- /kaa/sprites/{c67be557-cdd5-4523-aa17-370188b7546e.png → 756f4ca7-acac-48e1-8bcd-1c5cd8937e3a.png} +0 -0
- /kaa/sprites/{dde87ef8-58ed-44a1-ac8f-b5a7bb3da0dd.png → 799fe395-2264-4bc5-b515-813dadda8fe1.png} +0 -0
- /kaa/sprites/{f8bd4ddd-ee5b-4c2a-b0ba-a21fdb4ce7f0.png → 7d7df15f-707e-4e27-826f-21e42af1dae0.png} +0 -0
- /kaa/sprites/{d4cbdf27-36c9-4c29-8058-f4b24a37dd9e.png → 7daaca55-e3fd-4e12-bf31-872105ceb726.png} +0 -0
- /kaa/sprites/{3e8add22-c966-4171-8792-68ce6c0162e8.png → 802db04f-77c2-46a4-a6eb-f81d48ea03ce.png} +0 -0
- /kaa/sprites/{e5c09b54-89c5-476b-b0c4-9d4b4027954e.png → 81686816-c723-47d1-9824-a68d9ebe1bd4.png} +0 -0
- /kaa/sprites/{ca5510db-1f6e-48a1-864a-a7c113ce9f57.png → 847226a3-b7d2-4156-b732-9215a3e14f3a.png} +0 -0
- /kaa/sprites/{a91e708b-8c59-488b-b974-864a94206745.png → 847eb5c0-0350-4b7c-9c9c-43c796709795.png} +0 -0
- /kaa/sprites/{888232ab-0050-4a0a-b4e5-90f00078256d.png → 84cabff2-7a1b-4018-b74b-46f4db06304f.png} +0 -0
- /kaa/sprites/{28f64710-34ad-4ac9-9444-a3f0eb72f172.png → 87f3c1ae-5117-4871-a7d6-3f5ff0c9f9fb.png} +0 -0
- /kaa/sprites/{aecdac0d-2be9-46d5-8f79-1e5c6c32afaf.png → 889a4153-b713-49cb-a4d5-e302bcdd002d.png} +0 -0
- /kaa/sprites/{254c7ab4-64e5-4db4-a62f-9412d9a1ac8a.png → 8bd22fe1-b544-4d2e-b74a-34f3cf0eb512.png} +0 -0
- /kaa/sprites/{3a48c9a4-9486-46e4-8ef7-9edcbc3a4fa8.png → 8be81341-a74d-42c8-8231-5d1854bc08e7.png} +0 -0
- /kaa/sprites/{ed7382f8-fbc8-469a-bbcb-4a092e94468a.png → 8e019262-ad23-4cbb-84da-86b34775a91e.png} +0 -0
- /kaa/sprites/{bc2b3300-f993-44c8-8f10-8b38f4293518.png → 8e4d8a0f-4a9d-4562-9234-63806b11d85f.png} +0 -0
- /kaa/sprites/{75f13034-2bf7-474b-94b2-762957d1cdee.png → 8e5e968b-edad-4c03-abc8-3f2a7e8879ae.png} +0 -0
- /kaa/sprites/{62b0c674-d40f-4ce3-be98-53081272498f.png → 8ed51be4-815c-4a3d-805e-030fdfa341e2.png} +0 -0
- /kaa/sprites/{06cb41e7-bf94-4e54-bce0-28f6c16bb951.png → 8f7b55d8-0143-4d27-bef8-560d4d510500.png} +0 -0
- /kaa/sprites/{8ec0bc7e-dbb2-4842-8d51-62d7adfd1e22.png → 9008fbb2-f23f-424f-9be7-5bae6a3697ab.png} +0 -0
- /kaa/sprites/{7f3c7ad5-5dc6-4dee-b716-bbf83ef398a5.png → 913dbd4e-ebb1-4c9f-b145-9960cde59c17.png} +0 -0
- /kaa/sprites/{7e0d2439-af0c-425f-8cb6-81062c6f5eeb.png → 91a50322-52d9-4516-9e46-bc121f20667d.png} +0 -0
- /kaa/sprites/{e7fc7d19-7f95-4300-aa04-99bf273537a3.png → 91b30f5e-31b2-4756-a3f7-f0f82a335442.png} +0 -0
- /kaa/sprites/{58b8a0f0-8bac-4262-a500-fdf750bad341.png → 92c3de1b-eed1-45b9-82e0-c9e97bb479e7.png} +0 -0
- /kaa/sprites/{ba979ad3-b795-4396-8e65-22e8f65c8435.png → 94d54ba7-0ccf-4fd9-a5bf-488bac1364c8.png} +0 -0
- /kaa/sprites/{af750209-8ac9-45b1-83e5-b49092d7e4ec.png → 962aa0b9-1dd3-4260-a4fb-c069c26e5a84.png} +0 -0
- /kaa/sprites/{eccd79af-1930-4ddb-ad51-43459be5e692.png → 96704aa3-b5ad-4e34-bb88-fad766415362.png} +0 -0
- /kaa/sprites/{5642b37c-1095-4d72-994a-7518a93aa1dc.png → 978873bb-e4d0-451b-9126-6977144f5395.png} +0 -0
- /kaa/sprites/{1eeceee9-04ee-476f-9b95-30f72becb127.png → 9991b19c-7330-42c4-9d7d-db3cb00103b7.png} +0 -0
- /kaa/sprites/{140e2ffe-639b-4c54-b677-665b49163114.png → 9e7eaa8e-3178-44da-a5ec-34b889f8facf.png} +0 -0
- /kaa/sprites/{60637259-8883-4abf-80c8-3016f051fbd6.png → 9f7150bc-c0b8-48d6-862c-456aaf518b2b.png} +0 -0
- /kaa/sprites/{6b3289f0-e1f1-4d77-8f93-bca454e30f7c.png → a5694c76-3c5d-462e-81d5-1e0e6cef0ec9.png} +0 -0
- /kaa/sprites/{f3a989e2-f273-4d64-8bdf-6a56746e338c.png → aa1624ff-88b0-447b-8e2b-8a50fd9e4062.png} +0 -0
- /kaa/sprites/{2a02f928-376b-4aa6-a7f3-fc2979445776.png → ab237c6d-c4d8-4716-8ef7-99b8e995c9a7.png} +0 -0
- /kaa/sprites/{c2e1274e-c445-4f16-bac7-119eee50362d.png → ad94041c-f30b-40b9-b11a-1a26e9962274.png} +0 -0
- /kaa/sprites/{e371fe2d-ca39-4e8c-870c-173704d5e05b.png → ae1e70bc-f735-4749-8c23-95735b91897a.png} +0 -0
- /kaa/sprites/{69cf1405-ac5f-4b09-b798-50b961cf4b3a.png → b59c0e9b-1f20-4194-ab37-286f505fa656.png} +0 -0
- /kaa/sprites/{9bd31277-a094-4241-bdd2-c1ad2c52360e.png → bfdc9b53-2fe5-43f1-8588-7ab71217d31c.png} +0 -0
- /kaa/sprites/{003203d4-5188-45a9-bd90-415e5a5b5e95.png → c1d502eb-c77f-45cb-86b5-11b4a8a3aef5.png} +0 -0
- /kaa/sprites/{124e314e-300f-470e-a18d-d646620bb669.png → c69dcdcf-42a7-420e-aa8e-bb8639ea80b6.png} +0 -0
- /kaa/sprites/{945dd41c-44ca-4c78-a4a4-923a0586b39e.png → cb6dffd9-6474-4d09-aee6-26352ea51d31.png} +0 -0
- /kaa/sprites/{9e353887-fc8e-46f5-b683-ad2302efbc8b.png → cba0646d-dffe-4c5b-a44d-1f8d827624a6.png} +0 -0
- /kaa/sprites/{f9c610d3-a93b-4d3e-b987-bd091ff88b04.png → cd00a2d7-af48-48b1-b2e1-5360ceed249f.png} +0 -0
- /kaa/sprites/{02266489-3ad5-4860-9b20-98ac163b6a65.png → cd0e8663-2ea1-436a-b9fb-3caa0c3ed9e8.png} +0 -0
- /kaa/sprites/{109c78e7-8b7b-4ef9-8b11-ab01a531b259.png → cfe3563d-a24b-4197-a0cb-5628bd990c08.png} +0 -0
- /kaa/sprites/{66cd7f36-5bc5-4b37-b897-de4b80826d30.png → d1ea0ea6-4a6a-4036-b140-922c95a648b5.png} +0 -0
- /kaa/sprites/{b48bb4e6-7eb5-4b2f-85dc-268e1b230372.png → d644faa3-ff16-417f-928c-4c62b040bfdb.png} +0 -0
- /kaa/sprites/{749b2ba7-022c-4dfc-82ca-ce164b536dfc.png → d7750f81-de10-4d6f-9cc7-35223bda9d70.png} +0 -0
- /kaa/sprites/{60cef0e9-7e27-4482-990b-20ebb1759a2e.png → d81b1325-e57a-4f22-93e1-6ad4baa28935.png} +0 -0
- /kaa/sprites/{c9ed485f-159d-4c50-af4e-7d220dad188c.png → da48db0d-09d9-47c3-9e08-8b69ad547be6.png} +0 -0
- /kaa/sprites/{d59a5d4c-2115-4ed4-8d96-c942e6df9bce.png → db6707a2-2964-4919-9992-4d801fa43dae.png} +0 -0
- /kaa/sprites/{bce58f07-e008-40a8-a1b1-95eb165f46f4.png → dc97fea3-898f-4135-9c40-ad41570ab4ae.png} +0 -0
- /kaa/sprites/{e7ed09ff-3a0a-4973-b7e4-a0db7cc4bde5.png → dce410ee-fa56-41c4-b75e-e1bff79cd94f.png} +0 -0
- /kaa/sprites/{84656ee8-7a91-4a3c-89ec-13bc0b9b9c87.png → dd7bd6cd-90f1-4773-9b68-5df7f2f84da5.png} +0 -0
- /kaa/sprites/{028f6e95-cad5-46e6-afc7-636ba85e46f3.png → dd873ac0-ffba-4335-9cf2-2162c6835ed8.png} +0 -0
- /kaa/sprites/{708f75ce-21b5-4c6c-ad69-e78a88f9e54e.png → e13fc34b-accc-4986-865d-f8d8410b45e9.png} +0 -0
- /kaa/sprites/{f6283d6e-7d10-444f-909e-40658d38e6d4.png → e4dc3b35-195c-415f-9484-c2459bd8675a.png} +0 -0
- /kaa/sprites/{a9369c98-87ff-4a89-bcc3-a3ef55aadfb8.png → e5e49b44-dcc2-4e77-9180-0d2beaa3f9ad.png} +0 -0
- /kaa/sprites/{4abbb532-98f6-4129-b8c1-f4ef4d8492cb.png → e7f2734f-9fdc-4521-8d7e-8b0fe270a223.png} +0 -0
- /kaa/sprites/{694b4ca7-2da6-47ee-ab08-2b9a88e23da7.png → e9310e38-a418-4561-bf33-eb3e6dccf477.png} +0 -0
- /kaa/sprites/{103694a2-1489-4dfa-932a-d6e9fdf59936.png → e933cd55-e47a-4327-89d7-b25995cb4a3f.png} +0 -0
- /kaa/sprites/{356d500d-14a2-4f1c-9ec0-9800d888ebeb.png → ea430652-e263-4a15-bb6f-8a8807be6c8f.png} +0 -0
- /kaa/sprites/{82eadc62-bd78-4d58-8116-588196c3167f.png → ec3cad5f-e0c9-4577-8499-79b50248344e.png} +0 -0
- /kaa/sprites/{29927623-65fb-4429-841f-29be8f04da9f.png → edcec31d-d5de-4f22-b666-3e3c656e06d8.png} +0 -0
- /kaa/sprites/{38171d37-5c05-46aa-88b8-91f70e46d09f.png → f0462447-5226-4819-a39b-19ab90583f83.png} +0 -0
- /kaa/sprites/{3fc93656-1977-4e79-a261-daa132aecd15.png → f0aef696-2106-46a4-8b7f-9f16b6c89d3f.png} +0 -0
- /kaa/sprites/{60b86d20-374b-45a8-9539-997e8381620e.png → f32a41a2-c482-41ba-b718-28f048f5148c.png} +0 -0
- /kaa/sprites/{230c77a1-c85e-4b1a-b40b-73dbdf9f78c5.png → f635499a-943d-47da-952a-1feb58daa25b.png} +0 -0
- /kaa/sprites/{fb76f67f-cd58-46a3-9483-3c0b9311a8fb.png → f6b042a8-a91e-4811-99f9-18bbb5197468.png} +0 -0
- /kaa/sprites/{f30b1f96-3a50-4417-b5a2-4652941105fc.png → fcc72120-2a77-4c26-a27e-e1027c6088c0.png} +0 -0
- /kaa/sprites/{d257efbe-6406-4c1f-a0c7-0d5d2925d1cf.png → fdf0da06-f088-424f-9941-8c883fea3db3.png} +0 -0
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/WHEEL +0 -0
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/entry_points.txt +0 -0
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/licenses/LICENSE +0 -0
- {ksaa-2025.9.post1.dist-info → ksaa-2025.11b1.dist-info}/top_level.txt +0 -0
kaa/config/schema.py
CHANGED
|
@@ -3,6 +3,7 @@ from pydantic import BaseModel, ConfigDict
|
|
|
3
3
|
|
|
4
4
|
from kotonebot import config
|
|
5
5
|
from kaa.config.produce import ProduceSolution, ProduceSolutionManager
|
|
6
|
+
from kaa.errors import NoProduceSolutionSelectedError
|
|
6
7
|
from .const import (
|
|
7
8
|
ConfigEnum,
|
|
8
9
|
Priority,
|
|
@@ -77,6 +78,14 @@ class ProduceConfig(ConfigBaseModel):
|
|
|
77
78
|
"""培育的次数。"""
|
|
78
79
|
produce_timeout_cd: int = 60
|
|
79
80
|
"""推荐卡检测用时上限;若超时,则随机选择卡片打出。单位为秒,最少为20sec,DMM用户可以设置为30sec"""
|
|
81
|
+
enable_fever_month: Literal['on', 'off', 'ignore'] = 'ignore'
|
|
82
|
+
"""
|
|
83
|
+
是否自动启用强化月间。
|
|
84
|
+
|
|
85
|
+
* on: 自动启用
|
|
86
|
+
* off: 自动禁用
|
|
87
|
+
* ignore: 不改变当前状态
|
|
88
|
+
"""
|
|
80
89
|
|
|
81
90
|
class MissionRewardConfig(ConfigBaseModel):
|
|
82
91
|
enabled: bool = False
|
|
@@ -125,21 +134,24 @@ class StartGameConfig(ConfigBaseModel):
|
|
|
125
134
|
|
|
126
135
|
kuyo_package_name: str = 'org.kuyo.game'
|
|
127
136
|
"""Kuyo包名"""
|
|
128
|
-
|
|
137
|
+
|
|
129
138
|
disable_gakumas_localify: bool = False
|
|
130
139
|
"""
|
|
131
140
|
自动检测并禁用 Gakumas Localify 汉化插件。
|
|
132
|
-
|
|
141
|
+
|
|
133
142
|
(目前仅对 DMM 版有效。)
|
|
134
143
|
"""
|
|
135
|
-
|
|
144
|
+
|
|
136
145
|
dmm_game_path: str | None = None
|
|
137
146
|
"""
|
|
138
147
|
DMM 版游戏路径。若不填写,会自动检测。
|
|
139
|
-
|
|
148
|
+
|
|
140
149
|
例:`F:\\Games\\gakumas\\gakumas.exe`
|
|
141
150
|
"""
|
|
142
151
|
|
|
152
|
+
dmm_bypass: bool = False
|
|
153
|
+
"""绕过 DMM 启动器直接启动游戏(实验性)"""
|
|
154
|
+
|
|
143
155
|
class EndGameConfig(ConfigBaseModel):
|
|
144
156
|
exit_kaa: bool = False
|
|
145
157
|
"""退出 kaa"""
|
|
@@ -157,7 +169,7 @@ class EndGameConfig(ConfigBaseModel):
|
|
|
157
169
|
"""
|
|
158
170
|
恢复 Gakumas Localify 汉化插件状态至启动前。通常与
|
|
159
171
|
`disable_gakumas_localify` 配对使用。
|
|
160
|
-
|
|
172
|
+
|
|
161
173
|
(目前仅对 DMM 版有效。)
|
|
162
174
|
"""
|
|
163
175
|
|
|
@@ -253,6 +265,6 @@ def produce_solution() -> ProduceSolution:
|
|
|
253
265
|
"""获取当前培育方案"""
|
|
254
266
|
id = conf().produce.selected_solution_id
|
|
255
267
|
if id is None:
|
|
256
|
-
raise
|
|
268
|
+
raise NoProduceSolutionSelectedError()
|
|
257
269
|
# TODO: 这里需要缓存,不能每次都从磁盘读取
|
|
258
270
|
return ProduceSolutionManager().read(id)
|
kaa/errors.py
CHANGED
|
@@ -63,4 +63,19 @@ class GameUpdateNeededError(KaaUserFriendlyError):
|
|
|
63
63
|
super().__init__(
|
|
64
64
|
'游戏本体需要更新。kaa 暂不支持自动更新,请前往 Play Store 手动更新游戏。',
|
|
65
65
|
'https://www.baidu.com/s?wd=%E5%BF%AB%E5%8E%BB%E6%9B%B4%E6%96%B0%E6%B8%B8%E6%88%8F%E5%95%8A%EF%BC%8C%E8%BF%98%E7%82%B9%E4%BB%80%E4%B9%88%E6%89%93%E5%BC%80%E5%B8%AE%E5%8A%A9'
|
|
66
|
-
)
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
class NoProduceSolutionSelectedError(KaaUserFriendlyError):
|
|
69
|
+
def __init__(self):
|
|
70
|
+
super().__init__(
|
|
71
|
+
'未选择培育方案。请前往「设置」,在「当前使用的培育方案」选择一个培育方案后再重新运行。',
|
|
72
|
+
'https://www.kdocs.cn/l/cetCY8mGKHLj?linkname=LasxpznR6b'
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
class DmmGameLaunchError(KaaUserFriendlyError):
|
|
76
|
+
def __init__(self, reason: str):
|
|
77
|
+
self.reason = reason
|
|
78
|
+
super().__init__(
|
|
79
|
+
f'绕过 DMM 启动器失败,原因:{reason}',
|
|
80
|
+
'https://www.kdocs.cn/l/cetCY8mGKHLj?linkname=pSw7QcH1Kx'
|
|
81
|
+
)
|
kaa/main/dmm_host.py
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
from typing_extensions import override
|
|
2
|
-
|
|
3
|
-
from kotonebot.client import Device
|
|
4
|
-
from kotonebot.client.host import HostProtocol, Instance
|
|
5
|
-
from kotonebot.client.host.windows_common import WindowsRecipes, WindowsHostConfigs, CommonWindowsCreateDeviceMixin
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
DmmHostConfigs = WindowsHostConfigs
|
|
9
|
-
DmmRecipes = WindowsRecipes
|
|
10
|
-
|
|
11
|
-
# TODO: 可能应该把 start_game 和 end_game 里对启停的操作移动到这里来
|
|
12
|
-
class DmmInstance(CommonWindowsCreateDeviceMixin, Instance[DmmHostConfigs]):
|
|
13
|
-
def __init__(self):
|
|
14
|
-
super().__init__('dmm', 'gakumas')
|
|
15
|
-
|
|
16
|
-
@override
|
|
17
|
-
def refresh(self):
|
|
18
|
-
raise NotImplementedError()
|
|
19
|
-
|
|
20
|
-
@override
|
|
21
|
-
def start(self):
|
|
22
|
-
raise NotImplementedError()
|
|
23
|
-
|
|
24
|
-
@override
|
|
25
|
-
def stop(self):
|
|
26
|
-
raise NotImplementedError()
|
|
27
|
-
|
|
28
|
-
@override
|
|
29
|
-
def running(self) -> bool:
|
|
30
|
-
raise NotImplementedError()
|
|
31
|
-
|
|
32
|
-
@override
|
|
33
|
-
def wait_available(self, timeout: float = 180):
|
|
34
|
-
raise NotImplementedError()
|
|
35
|
-
|
|
36
|
-
@override
|
|
37
|
-
def create_device(self, impl: DmmRecipes, host_config: DmmHostConfigs) -> Device:
|
|
38
|
-
"""为 DMM 实例创建 Device。"""
|
|
39
|
-
return super().create_device(impl, host_config)
|
|
40
|
-
|
|
41
|
-
class DmmHost(HostProtocol[DmmRecipes]):
|
|
42
|
-
instance = DmmInstance()
|
|
43
|
-
"""DmmInstance 单例。"""
|
|
44
|
-
|
|
45
|
-
@staticmethod
|
|
46
|
-
def installed() -> bool:
|
|
47
|
-
# TODO: 应该检查 DMM 和 gamkumas 的安装情况
|
|
48
|
-
raise NotImplementedError()
|
|
49
|
-
|
|
50
|
-
@staticmethod
|
|
51
|
-
def list() -> list[Instance]:
|
|
52
|
-
raise NotImplementedError()
|
|
53
|
-
|
|
54
|
-
@staticmethod
|
|
55
|
-
def query(*, id: str) -> Instance | None:
|
|
56
|
-
raise NotImplementedError()
|
|
57
|
-
|
|
58
|
-
@staticmethod
|
|
59
|
-
def recipes() -> 'list[DmmRecipes]':
|
|
60
|
-
return ['windows', 'remote_windows']
|
|
1
|
+
from typing_extensions import override
|
|
2
|
+
|
|
3
|
+
from kotonebot.client import Device
|
|
4
|
+
from kotonebot.client.host import HostProtocol, Instance
|
|
5
|
+
from kotonebot.client.host.windows_common import WindowsRecipes, WindowsHostConfigs, CommonWindowsCreateDeviceMixin
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
DmmHostConfigs = WindowsHostConfigs
|
|
9
|
+
DmmRecipes = WindowsRecipes
|
|
10
|
+
|
|
11
|
+
# TODO: 可能应该把 start_game 和 end_game 里对启停的操作移动到这里来
|
|
12
|
+
class DmmInstance(CommonWindowsCreateDeviceMixin, Instance[DmmHostConfigs]):
|
|
13
|
+
def __init__(self):
|
|
14
|
+
super().__init__('dmm', 'gakumas')
|
|
15
|
+
|
|
16
|
+
@override
|
|
17
|
+
def refresh(self):
|
|
18
|
+
raise NotImplementedError()
|
|
19
|
+
|
|
20
|
+
@override
|
|
21
|
+
def start(self):
|
|
22
|
+
raise NotImplementedError()
|
|
23
|
+
|
|
24
|
+
@override
|
|
25
|
+
def stop(self):
|
|
26
|
+
raise NotImplementedError()
|
|
27
|
+
|
|
28
|
+
@override
|
|
29
|
+
def running(self) -> bool:
|
|
30
|
+
raise NotImplementedError()
|
|
31
|
+
|
|
32
|
+
@override
|
|
33
|
+
def wait_available(self, timeout: float = 180):
|
|
34
|
+
raise NotImplementedError()
|
|
35
|
+
|
|
36
|
+
@override
|
|
37
|
+
def create_device(self, impl: DmmRecipes, host_config: DmmHostConfigs) -> Device:
|
|
38
|
+
"""为 DMM 实例创建 Device。"""
|
|
39
|
+
return super().create_device(impl, host_config)
|
|
40
|
+
|
|
41
|
+
class DmmHost(HostProtocol[DmmRecipes]):
|
|
42
|
+
instance = DmmInstance()
|
|
43
|
+
"""DmmInstance 单例。"""
|
|
44
|
+
|
|
45
|
+
@staticmethod
|
|
46
|
+
def installed() -> bool:
|
|
47
|
+
# TODO: 应该检查 DMM 和 gamkumas 的安装情况
|
|
48
|
+
raise NotImplementedError()
|
|
49
|
+
|
|
50
|
+
@staticmethod
|
|
51
|
+
def list() -> list[Instance]:
|
|
52
|
+
raise NotImplementedError()
|
|
53
|
+
|
|
54
|
+
@staticmethod
|
|
55
|
+
def query(*, id: str) -> Instance | None:
|
|
56
|
+
raise NotImplementedError()
|
|
57
|
+
|
|
58
|
+
@staticmethod
|
|
59
|
+
def recipes() -> 'list[DmmRecipes]':
|
|
60
|
+
return ['windows', 'remote_windows']
|
kaa/main/gr.py
CHANGED
|
@@ -59,7 +59,7 @@ ConfigKey = Literal[
|
|
|
59
59
|
'select_which_contestant', 'when_no_set',
|
|
60
60
|
|
|
61
61
|
# produce
|
|
62
|
-
'produce_enabled', 'selected_solution_id', 'produce_count', 'produce_timeout_cd',
|
|
62
|
+
'produce_enabled', 'selected_solution_id', 'produce_count', 'produce_timeout_cd', 'enable_fever_month',
|
|
63
63
|
'mission_reward_enabled',
|
|
64
64
|
|
|
65
65
|
# club reward
|
|
@@ -77,7 +77,7 @@ ConfigKey = Literal[
|
|
|
77
77
|
# start game
|
|
78
78
|
'start_game_enabled', 'start_through_kuyo',
|
|
79
79
|
'game_package_name', 'kuyo_package_name',
|
|
80
|
-
'disable_gakumas_localify', 'dmm_game_path',
|
|
80
|
+
'disable_gakumas_localify', 'dmm_game_path', 'dmm_bypass',
|
|
81
81
|
|
|
82
82
|
# end game
|
|
83
83
|
'exit_kaa', 'kill_game', 'kill_dmm',
|
|
@@ -1530,6 +1530,14 @@ class KotoneBotUI:
|
|
|
1530
1530
|
info=ProduceConfig.model_fields['produce_timeout_cd'].description
|
|
1531
1531
|
)
|
|
1532
1532
|
|
|
1533
|
+
enable_fever_month = gr.Radio(
|
|
1534
|
+
label="自动启用强化月间",
|
|
1535
|
+
choices=[("不操作", "ignore"), ("自动启用", "on"), ("自动禁用", "off")],
|
|
1536
|
+
value=self.current_config.options.produce.enable_fever_month,
|
|
1537
|
+
info=ProduceConfig.model_fields['enable_fever_month'].description,
|
|
1538
|
+
interactive=True
|
|
1539
|
+
)
|
|
1540
|
+
|
|
1533
1541
|
# 绑定启用状态变化事件
|
|
1534
1542
|
def on_produce_enabled_change(enabled):
|
|
1535
1543
|
return gr.Group(visible=enabled)
|
|
@@ -1548,12 +1556,14 @@ class KotoneBotUI:
|
|
|
1548
1556
|
config.produce.selected_solution_id = data.get('selected_solution_id')
|
|
1549
1557
|
config.produce.produce_count = data.get('produce_count', 1)
|
|
1550
1558
|
config.produce.produce_timeout_cd = data.get('produce_timeout_cd', 60)
|
|
1559
|
+
config.produce.enable_fever_month = data.get('enable_fever_month', 'ignore')
|
|
1551
1560
|
|
|
1552
1561
|
return set_config, {
|
|
1553
1562
|
'produce_enabled': produce_enabled,
|
|
1554
1563
|
'selected_solution_id': solution_dropdown,
|
|
1555
1564
|
'produce_count': produce_count,
|
|
1556
|
-
'produce_timeout_cd': produce_timeout_cd
|
|
1565
|
+
'produce_timeout_cd': produce_timeout_cd,
|
|
1566
|
+
'enable_fever_month': enable_fever_month
|
|
1557
1567
|
}
|
|
1558
1568
|
|
|
1559
1569
|
|
|
@@ -2236,6 +2246,11 @@ class KotoneBotUI:
|
|
|
2236
2246
|
info=StartGameConfig.model_fields['dmm_game_path'].description,
|
|
2237
2247
|
placeholder="例:F:\\Games\\gakumas\\gakumas.exe"
|
|
2238
2248
|
)
|
|
2249
|
+
dmm_bypass = gr.Checkbox(
|
|
2250
|
+
label="绕过 DMM 启动器直接启动游戏(实验性)",
|
|
2251
|
+
value=self.current_config.options.start_game.dmm_bypass,
|
|
2252
|
+
info=StartGameConfig.model_fields['dmm_bypass'].description
|
|
2253
|
+
)
|
|
2239
2254
|
start_game_enabled.change(
|
|
2240
2255
|
fn=lambda x: gr.Group(visible=x),
|
|
2241
2256
|
inputs=[start_game_enabled],
|
|
@@ -2249,6 +2264,7 @@ class KotoneBotUI:
|
|
|
2249
2264
|
config.start_game.kuyo_package_name = data['kuyo_package_name']
|
|
2250
2265
|
config.start_game.disable_gakumas_localify = data['disable_gakumas_localify']
|
|
2251
2266
|
config.start_game.dmm_game_path = data['dmm_game_path'] if data['dmm_game_path'] else None
|
|
2267
|
+
config.start_game.dmm_bypass = data['dmm_bypass']
|
|
2252
2268
|
|
|
2253
2269
|
return set_config, {
|
|
2254
2270
|
'start_game_enabled': start_game_enabled,
|
|
@@ -2256,7 +2272,8 @@ class KotoneBotUI:
|
|
|
2256
2272
|
'game_package_name': game_package_name,
|
|
2257
2273
|
'kuyo_package_name': kuyo_package_name,
|
|
2258
2274
|
'disable_gakumas_localify': disable_gakumas_localify,
|
|
2259
|
-
'dmm_game_path': dmm_game_path
|
|
2275
|
+
'dmm_game_path': dmm_game_path,
|
|
2276
|
+
'dmm_bypass': dmm_bypass
|
|
2260
2277
|
}
|
|
2261
2278
|
|
|
2262
2279
|
|
kaa/metadata.py
CHANGED
|
Binary file
|
kaa/resources/game.db
CHANGED
|
Binary file
|
kaa/resources/game_ver.txt
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|