85 Commits over 92 Days - 0.04cph!
Potentially fixed a bad angle calculation in CalculateAttackAngle
Added a wip kick move for sword guys
Added a smoke teleport ability to the ranged enemy
Fixed AI getting stuck in attacking state
GoIdle animation event was being ignored if the unit was attacking, which prevented AI from switching to Idle
More shield charge stuff
Really bad effect, impact causes damage
More ability use cleanup/tweaks
More wip shield charge stuff
Shield Charge now knocks down units in path
AI now has the ability to declare if they have a special ability
Want to use this for various unit specific stuff like kicks, shield bashes, etc
Seem to have fixed Time Of Day not working
Trying out a new shield bash enemy, pretty bad right now
Not quite working yet
Added a LoadObject Library node
Seems to work better than the AssetRegistry, even though it's mostly doing the same stuff. Old AssetRegistry logic is still there if we need it.
Added the fire bomb to the loot array
New Fire Bomb projectile
Belt objects now store their projectile instead of using a if sequence on CharacterBase
Bomb carrying effect removal
Getting frozen while carrying a fire bomb will now trigger the bomb and clear the effect locally. Also works in the inverse for freeze bombs and fire traps.
Updated Whats New
Debug Widget now shows names of unused modules
Debug Widget can now show lifetime module stats
Also fixed game not saving if a high score wasn't reached
Added a light source to the fire trap
Some more info on Debug Widget
Lists what modules ahve been spawned as well as how many m,odules haven't been seen in this run.
Also added a custom spectator pawn so we can see the debug widget when running the game with simulate.
Time of Day system now cycles through glow colours
+More Time of Day value tweaks
Increased burn damage on AI Units, breaking a torch now sets the attacking unit on fire
Combat animation changes
Melee bots will now finish their attack instead of stopping mid-animation
Override attack anims on AI characters are now an array that gets used randomly
New combo for Sword guy
MovementState is now set through a method on CharacterBase, not by directly setting the variable (makes debugging easier)
Added a new combo montage for the sword guy, randomly picks between that and the old behaviour
Fixed being able to climb on other unts
Added a GetAllActorsOfClass to DoLedgeTrace which is probably bad for performance - I think this was a recent regression (last successful steam build doesn't have this issue) so not entirely sure what's changed.
New combo for big sword guy
Just one attack, his size makes it difficult for animations to work (swings above players head, sword hits ground,etc)
Barrels can now burn
Wooden shields can now be set on fire and destroyed by fire
Status Effects applied to an actor are now automatically applied to any attached actors, so wooden shield gets set on fire when the holder is set on fire.
Grenades now do x3 damage when used by the player
Some effect visual stuff
Added exposed interval and initial delay controls to fire trap
Fire trap now deals damage
More floor overlap logic
-Added a Box Overlap with Rotation node to the function library
-Back to using classes and not spawning/destroying modules (old logic is still in place)
-Filled in data for the new corner module
-Can turn on debug mode on Gate to auto-generate a level (good for simulating level gen without having to play)
-Fixed a bunch of AI stuff throwing exceptions while game is running in simulate mode
-New floor logic works from an array of connectors so all of the possible connections on a module should be evaluated
Added a fire trap that burns actors
More status effect reworks
-Particle FX and SFX are now stored on the effects manager and are spawned/removed by the manager
-Can now specify per-actor what effects are valid
-Added a burning effect with FX, no in-game way to triggger it right now
Fixed wrong equip slot on torch
Removed some logs
Modules can now set a prerequisite module
A module won't be spawned until the player has seen the prerequisite module.
Modules encountered by the player are counted and stored in the Stats class
Refactored exisitng freeze effect into a new StatusEffectsManager
Should be able to support more status effects going forward (poisoned/on fire/electrocuted/etc) and allows for status effects to be applied to non-character actors.
Added the manager to the spinning trap, so freeze grenades will now freeze it's movement for 10 seconds.
Hopefully fixed build errors in ItemInfo struct
Might explain weird data loss on interactable items
Fixed a bunch of items with incorrect iteminfo
Affected shields, keys and grenades
Fixed unit "hopping" when hit
IsInAir on AnimBP will now be false if the character is being pushed
Really WIP weapon switching and better flee management for AI's
Should only affect ranged enemies, probably still has issues
DeathVolume now destroys any items that fall off the world
Also fixed bombs not flying correctly if the player throws them off the world and bombs not cleaning up their decal if they miss their target
First pass on a system for detecting active module overlaps
Still has some rotation/detection issues and isnt working on ghosted modules, but it's a start
Brightened night-time, fixed ai not dropping keys
Fix PlayerController consuming inputs on gamepad
Can now toggle the debug view with f9
Hopefully fixed player movement breaking when frozen in mid-air
Clamped hieght of dropped keys so that they should reliably appear above the ground
Player will now automatically equip starting items after first run
Game restart logic now happens in GameInstance, session management should probably live there
Fixed being able to open a chest while standing on top of it
Refactored some Interactable logic to make it easier to put a different interactable primitive trigger on an object. To put a new trigger:
Make a new primitive and override: GetInteractableTrigger
Subsciribe to the Begin/End Overlap events for the new trigger
Look at LootChest to see an example, made a new box collider for the cehst so it can only be opened from the front (not top or back)
Started detecting gamepad/mouse keyboard changes
Internal logic in place, just needs new assets
Player now holds torch steady in front of body
Fixed Whats New Menu option not fading out properly
Also fixed whats new showing every boot
Reworked What's New screen to be more dynamic and have gifs!!
Seriously, gifs!
Can also now open the What's New screen again after closing it
Replaced some IsStandalone checks with IsRunningInEditor
Pretty sure IsStandalone will always be true in this game (we have no MP)
Added a really dull light to the player at night
Parented to camera, should be really subtle
Fixed AI's getting stuck after being staggered
Tweaked stagger behaviour
Character now stores an attack counter, goes up each time the character attacks
AI can now no longer be staggered if they haven't done an attack since their last stagger
Disabled physics bone animations
Think this is what was causing bad hit detection during combos