diff --git a/Items/magic_rings.asm b/Items/magic_rings.asm index 7b21f90..0eab491 100644 --- a/Items/magic_rings.asm +++ b/Items/magic_rings.asm @@ -16,8 +16,46 @@ RingSlot2 = $7EF38D RingSlot3 = $7EF38E RingSlotsNum = $7EF38F +DamageSubclassValue = $0DB8F1 + +pushpc +; Sprite_ApplyCalculatedDamage +org $06EDC0 +JSL MagicRing_CheckForPower +pullpc + ; Power - Attack Up, Defense Down +MagicRing_CheckForPower: +{ + LDA.l RingSlot1 : AND.b #$20 : BEQ + + LDA.l RingSlot2 : AND.b #$20 : BEQ + + LDA.l RingSlot3 : AND.b #$20 : BEQ + + LDA.w $0CF2 : CMP.b #$04 : BCS .not_sword + CMP.b #$01 : BCC .not_sword + LDA.l DamageSubclassValue, X + CLC : ADC.b #$10 + RTL + .not_sword + + + LDA.l DamageSubclassValue, X + RTL +} + +pushpc + +pullpc + ; Armor - Defense Up, Attack Down +MagicRing_CheckForArmor: +{ + LDA.l RingSlot1 : AND.b #$10 : BEQ + + LDA.l RingSlot2 : AND.b #$10 : BEQ + + LDA.l RingSlot3 : AND.b #$10 : BEQ + + + + + RTL +} + ; ========================================================= ; Steadfast - Less knockback @@ -112,4 +150,4 @@ MagicRings_CheckForHeart: pushpc org $07810C JSL MagicRings_CheckForHeart -pullpc \ No newline at end of file +pullpc