From The Mana World
(specialID bit pattern - i have to document this somewhere)
Line 29: Line 29:


== Special IDs ==
== 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 bytes 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:
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)
   0 -- This is a spell and not something else (4 possible)

Revision as of 21:52, 3 July 2009

Roadmap

Proposed roadmap for integration of spellcasting

  1. 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?)
  2. Implement multiple damage spells of each kind
    • Client- and Serversided XML files for spell properties
  3. 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 recharge of its character
    • Spellcasting GUI
  4. 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
  5. Increase spell variety
    • Implement healing spells
    • Implement ability increase/decrease spells
    • Implement status effect spells
    • Implement scripted spells (for very obscure effects)
  6. Implement spellcasting ability for AI controlled monsters
  7. 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.