Commit Graph

155 Commits (ea752c14c65a881920e08fa45fdf0d3678110d6e)

Author SHA1 Message Date
sigonasr2 ea752c14c6 Implemented Improved Ground Slam Enchant. 3 months ago
sigonasr2 60175a20d2 Implemented Concussive Trap enchant. 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. 4 months ago
sigonasr2 33ce153bc8 Implemented Trap Collector Enchant. 4 months ago
sigonasr2 6d7240c765 Change starting location of DOT damage numbers. Fix velocity getting multiplied dramatically when damage numbers stack up and change size. Make gcc happy with unsigned long long cast syntax. Remove pthread flag from CMakeLists. Release Build 11014. 4 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 9df7016f2d Implemented Evasive Movement enchant. Added a player outline decal on a repeating timer. Release Build 10989. 4 months ago
sigonasr2 012f5de2a1 Implement Bloodlust enchant. Fix crash that occurs if the player class is not Warrior or Thief. Release Build 10981. 4 months ago
sigonasr2 c017c353db Normalized player's auto attack variable to now represent its range in units. Privatized it and added a GetAttackRange() function to use instead. Implemented Adrenaline Stim enchant. Release Build 10977. 4 months ago
sigonasr2 e8ffeef5c9 Add timer reset function for the player. Fix black box player afterimage being visible. Release Build 10971. 4 months ago
sigonasr2 2e95355fb9 Added a timer class. Added timers and helper functions to the Player class. Implemented Deadly Mirage enchant. Release Build 10966. 4 months ago
sigonasr2 ab98adf094 Triple Toss enchant implemented. Fix obscure edge-case bug where the camera position, mouse position, and player positions are all equal causing a mouse aiming location length of (0,0) resulting in infinity size velocities. Release Build 10952. 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 7fa02b0f7a Implement Mega Charged Shot. Release Build 10827. 4 months ago
sigonasr2 ab963293d1 Add niconiconii user profile to solution include directories. Implement Extreme Rapid Fire enchant. Release Build 10819. 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 78956e986c Added helper functions for auto attack timer. Added unit test for auto attack timer functions. Implemented Quickdraw enchant. 132/132 tests passing. Release Build 10800. 4 months ago
sigonasr2 859ff52ac2 Last Reserve enchant implemented. Release Build 10798. 4 months ago
sigonasr2 333acfe149 Money displays in inventory windows use smaller shadow text outlines. Release Build 10793. 4 months ago
sigonasr2 00e22877c4 Integrate display color provided in Item Enchant configuration to show up for enchanted items displayed in menus and their descriptions. Release Build 10737. 4 months ago
sigonasr2 0e3d57be24 Move ItemEnchant's attributes into separate private variable allowing us to add a Setter and Getter for the attributes to call UpdateDescription function whenever an attribute is modified. Fix rounding display bug (use round instead of ceil) when comparing improvements/downgrade attributes in the character equip menu. (This handles values like 15.000001 and 14.99999 from screwing up the differential displays). Release Build 10729. 4 months ago
sigonasr2 5dc46664eb Add public Getters for loadout item functions. Implement Wizard's Soul Enchant. Release Build 10708. 4 months ago
sigonasr2 4ca3cf4426 Fixed dumb forced const_cast on GetPos() for player (converted to const ref return type). Added test for Reaper of Souls to validate collection of souls and healing/cooldown effects work. Release Build 10703. 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 62086cbd92 Implemented Emergency Recovery unique enchant. Added unit test. 126/126 unit tests passing. Release Build 10653. 4 months ago
sigonasr2 94bd702ee8 Implemented Second Wind unique enchant. Added unit test. Release Build 10646. 4 months ago
sigonasr2 f84787971d Lethal Tempo unique enchant implemented. Added helper functions for retrieving, writing, and reading buffs easily. Added unit tests for new enchant. 124/124 tests passing. Release Build 10635. 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 68e7446053 Add Enchant API and EnchantItem() function that applies a random Enchant onto an item. Added HasEnchant() check to see if an equip has an enchant for future integration of enchants in the game. Fix money listeners structure not being reset between unit tests. Add unit tests to ensure items receive correct valid enchants and we can properly detect the player has enchants. Release Build 10527. 4 months ago
sigonasr2 c36f783fc9 Tidied up monster drawing functions with portable lambdas to get rid of some copy-pasted code, making draw manipulation simpler. Implement Curse of Death ability. Release Build 10391. 4 months ago
sigonasr2 864b491c46 Adjust all spaces to tabs for consistent whitespace formatting on source files. Implement Throw Poison Ability. Added general Color Mod Buff so coloring targets a certain color based on applied buff is simpler. Release Build 10389. 4 months ago
sigonasr2 ede4bffa7a Trapper's Mark Target and Witch's Curse of Pain abilities should not go on cooldown if no target is found. Added purple glow/outline effect to monsters affected by Curse of Pain. Release Build 10363. 4 months ago
sigonasr2 a35ea5b772 Add cat mew sound effect for Witch Leap ability. Refactor Buffs to include a player/monster callback function when a buff expires. This is used specifically for the curse debuff. Clean up buff update code to use lambdas instead of macros. Release Build 10359. 4 months ago
sigonasr2 21579b7bdf Add cat transform sprite. Added Witch Transform ability parameters. Implemented Transform ability. Fix Trapper Mark unit test since lock on target delays were added. Release Build 10354. 4 months ago
sigonasr2 8df671dcab Add in Witch Transform ability setup. Afterimage setup with scanline removal animation effect for Transform ability. Release Build 10347. 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
sigonasr2 2420d02f24 Make player dot damage numbers fall instead of rise as well. Remove unused originalRiseSpd damage number member. Refactor buff repeat action system to instead use internal hard-coded restoration functions. Include the target of buffs inside the buff classes themselves so they know what to interact with. Updated Player and Monster AddBuff functions to represent new buff constructor requirements. Implemented Bear Trap ability. Refactored Monster Hit callback for bullets to send the amount of stacks a monster had before getting hit which is used as getting hurt removed a mark stack. Release Build 10300. 4 months ago
sigonasr2 b3c5894be7 Switch controller auto-targeting to use logic from Hurt function. This means the auto targeting tries to ensure it hits some target, but prefers a currently vulnerable target over an invulnerable / unhittable one. Cleanup the code to use std::optional. Add in a helper function to get nearest monster. Apply Mark to nearest selected target when Trapper Mark Target ability is used. Release Build 10275. 4 months ago
sigonasr2 f16d10a095 Add 0.1s delay on Hidden Dagger's throw for Thief. Allows the player to potentially jump through a target and being able to hit them with it. Fix Stone Elementals facing the incorrect direction while casting stone pillars. Move 2-8 end ring to more sensible area (in front of Chapter 2 boss arena). Reduce Chapter 2 Boss' and Stone Elemental's collision radius to better match the sprite. Add iframe time when hit by a breaking stone pillar's bullet ring to prevent getting obliterated by standing in the center of the bullet ring. Release Build 10261. 4 months ago
sigonasr2 1614022349 Add unit testing for DOT effects, true damage effects, and applying mark tests to both player tests and monster tests. Fixed bugs related to DOTs not triggering proper damage events and not resetting DOT damage number timers over time. 105/105 unit tests passing. Release Build 10254. 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 fa5031a50b Fix buff items so stat ups for zero intensity values are not applied. Add Move Spd % stat up buff to move speed multiplier calculation function. Boars now lock-on their position when they scratch the ground to prevent surprise turnarounds last second, and make them slightly easier to dodge. Fix bugged pathfinding for Thief Deadly Dash when pointing the cursor at a solid collision tile. Was just absolutely utterly stupidly broken. Fixed of course. Release Build 10183. 4 months ago
sigonasr2 2907fc9865 Add Trapper class new animation sheet. Change XP data size from holding 32 bit integers to 64 bit integers due to higher level EXP numbers overflowing the XP counter. Release Build 10172. 4 months ago
sigonasr2 0e03cb0f67 Add in edge case so movement targeting direction while standing still for Deadly Dash will still work for controllers. Fix bug with Releasing spell key required for precast spells with target indicators, now activate immediately on press. Release Build 10164. 4 months ago
sigonasr2 a763469fa5 Add in adrenaline rush buff. Make attack speed bonuses be applied via modifiers. Release Build 10153. 4 months ago
sigonasr2 0b4b1d6566 Fix Wizards and Rangers being able to override iframe timer when using Teleport and Retreat respectively. Remove last released key state. Seemed redundant when animation facing direction exists. Make player animation changes be reflected in the facing direction variable. Add pathfinding to Thief's Deadly Dash attack so it can't go through barriers. Added new class counterpoints as equippable classes for the prior weapons. Release Build 10146. 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
NicoNicoNii 00bb4fd22a Deadly Dash directional fix + Additive Blending toggle. 4 months ago