Alpha 0.5.2 released. Important features: spells, spell crafting through research and ruins exploration, wolves, new items, new recipes, and more.
The most important feature for this release is the completed implementation of the magic and spell system.
Currently there are only 4 spells in the game, three varieties of direct healing spells, and one fire based direct damage spell. Many more will be coming soon!
Spells are learned from scrolls, which are themselves created using the new Arcane Research and Alchemy crafting disciplines. Once a spell is learned, it goes into your spell book, where it can then be placed onto your action bar.
The recharge indicator on the action bar has been altered slightly. It is now much larger and centered in the button:
Two new crafting stations were added in this release to serve the needs of the two new disciplines. First, the Researcher's Bench:
And second, the Alchemist's Bench:
Raw materials for spell research can be gathered from resource nodes found in the ruins of an ancient civilization that lay scattered about the land. Pages from ancient tomes of lore and magic can be gathered from Scribe's Benches:
Runesources, ancient sources of elemental power, can be gathered from these Arcane Reliquaries:
A new screen has been put in place to indicate the initial client loading process. This is a big improvement over the previous blank white screen, and should help alleviate some of the confusion on initial load:
The full changelog is listed below:
- All dialogs now have a close button.
- Added closeDelegate parameter to net.lugdunon.ui.Dialog.largeDialog(title,w,h,closeDelegate). If this parameter is present, standard close behavior (clicking outside the dialog, or on the close button in the top right of the title) is observed. closeDelegate is expected to be an object with a function named ‘onclose'.
- Fixed an issue with focus not being given to the chat input field immediately upon console toggle.
- Added wolves. AWOOOOOOOOOOOOOooooooo.
- Added a WEAPON.NPC.ANIMAL.SLASH item for animals to use as an attack.
- Updated ruins template with arcane repositories.
- Added a book inventory item and crafting recipe.
- Added reasearcher's bench, and alchemist's bench inventory items, recipes, and placeables. Both research and alchemy are now viable crafting disciplines.
- Updated main website's cookbook section to reflect the new, more moddable recipe and crafting disciplinge structure.
- Reduced the size of the loading screen splash image to < 50kb.
- Added a sorted array of itemIds to the client side global game object.
- Added a sorted array of spellIds to the client side global game object.
- Completed the spell book ui.
- Added net.lugdunon.states.ActionBarGameState. getCurrentDialog() to the client side API.
- Added a grayscale css filter.
- MoveInventoryItemCommand now contains support for spells.
- Added net.lugdunon.command.core.spell. AssignSpellCommand.
- The DirectDamageCommand and DirectHealCommand will now prevent a character from casting a spell they do not yet know.
- A recharging item that falls under several recharge states will display the longest recharge remaining.
- Added net.lugdunon.state.character.Character. knowsSpell(String spellId) to server side API.
- Added net.lugdunon.state.item.Item.isSpell() to server side API.
- All scrolls now have a 10 second cast time.
- Added male and female farmer templates. These templates will allow a newly created character to have everything needed to start a farm.
- Actions can now cause different classes of items to incur a recharge: item, items of a specific type, sub type, or spell type.
- Added net.lugdunon.item.Item. getItemSubType() to client side API.
- Added net.lugdunon.item.Item. getItemSpellType() to client side API.
- Added net.lugdunon.item.Item. getRechargeType() to client side API.
- Added net.lugdunon.state.item.Item. getRechargeType() to server side API.
- Added net.lugdunon.item.RechargingInstance to client side API.
- Added net.lugdunon.state.item. RechargingInstance to server side API.
- The net.lugdunon.command.core.player. ActionPerformedCommand no longer accepts an itemInstanceId as property. It now accepts an item (net.lugdunon.state.item.Item) property in its place.
- net.lugdunon.state.character.advancement.ICharacterStats. itemRechargeInvoked() modified to accept a net.lugdunon.item.Item object instead of an item type String.
- net.lugdunon.state.character.advancement.ICharacterStats. getItemRechargeStatus() modified to accept a net.lugdunon.item.Item object instead of an item type String.
- net.lugdunon.state.character.advancement.ICharacterStats. invokeRecharge() modified to accept a net.lugdunon.state.item.Item object instead of an item type String.
- Added net.lugdunon.state.character.advancement.ICharacterStats. isRecharging(Item item) to server side API.
- Added spellbook data structure to Character class.
- Added Character.listSpellbookContents() to the server side API.
- Added Character.learnSpell(String spellId) to the server side API.
- Added Character.forgetSpell(String spellId) to the server side API.
- Added Character.getCharacterFromData(EnhancedDataInputStream data, long instanceId) helper method to the server side API.
- Added SPELLBOOK_FLAG to CharacterSerializer.
- Added net.lugdunon.input.keybind.dialog. SpellbookToggleKeybinding to the client side API.
- Added net.lugdunon.ui.icon.SpellbookIcon to the client side API.
- Added net.lugdunon.ui.spellbook.SpellbookDialog to the client side API.
- Added net.lugdunon.item.Item.isSpell() to the client side API.
- Added showSpells flag to net.lugdunon.ui.item.ItemSelectorDialog's initData.
- Fixed the loading animation / graphic.
- Fixed font rendering on unit frame name.
- MoveInventoryItemCommand now prohibits the movement of non-instanced items to places other than the action bars.
- Invocation of the PlayerMoveCommand will now interrupt a charged action.
- Added net.lugdunon.command.core.spell. DirectDamageCommand.
- Added net.lugdunon.command.core.spell. DirectHealCommand.
- Added net.lugdunon.state.item.action.spell. DirectDamageActionHandler.
- Added net.lugdunon.state.item.action.spell. DirectHealActionHandler.
- Invoking the same action that is currently charging will no longer interrupt the charging action.
- Spells ignore the damage and attack matrices.
- Added Item.ignoreWeaponMatrices() to the server side API.matrices.
- Added Item.getItemSpellType() to the server side API.
- Added two new resource nodes (reliquaries) for runesources.
- Added items for ‘Lesser Heal', ‘Heal', ‘Greater Heal', and ‘Flare' spells.
- Fixed the client issue of displaying only a white screen at initial startup.
- Recharging status text now displays in a larger, orange font and is centered on the button.
- Fixed an issue causing some text in the recipe editor dialog to render with the incorrect font.
- Added net.lugdunon.state.character.advancement.ICharacterStats. getLootAmount(int dropAmount) to the server side API. This coincides with the harvestBonus advancement effect, which influences all harvested items.
- Added net.lugdunon.state.item.ItemDefinitions. getItemDefs(String itemType) to the server side API.
- Added net.lugdunon.state.item.ItemDefinitions. getItemDefs(String itemType, String itemSubType) to the server side API.
- Placeable item instances now support the gathering of items by type and subtype as well as id.
- Added icons for glass, oil, black, brown, red, orange, yellow, green, blue, and violet phials.
- Added icons for light, shadow, air, earth, fire, and water runesources.
- Added icons for light, shadow, air, earth, fire, and water scrolls.
- Added icons for light, shadow, air, earth, fire, and water pages.
- Added an icon for paper.
- Added items and recipes for glass phials, flax seed oil, black, brown, red, orange, yellow, green, blue, and violet inks.
- Added items for light, shadow, air, earth, fire, and water runesources.
- Added items and recipes for ‘Lesser Heal', and ‘Flare' scrolls.
- Added multiple items for each of light, shadow, air, earth, fire, and water pages.
- Added an item and recipe for paper.
- Scribe's Benches now have a chance of dropping any of the elemental pages.