From 4d078132df0cbf45205a5270cc6e046db3a15651 Mon Sep 17 00:00:00 2001 From: Zoltan Vari Date: Mon, 15 Apr 2024 13:44:29 +0200 Subject: [PATCH] first commit --- .obsidian/app.json | 6 + .obsidian/appearance.json | 5 + .obsidian/canvas.json | 4 + .obsidian/core-plugins-migration.json | 30 ++++ .obsidian/core-plugins.json | 20 +++ .obsidian/graph.json | 22 +++ .obsidian/workspace.json | 185 +++++++++++++++++++++ Attributes/AttackStats.md | 18 ++ Attributes/DamageTypeStats.md | 73 ++++++++ Attributes/DefenseStats.md | 18 ++ Attributes/GSCAttributeSet.md | 14 ++ Attributes/HealingStats.md | 6 + Attributes/Threat.md | 8 + Attributes/Utility.md | 3 + Classes/Mage/Mobility - Teleport.md | 10 ++ Classes/Mage/Primary - Magic missile.md | 16 ++ Classes/Mage/Secondary - Mana Orb.md | 10 ++ Classes/Mage/Special - Lightning Strike.md | 10 ++ Damage/Conditions.md | 32 ++++ Damage/Damage-calculation.md | 27 +++ Damage/Damage-types.md | 24 +++ Damage/Damage.md | 3 + Main Canvas.canvas | 25 +++ 23 files changed, 569 insertions(+) create mode 100644 .obsidian/app.json create mode 100644 .obsidian/appearance.json create mode 100644 .obsidian/canvas.json create mode 100644 .obsidian/core-plugins-migration.json create mode 100644 .obsidian/core-plugins.json create mode 100644 .obsidian/graph.json create mode 100644 .obsidian/workspace.json create mode 100644 Attributes/AttackStats.md create mode 100644 Attributes/DamageTypeStats.md create mode 100644 Attributes/DefenseStats.md create mode 100644 Attributes/GSCAttributeSet.md create mode 100644 Attributes/HealingStats.md create mode 100644 Attributes/Threat.md create mode 100644 Attributes/Utility.md create mode 100644 Classes/Mage/Mobility - Teleport.md create mode 100644 Classes/Mage/Primary - Magic missile.md create mode 100644 Classes/Mage/Secondary - Mana Orb.md create mode 100644 Classes/Mage/Special - Lightning Strike.md create mode 100644 Damage/Conditions.md create mode 100644 Damage/Damage-calculation.md create mode 100644 Damage/Damage-types.md create mode 100644 Damage/Damage.md create mode 100644 Main Canvas.canvas diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..7156082 --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,6 @@ +{ + "defaultViewMode": "source", + "livePreview": true, + "showLineNumber": false, + "rightToLeft": false +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..6975a6f --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1,5 @@ +{ + "accentColor": "", + "theme": "obsidian", + "cssTheme": "" +} \ No newline at end of file diff --git a/.obsidian/canvas.json b/.obsidian/canvas.json new file mode 100644 index 0000000..8c98585 --- /dev/null +++ b/.obsidian/canvas.json @@ -0,0 +1,4 @@ +{ + "snapToObjects": true, + "snapToGrid": true +} \ No newline at end of file diff --git a/.obsidian/core-plugins-migration.json b/.obsidian/core-plugins-migration.json new file mode 100644 index 0000000..436f43c --- /dev/null +++ b/.obsidian/core-plugins-migration.json @@ -0,0 +1,30 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..9405bfd --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,20 @@ +[ + "file-explorer", + "global-search", + "switcher", + "graph", + "backlink", + "canvas", + "outgoing-link", + "tag-pane", + "page-preview", + "daily-notes", + "templates", + "note-composer", + "command-palette", + "editor-status", + "bookmarks", + "outline", + "word-count", + "file-recovery" +] \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..9169058 --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": false, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": false, + "colorGroups": [], + "collapse-display": false, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": false, + "centerStrength": 0.518713248970312, + "repelStrength": 11.7708333333333, + "linkStrength": 1, + "linkDistance": 118, + "scale": 1, + "close": true +} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..24d977b --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,185 @@ +{ + "main": { + "id": "2e2cebce4b317053", + "type": "split", + "children": [ + { + "id": "a14d8495fb07b9e5", + "type": "tabs", + "children": [ + { + "id": "a57564e7d1924167", + "type": "leaf", + "state": { + "type": "canvas", + "state": { + "file": "Main Canvas.canvas", + "viewState": { + "x": 420.000521920668, + "y": 1463.0663883089771, + "zoom": -1.245198381189932 + } + } + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "1ec5ef029443c1d2", + "type": "split", + "children": [ + { + "id": "c6aaf44c58485116", + "type": "tabs", + "children": [ + { + "id": "e9f5cc34d2ec7e4a", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical" + } + } + }, + { + "id": "90150dc2be1653c9", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + } + } + }, + { + "id": "69fe9db6dcc0a6ad", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {} + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "67f826df1877e8ac", + "type": "split", + "children": [ + { + "id": "20575bd1429b7d79", + "type": "tabs", + "children": [ + { + "id": "40a195f2e9d98a40", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "file": "Main Canvas.canvas", + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": true, + "unlinkedCollapsed": true + } + } + }, + { + "id": "fa400241d13d0e4d", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "Main Canvas.canvas", + "linksCollapsed": true, + "unlinkedCollapsed": true + } + } + }, + { + "id": "7e655af3f8d710b5", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true + } + } + }, + { + "id": "e73a0da6d07364d5", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "Main Canvas.canvas" + } + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false + } + }, + "active": "a57564e7d1924167", + "lastOpenFiles": [ + "Classes/Mage/Mage.canvas", + "Main Canvas.canvas", + "Attributes/AttackStats.md", + "Classes/Classes.canvas", + "Attributes/Attributes.md", + "Classes/Mage/Mage.md", + "Damage/Conditions.md", + "Attributes/Utility.md", + "Damage/Damage-types.md", + "Attributes/DamageTypeStats.md", + "Attributes/DefenseStats.md", + "Attributes/GSCAttributeSet.md", + "Attributes/HealingStats.md", + "Attributes/Threat.md", + "Damage/Damage.md", + "Damage/Damage-calculation.md", + "Attributes", + "2024-04-15.md", + "Classes/Mage/Primary - Magic missile.md", + "necrmancy_.png", + "Classes/Mage/Secondary - Mana Orb.md", + "Classes/Mage/Special - Lightning Strike.md", + "Classes/Mage/Mobility - Teleport.md", + "Untitled 1.canvas", + "Classes/Mage", + "2024-04-14.md", + "Character.md", + "Classes", + "Welcome.md", + "Damage", + "create a link.md" + ] +} \ No newline at end of file diff --git a/Attributes/AttackStats.md b/Attributes/AttackStats.md new file mode 100644 index 0000000..afa9919 --- /dev/null +++ b/Attributes/AttackStats.md @@ -0,0 +1,18 @@ +## [AttackStats.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/Attack/AttackStats.h) + +### WeaponDamage + Current damage value of equipped weapon +### Mastery + Current mastery value: Mastery modifes each skill in a unqie way. Exp.: Shoot 1 fireball and 1 additional for every 10 mastery you have (30 mastery = 4 fireball) +### CriticalHitChance + Chance for critical strike +### CriticalHitDamage + Damage multiplier for critical strikes +### ArmorPenetration + Attacks ignore an amount of armor equal to the armor penetration value of the damage source +### AttackSpeed + Increases animation speed +### CooldownReduction + Increases cooldown recovery speed +### HitChance + Chance to hit your target \ No newline at end of file diff --git a/Attributes/DamageTypeStats.md b/Attributes/DamageTypeStats.md new file mode 100644 index 0000000..8777589 --- /dev/null +++ b/Attributes/DamageTypeStats.md @@ -0,0 +1,73 @@ +## [DamageTypeStats.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/DamageTypes/DamageTypeStats.h) + +### Bludgeoning Damage + Increases the damage of Bludgeoning damage (%) +### Bludgeoning Resist + Reduces the damage you take from Bludgeoning damage (%) + + +### Piercing Damage + Increases the damage of Piercing damage (%) +### Piercing Resist + Reduces the damage you take from Piercing damage (%) + + +### Slashing Damage + Increases the damage of Slashing damage (%) +### Slashing Resist + Reduces the damage you take from Slashing damage (%) + + +### Piercing Damage + Increases the damage of Piercing damage (%) +### Piercing Resist + Reduces the damage you take from Piercing damage (%) + + +### Cold Damage + Increases the damage of Cold damage (%) +### Cold Resist + Reduces the damage you take from Cold damage (%) + + +### Fire Damage + Increases the damage of Fire damage (%) +### Fire Resist + Reduces the damage you take from Fire damage (%) + + +### Nature Damage + Increases the damage of Nature damage (%) +### Nature Resist + Reduces the damage you take from Nature damage (%) + + +### Thunder Damage + Increases the damage of Thunder damage (%) +### Thunder Resist + Reduces the damage you take from Thunder damage (%) + + +### Arcane Damage + Increases the damage of Arcane damage (%) +### Arcane Resist + Reduces the damage you take from Arcane damage (%) + + +### Light Damage + Increases the damage of Light damage (%) +### Light Resist + Reduces the damage you take from Light damage (%) + + +### Shadow Damage + Increases the damage of Shadow damage (%) +### Shadow Resist + Reduces the damage you take from Shadow damage (%) + + + + + + + diff --git a/Attributes/DefenseStats.md b/Attributes/DefenseStats.md new file mode 100644 index 0000000..bf69a7b --- /dev/null +++ b/Attributes/DefenseStats.md @@ -0,0 +1,18 @@ +## [DefenseStats.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/Defense/DefenseStats.h) + +### Armor + Reduces damage taken with the given formul stolen from league of legends +### DamageReduction + Multiplies the damage taken by a given value. Exp .5 => 100 * 0.5 = 50 +### BlockChance + Chance to block an attack entirely +### FlatDamageReduction + Reduce damage taken by a flat amount +### CritResist + Reduces damage taken from ciritcal strikes +### Tenacity + Reduce the duration of crowd controll effects +### Shield + Amount of shield. (Shield is damange first instead of hp) +### Shield Decay Rate + Shield decay rate. Shield is reduced by X% of hp / 0.25s \ No newline at end of file diff --git a/Attributes/GSCAttributeSet.md b/Attributes/GSCAttributeSet.md new file mode 100644 index 0000000..a88b7dc --- /dev/null +++ b/Attributes/GSCAttributeSet.md @@ -0,0 +1,14 @@ +## [UGSCAttributeSet.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Plugins/Marketplace/GASCompanion/Source/GASCompanion/Public/Abilities/Attributes/GSCAttributeSet.h) + +### Health + Current health +### MaxHealth + Max health +### HealthRegenRate + Health / .25s +### Mana + Current mana +### MaxMana + Max mana +### ManaRegenRate + Mana / .25s \ No newline at end of file diff --git a/Attributes/HealingStats.md b/Attributes/HealingStats.md new file mode 100644 index 0000000..1497e85 --- /dev/null +++ b/Attributes/HealingStats.md @@ -0,0 +1,6 @@ +## [HealingStats.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/Healing/HealingStats.h) + +### HealingRecieved + Increases the healing you recieve from every source (health regen included) +### HealingPower + Increases the healing power you cast (health regen included) \ No newline at end of file diff --git a/Attributes/Threat.md b/Attributes/Threat.md new file mode 100644 index 0000000..53729ca --- /dev/null +++ b/Attributes/Threat.md @@ -0,0 +1,8 @@ +## [Threat.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/Threat/Threat.h) + +### Threat + The current amount of threat you have +### Generation + Increases the amount of threath your skills generate +### Duration + Increases the duration of threath you generate diff --git a/Attributes/Utility.md b/Attributes/Utility.md new file mode 100644 index 0000000..7ccea57 --- /dev/null +++ b/Attributes/Utility.md @@ -0,0 +1,3 @@ +## [Utility.h](http://192.168.0.9:3000/zoli/MMO/src/branch/main/Source/MMO/Attributes/Utility/UtilityStats.h) +### MovementSpeed + Increases the movement speed of your character \ No newline at end of file diff --git a/Classes/Mage/Mobility - Teleport.md b/Classes/Mage/Mobility - Teleport.md new file mode 100644 index 0000000..88fd5d5 --- /dev/null +++ b/Classes/Mage/Mobility - Teleport.md @@ -0,0 +1,10 @@ +Teleports a short distance towards the mouse position +### Upgrades: + +| ID | Stacking | Description | +| -------------- | ---------- | ----------------------------------------------------------------- | +| ` Mage_TP_01 ` | Linear | Gain increased X% Armor for Y seconds after teleporting | +| ` Mage_TP_02 ` | Linear | Gain increased X% Movement Speed for Y seconds after teleporting | +| ` Mage_TP_03 ` | Linear | Deal X% Arcane Damage at the start and at the end of the teleport | +| ` Mage_TP_04 ` | Hyperbolic | Gain X% chance to reset your cooldowns (except TP's cooldown) | + diff --git a/Classes/Mage/Primary - Magic missile.md b/Classes/Mage/Primary - Magic missile.md new file mode 100644 index 0000000..3603a35 --- /dev/null +++ b/Classes/Mage/Primary - Magic missile.md @@ -0,0 +1,16 @@ +Shoots a projectile that deals X% weapon damage on impact + +| ID | Stacking | Description | +| ---------------- | ---------- | ----------------------------------------------------------------------------------------------------------- | +| ~~`Mage_MM_01`~~ | ~~Unique~~ | ~~Turns magic missile into Fire bolt (Fire)~~ | +| ~~`Mage_MM_02`~~ | ~~Unique~~ | ~~Turns magic missile into Cold bolt (Cold)~~ | +| ~~`Mage_MM_03`~~ | ~~Unique~~ | ~~Turns magic missile into Lightning bolt (Lightning)~~ | +| ~~`Mage_MM_04`~~ | ~~Unique~~ | ~~Turns magic missile into Arcane bolt (Arcane)~~ | +| --- | --- | --- | +| --- | --- | --- | +| `Mage_MM_05` | Linear | Magic missile applies stacking burning for X% of weapon damage | +| `Mage_MM_06` | Hyperbolic | Magic missile gains a X% chance to freeze targets for X seconds, same target cannot be frozen for X seconds | +| `Mage_MM_07` | Hyperbolic | Magic missile gains X% chance to chain to a new enemy | +| `Mage_MM_08` | Linear | Gain 15% chance to shoot an additional projectile dealing X% increased damage | + + diff --git a/Classes/Mage/Secondary - Mana Orb.md b/Classes/Mage/Secondary - Mana Orb.md new file mode 100644 index 0000000..38f55ed --- /dev/null +++ b/Classes/Mage/Secondary - Mana Orb.md @@ -0,0 +1,10 @@ +Teleports a short distance towards the mouse position +### Upgrades: + +| ID | Stacking | Description | +| -------------- | ---------- | ---------------------------------------------------------------------------- | +| ` Mage_MO_01 ` | Linear | Mana orb explodes at the end dealing X% Weapon Damage | +| ` Mage_MO_02 ` | Linear | Gain 1 stack per hit. The next Mana Orb deals X% increased damage per stack. | +| ` Mage_MO_03 ` | Hyperbolic | Slows targets movement and attack speed for X seconds by Y% | + + diff --git a/Classes/Mage/Special - Lightning Strike.md b/Classes/Mage/Special - Lightning Strike.md new file mode 100644 index 0000000..ba93b08 --- /dev/null +++ b/Classes/Mage/Special - Lightning Strike.md @@ -0,0 +1,10 @@ +Line traces for ground or enemy, strikes all nearby enemy with lightning around the impact location +### Upgrades: + +| ID | Stacking | Description | +| -------------- | ---------- | ------------------------------------------------------------------------------------------------------ | +| ` Mage_LS_01 ` | Linear | Strikes enemies X additional times | +| ` Mage_LS_02 ` | Hyperbolic | X% chance to reduce armor on hit by Y% | +| ` Mage_LS_03 ` | Linear | On hit gain a stack. Each second consume a stack and strike a nearby enemy dealing X% lightning damage | + + diff --git a/Damage/Conditions.md b/Damage/Conditions.md new file mode 100644 index 0000000..23386bb --- /dev/null +++ b/Damage/Conditions.md @@ -0,0 +1,32 @@ +## Damage Over Time +### Bleed +Scales with slashing damage + +### Poison +Scales with nature damage + +### Burning +Scales with fire damage + +### Torment +Scales with shadow damage + +## Crowd Controll +### Blind +Reduces target's hit chance to 0 for duration + +### Chill +Reduces target's movement speed by 50% for duration + +### Root +Reduces target's movement speed to 0 for duration + +### Stun +Target cannot make any action for duration + +### Wound +Target cannot be healed for duration + +### Frozen +Target cannot make any action for duration + diff --git a/Damage/Damage-calculation.md b/Damage/Damage-calculation.md new file mode 100644 index 0000000..486faec --- /dev/null +++ b/Damage/Damage-calculation.md @@ -0,0 +1,27 @@ +```cpp +CurrentDamageValue = Source.WeaponDamage * Ability.WeaponDamageScaling + +if : Rand(0,1) < Source.CriticalHitChance + CurrentDamageValue = CurrentDamageValue * Source.CriticalHitDamage * Target.CritResist + if : Rand(0,1) < Source.UberCriticalHitChance + CurrentDamageValue = CurrentDamageValue * Source.UberCriticalHitDamage + +CurrentDamageValue = CurrentDamageValue * Source.GetElementalDamageValue(Ability.DamageType) + +``` +----- +```cpp +if : Target.Armor - Source.ArmorPenetration >= 0 && Target.Armor >= 0 + CurrentDamageValue = CurrentDamageValue * ((ARMOR_EFFICENCY) / (ARMOR_EFFICENCY + (Target.Armor - Source.ArmorPenetration)) +else : + CurrentDamageValue = CurrentDamageValue * (2 - (ARMOR_EFFICENCY) / (ARMOR_EFFICENCY + (Target.Armor - Source.ArmorPenetration)) +CurrentDamageValue = CurrentDamageValue * Target.DamageReduction * Target.GetElementalResistValue(Ability.DamageType) - Target.FlatDamageReduction +if : Rand(0,1) < Target.BlockChance + CurrentDamageValue = 0 +if : Rand(0,1) > Source.HitChance + CurrentDamageValue = 0 +``` +----- +```cpp +return CurrentDamageValue +``` \ No newline at end of file diff --git a/Damage/Damage-types.md b/Damage/Damage-types.md new file mode 100644 index 0000000..95dcdf5 --- /dev/null +++ b/Damage/Damage-types.md @@ -0,0 +1,24 @@ +## Physical + +### Bludgeoning + +### Piercing + +### Slashing + +----- +## Elemental +### Cold + +### Fire + +### Nature + +### Lightning +----- +## Magic +### Arcane + +### Light + +### Shadow \ No newline at end of file diff --git a/Damage/Damage.md b/Damage/Damage.md new file mode 100644 index 0000000..644e897 --- /dev/null +++ b/Damage/Damage.md @@ -0,0 +1,3 @@ +[[Damage-types]] +[[Damage-calculation]] +[[Conditions]] diff --git a/Main Canvas.canvas b/Main Canvas.canvas new file mode 100644 index 0000000..8bd1a1d --- /dev/null +++ b/Main Canvas.canvas @@ -0,0 +1,25 @@ +{ + "nodes":[ + {"id":"f1e3d6aea12604ed","type":"group","x":-720,"y":1440,"width":3020,"height":640,"color":"6","label":"Mage"}, + {"id":"9cf6c76ac7ff9aef","type":"group","x":-720,"y":-60,"width":2960,"height":464,"color":"2","label":"Attributes"}, + {"id":"72005dd92e31e8a5","type":"file","file":"Attributes/AttackStats.md","x":-280,"y":-16,"width":400,"height":400}, + {"id":"b45ec1b765c886d9","type":"file","file":"Attributes/DefenseStats.md","x":140,"y":-16,"width":400,"height":400}, + {"id":"0517ed57a8a42475","type":"file","file":"Attributes/Threat.md","x":980,"y":-16,"width":400,"height":400}, + {"id":"b9fcd04443769431","type":"file","file":"Attributes/Utility.md","x":1400,"y":-16,"width":400,"height":400}, + {"id":"a3bb5d98da574745","type":"file","file":"Attributes/DamageTypeStats.md","x":1820,"y":-16,"width":400,"height":400}, + {"id":"ceb90e90786bd7b4","type":"file","file":"Attributes/HealingStats.md","x":560,"y":-16,"width":400,"height":400}, + {"id":"1c62770f2488f1c4","type":"file","file":"Attributes/GSCAttributeSet.md","x":-700,"y":-16,"width":400,"height":400}, + {"id":"c04b8573dda87112","type":"file","file":"Classes/Mage/Primary - Magic missile.md","x":-700,"y":1500,"width":719,"height":560,"color":"1"}, + {"id":"bc3679640eb6025c","type":"file","file":"Classes/Mage/Mobility - Teleport.md","x":870,"y":1500,"width":610,"height":560,"color":"5"}, + {"id":"56d17c930ccfbf3f","type":"file","file":"Classes/Mage/Special - Lightning Strike.md","x":1540,"y":1500,"width":740,"height":560,"color":"3"}, + {"id":"7983fe47a665f1b6","type":"file","file":"Classes/Mage/Secondary - Mana Orb.md","x":85,"y":1500,"width":715,"height":560,"color":"#0050f0"} + ], + "edges":[ + {"id":"17a1364be249582a","fromNode":"1c62770f2488f1c4","fromSide":"right","toNode":"72005dd92e31e8a5","toSide":"left"}, + {"id":"1215d74efde0a365","fromNode":"72005dd92e31e8a5","fromSide":"right","toNode":"b45ec1b765c886d9","toSide":"left"}, + {"id":"f30b92e724b44e72","fromNode":"b45ec1b765c886d9","fromSide":"right","toNode":"ceb90e90786bd7b4","toSide":"left"}, + {"id":"dc80b6a540e4f36f","fromNode":"ceb90e90786bd7b4","fromSide":"right","toNode":"0517ed57a8a42475","toSide":"left"}, + {"id":"7d93f392839d590d","fromNode":"0517ed57a8a42475","fromSide":"right","toNode":"b9fcd04443769431","toSide":"left"}, + {"id":"c827775f0f387176","fromNode":"b9fcd04443769431","fromSide":"right","toNode":"a3bb5d98da574745","toSide":"left"} + ] +} \ No newline at end of file