-
Notifications
You must be signed in to change notification settings - Fork 128
Adding New Spell
This is a step-by-step guide on how to add a new spell to the game.
All game settings are implemented with Scriptable Objects, this allows easy modifications at runtime even on server with connected players. Assets and scriptable objects can be created anywhere in the project by right clicking any folder or file in Project Window and selecting any asset in Create menu item. Menu paths for these objects are specified by attribute CreateAssetMenu on asset's class. For example to create SpellInfo select Create/GameData/Spells/SpellInfo in asset menu.
For any asset mentioned below, instead of creating new, already existing assets can be duplicated by selecting and pressing Ctrl+D
- Navigate to Assets/Settings/Balance/Spells and optionally create new folder for your spell
- Create new Spell Info through asset context menu Create/GameData/Spells/SpellInfo
- Create any new Spell Effect Info for Spell Info through asset menu Create/GameData/Spells/Effects/...
- Add new Spell Effect Info asset to list Spell Info "Spell Effect Infos"
- Optional: Rename Spell Info as "[Spell Name] Spell", for Frost Bolt: "Frost Bolt Spell"
- Optional: Rename Spell Effect Info as "[Spell Name] Effect [Spell Effect]", for Frost Bolt damage: "Frost Bolt Effect Damage"
- Configure Spell Info and Spell Effects properties
- Select your Effect assets then drag and drop Spell Asset into bottom field of the inspector and press add to parent
Spells should have at least one Spell Effect to work properly. There is currently no limit for effect amount.
That's it! New spell is created, it should automatically add itself to game balance containers, and self-assign new id. However this is only meta data, to be properly handled on client it requires Visual Effect Info, Sound Info and Tooltip Info, spell should also be added to Class Info to allow casting only for certain class.
- Navigate to Assets/Settings/Visuals/Effect Visuals Spell
- Create new Spell Visual Info, context menu - Create/GameData/Visuals/Spell Visual Info
- Configure icon, cast and impact effects and projectile if needed
- For auras: Spell Aura Info in Create/GameData/Visuals/Aura Visual Info configured the same way
- Navigate to Assets/Settings/Sound/Spell Sound Infos
- Create new Spell Sound Settings, context menu - Create/GameData/Sound/Spell Sound Info
- Sound Entries are created like other settings by copying or in asset menu
- Navigate to Assets/Settings/Localization/Tooltips/Spell
- Create new Spell Tooltip Info, context menu - Create/GameData/Tooltips/Spell Tooltip Info)
- Values in description can be referenced dynamically to avoid updating numbers when balance changes
- New Localized Strings for descriptions and names are created like other settings by copying or in asset menu
- Press "Save Changes" button on localized strings to update all language data
- Navigate to Assets/Settings/Balance/Classes/
- Select any Class Info and add your new Spell to the list Class Spells
To avoid other players with different spells or other conflicting data from joining your game Photon Bolt Version can be incremented here.