Commit Graph

131 Commits (d9f84336f2dcdbb2d65a8d7e945c135d0b4816fb)

Author SHA1 Message Date
sigonasr2 fd1a7a6597 Cleanup and fixes to buff tests. 3 months ago
sigonasr2 4f18cd41fb Fix sound effect bug when lightning bolt hits a player (doesn't currently happen in-game). Implement Chain Lightning. Release Build 11328. 3 months ago
sigonasr2 5b7c25df46 Add in map_range util function. Fix up FadeInOutEffect to still behave with its old behavior for Poison Pool while enabling new oscillating behaviors for size/color. Add in unit test for map_range. Implement Black Hole Enchant. Release Build 11250. 3 months ago
sigonasr2 6d4de7940b Implemented Curse of Doom. Release Build 11188. 3 months ago
sigonasr2 e8ead7e07b Implemented Pooling Poison enchant. Fix True Damage and Dot flags ignoring dead monsters and still applying damage. 191/191 Unit Tests passing. Release Build 11173. 3 months ago
sigonasr2 b0ee888b83 Implemented Spreading Pain enchant. Made applied buffs not immediately start ticking down on the same frame as they are applied since that causes some strange interactions with chained deaths. Release Build 11152. 3 months ago
sigonasr2 a9078622f2 Fix bug with multi-hit bullets not allowing their collision checks to be disabled mid-sequence. Add capability for derived bullet types to re-activate themselves. Bouncing Orb Enchant implemented. 181/181 unit tests passing. Release Build 11106. 3 months ago
sigonasr2 976cc7a0b7 Fix bug with multi-hit bullets not allowing their collision checks to be disabled mid-sequence. Add capability for derived bullet types to re-activate themselves. 181/181 unit tests passing. Release Build 11106. 3 months ago
sigonasr2 220bf9d655 Sonic Upgrade Enchant implemented. 3 months ago
sigonasr2 182e492991 Added Training Dummies to camp. Release Build 11085. 3 months ago
sigonasr2 9da3e946e3 Implement Slam Shock enchant. Add stun effect to monsters. Release Build 11079. 4 months ago
sigonasr2 d224740fd4 Implemented Shield mechanic into the game. Fix Special Mark Enchant test and Wizard's Soul Enchant test. Release Build 11062. 4 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 6002f69dfa Long-Lasting Mark Enchant Implemented. 153/153 Tests Passing. Release Build 11020. 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 012f5de2a1 Implement Bloodlust enchant. Fix crash that occurs if the player class is not Warrior or Thief. Release Build 10981. 4 months ago
sigonasr2 9ba98a032e Backstabber enchant implemented. Fix audio transition fades suddenly not working. Release Build 10944. 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 9a65b731e9 Implement Reaper of Souls Enchant. Fix text rendering bug with really small pixel values getting clamped by integer scaling causing the cached text to be cut off. Release Build 10683. 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 05af68f8d0 Fix crashes when forgetting to validate monster weak pointer references were actually valid (NPC targeting produces null pointer results.) Release Build 10421. 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. 5 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. 5 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. 5 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. 5 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. 5 months ago
sigonasr2 4a7ad23196 Make knockups pause monster strategies. Fix Effect drawing code being invisible if their fadein timer was zero. Add explosion sound effect to Trapper's Explosive Trap ability. Add knockup and 100% temporary slowdown to Trapper's Bear Trap ability. Release Build 10324. 5 months ago
NicoNicoNii a3495d6c16 [Compiler Error] Implement delayed lock-on targeting when multiple targets get marks at the same time (for more dramatic effect) 5 months ago
sigonasr2 8903410848 Add sound effect for Mark Target ability. Release Build 10303. 5 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. 5 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. 5 months ago
sigonasr2 60b45cf6b1 Add visual indicator/graphics for Trapper Mark on targets. Added TriggerMark and ApplyMark helper functions. Release Build 10264. 5 months ago
sigonasr2 540f0c39ae Added TriggerMark convenience function and appropriate unit test for it. 5 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. 5 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. 5 months ago
sigonasr2 8e3cdf9d14 Fix Stage Plates 2-6,2-7,2-8, and 2-B to point to their respective stages. Move the additional pillar spawning code outside of the regular boss' phase cycle since it's supposed to happen while the boss does other things according to the original spec. When new pillars appear/disappear, recalculate the safe areas dynamically. Release Build 9974. 5 months ago
sigonasr2 717f4551ea Stone pillars now use a separate rectangular collision to determine hiding zones, preventing the player from hiding along the outer edges of the pillar. Release Build 9948. 5 months ago
sigonasr2 d049676080 Convert monster stats to calculate using stat up bonuses instead of manual calculations. Release Build 9922. 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. 6 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. 6 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. 6 months ago
sigonasr2 b617120867 Implement unit tests for the project. Fix Display Name bug (found in InternalNameCheck unit test). Add Monster Unit Tests. 6 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. 6 months ago
sigonasr2 9f88460c0e Add RepeatingSoundEffect class to allow easy creation and handling of looping sound effects ingame. Add rock breaking, rock toss cast, pillar rise, dig sound effects. Fix typo on Hawk Feather item description key name. Placeholder item icons added. Add sound effects to Stone Elemental's attacks. Release Build 9656. 6 months ago
sigonasr2 82faa111bb Finish stone throw phase/animation for 2nd chapter boss. Adjust animation frames slightly. Correct stone positioning of rock before throw. Rock throw no longer continues rerolling every game frame while Bear AI is running. Release Build 9648. 6 months ago
sigonasr2 02b06424a9 Knockbacks are disabled on solid monsters. Add in small knockback effect on stone throw hit. Release Build 9641. 6 months ago
sigonasr2 daad7d82fb Monsters that ignore terrain collision should not be moved by other solid objects. Hide fade timers and the internal UpdateFadeTime function from inherited bullet types. Add large stone graphic. Apply fixed time step to large stone throw. Add in physics for large stone throw attack. Release Build 9630. 6 months ago
sigonasr2 480039d64c Fix bug with monsters being able to move solid objects. Make second chapter boss ignore terrain collision. Fix bug with bear slam attack causing knockback to the player when it would hit a monster. Release Build 9613. 6 months ago
sigonasr2 bcbe58eebd Revamp Player vs Monster collision code. Add in handling for solid objects causing the player to run against the object instead of bouncing off of it. Make solid monsters (pillars) have transparency like foreground terrain when looking behind them. Add terrain collision boxes for these as well. Release Build 9610. 6 months ago