# jcw87/c2-sans-fight architecture

> Architecture diagram of the GitHub repository jcw87/c2-sans-fight, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jcw87/c2-sans-fight
- Repository: https://github.com/jcw87/c2-sans-fight

## Overview

Bad Time Simulator is a Construct 2 clone of Undertale’s Sans fight. The tree shows a menu, battle screen, combat event sheets, attack-pattern data, animations, and audio assets; the README also highlights custom attacks. No source excerpts were provided, so the graph identifies these product components but does not assert runtime calls or data flow between them.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_screens["Game screens"]
  node_menu["Main menu<br/>[MainMenu.xml]"]
  node_battle["Battle screen<br/>[BattleScreen.xml]"]
  node_system["System layout<br/>[System.xml]"]
end

subgraph group_combat["Combat systems"]
  node_battle_logic["Battle logic<br/>[Battle.xml]"]
  node_attack_loader["Attack loader<br/>[AttackLoader.xml]"]
  node_timeline["Timeline<br/>[Timeline.xml]"]
  node_input["Input management"]
  node_items["Items<br/>[Items.xml]"]
  node_menus["Menu logic<br/>[Menus.xml]"]
  node_text["RPG text<br/>[RPGText.xml]"]
  node_globals["Global state<br/>[Globals.xml]"]
end

subgraph group_content["Fight content"]
  node_attacks["Attack patterns"]
  node_animations["Animations"]
  node_audio["Sound and music"]
end

node_player(("Player"))

click node_menu "https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/MainMenu.xml"
click node_battle "https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/BattleScreen.xml"
click node_system "https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/System.xml"
click node_battle_logic "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Battle.xml"
click node_attack_loader "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/AttackLoader.xml"
click node_timeline "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Timeline.xml"
click node_input "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/InputManagement.xml"
click node_items "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Items.xml"
click node_menus "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Menus.xml"
click node_text "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/RPGText.xml"
click node_globals "https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Globals.xml"
click node_attacks "https://github.com/jcw87/c2-sans-fight/tree/master/Files"
click node_animations "https://github.com/jcw87/c2-sans-fight/tree/master/Animations"
click node_audio "https://github.com/jcw87/c2-sans-fight/tree/master/Files"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_menu,node_battle,node_system toneBlue
class node_battle_logic,node_attack_loader,node_timeline,node_input,node_items,node_menus,node_text,node_globals toneAmber
class node_attacks,node_animations,node_audio toneMint
class node_player toneIndigo
```

## Components

### Game screens

- [Main menu](https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/MainMenu.xml): `Layouts/MainMenu.xml`
- [Battle screen](https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/BattleScreen.xml): `Layouts/BattleScreen.xml`
- [System layout](https://github.com/jcw87/c2-sans-fight/blob/master/Layouts/System.xml): `Layouts/System.xml`

### Combat systems

- [Battle logic](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Battle.xml): `Event sheets/Battle.xml`
- [Attack loader](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/AttackLoader.xml): `Event sheets/AttackLoader.xml`
- [Timeline](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Timeline.xml): `Event sheets/Timeline.xml`
- [Input management](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/InputManagement.xml): `Event sheets/InputManagement.xml`
- [Items](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Items.xml): `Event sheets/Items.xml`
- [Menu logic](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Menus.xml): `Event sheets/Menus.xml`
- [RPG text](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/RPGText.xml): `Event sheets/RPGText.xml`
- [Global state](https://github.com/jcw87/c2-sans-fight/blob/master/Event%20sheets/Globals.xml): `Event sheets/Globals.xml`

### Fight content

- [Attack patterns](https://github.com/jcw87/c2-sans-fight/tree/master/Files): `Files`
- [Animations](https://github.com/jcw87/c2-sans-fight/tree/master/Animations): `Animations`
- [Sound and music](https://github.com/jcw87/c2-sans-fight/tree/master/Files): `Files`

### Other components

- **Player**
