(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
==Roadmap== | |||
Proposed roadmap for integration of spellcasting | Proposed roadmap for integration of spellcasting | ||
# Implement the ability for any player to cast a single damage spell of each targeting mode at any time for testing purpose | # Implement the ability for any player to cast a single damage spell of each targeting mode at any time for testing purpose | ||
#* Netcode for casting spells and notifying players about cast spells | #* <strike>Netcode for casting spells and notifying players about cast spells</strike> | ||
#* Server-sided handling of spell damage | #* Server-sided handling of spell damage | ||
#* Client-sided handling of spell visualisation | #* Client-sided handling of spell visualisation | ||
#* <strike>Provisoric user interface for casting spells (command line based?)</strike> | |||
# Implement multiple damage spells of each kind | # Implement multiple damage spells of each kind | ||
#* Client- and Serversided XML files for spell properties | #* Client- and Serversided XML files for spell properties | ||
# Implement restrictions for spellcasting | # Implement restrictions for spellcasting | ||
#* Implementation of spell scrolls for unlocking spells | #* Implementation of spell scrolls for unlocking spells | ||
Line 12: | Line 13: | ||
#* Implement equipment pieces with runes | #* Implement equipment pieces with runes | ||
#* Implement runewriting | #* Implement runewriting | ||
#* Implement spell recharging system | #* <strike>Implement spell recharging system</strike> | ||
#* Implement netcode to inform the player about available spells <strike>and spell recharge</strike> of its character | |||
#* Spellcasting GUI | #* Spellcasting GUI | ||
# Implement spell skill system | # Implement spell skill system | ||
Line 25: | Line 27: | ||
# Implement spellcasting ability for AI controlled monsters | # Implement spellcasting ability for AI controlled monsters | ||
# Public beta test to improve balance | # Public beta test to improve balance | ||
== Special IDs == | |||
Special IDs have to cover magic, weapon-based special attacks and other applications for the special systems (emotes?). They are 32bit long. The first 2 bits decide if it is a spell, physical attack move or something else. How the other applications of the special system use the remaining 30 bit is up to them. Here is how the magic system is going to use them: | |||
0 -- This is a spell and not something else (4 possible) | |||
1 - | |||
2 -- application syllable (64 possibilities, 45 in reserve) | |||
3 - | |||
4 - | |||
5 - | |||
6 - | |||
7 - | |||
8 -- effect syllable element (16 possibilities, 8 in reserve) | |||
9 - | |||
10 - | |||
11 - | |||
12 -- effect syllable power level (16 possibilities, 12 in reserve) | |||
13 - | |||
14 - | |||
15 - | |||
16 -- enhancement syllables bitfield (16 bool values, 9 in reserve) | |||
17 - | |||
18 - | |||
19 - | |||
20 - | |||
20 - | |||
21 - | |||
22 - | |||
23 - | |||
24 - | |||
25 - | |||
26 - | |||
27 - | |||
28 - | |||
29 - | |||
30 - | |||
31 - | |||
Healing spells use different application syllables than attack spells, the element bits are ignored for them and the power level bits are used as-is. Most of the current enhancement syllables don't make sense for healing spells, but I could imagine some new enhancements which do make sense in this context. Maybe we can use these 16 bits for healing-specific enhancements which have a different meanings than the offensive enhancements which use the same bits. |
Latest revision as of 16:42, 17 December 2014
Roadmap
Proposed roadmap for integration of spellcasting
- Implement the ability for any player to cast a single damage spell of each targeting mode at any time for testing purpose
Netcode for casting spells and notifying players about cast spells- Server-sided handling of spell damage
- Client-sided handling of spell visualisation
Provisoric user interface for casting spells (command line based?)
- Implement multiple damage spells of each kind
- Client- and Serversided XML files for spell properties
- Implement restrictions for spellcasting
- Implementation of spell scrolls for unlocking spells
- Keeping track of unlocked spells in the server database
- Implement equipment pieces with runes
- Implement runewriting
Implement spell recharging system- Implement netcode to inform the player about available spells
and spell rechargeof its character - Spellcasting GUI
- Implement spell skill system
- Implement skill exp gain for spells
- Use spell skill level for restricting scroll and spell usage
- Use spell skill level for damage calculation
- Increase spell variety
- Implement healing spells
- Implement ability increase/decrease spells
- Implement status effect spells
- Implement scripted spells (for very obscure effects)
- Implement spellcasting ability for AI controlled monsters
- Public beta test to improve balance
Special IDs
Special IDs have to cover magic, weapon-based special attacks and other applications for the special systems (emotes?). They are 32bit long. The first 2 bits decide if it is a spell, physical attack move or something else. How the other applications of the special system use the remaining 30 bit is up to them. Here is how the magic system is going to use them:
0 -- This is a spell and not something else (4 possible) 1 - 2 -- application syllable (64 possibilities, 45 in reserve) 3 - 4 - 5 - 6 - 7 - 8 -- effect syllable element (16 possibilities, 8 in reserve) 9 - 10 - 11 - 12 -- effect syllable power level (16 possibilities, 12 in reserve) 13 - 14 - 15 - 16 -- enhancement syllables bitfield (16 bool values, 9 in reserve) 17 - 18 - 19 - 20 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 -
Healing spells use different application syllables than attack spells, the element bits are ignored for them and the power level bits are used as-is. Most of the current enhancement syllables don't make sense for healing spells, but I could imagine some new enhancements which do make sense in this context. Maybe we can use these 16 bits for healing-specific enhancements which have a different meanings than the offensive enhancements which use the same bits.