Skip to content

Instantly share code, notes, and snippets.

@azarmadr
Last active March 2, 2022 15:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azarmadr/20f23e6569edbd84134d893dbbda0edf to your computer and use it in GitHub Desktop.
Save azarmadr/20f23e6569edbd84134d893dbbda0edf to your computer and use it in GitHub Desktop.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
{
"theme": "light"
}
classDiagram
direction LR
class Chaos{
  <<struct>>
    time
    matter
    desire()
    change()
}
class Genesis{
  <<struct>>
    life
    magic
    sustain()
    color()
}
class Card{
  <<struct|Component>>
    Stats
    Attack
    abilities()
}
class Alien{
  <<OnHold>>
    unfair stats
    unfair abilities()
}
Genesis *-- Card : Life
Chaos *-- Card : Materials

%%Card <|-- Defense
%%Card <|-- Attacker
%%Card <|-- Caster

%%class Defense{ weight~armor~ protect() whack() }
%%class Attacker{ speed~attack~ flurry() }
%%class Caster{ amplify~magic~ replenish() }

class Stats{
  <<struct|Entity>>
    health
    mana
    armor
    speed
}

class Status Effect{
  <<enum|Entity>>
    buff
    debuff
    aura
}

class Turn{
  <<enum|Entity>>
    queue
}

class Attack{
  <<enum|Entity>>
    Melee
    Ranged
    Magic
}
class Action{
  <<enum|Entity>>
    Basic
    Ability
}
Stats "*" --o Card :Registration
Attack "1?" --o Card :Registration
Action "1" --* Card :Registration
Status Effect "n" --* "n" Card :Registration

Turn --> Stats : System
Turn --* Card :Registration
Action --> Attack : System
Status Effect --> Stats : System

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment