forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
740 lines
18 KiB
Python
740 lines
18 KiB
Python
from typing import Dict
|
|
|
|
from ..base_classes import ItemDef
|
|
from ..id import net_id
|
|
from ..levels import all_levels
|
|
|
|
automap_base_id = 1600
|
|
unlock_base_id = 1700
|
|
key_card_base_id = 1800
|
|
|
|
# Filled step by step below for readability
|
|
item_groups = {}
|
|
|
|
dynamic_level_items = {}
|
|
|
|
for level in all_levels:
|
|
# automap
|
|
automap = ItemDef(
|
|
f"{level.prefix} Automap",
|
|
net_id(automap_base_id),
|
|
"automap",
|
|
{"levelnum": level.levelnum, "volumenum": level.volumenum},
|
|
persistent=True,
|
|
unique=True,
|
|
)
|
|
automap_base_id += 1
|
|
dynamic_level_items[automap.name] = automap
|
|
|
|
# unlock
|
|
unlock = ItemDef(
|
|
f"{level.prefix} Unlock",
|
|
net_id(unlock_base_id),
|
|
"map",
|
|
{},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
)
|
|
unlock_base_id += 1
|
|
dynamic_level_items[unlock.name] = unlock
|
|
|
|
# key cards
|
|
for color in level.keys:
|
|
if color == "Blue":
|
|
flags = 1
|
|
elif color == "Red":
|
|
flags = 2
|
|
elif color == "Yellow":
|
|
flags = 4
|
|
else:
|
|
continue
|
|
key_card = ItemDef(
|
|
f"{level.prefix} {color} Key Card",
|
|
net_id(key_card_base_id),
|
|
"key",
|
|
{"flags": flags, "levelnum": level.levelnum, "volumenum": level.volumenum},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
)
|
|
key_card_base_id += 1
|
|
dynamic_level_items[key_card.name] = key_card
|
|
|
|
goal_items = {
|
|
"Exit": ItemDef(
|
|
"Exit", net_id(100), "goal", {}, silent=True, persistent=True, progression=True
|
|
),
|
|
"Secret": ItemDef(
|
|
"Secret",
|
|
net_id(101),
|
|
"goal",
|
|
{},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Boss": ItemDef(
|
|
"Boss",
|
|
net_id(102),
|
|
"goal",
|
|
{},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
}
|
|
|
|
junk_items = {
|
|
"Nothing": ItemDef("Nothing", net_id(0), "filler", {}, silent=True),
|
|
"Pity Heal": ItemDef(
|
|
"Pity Heal",
|
|
net_id(403),
|
|
"health",
|
|
{"heal": 1, "overheal": True},
|
|
),
|
|
}
|
|
|
|
weapons = {
|
|
"Pistol Capacity": ItemDef(
|
|
"Pistol Capacity",
|
|
net_id(221),
|
|
"ammo",
|
|
{"weaponnum": 1, "capacity": 20, "ammo": 10},
|
|
persistent=True,
|
|
),
|
|
# This just exists for consistent code, it doesn't do anything special right now
|
|
"Progressive Pistol": ItemDef(
|
|
"Progressive Pistol",
|
|
net_id(241),
|
|
"progressive",
|
|
{"items": [221]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Pistol Ammo": ItemDef(
|
|
"Pistol Ammo",
|
|
net_id(261),
|
|
"ammo",
|
|
{"weaponnum": 1, "ammo": 30},
|
|
),
|
|
"Shotgun": ItemDef(
|
|
"Shotgun",
|
|
net_id(202),
|
|
"weapon",
|
|
{"weaponnum": 2, "ammo": 15},
|
|
persistent=True,
|
|
unique=True,
|
|
),
|
|
"Shotgun Capacity": ItemDef(
|
|
"Shotgun Capacity",
|
|
net_id(222),
|
|
"ammo",
|
|
{"weaponnum": 2, "capacity": 10, "ammo": 5},
|
|
persistent=True,
|
|
),
|
|
"Progressive Shotgun": ItemDef(
|
|
"Progressive Shotgun",
|
|
net_id(242),
|
|
"progressive",
|
|
{"items": [202, 222]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Shotgun Ammo": ItemDef(
|
|
"Shotgun Ammo",
|
|
net_id(262),
|
|
"ammo",
|
|
{"weaponnum": 2, "ammo": 15},
|
|
),
|
|
"Chaingun": ItemDef(
|
|
"Chaingun",
|
|
net_id(203),
|
|
"weapon",
|
|
{"weaponnum": 3, "ammo": 75},
|
|
persistent=True,
|
|
unique=True,
|
|
),
|
|
"Chaingun Capacity": ItemDef(
|
|
"Chaingun Capacity",
|
|
net_id(223),
|
|
"ammo",
|
|
{"weaponnum": 3, "capacity": 50, "ammo": 25},
|
|
persistent=True,
|
|
),
|
|
"Progressive Chaingun": ItemDef(
|
|
"Progressive Chaingun",
|
|
net_id(243),
|
|
"progressive",
|
|
{"items": [203, 223]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Chaingun Ammo": ItemDef(
|
|
"Chaingun Ammo",
|
|
net_id(263),
|
|
"ammo",
|
|
{"weaponnum": 3, "ammo": 150},
|
|
),
|
|
"RPG": ItemDef(
|
|
"RPG",
|
|
net_id(204),
|
|
"weapon",
|
|
{"weaponnum": 4, "ammo": 5},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"RPG Capacity": ItemDef(
|
|
"RPG Capacity",
|
|
net_id(224),
|
|
"ammo",
|
|
{"weaponnum": 4, "capacity": 5, "ammo": 2},
|
|
persistent=True,
|
|
),
|
|
"Progressive RPG": ItemDef(
|
|
"Progressive RPG",
|
|
net_id(244),
|
|
"progressive",
|
|
{"items": [204, 224]},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"RPG Ammo": ItemDef(
|
|
"RPG Ammo",
|
|
net_id(264),
|
|
"ammo",
|
|
{"weaponnum": 4, "ammo": 10},
|
|
),
|
|
"Pipebomb": ItemDef(
|
|
"Pipebomb",
|
|
net_id(205),
|
|
"weapon",
|
|
{"weaponnum": 5, "ammo": 4},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Pipebomb Capacity": ItemDef(
|
|
"Pipebomb Capacity",
|
|
net_id(225),
|
|
"ammo",
|
|
{"weaponnum": 5, "capacity": 3, "ammo": 1},
|
|
persistent=True,
|
|
),
|
|
"Progressive Pipebomb": ItemDef(
|
|
"Progressive Pipebomb",
|
|
net_id(245),
|
|
"progressive",
|
|
{"items": [205, 225]},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Pipebomb Ammo": ItemDef(
|
|
"Pipebomb Ammo",
|
|
net_id(265),
|
|
"ammo",
|
|
{"weaponnum": 5, "ammo": 10},
|
|
),
|
|
"Shrinker": ItemDef(
|
|
"Shrinker",
|
|
net_id(206),
|
|
"weapon",
|
|
{"weaponnum": 6, "ammo": 3},
|
|
persistent=True,
|
|
unique=True,
|
|
),
|
|
"Shrinker Capacity": ItemDef(
|
|
"Shrinker Capacity",
|
|
net_id(226),
|
|
"ammo",
|
|
{"weaponnum": 6, "capacity": 3, "ammo": 1},
|
|
persistent=True,
|
|
),
|
|
"Progressive Shrinker": ItemDef(
|
|
"Progressive Shrinker",
|
|
net_id(246),
|
|
"progressive",
|
|
{"items": [206, 226]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Shrinker Ammo": ItemDef(
|
|
"Shrinker Ammo",
|
|
net_id(266),
|
|
"ammo",
|
|
{"weaponnum": 6, "ammo": 10},
|
|
),
|
|
"Devastator": ItemDef(
|
|
"Devastator",
|
|
net_id(207),
|
|
"weapon",
|
|
{"weaponnum": 7, "ammo": 15},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Devastator Capacity": ItemDef(
|
|
"Devastator Capacity",
|
|
net_id(227),
|
|
"ammo",
|
|
{"weaponnum": 7, "capacity": 20, "ammo": 10},
|
|
persistent=True,
|
|
),
|
|
"Progressive Devastator": ItemDef(
|
|
"Progressive Devastator",
|
|
net_id(247),
|
|
"progressive",
|
|
{"items": [207, 227]},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Devastator Ammo": ItemDef(
|
|
"Devastator Ammo",
|
|
net_id(267),
|
|
"ammo",
|
|
{"weaponnum": 7, "ammo": 50},
|
|
),
|
|
"Tripmine": ItemDef(
|
|
"Tripmine",
|
|
net_id(208),
|
|
"weapon",
|
|
{"weaponnum": 8, "ammo": 2},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Tripmine Capacity": ItemDef(
|
|
"Tripmine Capacity",
|
|
net_id(228),
|
|
"ammo",
|
|
{"weaponnum": 8, "capacity": 1, "ammo": 1},
|
|
persistent=True,
|
|
),
|
|
"Progressive Tripmine": ItemDef(
|
|
"Progressive Tripmine",
|
|
net_id(248),
|
|
"progressive",
|
|
{"items": [208, 228]},
|
|
silent=True,
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Tripmines": ItemDef(
|
|
"Tripmines",
|
|
net_id(268),
|
|
"ammo",
|
|
{"weaponnum": 8, "ammo": 5},
|
|
),
|
|
"Freezethrower": ItemDef(
|
|
"Freezethrower",
|
|
net_id(209),
|
|
"weapon",
|
|
{"weaponnum": 9, "ammo": 25},
|
|
persistent=True,
|
|
unique=True,
|
|
),
|
|
"Freezethrower Capacity": ItemDef(
|
|
"Freezethrower Capacity",
|
|
net_id(229),
|
|
"ammo",
|
|
{"weaponnum": 9, "capacity": 40, "ammo": 20},
|
|
persistent=True,
|
|
),
|
|
"Progressive Freezethrower": ItemDef(
|
|
"Progressive Freezethrower",
|
|
net_id(249),
|
|
"progressive",
|
|
{"items": [209, 229]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Freezethrower Ammo": ItemDef(
|
|
"Freezethrower Ammo",
|
|
net_id(269),
|
|
"ammo",
|
|
{"weaponnum": 9, "ammo": 50},
|
|
),
|
|
"Expander": ItemDef(
|
|
"Expander",
|
|
net_id(211),
|
|
"weapon",
|
|
{"weaponnum": 11, "ammo": 15},
|
|
persistent=True,
|
|
unique=True,
|
|
),
|
|
"Expander Capacity": ItemDef(
|
|
"Expander Capacity",
|
|
net_id(231),
|
|
"ammo",
|
|
{"weaponnum": 11, "capacity": 3, "ammo": 2},
|
|
persistent=True,
|
|
),
|
|
"Progressive Expander": ItemDef(
|
|
"Progressive Expander",
|
|
net_id(251),
|
|
"progressive",
|
|
{"items": [211, 231]},
|
|
silent=True,
|
|
persistent=True,
|
|
),
|
|
"Expander Ammo": ItemDef(
|
|
"Expander Ammo",
|
|
net_id(271),
|
|
"ammo",
|
|
{"weaponnum": 11, "ammo": 35},
|
|
),
|
|
}
|
|
|
|
item_groups["RPG"] = {"RPG", "Progressive RPG"}
|
|
item_groups["Pipebomb"] = {"Pipebomb", "Progressive Pipebomb"}
|
|
item_groups["Devastator"] = {"Devastator", "Progressive Devastator"}
|
|
item_groups["Tripmine"] = {"Tripmine", "Progressive Tripmine"}
|
|
item_groups["Explosives"] = {
|
|
"RPG",
|
|
"Pipebomb",
|
|
"Devastator",
|
|
"Tripmine",
|
|
"Progressive RPG",
|
|
"Progressive Pipebomb",
|
|
"Progressive Devastator",
|
|
"Progressive Tripmine",
|
|
}
|
|
|
|
inventory_items = {
|
|
"Steroids": ItemDef(
|
|
"Steroids",
|
|
net_id(300),
|
|
"inventory",
|
|
{
|
|
"invnum": 0,
|
|
"capacity": 40,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Steroids Capacity": ItemDef(
|
|
"Steroids Capacity",
|
|
net_id(320),
|
|
"invcapacity",
|
|
{
|
|
"invnum": 0,
|
|
"capacity": 40,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
),
|
|
"Progressive Steroids": ItemDef(
|
|
"Progressive Steroids",
|
|
net_id(340),
|
|
"progressive",
|
|
{"items": [300, 320]},
|
|
persistent=True,
|
|
progression=True,
|
|
silent=True,
|
|
),
|
|
"Armor": ItemDef(
|
|
"Armor",
|
|
net_id(301),
|
|
"armor",
|
|
{"capacity": 40},
|
|
),
|
|
"Sturdy Armor": ItemDef(
|
|
"Sturdy Armor",
|
|
net_id(321),
|
|
"armor",
|
|
{"capacity": 2, "maxcapacity": 2},
|
|
persistent=True,
|
|
),
|
|
"Heavy Armor": ItemDef(
|
|
"Heavy Armor",
|
|
net_id(341),
|
|
"armor",
|
|
{"capacity": 5, "maxcapacity": 5},
|
|
persistent=True,
|
|
),
|
|
"Scuba Gear": ItemDef(
|
|
"Scuba Gear",
|
|
net_id(302),
|
|
"inventory",
|
|
{
|
|
"invnum": 2,
|
|
"capacity": 400,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Scuba Gear Capacity": ItemDef(
|
|
"Scuba Gear Capacity",
|
|
net_id(322),
|
|
"invcapacity",
|
|
{
|
|
"invnum": 2,
|
|
"capacity": 400,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Progressive Scuba Gear": ItemDef(
|
|
"Progressive Scuba Gear",
|
|
net_id(342),
|
|
"progressive",
|
|
{"items": [302, 322]},
|
|
persistent=True,
|
|
progression=True,
|
|
silent=True,
|
|
),
|
|
"Holo Duke": ItemDef(
|
|
"Holo Duke",
|
|
net_id(303),
|
|
"inventory",
|
|
{"invnum": 3, "capacity": 600},
|
|
),
|
|
"Jetpack": ItemDef(
|
|
"Jetpack",
|
|
net_id(304),
|
|
"inventory",
|
|
{
|
|
"invnum": 4,
|
|
"capacity": 100,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Jetpack Capacity": ItemDef(
|
|
"Jetpack Capacity",
|
|
net_id(324),
|
|
"invcapacity",
|
|
{
|
|
"invnum": 4,
|
|
"capacity": 100,
|
|
}, # use capacity from slot data if configured
|
|
persistent=True,
|
|
progression=True,
|
|
),
|
|
"Progressive Jetpack": ItemDef(
|
|
"Progressive Jetpack",
|
|
net_id(344),
|
|
"progressive",
|
|
{"items": [304, 324]},
|
|
persistent=True,
|
|
progression=True,
|
|
silent=True,
|
|
),
|
|
"Night Vision Goggles": ItemDef(
|
|
"Night Vision Goggles",
|
|
net_id(307),
|
|
"inventory",
|
|
{"invnum": 7, "capacity": 400, "max_capacity": 1600},
|
|
),
|
|
"First Aid Kit": ItemDef(
|
|
"First Aid Kit",
|
|
net_id(309),
|
|
"inventory",
|
|
{"invnum": 9, "capacity": 35, "max_capacity": 100},
|
|
),
|
|
"Protective Boots": ItemDef(
|
|
"Protective Boots",
|
|
net_id(310),
|
|
"inventory",
|
|
{"invnum": 10, "capacity": 100, "max_capacity": 300},
|
|
),
|
|
}
|
|
|
|
item_groups["Jetpack"] = {"Jetpack", "Progressive Jetpack"}
|
|
item_groups["Jetpack Capacity"] = {"Jetpack", "Jetpack Capacity", "Progressive Jetpack"}
|
|
item_groups["Steroids"] = {"Steroids", "Progressive Steroids"}
|
|
item_groups["Steroids Capacity"] = {
|
|
"Steroids",
|
|
"Steroids Capacity",
|
|
"Progressive Steroids",
|
|
}
|
|
item_groups["Scuba Gear"] = {"Scuba Gear", "Progressive Scuba Gear"}
|
|
item_groups["Scuba Gear Capacity"] = {
|
|
"Scuba Gear",
|
|
"Scuba Gear Capacity",
|
|
"Progressive Scuba Gear",
|
|
}
|
|
|
|
abilities = {
|
|
"Jump": ItemDef(
|
|
"Jump",
|
|
net_id(350),
|
|
"ability",
|
|
{"enables": "jump"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Dive": ItemDef(
|
|
"Dive",
|
|
net_id(351),
|
|
"ability",
|
|
{"enables": "dive"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Crouch": ItemDef(
|
|
"Crouch",
|
|
net_id(352),
|
|
"ability",
|
|
{"enables": "crouch"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Sprint": ItemDef(
|
|
"Sprint",
|
|
net_id(353),
|
|
"ability",
|
|
{"enables": "run"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Open": ItemDef(
|
|
"Open",
|
|
net_id(354),
|
|
"ability",
|
|
{"enables": "open"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
"Use": ItemDef(
|
|
"Use",
|
|
net_id(355),
|
|
"ability",
|
|
{"enables": "use"},
|
|
persistent=True,
|
|
unique=True,
|
|
progression=True,
|
|
),
|
|
}
|
|
|
|
healing_items = {
|
|
"Atomic Health": ItemDef(
|
|
"Atomic Health", net_id(400), "health", {"heal": 50, "overheal": True}
|
|
),
|
|
"Medpak": ItemDef("Medpak", net_id(401), "health", {"heal": 30}),
|
|
"Bandage": ItemDef("Bandage", net_id(402), "health", {"heal": 10}),
|
|
"Ego Boost": ItemDef(
|
|
"Ego Boost", net_id(404), "health", {"heal": 2, "capacity": 2}, persistent=True
|
|
),
|
|
"Buff Up": ItemDef(
|
|
"Buff Up", net_id(405), "health", {"heal": 5, "capacity": 5}, persistent=True
|
|
),
|
|
"Plutonium Health": ItemDef(
|
|
"Plutonium Health", net_id(406), "health", {"heal": 125, "overheal": True}
|
|
),
|
|
"Uranium Health": ItemDef(
|
|
"Uranium Health", net_id(407), "health", {"heal": 250, "overheal": True}
|
|
),
|
|
}
|
|
|
|
traps = {
|
|
"Celebration Trap": ItemDef(
|
|
"Celebration Trap",
|
|
net_id(500),
|
|
"trap",
|
|
{"trap": "celebrate", "duration": 450, "grace": 1500},
|
|
silent=True,
|
|
),
|
|
"Shrink Trap": ItemDef(
|
|
"Shrink Trap",
|
|
net_id(501),
|
|
"trap",
|
|
{"trap": "shrink", "duration": 250, "grace": 2000},
|
|
silent=True,
|
|
),
|
|
"Death Trap": ItemDef(
|
|
"Death Trap",
|
|
net_id(502),
|
|
"trap",
|
|
{"trap": "death", "duration": 1, "grace": 5000},
|
|
silent=True,
|
|
),
|
|
"Appreciation Trap": ItemDef(
|
|
"Appreciation Trap",
|
|
net_id(503),
|
|
"trap",
|
|
{"trap": "credits", "duration": 600, "grace": 2000},
|
|
silent=True,
|
|
),
|
|
"Paranoia Trap": ItemDef(
|
|
"Paranoia Trap",
|
|
net_id(504),
|
|
"trap",
|
|
{"trap": "nothing", "duration": 1, "grace": 1700},
|
|
silent=True,
|
|
),
|
|
"Battlelord Trap": ItemDef(
|
|
"Battlelord Trap",
|
|
net_id(505),
|
|
"trap",
|
|
{"trap": "spawn", "sprite": 2630, "amount": 1, "duration": 1, "grace": 200},
|
|
silent=True,
|
|
),
|
|
"Caffeine Trap": ItemDef(
|
|
"Caffeine Trap",
|
|
net_id(506),
|
|
"trap",
|
|
{"trap": "hyperspeed", "duration": 300, "grace": 2000},
|
|
silent=True,
|
|
),
|
|
"Octabrain Trap": ItemDef(
|
|
"Octabrain Trap",
|
|
net_id(507),
|
|
"trap",
|
|
{"trap": "spawn", "sprite": 1820, "amount": 2, "duration": 1, "grace": 200},
|
|
silent=True,
|
|
),
|
|
"Lizard Trap": ItemDef(
|
|
"Lizard Trap",
|
|
net_id(508),
|
|
"trap",
|
|
{"trap": "spawn", "sprite": 1725, "amount": 8, "duration": 1, "grace": 200},
|
|
silent=True,
|
|
),
|
|
"Busted!": ItemDef(
|
|
"Busted!",
|
|
net_id(509),
|
|
"trap",
|
|
{"trap": "spawn", "sprite": 2000, "amount": 3, "duration": 1, "grace": 200},
|
|
silent=True,
|
|
),
|
|
"Ooze Trap": ItemDef(
|
|
"Ooze Trap",
|
|
net_id(510),
|
|
"trap",
|
|
{"trap": "spawn", "sprite": 2370, "amount": 14, "duration": 1, "grace": 200},
|
|
silent=True,
|
|
),
|
|
}
|
|
|
|
# These don't have defined values and exist solely to be replaced by unique, seed specifically generated items
|
|
dynamic_items = {
|
|
f"Dynamic{i +1}": ItemDef(
|
|
f"Dynamic{i + 1}", net_id(600 + i), "filler", {}, silent=True
|
|
)
|
|
for i in range(16)
|
|
}
|
|
|
|
all_items: Dict[str, ItemDef] = {
|
|
**junk_items,
|
|
**goal_items,
|
|
**weapons,
|
|
**inventory_items,
|
|
**abilities,
|
|
**dynamic_level_items,
|
|
**healing_items,
|
|
**traps,
|
|
**dynamic_items,
|
|
}
|