Whereas the code for Yserbius and Twinion can only run Yserbius style games (and even more specifically, only Yserbius and Twinion), Cawdor runs on a new client/server dungeon crawler engine that is somewhat more generic than the yserbius/twinion specific code that is currently found in the game. This issue will track two things: First, how generic should the new engine be, and second, what yserbius-specific systems must be written to support the new engine. .... this will be a work in progress ....
To evaluate:
Reviewed systems, already generic
- Server Achievements - generic, but I got rid of the achievement bootstrapping, which was not generic.
- Server Automaps - generic, generated by client
- Server BattleSystem - generic.
- Server Guilds, Partying - generic
- Server Treasure tables/picking - generic
- Server Gallery - only 6 slots, otherwise generic. I'm leaving this as is because of the shared names feature.
- Server ChallengeSystem - generic.
Server, may retain Yserbius specific code for Cawdor:
- Entities, Player - Yserbius focused - but NEED NOT REWRITE FOR CAWDOR?!
- Entities, Monster - Yserbius focused.
- Battle - Yserbius focused. This is stateful code and would be difficult to properly rewrite ... and then keep in sync with the original :(
Server, must make generic:
Client, mostly generic.
- Will need to rewrite GameIDs, ModeEditChar, YsAppearanceData and FaceRenderers, SubmodeCombat, identity strings, ability use check, and the tooltip generator for buffs. Most of this will be easy.
- What might be difficult is all the UI elements!
- ClientState - done
Whereas the code for Yserbius and Twinion can only run Yserbius style games (and even more specifically, only Yserbius and Twinion), Cawdor runs on a new client/server dungeon crawler engine that is somewhat more generic than the yserbius/twinion specific code that is currently found in the game. This issue will track two things: First, how generic should the new engine be, and second, what yserbius-specific systems must be written to support the new engine. .... this will be a work in progress ....
To evaluate:
Reviewed systems, already generic
Server, may retain Yserbius specific code for Cawdor:
Server, must make generic:
Client, mostly generic.