Definition¶
-
class
ActorData
(key: str = 'none', possible_names: List[str] = <factory>, description: str = 'none', position_offsets: List[Tuple[int, int]] = <factory>, trait_names: List[str] = <factory>, behaviour_name: str = 'none', height: HeightType = 1)[source]¶ Bases:
object
Data class for an actor. Also used to hold and map data from json.
-
class
AffectCooldownEffectData
(effect_type: EffectTypeType = 'affect_cooldown', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, skill_name: str = '', affect_amount: int = 0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for a apply affliction effect. Also used to hold and map data from json.
-
class
AffectStatEffectData
(effect_type: EffectTypeType = 'affect_stat', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, cause_name: str = '', stat_to_target: PrimaryStatType = 'exactitude', affect_amount: int = 0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for an affect stat effect. Also used to hold and map data from json.
-
class
AfflictionData
(name: str = 'none', description: str = 'none', icon_path: str = 'none', category: AfflictionCategoryType = 'boon', identity_tags: List[EffectTypeType] = <factory>, triggers: List[ReactionTriggerType] = <factory>)[source]¶ Bases:
object
Data class for an Affliction
-
class
AlterTerrainEffectData
(effect_type: EffectTypeType = 'alter_terrain', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, terrain_name: str = '', affect_amount: int = 0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for an alter terrain effect. Also used to hold and map data from json.
-
class
ApplyAfflictionEffectData
(effect_type: EffectTypeType = 'apply_affliction', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, affliction_name: str = '', duration: int = 0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for a apply affliction effect. Also used to hold and map data from json.
-
class
BaseValueData
(accuracy: int = 0, damage: int = 0, bustle: int = 0, clout: int = 0, exactitude: int = 0, skullduggery: int = 0, vigour: int = 0, max_health: int = 0, max_stamina: int = 0, resist_astral: int = 0, resist_burn: int = 0, resist_chemical: int = 0, resist_cold: int = 0, resist_mundane: int = 0, rush: int = 0)[source]¶ Bases:
object
-
class
DamageEffectData
(effect_type: EffectTypeType = 'damage', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, stat_to_target: PrimaryStatType = 'exactitude', accuracy: int = 0, potency: float = 1.0, damage: int = 0, damage_type: DamageTypeType = 'mundane', mod_stat: PrimaryStatType = 'exactitude', mod_amount: float = 0.0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for a damage effect. Also used to hold and map data from json.
-
class
DefaultValueData
(move_cost: int = 0, time_per_round: int = 0, reduced_effectiveness_multi_tile_modifier: float = 0.0)[source]¶ Bases:
object
-
class
DelayedSkillData
(creator: EntityID = 0, skill_name: str = 'none', skill_instance: Optional[Skill] = None, duration: int = 0, sprite_paths: TraitSpritePathsData = TraitSpritePathsData(render_order=<RenderLayer.BOTTOM: 10>, icon='none', idle='skills/delayed_skill.png', attack='none', hit='none', dead='none', move='none'))[source]¶ Bases:
object
Data class for a Delayed Skill
-
class
EffectData
(effect_type: EffectTypeType, success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>)[source]¶ Bases:
abc.ABC
Base data class for an effect.
-
class
GameConfigData
(hit_types: 'HitTypeData' = <factory>, base_values: 'BaseValueData' = <factory>, default_values: 'DefaultValueData' = <factory>)[source]¶ Bases:
object
-
class
GodData
(name: str = 'none', description: str = 'none', attitudes: Dict[ReactionTriggerType, int] = <factory>, reactions: Dict[ReactionTriggerType, scripts.engine.internal.definition.ReactionData] = <factory>)[source]¶ Bases:
object
Data class for a god. If a reaction.reactions is a skill name (a str) then the skill name must also be in known_skills.
-
class
HitTypeData
(graze: 'HitInfoData' = <factory>, hit: 'HitInfoData' = <factory>, crit: 'HitInfoData' = <factory>)[source]¶ Bases:
object
-
class
LightData
(radius: int = 0, colour: Tuple[int, int, int] = (0, 0, 0), alpha: int = 0)[source]¶ Bases:
object
Data for a light source. Also used to hold and map data from json.
-
class
MapData
(name: str = 'none', key: str = 'none', width: int = 0, height: int = 0, min_rooms: int = 0, max_rooms: int = 0, max_tunnel_length: int = 0, min_path_distance_for_shortcut: int = 0, max_room_entrances: int = 0, extra_entrance_chance: int = 0, chance_of_tunnel_winding: int = 0, rooms: Dict[str, float] = <factory>, sprite_paths: Dict[str, str] = <factory>)[source]¶ Bases:
object
Data class for a Map, specifically for generation. A map is a collection of rooms. Defines the rooms on the map, how they are placed and joined up ( with tunnels). Also used to hold and map data from json.
-
class
MoveEffectData
(effect_type: EffectTypeType = 'move', success_effects: List[Effect] = <factory>, failure_effects: List[Effect] = <factory>, direction: DirectionType = (0, 0), move_amount: int = 0)[source]¶ Bases:
scripts.engine.internal.definition.EffectData
The data for a apply affliction effect. Also used to hold and map data from json.
-
class
ProjectileData
(creator: EntityID = 0, skill_name: str = 'none', skill_instance: Optional[Skill] = None, target_tags: List[TileTagType] = <factory>, direction: Optional[DirectionType] = None, sprite_paths: TraitSpritePathsData = <factory>, speed: ProjectileSpeedType = 10, travel_method: TravelMethodType = 'standard', range: int = 1, terrain_collision: Optional[TerrainCollisionType] = None, expiry_type: Optional[ProjectileExpiryType] = None)[source]¶ Bases:
object
Data class for a projectile
-
class
ReactionData
(required_opinion: Optional[int] = None, reaction: Union[scripts.engine.internal.definition.EffectData, str] = '', chance: int = 100)[source]¶ Bases:
object
Data class for a reaction.
-
class
RoomConceptData
(name: str = 'none', key: str = 'none', min_width: int = 0, min_height: int = 0, max_width: int = 0, max_height: int = 0, design: str = '', max_neighbouring_walls_in_room: int = 0, chance_of_spawning_wall: float = 0.0, actors: Dict[str, float] = <factory>, min_actors: int = 0, max_actors: int = 0, sprite_paths: Dict[str, str] = <factory>)[source]¶ Bases:
object
Data class for a RoomConcept. Only used in generation.
-
class
SecondaryStatModData
(name: str = 'none', secondary_stat_type: SecondaryStatType = 'max_health', vigour_mod: int = 0, clout_mod: int = 0, skullduggery_mod: int = 0, bustle_mod: int = 0, exactitude_mod: int = 0)[source]¶ Bases:
object
Data class for secondary stats
-
class
SkillData
(name: str = 'none', description: str = 'none', icon_path: str = 'none', cast_tags: List[TileTagType] = <factory>, target_tags: List[TileTagType] = <factory>, resource_type: ResourceType = 'stamina', resource_cost: int = 0, time_cost: int = 0, cooldown: int = 0, targeting_method: TargetingMethodType = 'tile', target_directions: List[DirectionType] = <factory>, range: int = 1, shape: ShapeType = 'target', shape_size: int = 1, uses_projectile: bool = False, projectile_data: Optional[scripts.engine.internal.definition.ProjectileData] = None, is_delayed: bool = False, delayed_skill_data: Optional[scripts.engine.internal.definition.DelayedSkillData] = None, types: List[str] = <factory>)[source]¶ Bases:
object
Data class for a skill. Also used to hold and map data from json.
-
class
TerrainData
(name: str = 'none', description: str = 'none', height: HeightType = 1, blocks_movement: bool = False, position_offsets: List[Tuple[int, int]] = <factory>, sprite_paths: scripts.engine.internal.definition.TraitSpritePathsData = <factory>, reactions: Dict[ReactionTriggerType, scripts.engine.internal.definition.ReactionData] = <factory>, light: Optional[scripts.engine.internal.definition.LightData] = None)[source]¶ Bases:
object
Data class for terrain. Also used to hold and map data from json.
-
class
TraitData
(name: str = 'none', group: TraitGroupType = 'npc', description: str = 'none', sprite_paths: scripts.engine.internal.definition.TraitSpritePathsData = <factory>, sight_range: int = 0, vigour: int = 0, clout: int = 0, skullduggery: int = 0, bustle: int = 0, exactitude: int = 0, known_skills: List[str] = <factory>, permanent_afflictions: List[str] = <factory>)[source]¶ Bases:
object
Data class for a trait. Also used to hold and map data from json.
-
class
TraitSpritePathsData
(render_order: scripts.engine.internal.constant.RenderLayer = <RenderLayer.BOTTOM: 10>, icon: str = 'none', idle: str = 'none', attack: str = 'none', hit: str = 'none', dead: str = 'none', move: str = 'none')[source]¶ Bases:
object
Possible sprites paths for a trait. Also used to hold and map data from json.
-
class
TraitSpritesData
(icon: Optional[pygame.Surface] = None, idle: Optional[pygame.Surface] = None, attack: Optional[pygame.Surface] = None, hit: Optional[pygame.Surface] = None, dead: Optional[pygame.Surface] = None, move: Optional[pygame.Surface] = None)[source]¶ Bases:
object
Possible sprites.