Commit Graph
3430 Commits
Author SHA1 Message Date
Kam e54a9a83bb Create IAbilityEffect + Concurrent Ability Support for Chained Abilities 2026-02-19 12:55:37 -05:00
Kam 1e45d96253 Fix DBC Flying Issue with Abilities 2026-02-19 03:12:59 -05:00
Kam 6fdf9daf24 Add Max to Energy Entities to prevent any long-term issues / errors 2026-02-19 02:14:34 -05:00
Kam e330b517a8 Merge branch 'dev' of https://github.com/KAMKEEL/CustomNPC-Plus into dev 2026-02-19 01:53:41 -05:00
Kam ff54c6d9af Enhance Textfield to allow CTRL Operations 2026-02-19 01:53:26 -05:00
Kam 0e4afecf1d Fix Burst For Projectiles 2026-02-19 01:52:21 -05:00
Kam 53185b4833 Merge remote-tracking branch 'origin/dev' into dev 2026-02-19 01:37:53 -05:00
Kam c3e4e2b54f Fix Textfield 2026-02-19 01:37:45 -05:00
Kam e91fe89e6a Add Inner Alpha Handling 2026-02-19 01:35:21 -05:00
Kam e5fc58366b Fix Death Ability Bug 2026-02-18 23:16:01 -05:00
Kam 9f8f742a0e Beta 4 2026-02-18 22:41:19 -05:00
Kam 0e6ece56c6 Fix DBC Toggle Abilities and Wheel System 2026-02-18 22:19:18 -05:00
Kam 40a02b73e2 Fixes to some GUI and Chained Abiltiy Logic for Clearing States 2026-02-18 15:31:33 -05:00
Kam 48f6c162d5 Bugs fixes to Abilities
- Add Hit Scan to Laser
- Switching Dimensions Ability fix
- Chained Ability Targeting Conditions Fix
- Chained Ability Previewing
- Lang Keys Added
2026-02-18 14:10:55 -05:00
Kam 1569204d83 - Extend Energy Projectile Distance to 150 by Default
- Fix a bug with Wheel not Clearing for Adding / Removing Abilities
- Fix a bug not being able to resolve Built In Abilities
- Fix a Chained Ability Windup System
2026-02-18 14:07:05 -05:00
Kam 1de1c4e710 Reformat Code 2026-02-18 05:13:51 -05:00
Kam 21e920426e Fix Sub Gui Spam Closing 2026-02-18 05:06:14 -05:00
Kam ca5461c94f Ability Wheel Accepts - Chained Abilities
Lang File Cleanup / Merging
Chained Ability Icon System
2026-02-18 04:57:28 -05:00
Kam 4510b3bbd1 Large Auction Cleanup + Auction Events
- Auction Enums
- Better Notification Handling
- Auction Cancelation Events
- Lang Key Cleanup
2026-02-18 04:55:03 -05:00
Kam 0512588a7a Add Chained Abilities 2026-02-18 04:02:51 -05:00
KamandClaude Opus 4.6 0311dc5806 Merge upstream dev: name-based storage, UUID/DisplayName, toggle system
Resolved conflicts in AbstractDataAbilities, DataAbilities, PlayerAbilityData
to integrate both toggle system (upstream) and chain delay tracking (local).
ChainedAbility now has UUID and DisplayName fields matching Ability pattern.
ChainedAbilityController rewritten: saves in abilities/chained/, dual-index
by name and UUID, legacy migration from chained_abilities/ directory.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:27:49 -05:00
KamandClaude Opus 4.6 2f814c1903 IAbilityAction interface, AbilityAction unified slot, and bug fixes
- Added IAbilityAction interface (internal + API) for unified Ability/ChainedAbility handling
- Created AbilityAction (replaces AbilitySlot) with 3 modes: INLINE_ABILITY, ABILITY_REFERENCE, CHAIN_REFERENCE
- Unified DataAbilities storage from dual lists to single List<AbilityAction>
- Added ChainedAbility, ChainedAbilityEntry, ChainedAbilityController
- Updated PlayerAbilityData with resolveActionKey() for chain: prefix resolution
- Added resolveAction/canResolveAction to AbilityController
- Fixed unsafe cast in DataAbilities.onDamage()
- Fixed NPE in GuiNPCAbilities for chain reference slots
- Fixed NPC chain interrupt double cooldown
- Fixed removeAbility() incorrectly removing chain references

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:22:03 -05:00
Kam 6514b217b9 Abilities are now Stored by Name not UUID. Refactor Built In and Toggleable Abilities 2026-02-17 23:08:12 -05:00
Kam f39d843c70 Merge branch 'dev' of https://github.com/KAMKEEL/CustomNPC-Plus into dev 2026-02-17 21:03:58 -05:00
Kam 2bcf3b03d5 Refactoring and Bug Fixes 2026-02-17 21:03:54 -05:00
Vidal 90e146e7b0 Merge remote-tracking branch 'origin/dev' into dev 2026-02-17 23:02:39 -03:00
Vidal 8001a14d3a HeavyHit refactor
- Hit Delay ticks
2026-02-17 23:02:24 -03:00
Kam c7956a24a6 Abilities are now Stored by Name not UUID 2026-02-17 20:44:27 -05:00
Vidal bc336abf9d Proper register for ability variants 2026-02-17 20:41:07 -03:00
Vidal c6b2797b5d Attempt at implementing ability variants directly from the register 2026-02-17 20:11:42 -03:00
Vidal 52269705b5 Merge remote-tracking branch 'origin/dev' into dev 2026-02-17 19:38:52 -03:00
Kam 89158cb10a Ability Potion Effect 2026-02-17 17:37:51 -05:00
Kam fb5029796f Update AbilityEnergyProjectile.java 2026-02-17 17:32:54 -05:00
Kam dcd9572024 Merge branch 'barriers' into dev 2026-02-17 17:32:48 -05:00
Vidal 071cbc9890 Applied the fix to select gui as well 2026-02-17 18:38:58 -03:00
Vidal 55149ab5d1 Fixed the check that prevented built-in types from showing up in NPC Abilities 2026-02-17 18:31:47 -03:00
Vidal 7ed68b7efe Added dazed animation 2026-02-17 17:05:29 -03:00
Kam c07e9e7006 Create Barrier Abilities + Heavy Refactoring 2026-02-17 14:32:13 -05:00
Vidal cbc2b73625 Renamed AbstractEnergyProjectileAbility to AbilityEnergyProjectile 2026-02-17 01:49:07 -03:00
Vidal a296a533c9 Made registered animations load at once 2026-02-16 20:42:57 -03:00
Vidal dd6a27b915 Fixed wrong names being registered on Animation register and added debug to anim controller 2026-02-16 20:21:32 -03:00
Vidal d826206d31 Prevented anim controller from loading twice 2026-02-16 13:47:31 -03:00
Vidal 6506de70b8 Set Animation Controller to load on server start 2026-02-16 12:40:02 -03:00
Claude d1f2c9695c Fix panel directional check to only block incoming projectiles
The dot product was being computed but not used - panels were blocking
projectiles from both sides. Now correctly checks which side the
projectile approaches from and only blocks if it's moving toward
the panel surface.

https://claude.ai/code/session_01EV9KpiykvW4rASz7ju5iTG
2026-02-16 13:27:29 +00:00
Claude 0ebdfafccd Add Energy Barrier and Slicer ability system
Implements four new energy ability types:

- Energy Dome: Spherical barrier centered on caster that blocks incoming
  energy projectiles. Configurable per-projectile-type damage multipliers,
  HP/durability and duration modes. RING telegraph.

- Energy Wall: Placeable flat energy panel with configurable dimensions
  and height offset (can float above ground). Optional launching mode
  fires the wall forward with damage/knockback.

- Energy Shield: Held energy panel that follows the caster and rotates
  with their look direction. Defensive blocking ability.

- Energy Slicer: Thin wide blade projectile (JJK Cleave inspired).
  Extends AbstractEnergyProjectileAbility. Piercing by default.

Architecture:
- EnergyBarrierData: HP, duration, per-type damage multiplier map
- EnergyPanelData: Panel dimensions, height offset, launch properties
- AbstractEnergyBarrierAbility: Shared base for Dome/Wall/Shield
- EntityEnergyDome, EntityEnergyPanel, EntityEnergySlicer entities
- RenderEnergyDome, RenderEnergyPanel, RenderEnergySlicer renderers
  with translucent inner/outer layers (voxel-blocky aesthetic)
- Projectile-barrier collision system in EntityAbilityProjectile

https://claude.ai/code/session_01EV9KpiykvW4rASz7ju5iTG
2026-02-16 08:54:55 +00:00
Kam 01e18e0221 Beta 3 2026-02-16 01:49:57 -05:00
Kam f4ad421c2e Player Ability Checking
Enhance ability validation: add method to check if an ability can be resolved without deep copy and prune invalid unlocked abilities during load
2026-02-16 01:40:51 -05:00
Kam cd28f69a0e Enhance ability validation: add method to check if an ability can be resolved without deep copy and prune invalid unlocked abilities during load 2026-02-16 01:39:14 -05:00
Kam 21b1571868 Add flight checker to prevent abilities from affecting flying players 2026-02-16 01:15:52 -05:00
Kam 071d89cc15 Add energy projectile types and events: implement IEnergyOrb, IEnergyBeam, IEnergyDisc, and IEnergyLaser interfaces, along with their respective script handlers and event hooks 2026-02-16 01:03:05 -05:00