Commit Graph
3153 Commits
Author SHA1 Message Date
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 2bcf3b03d5 Refactoring and Bug Fixes 2026-02-17 21:03:54 -05:00
Kam c7956a24a6 Abilities are now Stored by Name not UUID 2026-02-17 20:44:27 -05:00
Vidal 52269705b5 Merge remote-tracking branch 'origin/dev' into dev 2026-02-17 19:38:52 -03: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 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 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
Kam 1ed012331b Enhance ability input handling: block movement during ability locks, ensure proper input suppression, and cancel abilities on logout, dimension change, death, and respawn 2026-02-15 23:15:50 -05:00
Kam 121563ba24 Enhance knockback mechanics: add methods for applying and forcefully applying knockback, respecting or ignoring knockback resistance 2026-02-15 23:07:57 -05:00
Kam 248dbf66da Enhance ability animation handling: track ability animation state, clear orphaned animations on login, and ensure proper animation continuation 2026-02-15 22:03:32 -05:00
Kam 3beaf68815 Update GuiNPCAbilities.java 2026-02-15 21:44:36 -05:00
Kam ce24c0a4ff Enhance ability selection and display: add toggleable ability handling, improve ability name color coding, and update ability selection messaging 2026-02-15 19:21:30 -05:00
Kam 45d05b9157 Add trap presets & trigger-reveal visuals
Introduce client-side trap presets and a visual "trigger reveal" for traps, plus related entity/renderer changes.

- AbilityTrap: add TrapPreset enum and applyTrapPresetDefaults; wire a SubGuiTrapPresetSelector hook to apply presets from the GUI; pass visibility into created trap entities.
- EntityAbilityZone: add visible flag, TRIGGER_FLASH_STATUS state, setEntityState usage to notify clients of triggers, handleHealthUpdate to start client-side flash, and adjust construction/serialization accordingly.
- RenderAbilityZone: implement trigger-reveal visuals (revealFade, triggerReveal) that briefly show a burst when traps trigger, skip rendering for invisible traps unless revealing, and tweak flash/timing logic.
- Minor cleanup: remove/condense comment blocks and refactor noisy helpers across AbilityZone/AbilityHazard, plus language entry update and new SubGuiTrapPresetSelector GUI class.

These changes enable preset application for traps and improve client-side feedback when traps trigger.
2026-02-15 19:19:57 -05:00
Kam 2dfdfb19d1 Client-side trade validation and stock update
Perform more complete client-side checks before predicting currency deductions in GuiNPCTrader.handleMouseClick. The method now verifies that the item can be given to the player (canGivePlayerClient), that the slot is enabled, and that stock is available, mirroring server-side checks. When a client-side purchase is accepted, availableStock is decremented if applicable. Added a private canGivePlayerClient(ItemStack) helper to check cursor-stack compatibility and max stack size. These changes prevent the UI from showing incorrect balances for trades the server would reject.
2026-02-15 18:15:56 -05:00
Kam 8c2ef1084a Fix Burst Refire 2026-02-15 17:47:44 -05:00
Kam 0f774a68fc Refactor ability handling: replace damage handler with ability extenders for improved lifecycle management and damage routing 2026-02-14 21:06:12 -05:00
Vidal f03d93d6a8 Oopsie i swapped commits, last commit was changing min values on anchor offset fields 2026-02-14 19:43:34 -03:00
Kam a23b199e7e Refactoring for Code Cleanup and Projectile Abstract Class Handling 2026-02-14 15:21:56 -05:00
Vidal 19fb0ff5b7 Changed how float text fields handle negative values 2026-02-14 17:03:59 -03:00
Kam 2a1a5643d3 Potion Effect System + Manual and Remove Bulk 2026-02-14 04:04:13 -05:00
Kam 85db3df355 feat: implement player ability state management with rotation and position locking 2026-02-14 04:02:01 -05:00
Kam 910f3b3744 Add NPC inline edit support and adjust ability launch mechanics 2026-02-13 15:01:28 -05:00
bigguy345 ac223cbb53 IAction exceptions now report to script console 2026-02-13 04:06:59 +02:00
Kam 0cb5a993c7 Merge remote-tracking branch 'origin/dev' into dev 2026-02-12 20:30:27 -05:00
Kam 2c00ecae9e feat: add built-in ability handling and UI updates for ability management 2026-02-12 20:30:12 -05:00