For the record, here's what happened since my last post (simply copied from the pre-beta document):
TriggersDisplay zone names & zone effects (background sound)Display player names,player name toggleItem attachment points - preview in editorArena - no PK consequencescreated "zone rules"Attach VisualFX to actor typeno support for attaching to anything other than feet currently; also, might not look right when geonans die (effect might stay vertical) -Karlgluck 7/22/09 5:50 PMSpecial FX bindings - be sure hidden scenery bindings are hiddenframeworkimplementation
tools
compilation
Mouse-over-actorEquip ItemsMake client actor manager detect swimming/wading/falling/visibility correctly
All equationsHP, MPMovement Speed, Action Speed
AlignmentMelee Damage/Defense, Spell Damage/DefenseEXP: from party, xp to level, xp from monsterEvent SystemPits & falling into themMelee SystemFix client-server request interactionswimming
Framework
projectile
targeted special effect
managerCreate "projectile" that compiles an event,embed object for ranged weapons
resulted in necessity of extracting old projectiles -> magic -> spells...dynamic event compilerIntegrate framework & types into editor
this actually became unnecessary! all types that require events actually contain the events themselves, and integrate them using the dynamic compiler
Add preview dialog
since the types are dynamic, any preview dialog would have to be container-specific; for example, a preview dialog for ranged weapons, one for spells, etc. so this is unnecessary workEnable compilation of eventsEnable compilation of projectiles in server item description
Integrate event framework into client
acquireResources
disable old projectile/magicfx/magic/spells code
done by assigning 0 to number of array entries in each, assert(false) in loaderbenchmark test: do server and client start up and work normally?
passed!!!create network messages for projectile event management
create projectile event
destroy eventpass messages client-side to the event frameworkenable ranged weapon combat on the server
client to send create projectile/destroy event packets
detect ranged weapon in processAttackRequest
updateRangedAttack
processProjectilesadd 'range' to item descriptionremove old scenery renderer from client
Goal: finished on Thursday, July 30
Test: ability to kill monsters with shots from ranged weapons
Completed: 3:00 PM
extra time spent applying new combat profiles, including swimming profile, and debugging the event framework; all item types are now in the game and should compile into their specializations correctly (added: crossbow, javelin, thrown and spear)
Magic System - Ifinish framework outline
integrate types into editor
shared/magic
shared/magic/toolswrite header for dynamic compiler for magicadd spells framework:
mp cost, listed in classes, casting action, CONTAIN magic
action delay is specified by magic, not by spell--this lets spells' delay go down noticeably at a level-threshold if that is appropriate for a given magic (beam, for ex)
shared/spell
shared/spell/toolswrite tool actions
complete-editor/spell/spellactions
complete-editor/magic/magicactionswrite source file for Tools::MagicCompilercompile types
magic list for server
spells list for client & serverload spell list in clientget rid of old spell descriptionsload magic & spells in server
game-file managerprocessCastRequest
updateUsingMagic
Goal: finished on Friday, July 31
Test: can kill a monster using direct-damage flame attack
Completed: July 31 at 11 pm
remove old projectile/magicfx/magic/spells/enchantments code
sanity check: can 2 players still see each other online? yep, looks good so far
code cleanup - clean out all old stuff that has been replaced so far
Magic System - IIdirect damage
validate distance before applying damageAOE spellshandle request type
fix parameters in editor
packet event types (p->p, p->l, l->l, l->l+p, p->l+p)
updateUsingMagiccreate spell of each type in editor & recompile (save creating & recompiling multiple times later!)
had to change the avatar spells to make referencing work correctly
instead of creating each by hand, write "create spell of each type" methodafter recompiling, I noticed that I had to fix the spell availability mask update code
AOE spells work!
teleport
projectiles
handle request type
updateUsingMagic
portals
processCastRequest
incrementMagicStage
advancePortalsadd chaos effects to opening a portal to an invalid map
write code for raytrace-validating teleports (needed for dimension doors)
fix portal description in editor
rebuild (fix syntax errors), compile new game file with editor
test: dimension door - passed!
mark system
set via text ("mark1" thru "mark0"), handle in Client netmsg
test: self port to mark 1 - passed!
give maps a hashed unique IDsave marks to database on logout
load marks from database at login
invalid map -> chaosspin attack
editor type
processCastRequest
incrementMagicStage
recompile & test
remove radius from spin attack (it's taken from the weapon)
attack run
editor type
processCastRequest
incrementMagicStage - (shouldn't get here--assert!)
updateAttackRun
recompile & test
leap
editor type
processCastRequest
incrementMagicStage - (shouldn't get here--assert!)
updateAttackRun
update client to move character vertically when leaping
recompile & test
heal
editor type
processCastRequest
incrementMagicStage
cure
remove from -hp regen
its just a buff
buff
configurable buff icons in editor
mutations (including flying, levitating)
enchantment - armor
make enchantments show up in character descriptions
enchantment - shield
enchantment - reactive healing
enchantment - thorns
add # limit to all AOEs (bow-spin included)
separate threshold levels
DOT/AOE cloud
aoe-buff
dot-aoe-buff
branching
summon
trap - dimension door
trap - black hole
disenchant
invisibility
Notes along the way:
- terrain blending rules aren't compiled!
need jumping animation
Swimming/javelin profiles
Add javelin & other ranged weapons to item types
Need to fix the swimming profile so that it is applied at first entrance to the water (instead of after first action)
Quite a lot, in other words! I broke off from doing the spells today in favor of implementing the treasure system. Although I haven't created the editing utility yet...it's quite a pain to design...the limited testing I've done indicates that the categorized weighting system works quite well.
We're going to make it!
No comments:
Post a Comment