Skip to content

Alpha v0.49.5-rc1

Compare
Choose a tag to compare
@Hitonoriol Hitonoriol released this 11 May 19:25
· 205 commits to master since this release

UPD

Ok. Known bugs:

  • Player sometimes can't start gathering resources after LMB click on an object when not looking at it (fixed? in 18e3876)
  • Weird crafting bug (not again) -- "cancel" button sometimes(!) confirms crafting operation instead of cancelling (fixed in dd79a00)
  • Game doesn't resume focus after clicking on interaction button with RMB (to attack a neutral creature) (fixed in 18e3876)

Changelog

  • Objects built via Build Menu now drop all ingredients when destroyed
  • Placeable objects drop their corresponding item when destroyed
  • Render loot at 85% of tile size instead of 100%
  • Roll ResourceObject loot depending on how much full damage (hp, not harvestHp) has been done to the object

  • Ranged attack

  • NPC ranged attack logic:

    • Approach player if he's farther than <MAX_DST>;
    • Shoot (if able too) or approach player when he's closer than <MAX_DST> but farther than <OPTIMAL_DST>
    • Shoot and don't move if player's <OPTIMAL_DST> or less tiles away
    • Use melee attack if player is 1 tile away

  • NPCs with ranged attack won't shoot if other NPCs are in the way
  • Abilities -- Passive & Active
  • Ability dialog -- use active abilities & view passive ones
  • Store scroll scripts separately from items. Every scroll is just a "base scroll" with randomly picked script and name.
  • Scroll of teleportation -- teleport player to a random unoccupied tile
  • stackability of items is now decided using .equals() instead of just checking if item is a subtype of equipment -- so that other types of items can be non-stackable or stack only by some rule (e.g. scrolls -- all of them have the same item id, but different names & onUse scripts, so <Scroll>.equals() also takes scroll's name into account)
  • Cursed equipment -- can't be unequipped
  • LootTable deserializer + reuse LootTables from pre-defined list in Globals by using "$" prefix -- for example, $table_name

  • ConditionalEffects -- a map with Item predicates and effect lambdas. Used to refresh procedural changes to textures.
  • Currently implemented procedural FX:
    • If equipment piece is cursed (7.5% chance currently), it'll be colorized in red
    • 5% chance to have inverted color
    • 20% chance to have a randomly colorized texture

  • Unequip items on drop
  • Close loot dialog when the last item is picked up, loot drop fix, grab bag fix
  • ClickAction -- one-time BiConsumer that consumes click position (for one-shot skills, etc)
  • Display path from player to cursor when in ClickAction mode (currently can be triggered by pressing Y -- click anywhere on the map to teleport)
  • Pathfinding fixes
  • Pathfinding graph now refreshes as intended on world load

  • Draw projectile trajectory for player/NPC ranged attack
  • Highlight projectile path when hovering over targets with ranged weapon equipped
  • Drop projectile item on the ground on miss + use coords instead of target reference when shooting a projectile

  • Pills -- consumables that are used to gain and levelup Abilities
  • maxCurPathLen -- specify max length for path to mouse cursor in map cell selection mode
  • Blink ability -- teleport for 10 stamina
  • Ability dialog adjustments
  • postGenScript -- executed after all generation steps have been completed for current location

  • Low-kick and Blink abilities are affected by their levels:
  • Low-kick -- +2% damage per level
  • Blink -- +1 cell teleport range per level
  • Each ability levelup requires x2 more pills than the previous level
  • Stack ScriptedConsumables of the same type
  • Colorize scripted consumables differently depending on their type
  • Don't spend subtick time when turning using arrow keys

  • skipTutorials flag
  • AutoCheckBox - refresh specified boolean values automatically on checkbox value change
  • Settings menu adjustments
  • Attack neutral NPCs by clicking on interaction button with RMB
  • Player now can't interact with hostile NPCs (take a quest/trade/...)
  • Healing notification in game log
  • Game context menu adjustments + "Attack" option now uses ranged attack if player has ranged weapon & projectiles equipped
  • Action button adjustments

  • Run ability -- add path to mouse cursor to player's mvmt queue & consume [<path_length> * ability cost] stamina (basically lua-wrapped feature from previous commit)
  • Graph node indexing optimization (sorta) + crash fixes
  • KeyDialog -- dialog for choosing a key for keybindings

  • Ability hotkey binds + Hotbar that displays all binds
  • HotbarAssignable interface -- implemented by Items & ActiveAbilities
  • Key selection dialog adjustments
  • Settings menu crash fix
  • Save prefs on exit
  • Inventory/trading tests & fixes