Commit Graph

115 Commits (b36e5b449d2add4d57717eeb608e238eb86a5ee4)

Author SHA1 Message Date
sigonasr2 b36e5b449d Refactor testing suite to reduce boilerplate. 3 months ago
sigonasr2 719ed53923 Change MapType to use an enum instead. Add a HUD message overlay system. Disable ability for players to swap equipment during a stage. Update all maps to use MapType enums. Release Build 11084. 3 months ago
sigonasr2 d224740fd4 Implemented Shield mechanic into the game. Fix Special Mark Enchant test and Wizard's Soul Enchant test. Release Build 11062. 3 months ago
sigonasr2 60175a20d2 Implemented Concussive Trap enchant. 3 months ago
sigonasr2 9005771f77 Fix up Opportunity Shot test to check with actual accessory equipped. Move camera initialization to a function. Camera starts at actual target location immediately (instead of lazy follow). Fix bug with lazy follow camera becoming ridiculous at low frame rates (>0.25s updates). MonsterData now provides a default collisionRadius in the constructor. 159/159 Tests Passing. Release Build 11039. 3 months ago
sigonasr2 45e6027c9e Move the player outline repeating timer into a new OnLevelStart() callback for the player. Fixes a bug where the player outline will no longer update after the initial stage. Added more player timer helper functions for better control. Release Build 11031. 3 months ago
sigonasr2 7ae7d3dcb3 Fix DOT buffs not counting down if their timers are intentionally reset. Tick timers are now independent of their duration timers. Make ONE_OFF effect more clear with extra comments. Fix Damage reduction test, which is supposed to report a 75% max damage reduction, even if a piece of equipment has 100% damage reduction. Separated the main buff type and the restoration type variables for DOT buffs so we can still identify them if we need to. Added three new constructors. Added helper AddBuff functions to Monster and Player accordingly with the new changes. Fix SpawnMonster not returning the correct reference to an object (was returning the reference to the termporary storage container). Refactored Buff Blend colors with some lambda functions. Implemented Burning Arrow enchant. Release Build 11008. 4 months ago
sigonasr2 e43798fa9a Add cooldown charge system. Abilities can now only be used when they are holding charges. One charge gets restored for each full cooldown duration. The cooldown timer stops going down when maximum charges are reached. Fix item tests to use cooldown charges. Add in item checks for CDR test (Items should not be affected by CDR). Add GetPlayerAbilities function to collect and manipulate all player abilities at the same time (cleaner code structure + easier test functionality). Add helper functions util::vformat and util::wformat and to_wstring to make code using the std:: versions much more concise. Add unit test for cooldown charges system. Add helper functions to reset abilities to their original stats before enchant modifications tweak them. Added a helper function to retrieve which ability an enchant affects. Adapt ability HUD with new charge count features. Add Mountain theme to Chapter 2 maps. Multi-Multishot Enchant implemented. Release Build 10901. 4 months ago
sigonasr2 214759c606 Map UVs to original cooldown circle indicator instead. Create a DrawPieArc function to render pies with a UV mapped texture from the center outwards. Remove donut circle indicator generating code. Reduce max vertex count of engine back from 256 -> 128 to maintain low memory footprint. Release Build 10846. 4 months ago
sigonasr2 97a9025830 Donut circle cooldown indicator test code. 4 months ago
sigonasr2 3d1d14ea2d Implemented Poisonous Arrow enchant. Include unit tests. Release Build 10813. 4 months ago
sigonasr2 150a72db73 Implemented Poisonous Arrow enchant. Release Build 10810. 4 months ago
sigonasr2 300e9834c7 Add UpperZone and LowerZone TMXParser's Map Constructor. This way we don't have to specify the zones ourselves creating invalid maps during testing. Added Reaper of Souls enchant unit test. Add unit tests for equipping two rings of the same enchant. Unique and class enchants behavior modified to not double up. 128/128 unit tests passing. Release Build 10694. 4 months ago
sigonasr2 cfd73ab036 Implemented Death Defiance enchant. Correct shadow render strings being square (not using proper Y sizes to create cached text). Move game configuration initialization out to global scope to allow config variables to be used when initializing the AiL class. Release Build 10670. 4 months ago
sigonasr2 23673ec2af Added unit tests for new strip leading color and final render color engine rendering functions. Fixed rendering bug with text elements of different HTML color codes but with same content not having rendering with the correct color code. Fix potential memory leak errors occurring with rendering Font versions of shadow strings that would have different pulsating colors w/same text content. Added an admin console and added the ability to give the player items and accessories with enchants. Also added a help command. Change version number to appear red while in admin mode (as a visual). Unlock all button tied to admin mode. Release Build 10604. 4 months ago
sigonasr2 2f244e21ff Added stat-based item enchant checks. Remove friend class dependencies from unit tests and added appropriate publicly exposed functions. Release Build 10538. 4 months ago
sigonasr2 97040ef051 Add automated script to apply all assets to the unit testing framework each run. Add new runtime warning for RowInventoryScrollableWindowComponent items that have item boxes larger than the actual component. Move testingMode flag for AiL class to be set before game configurations are read. Add branch for reading specific unit test game configuration files. Include unit test-specific images and configs committed to repository. Add Disassemble function to inventory class. Add Disassemble item test. Fix issues with extra stray shared pointers lingering everywhere when adding/removing items and grabbing their references. Make Stage Loot/Monster Loot have brand new shared pointers to items (copy instead of strong reference) so weak pointer references to existing items actually expire and behave as expected. Move Monster Loot and Stage Loot clear calls to the switch to Overworld Map trigger. Release Build 10476. 4 months ago
sigonasr2 98208fb3e0 Refactored monster list to use shared pointers instead of unique pointers. Converted all raw monster pointers that needed to store monster data to use weak pointers instead in case a monster gets despawned while owning object is still alive. Implemented Witch's auto attack, added turn_towards_direction function for homing ability. Fixed player reflections being drawn without additive blending. Added 30s cooldown to Trapper's Explosive trap ability. Release Build 10345. 4 months ago
NicoNicoNii a3495d6c16 [Compiler Error] Implement delayed lock-on targeting when multiple targets get marks at the same time (for more dramatic effect) 4 months ago
sigonasr2 3830ba8840 Adjust collision radius default based on monster's sheet frame size. Use defined collision radius of a monster instead of 12*SizeMult as that is the actual radius for HurtMonsterType() damage calls (fixes large stone hitting pillars a little too wide in the chapter 2 boss fight). Refactored Bullet check systems to include damage flags: DOT, PLAYER_ABILITY, and NONE. Player abilities flags assigned to all auto attack and abilities that players can launch, in preparation for marked target proccing. Mark Target buff detection added, Mark buff added. Reorganized bullet hierarchy, turning the default bullet into an interface and making the normal Bullet class a base child class all Bullets derive from. Added HurtDamageInfo structure, which is passed onto bullets to modify flags before being applied to the Hurt function when bullets hit targets. Changed all storage containers holding Bullet classes to now hold IBullet classes. Release Build 10248. 4 months ago
sigonasr2 c656b935e1 Added a non-foreground dark tile for bridges to place below areas that are above ground shadow tiles. Redesigned how reference tilesets were stored in TilesheetData and TilesetData structures such that they could be std::sort'd without causing reference bugs/glitches. Release Build 10217. 4 months ago
sigonasr2 bc27f18178 Add a distinct sound effect when Hidden Dagger hits a target. Deadly Dash's sound effect updated with a harder hitting sound. Add iframes at the end of Deadly Dash's attack. Footstep playing code now moved into its own function. Appropriate footstep sound plays while Roll is performed. Release Build 10116. 4 months ago
sigonasr2 6620dbe1b4 Add in zoom targeting and ease-in functions for the camera system. Release Build 10094. 4 months ago
sigonasr2 aaea75c6c6 Added Item Tests file. Added a check to make sure item loadout slot is not blank when attempting to use the item loadout slot. 95/95 tests passing. Release Build 9944. 5 months ago
sigonasr2 34515cec76 Add Heal function for monsters. Make player stat functions const return. Add Missing Health bonus stat from buffs. Refactor names of stat functions to be more explicit. Add more stat buff and pct buff checks. Fix up discrepancies with how stat up buffs work for the player. 53/53 passing tests. 5 months ago
sigonasr2 dba8ee124d Add a proximity knockback overload function that handles hurt list target types instead. Make large stone toss knockback only apply to targets actually hit. Release Build 9837. 5 months ago
sigonasr2 c879cafe1e Targets already in the air should not be knocked back. Fix image loading dependencies internally within the engine so they work even during unit testing. Rearrange some item initializing functions to occur after the GFX map is reset so all graphics are loaded properly. Release Build 9835. 5 months ago
sigonasr2 6274dcefb1 Refactor ability use skills to be testable. Add in basic player damage check and ability use unit tests. 5 months ago
sigonasr2 b617120867 Implement unit tests for the project. Fix Display Name bug (found in InternalNameCheck unit test). Add Monster Unit Tests. 5 months ago
sigonasr2 053e2ba724 Only adjust DPS boss damage counter for monsters spawned and considered part of the boss fight. Add in ability for attacks to deal true damage. Change hurt function to handle a True Damage Flag. Stone Throw now breaks pillars it hits. Release Build 9675. 5 months ago
sigonasr2 a66edefc19 Fix distance check mismatch with actual hurt range of the large stone toss. Knockback collisions now match the Hurt collisions. Add a universal knockback function. Release Build 9659. 5 months ago
sigonasr2 764fdfb06d Fix redistribution scripts and Linux scripts. Linux scripts now detect if Steam is installed and if the game properly initializes with steam. If it does not, it will restart itself to run in nosteam mode. Added the ability to read command line arguments into the game. Release Build 9441. 6 months ago
sigonasr2 46ee54d7c5 Fix bug with double rendering. Not using iterator marker to determine what else to draw. Fix bug with maximum health not healing to maximum when health is affected by Health %. Refactored wind speed to be a global value within the game's engine. Included speed reduction properties for wind when warrior blocks. Include projectiles/player being affected by wind and casting to be allowed when pushed by wind. Release Build 9507. 6 months ago
sigonasr2 3c47cb908e Added an overlay control class. Optimize and rearrange rendering order of bullets and effects such that all bullets now appear above monsters. Fix a bug involving some objects that are supposed to appear behind the player end up in front when they are aligned on the same tile row. Preparations for wind attack. Release Build 9482. 6 months ago
sigonasr2 e53f7cb4cd Add rotation parameter and hit iframe time to bullets. Iframe timers now compares current iframes to the new duration and keeps only the larger amount. Fix bug allowing monsters with jump attacks to still cause knockback and iframes even when the hit does not land. Fly Across attack implemented for second bonus boss. Release Build 9447. 6 months ago
sigonasr2 2d2c123c33 Move damage numbers to be rendered on top of the HUD instead of below it. Add in boss indicators that appear while a boss is off-screen. Fix bugs with knockback buffs being applied in the wrong location, making them effectively useless. Fix bugs with player velocity being nan when standing directly on top of a monster spawn. Fix idle animation during stone elemental rock toss cast. Reduce enemy collision hitboxes to more sensible and playable numbers with new collision system. Release Build 9413. 6 months ago
sigonasr2 1d5d4d8240 Implement rock toss and stone pillar spawning behaviors for stone elemental. Refactor HurtEnemies functions to instead hurt any target with targeting flags. Fix bug with player to monster collision not respecting new collision radii. Release Build 9318. 6 months ago
sigonasr2 3e68c9ac9e Update Stone Pillar graphic. Update Stone Pillar Monster data. Include a do nothing strategy. Implement immovable property for monsters. Implement Invulnerable property for monsters. Implement lifetime property for monsters. Include a fadeout timer for when the lifetime expires. Implement capability for monsters to be deleted from the map. Release Build 9271. 7 months ago
sigonasr2 3fafcd39f3 Implement mounted monster behavior and animations that run separately from the main monster itself. Added Goblin Boar Rider AI and Goblin Bow (while on Boar Rider) AI. Added spawn of submonster on death of main mounted monster. Release Build 9199. 7 months ago
sigonasr2 64dc8bcf10 Enforce const-ness across tilesets to ensure copies and writes are explicitly allowed. Release Build 8990. 7 months ago
sigonasr2 ed0d5e2507 Boar test behaviors and general AI implemented. Release Build 8958. 7 months ago
sigonasr2 eb9114406e Change checkmark from being two line decals to being a single decal. (Note: There is a bug with ViewPort PGEX's line clipping.) Fix scrolling navigation for menus where the navigation doesn't reset the actual scrolling. Corrects Issue #37. Added exit ring indicator on minimap. Auto Pause game setting added. Auto Pause behavior changed to only pause on taking damage when the window is not focused. Release Build 8901. 8 months ago
sigonasr2 3c65db545d When the game loses focus, the game will autopause during exploration. Release Build 8879. 8 months ago
sigonasr2 77e2a654f4 Minimap follows camera instead of player. Minimap view setting is now saved in player configuration. Added controller option for minimap toggle input. Release Build 8875. 8 months ago
sigonasr2 e59ace87f3 Implement a ViewPort for the minimap as a full circle. Fix a bug with ViewPort PGEX having hardcoded 4 sides for displaying decals. Release Build 8815. 8 months ago
sigonasr2 205a974a7b Setup chunk data structure and move black minimap outline rendering to the sprite instead of doing it in the decal rendering. Release Build 8767. 8 months ago
sigonasr2 a81169cd7f Color mode sampling on tiles to determine minimap colors. Release Build 8703. 8 months ago
sigonasr2 914b55e4c1 Minimap generation implemented. Release Build 8675. 8 months ago
sigonasr2 133dc1a2e0 Fix bug with leaving a stage via the pause menu while not having cleared a stage causing the unlock to still occur. Release Build 8656. 8 months ago
sigonasr2 5cc7139025 Address Issue#45. Pressing opposite movement keys now properly stops animation. Movement with analog stick now properly sets last moved direction key as well instead of facing last digital input direction. Velocity is now applied and footsteps factor in total velocity before playing. Fixed a bug where the game could be closed by the player during a file save, causing the hash of the file to potentially become corrupted and unplayable. Fix some tiles at the end of 1-1 to match the underlying color of the surrounding forest. Removed erroneous upwards path from base camp on the world map. Release Build 8630. 8 months ago