Stepwise/source/entity_types.py
Kayne Ruse 6a42bb8c59 Added confusion, fireball, and various utils
While the scrolls themselves won't be around forever, the tools used to
make them work will be.
2025-04-06 17:20:08 +10:00

69 lines
1.7 KiB
Python

from entity import Entity
from ai import BaseAI, AggressiveWhenSeen
from stats import Stats
from inventory import Inventory
import useable
import colors
#player and utils
player = Entity(
char = "@",
color = colors.white,
name = "Player",
walkable = False,
ai_class = BaseAI, #TODO: remove this or dummy it out
stats = Stats(hp = 10, attack = 2, defense = 1),
inventory=Inventory(),
)
#monsters - gobbos
gobbo = Entity(
char = "g",
color = colors.lime,
name = "Gobbo",
walkable = False,
ai_class = AggressiveWhenSeen,
stats = Stats(hp = 5, attack = 1, defense = 0),
)
gobbo_red = Entity(
char = "g",
color = colors.red,
name = "Red Gobbo",
walkable = False,
ai_class = AggressiveWhenSeen,
stats = Stats(hp = 1, attack = 2, defense = 0), #this guy can't catch a break
)
#items - conumables
potion_of_healing = Entity(
char = "!",
color = colors.green,
name = "Potion of Healing",
walkable = True,
useable=useable.PotionOfHealing(consumable=True, current_stack=1, maximum_stack=255),
)
scroll_of_lightning = Entity(
char = "!",
color = colors.goldenrod,
name = "Scroll of Lightning",
walkable = True,
useable=useable.ScrollOfLightning(consumable=True, current_stack=1, maximum_stack=255, minimum_range=0, maximum_range=6),
)
scroll_of_confusion = Entity(
char = "!",
color = colors.navajo_white,
name = "Scroll of Confusion",
walkable = True,
useable=useable.ScrollOfConfusion(consumable=True, current_stack=1, maximum_stack=255, minimum_range=1, maximum_range=6),
)
scroll_of_fireball = Entity(
char = "!",
color = colors.orange_red,
name = "Scroll of Fireball",
walkable = True,
useable=useable.ScrollOfFireball(consumable=True, current_stack=1, maximum_stack=255, minimum_range=1, maximum_range=6),
)