Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

TrollandToad.com
Reply
 
Thread Tools
  #176    
Old November 2nd, 2014 (11:35 PM).
destinedjagold's Avatar
destinedjagold destinedjagold is online now
Oh Hai Thar~
  • Silver Tier
 
Join Date: May 2007
Location: Philippines
Age: 27
Gender: Male
Nature: Careful
Posts: 8,573
Quote:
Originally Posted by Spherical Ice View Post
You can just use Aurora Beam's effect for Play Rough.
Huh, the more I know. I never was lucky enough to lower a foe's Attack stat using Aurora Beam, so I just thought it has a low chance of either freezing or lowering the foe's speed, like normal Ice attacks. xD
__________________


FC: 0061-1111-6462
TSV: 1364(X), 0790(OR)

Reply With Quote

Relevant Advertising!

  #177    
Old November 4th, 2014 (1:41 AM). Edited November 4th, 2014 by mamamama.
mamamama mamamama is offline
     
    Join Date: Feb 2014
    Posts: 180
    By the way, the following moves also require custom Effects: Boomburst, Bulldoze, Discharge, Lava Plume, Parabolic Charge, Petal Blizzard, Searing Shot, Sludge Wave and Surf (needs to be updated). They do not work properly with their current effect, as they are supposed to hit Both Foes AND the allied Pokemon similar to Earthquake.

    I have managed to make Surf work so it hits Ally + Target 1 + Target 2, the problem is that it does not recognise the ally's Water Absorb. I guess it's the same with Flash Fire and Volt Absorb when using Lava Plume and Discharge. Is there theoretically any way to get around this without using ASM?

    (I'll post the BSP when I get back home)

    Quote:
    Originally Posted by MrDollSteak View Post
    #org @growth
    jumpifabilitypresent ABILITY_CLOUDNINE @workup
    jumpifabilitypresent ABILITY_AIRLOCK @workup
    jumpifhalfword B_& 0x2023F1C 0x60 @sunlight
    goto @workup
    Just tried your Growth/Work Up/Rototiller script and spotted a few bugs. First one was growth sharply increasing Att. And Sp. Att when not Sunny (I fixed this by adding the goto @workup in red), probably just a simple oversight in the code.

    Also, I got some problems with Rototiller, it seems to freeze directly after printing the second status message, just as it goes to @Return.

    Here is the Script I used. I've double checked it to make sure all Offsets are ok with the original Flower Shield Script. Everything is working fine except that last little part where it freezes

    FOR EMERALD

    Spoiler:
    Code:
    #include abilities.bsh
    #dynamic 0xE47C50
    #freespacebyte 0xFF
    
    #org @pickmove
    jumpifhalfword 0x0 0x20241EA 0x4A @growth
    jumpifhalfword 0x0 0x20241EA 0x1C6 @workup
    jumpifhalfword 0x0 0x20241EA 0x1C5 @rototiller
    goto 0x82D8C90
    
    #org @growth
    jumpifabilitypresent 0xD @workup
    jumpifabilitypresent 0x4D @workup
    jumpifhalfword 0x4 weather 0x60 @sunlight
    goto @workup
    
    #org @sunlight
    attackcanceler
    attackstring
    ppreduce
    jumpifstat 0x1 0x3 0x1 0xC @attack2
    jumpifstat 0x1 0x0 0x4 0xC 0x82DA71D
    
    #org @attack2
    attackanimation
    waitanimation
    setbyte 0x202448F 0x0
    playstatchangeanimation 0x0 0x12 0x0
    setbyte 0x202448E 0x21
    statbuffchange 0x1 true @spatk2
    jumpifbyte 0x0 multistringchooser 0x2 @spatk2
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @spatk2
    setbyte 0x202448E 0x24
    statbuffchange 0x1 true 0x82DA790
    jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
    printfromtable 0x85CC89C
    waitmessage 0x40
    goto 0x82D8A4E
    
    #org @workup
    attackcanceler
    attackstring
    ppreduce
    jumpifstat BANK_USER 0x3 0x1 0xC @attack
    jumpifstat BANK_USER B_= 0x4 0xC 0x82DA71D
    
    #org @attack
    attackanimation
    waitanimation
    setbyte 0x202448F 0x0
    playstatchangeanimation 0x0 0x12 0x0
    setbyte 0x202448E 0x11
    statbuffchange 0x1 true @spatk
    jumpifbyte 0x0 multistringchooser 0x2 @spatk
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @spatk
    setbyte 0x202448E 0x14
    statbuffchange 0x1 true 0x82DA790
    jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
    printfromtable 0x85CC89C
    waitmessage 0x40
    goto 0x82D8A4E
    
    #org @rototiller
    setbyte 0x2024200 0x0
    attackcanceler
    attackstring
    ppreduce
    cmd25
    jumpiftype 0x1 0xC @selfgrass
    goto @call
    
    #org @selfgrass
    jumpifsecondarystatus 0x1 0x1000000 @next
    jumpifstat 0x1 B_>= 0x1 0xC @next
    jumpifstat 0x1 B_>= 0x4 0xC @next
    jumpifbyte B_= 0x2024200 0x1 @selfnoanimation
    attackanimation
    waitanimation
    setbyte 0x2024200 0x1
    
    #org @selfnoanimation
    cmd47
    playstatchangeanimation 0x1 0x12 0x0
    setbyte 0x202448E 0x11
    statbuffchange 0x80 true @selfnoanimation2
    jumpifbyte B_>= 0x2024337 0x2 @selfnoanimation2
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @selfnoanimation2
    setbyte 0x202448E 0x14
    statbuffchange 0x80 true @next
    jumpifbyte B_>= 0x2024337 0x2 @next
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @next
    cmd25
    
    #org @call
    jumpifarrayequal 0x202420B 0x202420C 0x1 @next
    call @target
    setbyte 0x2024488 0x0
    cmd49 0x2 0x10
    jumpwhiletargetvalid @next
    jumpifbyte B_= 0x2024200 0x0 @nobuffs
    end
    
    #org @target
    jumpiftype 0x0 0xC @grass
    goto @return
    
    #org @grass
    jumpifsecondarystatus 0x0 0x1000000 @return
    jumpifstat 0x0 B_>= 0x1 0xC @return
    jumpifstat 0x0 B_>= 0x4 0xC @return
    jumpifbyte B_= 0x2024200 0x1 @noanimation
    attackanimation
    waitanimation
    setbyte 0x2024200 0x1
    
    #org @noanimation
    cmd47
    playstatchangeanimation 0x0 0x12 0x0
    setbyte 0x202448E 0x11
    statbuffchange 0x0 false @noanimation2
    jumpifbyte B_>= 0x2024337 0x2 @noanimation2
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @noanimation2
    setbyte 0x202448E 0x14
    statbuffchange 0x0 false @return
    jumpifbyte B_>= 0x2024337 0x2 @return
    printfromtable 0x85CC89C
    waitmessage 0x40
    
    #org @return
    return
    
    #org @nobuffs
    pause 0x20
    orbyte 0x202427C 0x20
    resultmessage
    waitmessage 0x40
    end
    Reply With Quote
      #178    
    Old November 4th, 2014 (2:50 PM).
    MrDollSteak's Avatar
    MrDollSteak MrDollSteak is offline
    Formerly known as 11bayerf1
       
      Join Date: Dec 2008
      Location: Hong Kong
      Age: 22
      Gender: Male
      Posts: 817
      Quote:
      Originally Posted by mamamama View Post
      By the way, the following moves also require custom Effects: Boomburst, Bulldoze, Discharge, Lava Plume, Parabolic Charge, Petal Blizzard, Searing Shot, Sludge Wave and Surf (needs to be updated). They do not work properly with their current effect, as they are supposed to hit Both Foes AND the allied Pokemon similar to Earthquake.

      I have managed to make Surf work so it hits Ally + Target 1 + Target 2, the problem is that it does not recognise the ally's Water Absorb. I guess it's the same with Flash Fire and Volt Absorb when using Lava Plume and Discharge. Is there theoretically any way to get around this without using ASM?

      (I'll post the BSP when I get back home)



      Just tried your Growth/Work Up/Rototiller script and spotted a few bugs. First one was growth sharply increasing Att. And Sp. Att when not Sunny (I fixed this by adding the goto @workup in red), probably just a simple oversight in the code.

      Also, I got some problems with Rototiller, it seems to freeze directly after printing the second status message, just as it goes to @Return.

      Here is the Script I used. I've double checked it to make sure all Offsets are ok with the original Flower Shield Script. Everything is working fine except that last little part where it freezes

      FOR EMERALD

      Spoiler:
      Code:
      #include abilities.bsh
      #dynamic 0xE47C50
      #freespacebyte 0xFF
      
      #org @pickmove
      jumpifhalfword 0x0 0x20241EA 0x4A @growth
      jumpifhalfword 0x0 0x20241EA 0x1C6 @workup
      jumpifhalfword 0x0 0x20241EA 0x1C5 @rototiller
      goto 0x82D8C90
      
      #org @growth
      jumpifabilitypresent 0xD @workup
      jumpifabilitypresent 0x4D @workup
      jumpifhalfword 0x4 weather 0x60 @sunlight
      goto @workup
      
      #org @sunlight
      attackcanceler
      attackstring
      ppreduce
      jumpifstat 0x1 0x3 0x1 0xC @attack2
      jumpifstat 0x1 0x0 0x4 0xC 0x82DA71D
      
      #org @attack2
      attackanimation
      waitanimation
      setbyte 0x202448F 0x0
      playstatchangeanimation 0x0 0x12 0x0
      setbyte 0x202448E 0x21
      statbuffchange 0x1 true @spatk2
      jumpifbyte 0x0 multistringchooser 0x2 @spatk2
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @spatk2
      setbyte 0x202448E 0x24
      statbuffchange 0x1 true 0x82DA790
      jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
      printfromtable 0x85CC89C
      waitmessage 0x40
      goto 0x82D8A4E
      
      #org @workup
      attackcanceler
      attackstring
      ppreduce
      jumpifstat BANK_USER 0x3 0x1 0xC @attack
      jumpifstat BANK_USER B_= 0x4 0xC 0x82DA71D
      
      #org @attack
      attackanimation
      waitanimation
      setbyte 0x202448F 0x0
      playstatchangeanimation 0x0 0x12 0x0
      setbyte 0x202448E 0x11
      statbuffchange 0x1 true @spatk
      jumpifbyte 0x0 multistringchooser 0x2 @spatk
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @spatk
      setbyte 0x202448E 0x14
      statbuffchange 0x1 true 0x82DA790
      jumpifbyte 0x0 multistringchooser 0x2 0x82DA790
      printfromtable 0x85CC89C
      waitmessage 0x40
      goto 0x82D8A4E
      
      #org @rototiller
      setbyte 0x2024200 0x0
      attackcanceler
      attackstring
      ppreduce
      cmd25
      jumpiftype 0x1 0xC @selfgrass
      goto @call
      
      #org @selfgrass
      jumpifsecondarystatus 0x1 0x1000000 @next
      jumpifstat 0x1 B_>= 0x1 0xC @next
      jumpifstat 0x1 B_>= 0x4 0xC @next
      jumpifbyte B_= 0x2024200 0x1 @selfnoanimation
      attackanimation
      waitanimation
      setbyte 0x2024200 0x1
      
      #org @selfnoanimation
      cmd47
      playstatchangeanimation 0x1 0x12 0x0
      setbyte 0x202448E 0x11
      statbuffchange 0x80 true @selfnoanimation2
      jumpifbyte B_>= 0x2024337 0x2 @selfnoanimation2
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @selfnoanimation2
      setbyte 0x202448E 0x14
      statbuffchange 0x80 true @next
      jumpifbyte B_>= 0x2024337 0x2 @next
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @next
      cmd25
      
      #org @call
      jumpifarrayequal 0x202420B 0x202420C 0x1 @next
      call @target
      setbyte 0x2024488 0x0
      cmd49 0x2 0x10
      jumpwhiletargetvalid @next
      jumpifbyte B_= 0x2024200 0x0 @nobuffs
      end
      
      #org @target
      jumpiftype 0x0 0xC @grass
      goto @return
      
      #org @grass
      jumpifsecondarystatus 0x0 0x1000000 @return
      jumpifstat 0x0 B_>= 0x1 0xC @return
      jumpifstat 0x0 B_>= 0x4 0xC @return
      jumpifbyte B_= 0x2024200 0x1 @noanimation
      attackanimation
      waitanimation
      setbyte 0x2024200 0x1
      
      #org @noanimation
      cmd47
      playstatchangeanimation 0x0 0x12 0x0
      setbyte 0x202448E 0x11
      statbuffchange 0x0 false @noanimation2
      jumpifbyte B_>= 0x2024337 0x2 @noanimation2
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @noanimation2
      setbyte 0x202448E 0x14
      statbuffchange 0x0 false @return
      jumpifbyte B_>= 0x2024337 0x2 @return
      printfromtable 0x85CC89C
      waitmessage 0x40
      
      #org @return
      return
      
      #org @nobuffs
      pause 0x20
      orbyte 0x202427C 0x20
      resultmessage
      waitmessage 0x40
      end
      Boomburst doesn't need a custom effect. Just use 147. The Dig hit I believe is tied to Earthquake's ID not the Move Script. But I can't guarantee. If that is the case just copy it.

      Thanks for spotting that with Growth. Rototiller works fine for me. I'll compare it against my BS to see if anything's different.
      __________________
      Reply With Quote
        #179    
      Old November 7th, 2014 (10:02 PM). Edited January 14th, 2016 by MrDollSteak.
      MrDollSteak's Avatar
      MrDollSteak MrDollSteak is offline
      Formerly known as 11bayerf1
         
        Join Date: Dec 2008
        Location: Hong Kong
        Age: 22
        Gender: Male
        Posts: 817
        Here are the updated Gyro Ball and Electro Ball effects.

        Fire Red
        Spoiler:
        You will need to have inserted either the Turn Order Loader that KDS recently made located here, OR if you want the included new moves, items and abilities, the routine found here

        Then you will need to make a Battle Script in the same way as Flail, with a Callasm to the following routine replacing the AC command for Flail.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global GyroBallElectroBall
        
        GetSpeed:
        	push {lr}
        	ldr r4, .Bank
        	ldrb r0, [r4, #0x1]
        	bl SpeedBL
        	mov r5, r0 @TargetSpeed
        	ldrb r0, [r4, #0x0]
        	bl SpeedBL
        	mov r4, r0 @UserSpeed
        BasePowerCalc:
        	ldr r0, .MoveLoc
        	ldrh r0, [r0]
        	mov r1, #0xB4
        	lsl r1, r1, #0x1
        	cmp r0, r1
        	bne ElectroBall
        GyroBall:
        	mov r0, #0x19
        	mul r0, r5
        	mov r1, r4
        	bl DivideBL
        	ldr r1, .BaseDamageLoc
        	cmp r0, #0x96
        	bgt MaximumBasePower
        	b StoreBasePower
        ElectroBall:
        	mov r0, #0x64
        	mul r0, r5
        	mov r1, r4
        	bl DivideBL
        	ldr r1, .BaseDamageLoc
        	cmp r0, #0x32
        	bgt LowBasePower
        	cmp r0, #0x21
        	bgt MediumBasePower
        	cmp r0, #0x19
        	bgt HighBasePower
        MaximumBasePower:
        	mov r0, #0x96
        	b StoreBasePower
        LowBasePower:
        	mov r0, #0x3C
        	b StoreBasePower
        MediumBasePower:
        	mov r0, #0x50
        	b StoreBasePower
        HighBasePower:
        	mov r0, #0x78
        StoreBasePower:
        	strb r0, [r1]
        Exit:
        	pop {r0}
        	bx r0
        SpeedBL:
        	ldr r1, .SpeedBL
        	bx r1
        DivideBL:
        	ldr r2, .DivideBL
        	bx r2
        
        .align
        .Bank: .word 0x02023D6B
        .MoveLoc: .word 0x2023D4A
        .BaseDamageLoc: .word 0x2023F50
        .SpeedBL: .word 0x8CCCCCC @The location of GetSpeed or SpeedBL in your rom
        .DivideBL: .word 0x081E4019
        To make Gyro Ball work you'll need to find its index (make sure it is even) and replace B4 in the base power calculation, with half of the index for the move. In my Rombase Gyro Ball is move 168, which B4 is half of. So if your index is 178 it would be BC, etc.


        Emerald
        Spoiler:
        You will need to have inserted either the Turn Order Loader that KDS recently made and Kleenex ported located here, OR if you want the included new moves, items and abilities, the routine found here

        Then you will need to make a Battle Script in the same way as Flail, with a Callasm to the following routine replacing the AC command for Flail.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global GyroBallElectroBall
        
        GetSpeed:
        	push {lr}
        	ldr r4, .Bank
        	ldrb r0, [r4, #0x1]
        	bl SpeedBL
        	mov r5, r0 @TargetSpeed
        	ldrb r0, [r4, #0x0]
        	bl SpeedBL
        	mov r4, r0 @UserSpeed
        BasePowerCalc:
        	ldr r0, .MoveLoc
        	ldrh r0, [r0]
        	mov r1, #0xB4
        	lsl r1, r1, #0x1
        	cmp r0, r1
        	bne ElectroBall
        GyroBall:
        	mov r0, #0x19
        	mul r0, r5
        	mov r1, r4
        	bl DivideBL
        	ldr r1, .BaseDamageLoc
        	cmp r0, #0x96
        	bgt MaximumBasePower
        	b StoreBasePower
        ElectroBall:
        	mov r0, #0x64
        	mul r0, r5
        	mov r1, r4
        	bl DivideBL
        	ldr r1, .BaseDamageLoc
        	cmp r0, #0x32
        	bgt LowBasePower
        	cmp r0, #0x21
        	bgt MediumBasePower
        	cmp r0, #0x19
        	bgt HighBasePower
        MaximumBasePower:
        	mov r0, #0x96
        	b StoreBasePower
        LowBasePower:
        	mov r0, #0x3C
        	b StoreBasePower
        MediumBasePower:
        	mov r0, #0x50
        	b StoreBasePower
        HighBasePower:
        	mov r0, #0x78
        StoreBasePower:
        	strb r0, [r1]
        Exit:
        	pop {r0}
        	bx r0
        SpeedBL:
        	ldr r1, .SpeedBL
        	bx r1
        DivideBL:
        	ldr r2, .DivideBL
        	bx r2
        
        .align
        .Bank: .word 0x0202420B
        .MoveLoc: .word 0x20241EA
        .BaseDamageLoc: .word 0x2024400
        .SpeedBL: .word 0x803CF79
        .DivideBL: .word 0x082E7541
        To make Gyro Ball work you'll need to find its index (make sure it is even) and replace B4 in the base power calculation, with half of the index for the move. In my Rombase Gyro Ball is move 168, which B4 is half of. So if your index is 178 it would be BC, etc.


        Old Post: There's really no benefit to using this, but I'll just leave this here for interest's sake.
        Spoiler:
        So I've got Gyro Ball and Electro Ball effects working in Fire Red and Emerald.

        I'd like to thank HidoranBlaze for pushing me to make it, and testing out the code for me, identifying all its bugs that have since been fixed.

        Fire Red

        Spoiler:
        Firstly you'll need to insert 01 48 00 47 00 00 xx xx xx 08 at 15096, where xx xx xx is the pointer to the following routine plus one.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global speedstore
        
        main:
        	ldr r0, [sp, #0x8]
        	add sp, #0xC
        	ldr r3, .speedstore
        	mov r4, r8
        	mov r5, r7
        	strh r4, [r3]
        	strh r5, [r3, #0x2]
        	pop {r3-r5}
        	mov r8, r3
        	mov r9, r4
        	ldr r1, .return
        	bx r1
        
        .align
        .speedstore: .word 0x0203C024
        .return: .word 0x080150A1
        This stores the completed Speed Calculations of the user and the foe in a free ram location.

        Then make a Battle Script in the same way as Flail, with a callasm to the following routine replacing the AC command for Flail.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global gyroball
        
        main:
        	push {lr}
        	ldr r0, .bank
        	ldrb r1, [r0, #0x1]
        	ldrb r0, [r0, #0x0]
        	mov r2, #0x2
        	mul r0, r2
        	mul r1, r2
        	ldr r2, .speedstore
        	add r4, r0, r2
        	add r5, r1, r2
        	ldrh r4, [r4]
        	ldrh r5, [r5]
        basepowercalc:
        	ldr r0, .moveloc
        	ldrh r0, [r0]
        	mov r1, #0xB4
        	lsl r1, r1, #0x1
        	cmp r0, r1
        	bne electroball
        gyroball:
        	mov r0, #0x19
        	mul r0, r5
        	mov r1, r4
        	bl divmod
        	ldr r1, .basedamageloc
        	cmp r0, #0x96
        	bgt setgyrobp
        	b storebasepower
        electroball:
        	mov r0, #0x64
        	mul r0, r5
        	mov r1, r4
        	bl divmod
        	ldr r1, .basedamageloc
        	cmp r0, #0x32
        	bgt low
        	cmp r0, #0x21
        	bgt medium
        	cmp r0, #0x19
        	bgt high
        setgyrobp:
        	mov r0, #0x96
        	b storebasepower
        low:
        	mov r0, #0x3C
        	b storebasepower
        medium:
        	mov r0, #0x50
        	b storebasepower
        high:
        	mov r0, #0x78
        storebasepower:
        	strb r0, [r1]
        exit:
        	pop {r0}
        	bx r0
        divmod:
        	ldr r2, .divide
        	bx r2
        
        .align
        .bank: .word 0x02023D6B
        .speedstore: .word 0x0203C024
        .moveloc: .word 0x2023D4A
        .basedamageloc: .word 0x2023F50
        .divide: .word 0x081E4019
        To make Gyro Ball work you'll need to find its slot (make sure it is even) and replace B4 in the base power calc, with half of the index for the move.In my Rombase it's move 168, which B4 is half of. So if yours is 178 it would be BC, etc.


        Emerald

        Spoiler:
        Firstly you'll need to insert 01 48 00 47 00 00 xx xx xx 08 at 3D2D6, where xx xx xx is the pointer to the following routine plus one.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global speedstore
        
        main:
        	ldr r0, [sp, #0x8]
        	add sp, #0xC
        	ldr r3, .speedstore
        	mov r4, r8
        	mov r5, r7
        	strh r4, [r3]
        	strh r5, [r3, #0x2]
        	pop {r3-r5}
        	mov r8, r3
        	mov r9, r4
        	ldr r1, .return
        	bx r1
        
        .align
        .speedstore: .word 0x0203E324
        .return: .word 0x0803D2E1
        This stores the completed Speed Calculations of the user and the foe in a free ram location.

        Then make a Battle Script in the same way as Flail, with a callasm to the following routine replacing the AC command for Flail.

        Code:
        .text
        .align 2
        .thumb
        .thumb_func
        .global gyroball
        
        main:
        	push {lr}
        	ldr r0, .bank
        	ldrb r1, [r0, #0x1]
        	ldrb r0, [r0, #0x0]
        	mov r2, #0x2
        	mul r0, r2
        	mul r1, r2
        	ldr r2, .speedstore
        	add r4, r0, r2
        	add r5, r1, r2
        	ldrh r4, [r4]
        	ldrh r5, [r5]
        basepowercalc:
        	ldr r0, .moveloc
        	ldrh r0, [r0]
        	mov r1, #0xB4
        	lsl r1, r1, #0x1
        	cmp r0, r1
        	bne electroball
        gyroball:
        	mov r0, #0x19
        	mul r0, r5
        	mov r1, r4
        	bl divmod
        	ldr r1, .basedamageloc
        	cmp r0, #0x96
        	bgt setgyrobp
        	b storebasepower
        electroball:
        	mov r0, #0x64
        	mul r0, r5
        	mov r1, r4
        	bl divmod
        	ldr r1, .basedamageloc
        	cmp r0, #0x32
        	bgt low
        	cmp r0, #0x21
        	bgt medium
        	cmp r0, #0x19
        	bgt high
        setgyrobp:
        	mov r0, #0x96
        	b storebasepower
        low:
        	mov r0, #0x3C
        	b storebasepower
        medium:
        	mov r0, #0x50
        	b storebasepower
        high:
        	mov r0, #0x78
        storebasepower:
        	strb r0, [r1]
        exit:
        	pop {r0}
        	bx r0
        divmod:
        	ldr r2, .divide
        	bx r2
        
        .align
        .bank: .word 0x0202420B
        .speedstore: .word 0x0203E324
        .moveloc: .word 0x20241EA
        .basedamageloc: .word 0x2024400
        .divide: .word 0x082E7541
        To make Gyro Ball work you'll need to find its slot (make sure it is even) and replace B4 in the base power calc, with half of the index for the move.In my Rombase it's move 168, which B4 is half of. So if yours is 178 it would be BC, etc.


        EDIT: Having talked with Doesn't, I realised that this method does not account for things like Scary Face and Thunder Wave happening in the same turn the user uses Gyro Ball. As such I am rewriting it based upon Doesnt's suggestions. If this isn't a huge concern to you, feel free to use it as it is, but as I said, it won't work in every situation.

        Additionally the updated code will likely also come with Trick Room and Tailwind. Which is something to look forward to.
        __________________
        Reply With Quote
          #180    
        Old November 9th, 2014 (3:55 AM).
        mamamama mamamama is offline
           
          Join Date: Feb 2014
          Posts: 180
          Quote:
          Originally Posted by KDS View Post
          Heavy Slam for Fire Red.
          I've been trying to port your Heavy Slam to Emerald, but I can't get it to deal more than 40 Base Damage. I've made sure to change 0x24 to 0x20 and the RAM offsets work for Doesn'ts Stored Power and Punishment. 0xE is the byte that determines weight just as in Fire Red.

          Any ideas what could be going wrong? I tried to use Flail as script as well (which I guess is more optimized) and got the same result, 40 Damage no matter what weight I set on my test mon.

          Spoiler:
          Code:
          .text
          .align 2
          .thumb
          .thumb_func
          .global heavyslam
          
          main:
          push {lr}
          ldr r0, userBank
          ldrb r0, [r0]
          ldr r1, battleData
          mov r2, #0x58
          mul r0, r2
          add r3, r0, r1
          ldr r0, targetBank
          ldrb r0, [r0]
          mul r0, r2
          add r4, r0, r1
          ldrb r5, [r3, #0x0]
          ldrb r6, [r4, #0x0]
          ldr r1, dexData
          mov r2, #0x20
          mul r5, r2
          add r0, r1, r5
          ldrh r5, [r0, #0xE]
          mul r6, r2
          add r0, r1, r6
          ldrh r6, [r0, #0xE]
          mov r2, #0x5
          mul r2, r6
          cmp r5, r2
          bgt set120
          sub r2, r6
          cmp r5, r2
          bgt set100
          sub r2, r6
          cmp r5, r2
          bgt set80
          sub r2, r6
          cmp r5, r2
          bgt set60
          mov r1, #0x28
          b end
          
          set60:
          mov r1, #0x3C
          b end
          
          set80:
          mov r1, #0x50
          b end
          
          set100:
          mov r1, #0x64
          b end
          
          set120:
          mov r1, #0x78
          
          end:
          ldr r2, basePower
          strh r1, [r2, #0x0]
          pop {r0}
          bx r0
          
          .align 2
          targetBank: .word 0x0202420C
          userBank: .word 0x0202420B
          battleData: .word 0x02024084
          basePower: .word 0x02024400
          dexData: .word 0x0856B5B0


          Spoiler:
          Code:
          #dynamic 0xE48D30
          #freespacebyte 0xFF
          
          #org @pickmove
          jumpifhalfword 0x0 0x20241EA 0x1BA @HeavySlam
          goto 0xOtherMove
          
          #org @HeavySlam
          attackcanceler
          accuracycheck 0x82D8A5E 0x0
          attackstring
          ppreduce
          callasm 0x8E48CB1
          calculatedamage
          attackanimation
          waitanimation
          missmessage
          cmd5c BANK_TARGET
          waitstate
          graphicalhpupdate BANK_TARGET
          datahpupdate BANK_TARGET
          critmessage
          waitmessage DELAY_1SECOND
          resultmessage
          waitmessage DELAY_1SECOND
          seteffectwithchancetarget
          faintpokemon BANK_TARGET 0x0 0x0
          setbyte 0x2024488 0x0
          cmd49 0x0 0x0
          end
          Reply With Quote
            #181    
          Old November 9th, 2014 (11:02 AM). Edited November 28th, 2014 by Chacha Dinosaur.
          Chacha Dinosaur's Avatar
          Chacha Dinosaur Chacha Dinosaur is offline
          Adamant and adaptive dinosaur.
             
            Join Date: Jul 2013
            Age: 23
            Gender: Male
            Posts: 454
            Quote:
            Originally Posted by mamamama View Post
            I've been trying to port your Heavy Slam to Emerald, but I can't get it to deal more than 40 Base Damage. I've made sure to change 0x24 to 0x20 and the RAM offsets work for Doesn'ts Stored Power and Punishment. 0xE is the byte that determines weight just as in Fire Red.
            Actually there is some problem in the ASM. I'll look to fix it.

            EDIT: Here is the corrected code for Emerald. Will update the OP of the ASM later.
            Spoiler:
            Code:
            .text
            .align 2
            .thumb
            .thumb_func
            .global heavyslam
            
            main:
            push {lr}
            ldr r0, userBank
            ldrb r0, [r0]
            ldr r1, battleData
            mov r2, #0x58
            mul r0, r2
            add r3, r0, r1
            ldr r0, targetBank
            ldrb r0, [r0]
            mul r0, r2
            add r4, r0, r1
            ldrh r5, [r3, #0x0]
            cmp r5, #0xFB
            ble cont
            ldr r1, dexMapper
            lsl r5, r5, #0x1
            add r1, r5
            ldrh r5, [r1]
            
            cont:
            ldrh r6, [r4, #0x0]
            cmp r6, #0xFB
            ble cont2
            ldr r1, dexMapper
            lsl r6, r6, #0x1
            add r1, r6
            ldrh r6, [r1]
            
            cont2:
            ldr r1, dexData
            mov r2, #0x20
            mul r5, r2
            add r0, r1, r5
            ldrh r5, [r0, #0xE]
            mul r6, r2
            add r0, r1, r6
            ldrh r6, [r0, #0xE]
            mov r2, #0x5
            mul r2, r6
            cmp r5, r2
            bgt set120
            sub r2, r6
            cmp r5, r2
            bgt set100
            sub r2, r6
            cmp r5, r2
            bgt set80
            sub r2, r6
            cmp r5, r2
            bgt set60
            mov r1, #0x28
            b end
            
            set60:
            mov r1, #0x3C
            b end
            
            set80:
            mov r1, #0x50
            b end
            
            set100:
            mov r1, #0x64
            b end
            
            set120:
            mov r1, #0x78
            
            end:
            ldr r2, basePower
            strh r1, [r2, #0x0]
            pop {r0}
            bx r0
            
            .align 2
            targetBank: .word 0x0202420C
            userBank: .word 0x0202420B
            battleData: .word 0x02024084
            basePower: .word 0x02024400
            dexData: .word 0x0856B5B0
            dexMapper: .word 0x0831DC80


            Constant Base Power Hidden Power:
            Just place these bytes:

            Fire Red:
            At 0x2B712: 07 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

            Emerald:
            At 0X544C0: 07 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

            Now, it saves some processor cycles and set the base power directly in the move editor.
            Reply With Quote
              #182    
            Old November 15th, 2014 (11:18 PM).
            mamamama mamamama is offline
               
              Join Date: Feb 2014
              Posts: 180
              Quote:
              Originally Posted by KDS View Post
              Code:
              #org @slot1
              bicbyte 0x20242D4 0xFF
              goto @thawdisp
              
              #org @slot2
              bicbyte 0x202407C 0xFF
              goto @thawdisp
              
              #org @slot3
              bicbyte 0x2024338 0xFF
              goto @thawdisp
              
              #org @slot4
              bicbyte 0x20240E0 0xFF
              goto @thawdisp

              Hey KDS, in the process of translating your ASM routines to Emerald, but these recurring RAM locations I can't seem to find. I've tried to find similar RAM pointers in the Emerald ROM tracing pointers in a HEX-editor and thought I found them, but the effect just freezes the game so I must be wrong.

              Would you mind telling me how you found these locations in Fire Red so I can do the same in Emerald, or if you happen to have the Emerald RAM locations written down somewhere?

              Thanks!
              Reply With Quote
                #183    
              Old November 16th, 2014 (7:17 AM).
              Chacha Dinosaur's Avatar
              Chacha Dinosaur Chacha Dinosaur is offline
              Adamant and adaptive dinosaur.
                 
                Join Date: Jul 2013
                Age: 23
                Gender: Male
                Posts: 454
                Quote:
                Originally Posted by mamamama View Post
                Hey KDS, in the process of translating your ASM routines to Emerald, but these recurring RAM locations I can't seem to find. I've tried to find similar RAM pointers in the Emerald ROM tracing pointers in a HEX-editor and thought I found them, but the effect just freezes the game so I must be wrong.

                Would you mind telling me how you found these locations in Fire Red so I can do the same in Emerald, or if you happen to have the Emerald RAM locations written down somewhere?
                Thanks!
                These pointers are actually pointer to the actual pokemon party structure rather than battle structure pointers.
                I' ll tell you for Emerald:-
                Slot 1 - [0x020244EC(for US) or 0x02024190(other Emerakd)]+0x50
                Slot 2 - 0x02024744 + 0x50
                Slot 3 - [0x020244EC(for US) or 0x02024190(other Emerakd)]+0x50+0x64
                Slot 4 - 0x02024744 + 0x50 + 0x64

                And here is the link for the pokemon data structure:
                http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_data_structure_in_Generation_III
                Reply With Quote
                  #184    
                Old November 16th, 2014 (9:05 AM). Edited November 16th, 2014 by mamamama.
                mamamama mamamama is offline
                   
                  Join Date: Feb 2014
                  Posts: 180
                  Made an animation for Electro Ball

                  Emerald
                  Spoiler:
                  00 E3 27 00 E4 27 00 E5 27 0A 00 0C 0C 08 02 74 72 59 08 02 05 01 00 02 00 00 00 04 00 00 00 05 03 FD AA 10 08 02 04 00 00 3C 00 02 00 0C 00 19 D5 00 C0 04 1E 19 D5 00 C0 04 1E 19 D5 00 C0 02 5C 59 59 08 02 01 00 00 04 19 19 D5 00 C0 04 14 19 D5 00 C0 04 0F 19 D5 00 C0 04 0A 04 06 1C D5 00 C0 06 05 05 02 8C 59 59 08 02 03 00 00 10 00 10 00 04 02 02 8C 59 59 08 02 03 00 00 F0 FF F0 FF 19 77 00 C0 05 02 74 72 59 08 02 05 01 00 04 00 04 00 00 00 00 00 0B 00 0D 00 11 27 00 1B 27 04 0F 1F 59 8C 15 08 07 A8 00 C0 FF 3F 00 05 00 05 00 00 00 05 00 02 ZZ YY XX 08 82 03 10 00 10 00 08 00 05 19 9F 00 3F 03 D1 52 0D 08 02 05 01 00 04 00 00 00 08 00 01 00 05 15 17 00 0E 00 0B 00 0D 0E EA 7B 2D 08 05 08

                  At Offset XX YY ZZ
                  11 27 1B 27 74 49 52 08 9C C6 2E 08 00 00 00 00 54 6D 59 08 E1 19 11 08 19 11 08
                  Reply With Quote
                    #185    
                  Old November 18th, 2014 (9:18 AM).
                  mamamama mamamama is offline
                     
                    Join Date: Feb 2014
                    Posts: 180
                    Quote:
                    Originally Posted by KDS View Post
                    Wake-up Slap (Improved):
                    Sorry for double-post, but I would like to report a potential glitch.
                    This move effects works fine except it doesn't remove the SLP Icon after using Wake-Up Slap. Does it work for you on your system?

                    I saw a similar report on MrDS ROM-base which I assume uses the same Battle Script.
                    Reply With Quote
                      #186    
                    Old November 18th, 2014 (1:41 PM).
                    Chacha Dinosaur's Avatar
                    Chacha Dinosaur Chacha Dinosaur is offline
                    Adamant and adaptive dinosaur.
                       
                      Join Date: Jul 2013
                      Age: 23
                      Gender: Male
                      Posts: 454
                      Quote:
                      Originally Posted by mamamama View Post
                      Sorry for double-post, but I would like to report a potential glitch.
                      This move effects works fine except it doesn't remove the SLP Icon after using Wake-Up Slap. Does it work for you on your system?

                      I saw a similar report on MrDS ROM-base which I assume uses the same Battle Script.
                      It is working properly in my system. You might be getting glitches because of large scripts, BSP sometimes messes up the dynamic pointers. So try to the check script in the hex editor, correct the pointers and then check if the script is being able to decompile again in BSP without problems.
                      Reply With Quote
                        #187    
                      Old November 18th, 2014 (1:45 PM).
                      Spherical Ice's Avatar
                      Spherical Ice Spherical Ice is offline
                      • Crystal Tier
                       
                      Join Date: Nov 2007
                      Location: Bristol, UK
                      Age: 19
                      Posts: 5,231
                      Quote:
                      Originally Posted by KDS View Post
                      It is working properly in my system. You might be getting glitches because of large scripts, BSP sometimes messes up the dynamic pointers. So try to the check script in the hex editor, correct the pointers and then check if the script is being able to decompile again in BSP without problems.
                      I also get this issue, could you perhaps post the hex dump of your scripts?
                      __________________

                      A Pokemon that is discriminated!
                      Support squirtle and make it everyone's favourite.
                      Reply With Quote
                        #188    
                      Old November 19th, 2014 (6:54 AM).
                      Chacha Dinosaur's Avatar
                      Chacha Dinosaur Chacha Dinosaur is offline
                      Adamant and adaptive dinosaur.
                         
                        Join Date: Jul 2013
                        Age: 23
                        Gender: Male
                        Posts: 454
                        Quote:
                        Originally Posted by Spherical Ice View Post
                        I also get this issue, could you perhaps post the hex dump of your scripts?
                        Sure, here are 2 in hex format.
                        WAKE-UP SLAP:-

                        Spoiler:

                        1D 00 00 00 00 01 26 69 1D 08 1C 00 07 00 00 00 VV VV VV 08 28 26 69 1D 08

                        At VV VV VV:
                        2E D2 3F 02 02 02 00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 19 00 00 00 00 00 08 E3 00 4E 69 1D 08 2E 85 3E 02 02 01 18 00 2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08

                        At WW WW WW:
                        36 D4 42 02 02 FF 98 00 28 4E 69 1D 08

                        At XX XX XX:
                        36 7C 40 02 02 FF 98 00 28 4E 69 1D 08

                        At YY YY YY:
                        36 38 43 02 02 FF 98 00 28 4E 69 1D 08

                        At ZZ ZZ ZZ:
                        36 E0 40 02 02 FF 98 00 28 4E 69 1D 08

                        String at DD DD DD:
                        FD 10 00 EB E3 DF D9 00 E9 E4 AB FF


                        SCALD:-(hook this with 125)
                        Spoiler:

                        1D 00 00 00 00 01 26 69 1D 08 2E 85 3E 02 02 03 00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 15 19 00 00 00 00 00 08 E3 00 4E 69 1D 08 1C 00 20 00 00 00 VV VV VV 08 28 4E 69 1D 08

                        At VV VV VV:
                        2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 2E 85 3E 02 02 04 18 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08

                        At WW WW WW:
                        36 D4 42 02 02 FF 98 00 28 4E 69 1D 08

                        At XX XX XX:
                        36 7C 40 02 02 FF 98 00 28 4E 69 1D 08

                        At YY YY YY:
                        36 38 43 02 02 FF 98 00 28 4E 69 1D 08

                        At ZZ ZZ ZZ:
                        36 E0 40 02 02 FF 98 00 28 4E 69 1D 08

                        String at DD DD DD:
                        FD 10 00 EB D5 E7 FE D8 D9 DA E6 E3 E7 E8 D9 D8 AB FF


                        I have actually made some changes in these script to improve some message formatting and sequence of events. The scripts in the OP are also updated now.
                        Reply With Quote
                          #189    
                        Old November 19th, 2014 (10:06 PM).
                        MrDollSteak's Avatar
                        MrDollSteak MrDollSteak is offline
                        Formerly known as 11bayerf1
                           
                          Join Date: Dec 2008
                          Location: Hong Kong
                          Age: 22
                          Gender: Male
                          Posts: 817
                          Quote:
                          Originally Posted by KDS View Post
                          Sure, here are 2 in hex format.
                          WAKE-UP SLAP:-

                          Spoiler:

                          1D 00 00 00 00 01 26 69 1D 08 1C 00 07 00 00 00 VV VV VV 08 28 26 69 1D 08

                          At VV VV VV:
                          2E D2 3F 02 02 02 00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 19 00 00 00 00 00 08 E3 00 4E 69 1D 08 2E 85 3E 02 02 01 18 00 2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08

                          At WW WW WW:
                          36 D4 42 02 02 FF 98 00 28 4E 69 1D 08

                          At XX XX XX:
                          36 7C 40 02 02 FF 98 00 28 4E 69 1D 08

                          At YY YY YY:
                          36 38 43 02 02 FF 98 00 28 4E 69 1D 08

                          At ZZ ZZ ZZ:
                          36 E0 40 02 02 FF 98 00 28 4E 69 1D 08

                          String at DD DD DD:
                          FD 10 00 EB E3 DF D9 00 E9 E4 AB FF


                          SCALD:-(hook this with 125)
                          Spoiler:

                          1D 00 00 00 00 01 26 69 1D 08 2E 85 3E 02 02 03 00 01 5E 69 1D 08 00 00 02 03 04 05 06 07 09 0A 0E 5C 00 3A 0B 00 0C 00 0D 12 40 00 0F 12 40 00 15 19 00 00 00 00 00 08 E3 00 4E 69 1D 08 1C 00 20 00 00 00 VV VV VV 08 28 4E 69 1D 08

                          At VV VV VV:
                          2E 20 C0 03 02 DD 2E 21 C0 03 02 DD 2E 22 C0 03 02 DD 2E 23 C0 03 02 08 10 84 01 12 20 00 2E 85 3E 02 02 04 18 00 29 00 6C 3D 02 02 00 WW WW WW 08 29 00 6C 3D 02 02 01 XX XX XX 08 29 00 6C 3D 02 02 02 YY YY YY 08 29 00 6C 3D 02 02 03 ZZ ZZ ZZ 08

                          At WW WW WW:
                          36 D4 42 02 02 FF 98 00 28 4E 69 1D 08

                          At XX XX XX:
                          36 7C 40 02 02 FF 98 00 28 4E 69 1D 08

                          At YY YY YY:
                          36 38 43 02 02 FF 98 00 28 4E 69 1D 08

                          At ZZ ZZ ZZ:
                          36 E0 40 02 02 FF 98 00 28 4E 69 1D 08

                          String at DD DD DD:
                          FD 10 00 EB D5 E7 FE D8 D9 DA E6 E3 E7 E8 D9 D8 AB FF


                          I have actually made some changes in these script to improve some message formatting and sequence of events. The scripts in the OP are also updated now.
                          KDS, I believe I posted a Setword Battle Scripting command, that I use as command FA. so you don't need to buffer each individual byte. Saves space and makes scripting easier. I think it's with my Geomancy one.
                          __________________
                          Reply With Quote
                            #190    
                          Old November 20th, 2014 (12:16 AM).
                          Chacha Dinosaur's Avatar
                          Chacha Dinosaur Chacha Dinosaur is offline
                          Adamant and adaptive dinosaur.
                             
                            Join Date: Jul 2013
                            Age: 23
                            Gender: Male
                            Posts: 454
                            Quote:
                            Originally Posted by MrDollSteak View Post
                            KDS, I believe I posted a Setword Battle Scripting command, that I use as command FA. so you don't need to buffer each individual byte. Saves space and makes scripting easier. I think it's with my Geomancy one.
                            Actually, in my version of bsp there is a setword command that actually decomposes into 4 setbyte commands, just like the calculatedamage commands break into command no (5,6,7,8). If you see my original script of wakeup slap, there is a setword command to set the string. On your geomancy post I can't seem to find the link to the setword command (maybe because I am using a phone to post this).
                            Reply With Quote
                              #191    
                            Old November 20th, 2014 (9:07 AM).
                            mamamama mamamama is offline
                               
                              Join Date: Feb 2014
                              Posts: 180
                              Quote:
                              Originally Posted by KDS View Post
                              Actually, in my version of bsp there is a setword command that actually decomposes into 4 setbyte commands, just like the calculatedamage commands break into command no (5,6,7,8). If you see my original script of wakeup slap, there is a setword command to set the string. On your geomancy post I can't seem to find the link to the setword command (maybe because I am using a phone to post this).
                              I've been using your new script with Wake-Up Slap. The issue is that when I give Spore + Wake-Up slap to a wild Pokemon and have it use it on my Pokemon, everything is flawless and the SLP icon disappears. However, when I give Spore and Wake-Up Slap to my own Pokemon, put a wild pokemon to sleep, and wake-up slap it, it wakes up but the SLP icon is still there.

                              Have you tried both of these ways on your system and gotten them to work?
                              Reply With Quote
                                #192    
                              Old November 28th, 2014 (10:53 AM). Edited November 28th, 2014 by Chacha Dinosaur.
                              Chacha Dinosaur's Avatar
                              Chacha Dinosaur Chacha Dinosaur is offline
                              Adamant and adaptive dinosaur.
                                 
                                Join Date: Jul 2013
                                Age: 23
                                Gender: Male
                                Posts: 454
                                Welp, I deleted this message by accident in process of editing it for adding something new. x0

                                Quote:
                                Originally Posted by mamamama View Post
                                I've been using your new script with Wake-Up Slap. The issue is that when I give Spore + Wake-Up slap to a wild Pokemon and have it use it on my Pokemon, everything is flawless and the SLP icon disappears. However, when I give Spore and Wake-Up Slap to my own Pokemon, put a wild pokemon to sleep, and wake-up slap it, it wakes up but the SLP icon is still there.

                                Have you tried both of these ways on your system and gotten them to work?
                                Mine definitely works when I use spore + wakeup slap on the opponent. Can you VM or PM me your version of the hex dump, so that i can check it?

                                -----------------------------------------------------
                                To fix Spite's reduction to 4 PP

                                Spoiler:

                                Fire Red
                                At 2A55A: 04 D8 90 E0 00 00 00 00 00 00 00 00 04 26

                                Emerald
                                At 532E2: 04 D8 90 E0 00 00 00 00 00 00 00 00 04 26


                                Emerald ports for Taunt, Encore and Disable (Credits to Doesnt for the FR ones from which I
                                found the Emerald ones easily).

                                Spoiler:

                                Taunt's duration is controlled by the byte at x54DB6; change it to 04 for BW's length.

                                To fix Encore at 4 turns, insert 00 00 00 00 at x529EE and x529FE.

                                To fix Disable at 4 turns, insert 00 00 00 00 at x528B6 and x528C6.


                                Facade's ignore burn effect on attack (Fire Red Only):

                                Spoiler:

                                Important things :-
                                1. Only works for DoesntKnowHowToPlay's Fire Red PSS Split patch.
                                2. Make sure before making the hex edits, the region (x3F32c - x3F397) is filled with 00's
                                only, otherwise you will have to perform a hook or extra logic instead of directly
                                inserting these hex bytes).
                                3. Also make sure that facade's vanilla battle script is intact and not altered.
                                Anyways, the hex edits:

                                At x3F326: 27 E0 (branch to x3F378)

                                At x3F378:
                                F0 6C 10 21 08 40 00 28 16 D0 09 99 08 78 3E 28 12 D0 05 49 09 88 0C 20 41 43 04 48 40 18
                                01 78 A9 29 09 D0 05 E0 00 00 4C 3D 02 02 XX XX XX 08 00 00 (XX XX XX is location of your
                                move table )



                                I also have made some changes to Hidden Power so check its OP again.
                                Reply With Quote
                                  #193    
                                Old December 30th, 2014 (1:04 PM).
                                Chacha Dinosaur's Avatar
                                Chacha Dinosaur Chacha Dinosaur is offline
                                Adamant and adaptive dinosaur.
                                   
                                  Join Date: Jul 2013
                                  Age: 23
                                  Gender: Male
                                  Posts: 454
                                  Quote:
                                  Originally Posted by mamamama View Post


                                  .FailScript: .word 0x082D9F1C


                                  However, I can't manage to get "The Moved Failed" in my script. It just shows "XX Used Sucker Punch" and then nothing

                                  (everything works fine, just that this textstring doesn't come up). I've tried to add Resultmessage and missmessage

                                  after the callasm, but neither of that worked.


                                  Do I need to add a printstring somewhere? Sorry if noobish question.
                                  Actually jambo's callasm increments your script pointer by 5 regardless of whether you made change in the Script

                                  Pointer, so you should subtract it by 5 i.e change 0x082D9F1C to 0x082D9F17 in the ASM then your message should appear.

                                  Also updated the Script Pointer of the Second ASM of Acupressure to reflect this type of change in the OP
                                  ---------------------------------------------------------------------------------------------------
                                  --
                                  Now this post contains very important fixes to some of my move effects, and a few useful stuff also.



                                  ---------------------------------------------------------------------------------------------------
                                  1. Emerald port for Battle String Loader (credits to Jambo51 for original one)
                                  Spoiler:

                                  Byte Changes
                                  0x14E6C0: 01 49 08 47
                                  0x14E6C8: XX+1 XX XX 08 (Pointer to routine)

                                  Code:
                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  .global battlestringloaderhack
                                  main:
                                  mov r0, #0xC2
                                  lsl r0, r0, #0x1
                                  cmp r0, r6
                                  bne normalcode
                                  ldr r0, ramlocation
                                  ldr r7, [r0, #0x0]
                                  cmp r7, #0x0
                                  beq alternative
                                  mov r0, #0xA
                                  lsl r0, r0, #0x18
                                  cmp r7, r0
                                  bge alternative
                                  mov r0, #0x8
                                  lsl r0, r0, #0x18
                                  cmp r7, r0
                                  blt alternative
                                  b continue
                                  alternative: mov r6, #0xC
                                  ldr r1, returntwo
                                  bx r1
                                  continue: ldr r0, returnone
                                  bx r0
                                  normalcode: ldr r1, otherramloc
                                  mov r0, #0xFF
                                  strb r0, [r1, #0x0]
                                  pop {r3-r5}
                                  mov r8, r3
                                  mov r9, r4
                                  mov r10, r5
                                  pop {r4-r7}
                                  pop {r0}
                                  bx r0
                                  .align
                                  ramlocation: .word 0x0202C4D0
                                  returntwo: .word 0x0814E6CD
                                  returnone: .word 0x0814E6D9
                                  otherramloc: .word 0x02022E2C
                                  0x202C4D0 is chosen as the free RAM space to set the position of required string (if there any flaw in this location,

                                  then please notify with the reason), it is placed similar as 0x203C020 in Fire Red.

                                  Use this offset in setword command to setup your battle string



                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  2. Incinerate (Destroys target's berry completely)
                                  Instead of checking the index, the way to check whether an item is a berry or not is to check its pocket number (5 for

                                  FR and 4 for Emerald) and there is an preexisting command that clears the item of banked pokemon (so no need for

                                  encrypt-er decry-pt-er calls in the ASM).

                                  First add this entry in commands.bsh in BSP
                                  Code:
                                  #command removeitem 0x6A 0x1 "Bank" 0x1
                                  Fire Red:-
                                  Spoiler:

                                  ASM:
                                  Code:
                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  .global incinerate
                                  
                                  main:
                                      push {lr}
                                      ldr r0, =0x02023D6C
                                      ldrb r0, [r0]
                                      ldr r1, =0x02023BE4
                                      mov r2, #0x58
                                      mul r2, r0
                                      add r1, r2
                                      ldrh r0, [r1, #0x2E]
                                      ldr r3, =0x083DB028
                                      add r3, #0x1A
                                      mov r2, #0x2C
                                      mul r2, r0
                                      add r3, r2
                                      ldrb r0, [r3, #0x0]
                                      cmp r0, #0x5
                                      beq exit
                                      
                                      ldr r1, =0x081D6947
                                      sub r1, r1, #0x5
                                      ldr r0, =0x02023D74
                                      str r1, [r0, #0x0]
                                      
                                  exit:
                                      pop {r0}
                                      bx r0
                                  Script:
                                  Code:
                                  #org @incinerate
                                  jumpifsecondarystatus 0x0 0x1000000 0x81D6926
                                  attackcanceler
                                  accuracycheck 0x01D695E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x02023DCC 0x8 0x81D694E
                                  callasm 0x08(offset to routine + 1)
                                  setword 0x203c020 0x08DDDDDD
                                  printstring 0x184
                                  waitmessage 0x40
                                  removeitem 0x0
                                  goto 0x81D6947


                                  Emerald:-
                                  Spoiler:

                                  ASM:
                                  Code:
                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  .global incinerate
                                  
                                  main:
                                      push {lr}
                                      ldr r0, =0x0202420C
                                      ldrb r0, [r0]
                                      ldr r1, =0x02024084
                                      mov r2, #0x58
                                      mul r2, r0
                                      add r1, r2
                                      ldrh r0, [r1, #0x2E]
                                      ldr r3, =0x085839A0
                                      add r3, #0x1A
                                      mov r2, #0x2C
                                      mul r2, r0
                                      add r3, r2
                                      ldrb r0, [r3, #0x0]
                                      cmp r0, #0x4
                                      beq exit
                                      
                                      ldr r1, =0x082D8A47
                                      sub r1, r1, #0x5
                                      ldr r0, =0x02024214
                                      str r1, [r0, #0x0]
                                      
                                  exit:
                                      pop {r0}
                                      bx r0
                                  Script:
                                  Code:
                                  #org @incinerate
                                  jumpifsecondarystatus 0x0 0x1000000 0x82D8A26
                                  attackcanceler
                                  accuracycheck 0x82D8A5E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x202427C 0x8 0x82D8A4E
                                  callasm 0x08(offset to routine + 1)
                                  setword 0x202C4D0 0x08DDDDDD
                                  printstring 0x184
                                  waitmessage 0x40
                                  removeitem 0x0
                                  goto 0x82D8A47


                                  String at DDDDDD (Common to both):
                                  Code:
                                  FD 10 B3 E7 00 FD 16 FE EB D5 E7 00 D6 E9 E6 E2 E8 00 E9 E4 AB
                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  3. Hi Jump Kick (Now it crashes due to type immunity also)
                                  (Remove the Bold Lines in the Script if you don't have Magic Guard)

                                  Fire Red:-
                                  Spoiler:

                                  ASM:
                                  Code:
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  
                                  main:
                                  ldr r0, .userBank
                                  ldrb r0, [r0, #0x0]
                                  ldr r1, .battleStruct
                                  mov r2, #0x58
                                  mul r0, r2
                                  add r4, r0, r1
                                  ldrh r3, [r4, #0x2c]
                                  lsr r3, #0x1
                                  ldr r0, .damageValue
                                  str r3, [r0, #0x0]
                                  bx lr
                                  
                                  .align
                                  .damageValue:  .word 0x02023D50
                                  .battleStruct:  .word 0x02023be4
                                  .userBank: .word 0x02023D6B
                                  Script:
                                  Code:
                                  #org @jumpkick
                                  attackcanceler
                                  accuracycheck @misscrash 0x0
                                  attackstring
                                  ppreduce
                                  critcalc
                                  cmd5
                                  cmd6
                                  cmd7
                                  jumpifbyte 0x4 0x2023DCC 0x8 @immunitycrash
                                  goto 0x81D6934
                                  
                                  #org @immunitycrash
                                  pause 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifability 0x1 MAGIC_GUARD 0x81D694E
                                  printstring 0x60
                                  waitmessage 0x40
                                  bicbyte 0x2023DCC 0x8
                                  call @crashdamage
                                  orbyte 0x2023DCC 0x8
                                  goto 0x81D694E
                                  
                                  #org @misscrash
                                  attackstring
                                  ppreduce
                                  pause 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifability 0x1 MAGIC_GUARD 0x81D694E
                                  printstring 0x60
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x2023DCC 0x8 @micrash
                                  bicbyte 0x2023DCC 0x1
                                  call @crashdamage
                                  orbyte 0x2023DCC 0x1
                                  goto 0x81D694E
                                  
                                  #org @micrash
                                  bicbyte 0x2023DCC 0x9
                                  call @crashdamage
                                  orbyte 0x2023DCC 0x9
                                  goto 0x81D694E
                                  
                                  #org @crashdamage
                                  orword 0x2023DD0 0x100
                                  callasm 0x8(offset to routine + 1)
                                  graphicalhpupdate 0x1
                                  datahpupdate 0x1
                                  faintpokemon 0x1 0x0 0x0
                                  return


                                  Emerald:-
                                  Spoiler:

                                  ASM:
                                  Code:
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  
                                  main:
                                  ldr r0, userBank
                                  ldrb r0, [r0, #0x0]
                                  ldr r1, battleStruct
                                  mov r2, #0x58
                                  mul r0, r2
                                  add r4, r0, r1
                                  ldrh r3, [r4, #0x2c]
                                  lsr r3, #0x1
                                  ldr r0, damageValue
                                  str r3, [r0, #0x0]
                                  bx lr
                                  
                                  .align
                                  damageValue:  .word 0x020241F0
                                  battleStruct:  .word 0x02024084
                                  userBank: .word 0x0202420B
                                  Script:
                                  Code:
                                  #dynamic 0xC00000
                                  #freespacebyte 0x00
                                  
                                  #org @jumpkick
                                  attackcanceler
                                  accuracycheck @misscrash 0x0
                                  attackstring
                                  ppreduce
                                  critcalc
                                  cmd5
                                  cmd6
                                  cmd7
                                  jumpifbyte 0x4 0x202427C 0x8 @immunitycrash
                                  goto 0x82D8A34
                                  
                                  #org @immunitycrash
                                  pause 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifability 0x1 MAGIC_GUARD 0x82D8A4E
                                  printstring 0x60
                                  waitmessage 0x40
                                  bicbyte 0x202427C 0x8
                                  call @crashdamage
                                  orbyte 0x202427C 0x8
                                  goto 0x82D8A4E
                                  
                                  #org @misscrash
                                  attackstring
                                  ppreduce
                                  pause 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifability 0x1 MAGIC_GUARD 0x82D8A4E
                                  printstring 0x60
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x207427C 0x8 @micrash
                                  bicbyte 0x202427C 0x1
                                  call @crashdamage
                                  orbyte 0x202427C 0x1
                                  goto 0x82D8A4E
                                  
                                  #org @micrash
                                  bicbyte 0x202427C 0x9
                                  call @crashdamage
                                  orbyte 0x202427C 0x9
                                  goto 0x82D8A4E
                                  
                                  #org @crashdamage
                                  orword 0x2024280 0x100
                                  callasm 0x8(offset to routine + 1)
                                  graphicalhpupdate 0x1
                                  datahpupdate 0x1
                                  faintpokemon 0x1 0x0 0x0
                                  return


                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  4. Cure Primary Status Command
                                  Some points about it:-
                                  --> It is custom command created by me to cure any primary status of banked Pokemon.

                                  --> It is actually a mod of the cureifburnparalysedpoisoned to command to support curing of any status and adds the

                                  functionality of selecting banks to too.

                                  --> It provides an efficient way to cure any primary status of a Pokemon. My fixed Wake-Up Slap, Scald and Psycho Shift

                                  use this now (I might have missed some flags in my previous methods for simulating these but this command addresses all

                                  those issues).

                                  --> It can also be handy for simulating Bug Bite and Healer ability.

                                  --> It branches to an address mentioned in the command if the banked Pokemon does suffer from a primary status (added

                                  for safety)

                                  STEPS To Add This:

                                  1. Insert this ASM somewhere

                                  Fire Red:-
                                  Spoiler:

                                  Code:
                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  
                                  push {r4-r6, lr}
                                  add sp, #-0x4
                                  ldr r3, scriptPointer
                                  ldr r0, [r3, #0x0]
                                  ldrb r0, [r0, #0x1]
                                  bl bankGetter
                                  lsl r3, r0, #0x18
                                  lsr r3, r3, #0x18
                                  ldr r1, =0x02023BE4
                                  mov r6, #0x58
                                  mul r0, r6
                                  add r5, r1, #0x0
                                  add r5, #0x4C
                                  add r2, r0, r5
                                  ldr r0, [r2, #0x0]
                                  mov r1, #0xFF
                                  and r0, r1
                                  cmp r0, #0x0
                                  beq fail
                                  mov r0, #0x0
                                  str r0, [r2, #0x0]
                                  ldr r1, scriptPointer
                                  ldr r0, [r1, #0x0]
                                  add r0, #0x6
                                  str r0, [r1, #0x0]
                                  ldr r4, =0x02023BC4
                                  mov r0, r3
                                  strb r0, [r4, #0x0]
                                  ldrb r0, [r4, #0x0]
                                  mul r0, r6
                                  add r0, r0, r5
                                  str r0, [sp, #0x0]
                                  mov r0, #0x0
                                  mov r1, #0x28
                                  mov r2, #0x0
                                  mov r3, #0x4
                                  bl function1
                                  ldrb r0, [r4, #0x0]
                                  bl function2
                                  b exit
                                  
                                  fail:
                                  ldr r3, scriptPointer
                                  ldr r2, [r3, #0x0]
                                  ldrb r1, [r2, #0x2]
                                  ldrb r0, [r2, #0x3]
                                  lsl r0, r0, #0x08
                                  orr r1, r0
                                  ldrb r0, [r2, #0x4]
                                  lsl r0, r0, #0x10
                                  orr r1, r0
                                  ldrb r0, [r2, #0x5]
                                  lsl r0, r0, #0x18
                                  orr r1, r0
                                  str r1, [r3, #0x0]
                                  
                                  exit:
                                  add sp, #0x4
                                  pop {r4-r6}
                                  pop {r0}
                                  bx r0
                                  
                                  bankGetter:
                                  ldr r1, =0x08016E25
                                  bx r1
                                  
                                  function1:
                                  ldr r6, =0x0800DFF1
                                  bx r6
                                  
                                  function2:
                                  ldr r1, =0x08017249
                                  bx r1
                                  
                                  .align 2
                                  scriptPointer: .word 0x2023D74


                                  Emerald:-
                                  Spoiler:

                                  Code:
                                  .text
                                  .align 2
                                  .thumb
                                  .thumb_func
                                  
                                  push {r4-r6, lr}
                                  add sp, #-0x4
                                  ldr r3, scriptPointer
                                  ldr r0, [r3, #0x0]
                                  ldrb r0, [r0, #0x1]
                                  bl bankGetter
                                  lsl r3, r0, #0x18
                                  lsr r3, r3, #0x18
                                  ldr r1, =0x02024084
                                  mov r6, #0x58
                                  mul r0, r6
                                  add r5, r1, #0x0
                                  add r5, #0x4C
                                  add r2, r0, r5
                                  ldr r0, [r2, #0x0]
                                  mov r1, #0xFF
                                  and r0, r1
                                  cmp r0, #0x0
                                  beq fail
                                  mov r0, #0x0
                                  str r0, [r2, #0x0]
                                  ldr r1, scriptPointer
                                  ldr r0, [r1, #0x0]
                                  add r0, #0x6
                                  str r0, [r1, #0x0]
                                  ldr r4, =0x02024064
                                  mov r0, r3
                                  strb r0, [r4, #0x0]
                                  ldrb r0, [r4, #0x0]
                                  mul r0, r6
                                  add r0, r0, r5
                                  str r0, [sp, #0x0]
                                  mov r0, #0x0
                                  mov r1, #0x28
                                  mov r2, #0x0
                                  mov r3, #0x4
                                  bl function1
                                  ldrb r0, [r4, #0x0]
                                  bl function2
                                  b exit
                                  
                                  fail:
                                  ldr r3, scriptPointer
                                  ldr r2, [r3, #0x0]
                                  ldrb r1, [r2, #0x2]
                                  ldrb r0, [r2, #0x3]
                                  lsl r0, r0, #0x08
                                  orr r1, r0
                                  ldrb r0, [r2, #0x4]
                                  lsl r0, r0, #0x10
                                  orr r1, r0
                                  ldrb r0, [r2, #0x5]
                                  lsl r0, r0, #0x18
                                  orr r1, r0
                                  str r1, [r3, #0x0]
                                  
                                  exit:
                                  add sp, #0x4
                                  pop {r4-r6}
                                  pop {r0}
                                  bx r0
                                  
                                  bankGetter:
                                  ldr r1, =0x0803F3CD
                                  bx r1
                                  
                                  function1:
                                  ldr r6, =0x08033901
                                  bx r6
                                  
                                  function2:
                                  ldr r1, =0x0803F801
                                  bx r1
                                  
                                  .align 2
                                  scriptPointer: .word 0x2024214


                                  2. Add another entry to your repointed command table containing the offset to this ASM + 1.
                                  3. Add this entry in commands.bsh in BSP for our new command
                                  Code:
                                  #command cureprimarystatus 0xF9 0x2 "Bank" 0x1 "Fail Address" 0x4
                                  Then you are set to use this.

                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  I recommend to use the new scripts for Wake-Up Slap and Scald with this new command.
                                  ---------------------------------------------------------------------------------------------------
                                  5. Wake-Up Slap (With the custom command)

                                  Fire Red:-
                                  Spoiler:

                                  Code:
                                  #org @sleepchecker
                                  jumpifsecondarystatus 0x0 0x1000000 0x81D6926
                                  jumpifstatus 0x0 0x7 @wakupslap
                                  goto 0x81D6926
                                  
                                  #org @wakupslap
                                  setbyte damagemultiplier 0x2
                                  attackcanceler
                                  accuracycheck 0x81D695E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x02023DCC 0x8 0x81D694E
                                  faintpokemon 0x0 0x0 0x0
                                  jumpiffainted 0x0 0x81D694E
                                  cureprimarystatus 0x0 0x81D694E
                                  setword 0x203C020 0x08DDDDDD
                                  printstring 0x184
                                  waitmessage 0x40
                                  cmd98 0x0
                                  goto 0x81D694E


                                  Emerald:-
                                  Spoiler:

                                  Code:
                                  #org @sleepchecker
                                  jumpifsecondarystatus 0x0 0x1000000 0x82D8A26
                                  jumpifstatus 0x0 0x7 @wakupslap
                                  goto 0x82D8A26
                                  
                                  #org @wakupslap
                                  setbyte damagemultiplier 0x2
                                  attackcanceler
                                  accuracycheck 0x82D8A5E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x202427C 0x8 0x82D8A4E
                                  faintpokemon 0x0 0x0 0x0
                                  jumpiffainted 0x0 0x82D8A4E
                                  cureprimarystatus 0x0 0x82D8A4E
                                  setword 0x202C4D0 0x08DDDDDD
                                  printstring 0x184
                                  waitmessage 0x40
                                  cmd98 0x0
                                  goto 0x82D8A4E


                                  String at DDDDDD:
                                  Code:
                                  FD 10 00 EB E3 DF D9 00 E9 E4 AB FF
                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  6. Psycho Shift (Type Immunity check in Paralysis removal)

                                  Fire Red:-
                                  Spoiler:

                                  Code:
                                  #include std.bsh
                                  
                                  #org @psycoshift
                                  attackcanceler
                                  attackstring
                                  ppreduce
                                  jumpifsecondarystatus BANK_TARGET 0x1000000 0x81D7DF2
                                  jumpifstatus BANK_USER 0x10 @burnandcure
                                  jumpifstatus BANK_USER 0x8 @poisonandcure
                                  jumpifstatus BANK_USER 0x80 @toxicandcure
                                  jumpifstatus BANK_USER 0x40 @paralijeandcure
                                  jumpifstatus BANK_USER 0x7 @sleepandcure
                                  goto 0x81D7DF2
                                  
                                  #org @burnandcure
                                  jumpifstatus 0x0 0x10 0x81D7F91
                                  jumpiftype 0x0 0xA 0x81D7E04
                                  jumpifability 0x0 0x29 0x81D7F77
                                  jumpifstatus 0x0 0xFF 0x81D7DF2
                                  accuracycheck 0x81D7DF2 0x0
                                  jumpifhalverset 0x0 0x20 0x81D8B39
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2023E85 0x3
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x81D7DF2
                                  cmd98 0x1
                                  goto 0x81D694E
                                  
                                  #org @poisonandcure
                                  jumpifability 0x0 0x11 0x81D6E4F
                                  jumpifstatus 0x0 0x8 0x81D6E41
                                  jumpifstatus 0x0 0x80 0x81D6E41
                                  jumpiftype 0x0 0x3 0x81D7E04
                                  jumpiftype 0x0 0x8 0x81D7E04
                                  jumpifstatus 0x0 0xFF 0x81D7DF2
                                  accuracycheck 0x81D7DF2 0x0
                                  jumpifhalverset 0x0 0x20 0x81D8B39
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2023E85 0x2
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x81D7DF2
                                  cmd98 0x1
                                  goto 0x81D694E
                                  
                                  #org @paralijeandcure
                                  jumpifability 0x0 0x7 0x81D7245
                                  jumpiftype 0x0 0xD 0x81D7E04
                                  jumpifstatus 0x0 0x40 0x81D7237
                                  jumpifstatus 0x0 0xFF 0x81D7DF2
                                  accuracycheck 0x81D7DF2 0x0
                                  jumpifhalverset 0x0 0x20 0x81D8B39
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2023E85 0x5
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x81D7DF2
                                  cmd98 0x1
                                  goto 0x81D694E
                                  
                                  #org @toxicandcure
                                  jumpifability 0x0 0x11 0x81D6E4F
                                  jumpifstatus 0x0 0x8 0x81D6E41
                                  jumpifstatus 0x0 0x80 0x81D6E41
                                  jumpifstatus 0x0 0xFF 0x81D7DF2
                                  jumpiftype 0x0 0x3 0x81D7E04
                                  jumpiftype 0x0 0x8 0x81D7E04
                                  accuracycheck 0x81D7DF2 0x0
                                  jumpifhalverset 0x0 0x20 0x81D8B39
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2023E85 0x6
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x81D7DF2
                                  cmd98 0x1
                                  goto 0x81D694E
                                  
                                  #org @sleepandcure
                                  jumpifstatus 0x0 0x7 0x81D69B0
                                  jumpifcannotsleep 0x81D69CC
                                  jumpifstatus 0x0 0xFF 0x81D7DF2
                                  accuracycheck 0x81D7DF2 0x0
                                  jumpifhalverset 0x0 0x20 0x81D8B39
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2023E85 0x1
                                  seteffecttarget
                                  cureprimarystatus 0x1 0x81D7DF2
                                  cmd98 0x1
                                  goto 0x81D694E


                                  Emerald:-
                                  Spoiler:

                                  Code:
                                  #include std.bsh
                                  
                                  #org @psycoshift
                                  attackcanceler
                                  attackstring
                                  ppreduce
                                  jumpifsecondarystatus BANK_TARGET 0x1000000 0x82D9F1C
                                  jumpifstatus BANK_USER 0x10 @burnandcure
                                  jumpifstatus BANK_USER 0x8 @poisonandcure
                                  jumpifstatus BANK_USER 0x80 @toxicandcure
                                  jumpifstatus BANK_USER 0x40 @paralijeandcure
                                  jumpifstatus BANK_USER 0x7 @sleepandcure
                                  goto 0x82D9F1C
                                  
                                  #org @burnandcure
                                  jumpifstatus 0x0 0x10 0x82DA0BB
                                  jumpiftype 0x0 0xA 0x82D9F2E
                                  jumpifability 0x0 0x29 0x82DA0A1	
                                  jumpifstatus 0x0 0xFF 0x82D9F1C
                                  accuracycheck 0x82D9F1C 0x0
                                  jumpifhalverset 0x0 0x20 0x82DAD01
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2024335 0x3
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x82D9F1C
                                  cmd98 0x1
                                  goto 0x82D8A4E
                                  
                                  #org @poisonandcure
                                  jumpifability 0x0 0x11 0x82D8F63
                                  jumpifstatus 0x0 0x8 0x82D8F52
                                  
                                  jumpifstatus 0x0 0x80 0x82D8F52
                                  
                                  jumpiftype 0x0 0x3 0x82D9F2E
                                  
                                  jumpiftype 0x0 0x8 0x82D9F2E
                                  
                                  jumpifstatus 0x0 0xFF 0x82D9F1C
                                  accuracycheck 0x82D9F1C 0x0
                                  jumpifhalverset 0x0 0x20 0x82DAD01
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2024335 0x2
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x82D9F1C
                                  cmd98 0x1
                                  goto 0x82D8A4E
                                  
                                  #org @paralijeandcure
                                  jumpifability 0x0 0x7 0x82D9362
                                  jumpiftype 0x0 0xD 0x82D9F2E
                                  jumpifstatus 0x0 0x40 0x82D9351
                                  
                                  jumpifstatus 0x0 0xFF 0x82D9F1C
                                  
                                  accuracycheck 0x82D9F1C 0x0
                                  
                                  jumpifhalverset 0x0 0x20 0x82DAD01
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2024335 0x5
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x82D9F1C
                                  cmd98 0x1
                                  goto 0x82D8A4E
                                  
                                  #org @toxicandcure
                                  jumpifability 0x0 0x11 0x82D8F63
                                  
                                  jumpifstatus 0x0 0x8 0x82D8F52
                                  
                                  jumpifstatus 0x0 0x80 0x82D8F52
                                  
                                  jumpifstatus 0x0 0xFF 0x82D9F1C
                                  
                                  jumpiftype 0x0 0x3 0x82D9F2E
                                  
                                  jumpiftype 0x0 0x8 0x82D9F2E
                                  
                                  accuracycheck 0x82D9F1C 0x0
                                  
                                  jumpifhalverset 0x0 0x20 0x82DAD01
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2024335 0x6
                                  seteffecttarget
                                  cureifburnedparalysedorpoisoned 0x82D9F1C
                                  cmd98 0x1
                                  goto 0x82D8A4E
                                  
                                  #org @sleepandcure
                                  jumpifstatus 0x0 0x7 0x82D8AB0
                                  
                                  jumpifcannotsleep 0x82D8ACF
                                  
                                  jumpifstatus 0x0 0xFF 0x82D9F1C
                                  
                                  accuracycheck 0x82D9F1C 0x0
                                  
                                  jumpifhalverset 0x0 0x20 0x82DAD01
                                  attackanimation
                                  waitanimation
                                  setbyte 0x2024335 0x1
                                  seteffecttarget
                                  cureprimarystatus 0x1 0x82D9F1C
                                  cmd98 0x1
                                  goto 0x82D8A4E


                                  ---------------------------------------------------------------------------------------------------
                                  ---------------------------------------------------------------------------------------------------
                                  7. Scald (Thaw user, thaw foe & chance to burn (don't burn if foe is thawed by Scald) & Hook with effect 125 to thaw

                                  user)

                                  Fire Red:-
                                  Spoiler:

                                  Code:
                                  #org @scald
                                  jumpifsecondarystatus 0x0 0x1000000 0x81D6926
                                  setbyte 0x2023E85 0x3
                                  attackcanceler
                                  accuracycheck 0x81D695E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x02023DCC 0x9 0x81D694E
                                  seteffectwithchancetarget
                                  faintpokemon 0x0 0x0 0x0
                                  jumpiffainted 0x0 0x81D694E
                                  jumpifstatus 0x0 0x20 @thawfoe
                                  goto 0x81D694E
                                  
                                  #org @thawfoe
                                  cureprimarystatus 0x0 0x81D694E
                                  setword 0x203C020 0x83FBD63
                                  printstring 0x184
                                  waitmessage 0x40
                                  cmd98 0x0
                                  goto 0x81D694E


                                  Emerald:-
                                  Spoiler:

                                  Code:
                                  #org @scald
                                  jumpifsecondarystatus 0x0 0x1000000 0x82D8A26
                                  setbyte 0x2024335 0x3
                                  attackcanceler
                                  accuracycheck 0x82D8A5E 0x0
                                  attackstring
                                  ppreduce
                                  calculatedamage
                                  attackanimation
                                  waitanimation
                                  missmessage
                                  cmd5c 0x0
                                  waitstate
                                  graphicalhpupdate 0x0
                                  datahpupdate 0x0
                                  critmessage
                                  waitmessage 0x40
                                  resultmessage
                                  waitmessage 0x40
                                  jumpifbyte 0x4 0x202427C 0x9 0x82D8A4E
                                  seteffectwithchancetarget
                                  faintpokemon 0x0 0x0 0x0
                                  jumpiffainted 0x0 0x82D8A4E
                                  jumpifstatus 0x0 0x20 @thawfoe
                                  goto 0x82D8A4E
                                  
                                  #org @thawfoe
                                  cureprimarystatus 0x0 0x82D8A4E
                                  setword 0x202C4D0 0x85C9F43
                                  printstring 0x184
                                  waitmessage 0x40
                                  cmd98 0x0
                                  goto 0x82D8A4E


                                  (OPTIONAL) Updating of defrost message to thaw message

                                  Fire Red:-
                                  At x3FB6D6 and x3FB6E8 place E8 DC D5 EB D9 D8 00 E3 E9 E8 AB 00 00 00 FF

                                  Emerald:-
                                  At x5C9F46 and x5C9F58 place E8 DC D5 EB D9 D8 00 E3 E9 E8 AB 00 00 00 FF
                                  Reply With Quote
                                    #194    
                                  Old December 30th, 2014 (8:03 PM).
                                  mamamama mamamama is offline
                                     
                                    Join Date: Feb 2014
                                    Posts: 180
                                    Quote:
                                    Originally Posted by KDS View Post
                                    Long Post
                                    That is some amazing work KDS. It really motivates me to go back and continue my ROMbase when you make contributions like these.

                                    Perhaps in a month or so when I have more time.
                                    Reply With Quote
                                      #195    
                                    Old December 30th, 2014 (8:14 PM).
                                    HidoranBlaze's Avatar
                                    HidoranBlaze HidoranBlaze is offline
                                       
                                      Join Date: Apr 2013
                                      Age: 21
                                      Gender: Male
                                      Posts: 253
                                      Quote:
                                      Originally Posted by KDS View Post
                                      ---------------------------------------------------------------------------------------------------
                                      1. Emerald port for Battle String Loader (credits to Jambo51 for original one)
                                      Spoiler:

                                      Byte Changes
                                      0x14E6C0: 01 49 08 47
                                      0x14E6C8: XX+1 XX XX 08 (Pointer to routine)

                                      Code:
                                      .text
                                      .align 2
                                      .thumb
                                      .thumb_func
                                      .global battlestringloaderhack
                                      main:
                                      mov r0, #0xC2
                                      lsl r0, r0, #0x1
                                      cmp r0, r6
                                      bne normalcode
                                      ldr r0, ramlocation
                                      ldr r7, [r0, #0x0]
                                      cmp r7, #0x0
                                      beq alternative
                                      mov r0, #0xA
                                      lsl r0, r0, #0x18
                                      cmp r7, r0
                                      bge alternative
                                      mov r0, #0x8
                                      lsl r0, r0, #0x18
                                      cmp r7, r0
                                      blt alternative
                                      b continue
                                      alternative: mov r6, #0xC
                                      ldr r1, returntwo
                                      bx r1
                                      continue: ldr r0, returnone
                                      bx r0
                                      normalcode: ldr r1, otherramloc
                                      mov r0, #0xFF
                                      strb r0, [r1, #0x0]
                                      pop {r3-r5}
                                      mov r8, r3
                                      mov r9, r4
                                      mov r10, r5
                                      pop {r4-r7}
                                      pop {r0}
                                      bx r0
                                      .align
                                      ramlocation: .word 0x0202C4D0
                                      returntwo: .word 0x0814E6CD
                                      returnone: .word 0x0814E6D9
                                      otherramloc: .word 0x02022E2C
                                      0x202C4D0 is chosen as the free RAM space to set the position of required string (if there any flaw in this location,

                                      then please notify with the reason), it is placed similar as 0x203C020 in Fire Red.

                                      Use this offset in setword command to setup your battle string

                                      Don't really want to burst your bubble, but I actually ported that to EM a while ago :p

                                      Nice work with the battle scripts though!
                                      Reply With Quote
                                        #196    
                                      Old December 30th, 2014 (8:31 PM).
                                      Chacha Dinosaur's Avatar
                                      Chacha Dinosaur Chacha Dinosaur is offline
                                      Adamant and adaptive dinosaur.
                                         
                                        Join Date: Jul 2013
                                        Age: 23
                                        Gender: Male
                                        Posts: 454
                                        Quote:
                                        Originally Posted by HidoranBlaze View Post
                                        Don't really want to burst your bubble, but I actually ported that to EM a while ago :p

                                        Nice work with the battle scripts though!
                                        Alright, then its very good. I couldn't find one so I made one myself.
                                        Reply With Quote
                                          #197    
                                        Old January 1st, 2015 (4:34 PM).
                                        You Watanabe's Avatar
                                        You Watanabe You Watanabe is offline
                                        Now Leaving...
                                           
                                          Join Date: Feb 2014
                                          Location: Shiganshina District, Wall Maria
                                          Gender: Female
                                          Nature: Adamant
                                          Posts: 430
                                          Emerald Shadow Claw animation:
                                          Spoiler:
                                          14 01 17 00 B7 27 00 37 27 00 E0 27 0A 01 0C 0C 08 02 28 FE 57 08 02 02 06 00 04 00 04 04 03 D1 52 0D 08 02 05 01 00 02 00 00 00 12 00 01 00 02 38 71 59 08 82 03 F6 FF F6 FF 00 00 02 38 71 59 08 82 03 F6 FF 0A 00 00 00 19 88 00 3F 04 0C 02 38 71 59 08 82 03 0A 00 F6 FF 01 00 02 38 71 59 08 82 03 0A 00 0A 00 01 00 19 88 00 3F 05 0D 0B 01 0E DD 7C 2D 08 08

                                          Simply combined Crush Claw and shadow background. Hope you like this simplicity but it suits well.
                                          __________________

                                          Userpage


                                          Pokémon Dark Jade Version (Coming Soon!)


                                          The Omsoc Empire (Coming Soon!)
                                          Reply With Quote
                                            #198    
                                          Old January 10th, 2015 (11:03 PM).
                                          jirachiwishmaker's Avatar
                                          jirachiwishmaker jirachiwishmaker is offline
                                             
                                            Join Date: Jul 2007
                                            Location: Forina
                                            Gender: Male
                                            Nature: Lonely
                                            Posts: 75
                                            Here are Worry Seed and Fairy Wind animation for Emerald which I'm going to share, I translated them from MrDollSteak's Rombase:

                                            Worry Seed:
                                            Spoiler:
                                            00 16 27 00 E1 27 00 67 27 19 A9 00 C0 02 BC 22 59 08 82 06 0F 00 00 00 00 00 18 00 23 00 E0 FF 04 08 19 A9 00 C0 02 BC 22 59 08 82 06 0F 00 00 00 F0 FF 18 00 23 00 D8 FF 04 08 19 A9 00 C0 02 BC 22 59 08 82 06 0F 00 00 00 10 00 18 00 23 00 DB FF 04 0C 1C A7 00 3F 0A 08 05 02 8C 36 59 08 82 03 01 00 EC FF E4 FF 19 C2 00 3F 05 04 0C 02 8C 36 59 08 82 03 01 00 14 00 E4 FF 19 C2 00 3F 08 08


                                            Fairy Wind:
                                            Spoiler:
                                            02 74 72 59 08 02 05 01 00 01 00 00 00 08 00 7D 6E 05 00 02 28 00 97 27 0A 03 0C 0C 08 19 C7 00 C0 02 ZZ YY XX 08 83 07 14 00 F6 FF 14 00 00 00 16 00 14 00 01 00 04 05 19 C7 00 C0 02 ZZ YY XX 08 83 07 14 00 F6 FF 14 00 05 00 16 00 EE FF 01 00 04 05 19 C7 00 C0 02 ZZ YY XX 08 83 07 14 00 F6 FF 14 00 F6 FF 16 00 0F 00 01 00 03 D1 52 0D 08 02 05 01 00 02 00 00 00 12 00 01 00 03 D1 52 0D 08 02 05 03 00 02 00 00 00 12 00 01 00 04 05 19 C7 00 C0 02 ZZ YY XX 08 83 07 14 00 F6 FF 14 00 00 00 16 00 EC FF 01 00 04 05 19 C7 00 C0 02 ZZ YY XX 08 83 07 14 00 F6 FF 14 00 00 00 16 00 0C 00 01 00 04 05 05 0B 03 0D 02 74 72 59 08 02 05 01 00 01 00 08 00 00 00 7D 6E 05 0B 03 0D 08 08

                                            At Offset XX YY ZZ:
                                            02 28 02 28 74 49 52 08 9C C6 2E 08 00 00 00 00 00 24 59 08 F5 F0 0F 08
                                            Reply With Quote
                                              #199    
                                            Old January 19th, 2015 (12:11 PM).
                                            Edwearth's Avatar
                                            Edwearth Edwearth is offline
                                               
                                              Join Date: May 2014
                                              Location: Paris
                                              Gender: Male
                                              Posts: 40
                                              Hello, I ported some effects you made for Fire Red to Emerald.

                                              Blizzard Updated :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @blizzard
                                              setbyte 0x2024335 0x4
                                              jumpifhalfword 0x0 weather 0x80 @notmiss
                                              goto 0x82D8A00
                                              
                                              #org @notmiss
                                              attackcanceler
                                              attackstring
                                              ppreduce
                                              calculatedamage
                                              attackanimation
                                              waitanimation
                                              missmessage
                                              cmd5c 0x0
                                              waitstate
                                              graphicalhpupdate 0x0
                                              datahpupdate 0x0
                                              critmessage
                                              waitmessage 0x40
                                              resultmessage
                                              waitmessage 0x40
                                              seteffectwithchancetarget
                                              faintpokemon 0x0 0x0 0x0
                                              setbyte 0x2024488 0x0
                                              cmd49 0x0 0x0
                                              end


                                              Charge Updated :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @charge
                                              attackcanceler
                                              attackstring
                                              ppreduce
                                              setcharge
                                              attackanimation
                                              waitanimation
                                              printstring 0xA5
                                              waitmessage 0x40
                                              jumpifstat 0x1 0x0 0x5 0xC 0x82D8A4E
                                              setbyte 0x202448E 0x15
                                              statbuffchange 0x1 true 0x82D8A4E
                                              jumpifbyte 0x0 0x2024337 0x2 0x82D8A4E
                                              playstatchangeanimation 0x1 0x30 0x0
                                              printfromtable 0x85CC89
                                              waitmessage 0x40
                                              goto 0x82D8A4E


                                              Freeze Shock Ice Burn and Sky Attack :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @moveselect
                                              jumpifhalfword 0x0 0x20241EA 0xXX @freejshock //replace XX with ID of freeze shock
                                              jumpifhalfword 0x0 0x20241EA 0xYY @iceburn //replace YY with ID of ice burn
                                              goto @skyattack
                                              
                                              
                                              #org @skyattack
                                              jumpifsecondarystatus 0x1 0x1000 0x82D9040
                                              jumpifword 0x4 0x2024280 0x200 0x82D9040
                                              setbyte 0x2024483 0x3
                                              call @firstturnsk
                                              goto 0x82D8A4E
                                              
                                              #org @firstturnsk
                                              attackcanceler
                                              attackstring
                                              waitmessage 0x40
                                              ppreduce
                                              attackanimation
                                              waitanimation
                                              orword 0x2024280 0x8000000
                                              setbyte 0x2024335 0x4C
                                              seteffecttarget
                                              copyarray 0x2024337 0x2024483 0x1
                                              setword 0x202C4D0 0x8CCCCCC
                                              printstring 0x184
                                              waitmessage 0x40
                                              return
                                              
                                              
                                              #org @freejshock
                                              jumpifsecondarystatus 0x1 0x1000 @executefs
                                              jumpifword 0x4 0x2024280 0x200 @executefs
                                              setbyte 0x2024483 0x3
                                              call @firstturnfs
                                              goto 0x82D8A4E
                                              
                                              #org @executefs
                                              attackcanceler
                                              setbyte 0x2024335 0xC
                                              setbyte 0x202448C 0x1
                                              clearstatus 0x1
                                              orword 0x2024280 0x800
                                              jumpiftype 0x0 0xD 0x82D8A4B
                                              setbyte 0x2024335 0x5
                                              goto 0x82D8A27
                                              
                                              #org @firstturnfs
                                              attackcanceler
                                              attackstring
                                              waitmessage 0x40
                                              ppreduce
                                              attackanimation
                                              waitanimation
                                              orword 0x2024280 0x8000000
                                              setbyte 0x2024335 0x4C
                                              seteffecttarget
                                              copyarray 0x2024337 0x2024483 0x1
                                              setword 0x202C4D0 0x8BBBBBB
                                              printstring 0x184
                                              waitmessage 0x40
                                              return
                                              
                                              
                                              #org @iceburn
                                              jumpifsecondarystatus 0x1 0x1000 @executeib
                                              jumpifword 0x4 0x2024280 0x200 @executeib
                                              setbyte 0x2024483 0x3
                                              call @firstturnib
                                              goto 0x82D8A4E
                                              
                                              #org @executeib
                                              attackcanceler
                                              setbyte 0x2024335 0xC
                                              setbyte 0x202448C 0x1
                                              clearstatus 0x1
                                              orword 0x2024280 0x800
                                              jumpiftype 0x0 0xA 0x82D8A4B
                                              setbyte 0x2024335 0x3
                                              goto 0x82D8A27
                                              
                                              #org @firstturnib
                                              attackcanceler
                                              attackstring
                                              waitmessage 0x40
                                              ppreduce
                                              attackanimation
                                              waitanimation
                                              orword 0x2024280 0x8000000
                                              setbyte 0x2024335 0x4C
                                              seteffecttarget
                                              copyarray 0x2024337 0x2024483 0x1
                                              setword 0x202C4D0 0x8AAAAAA
                                              printstring 0x184
                                              waitmessage 0x40
                                              return
                                              
                                              //Ice Burn AAAAAA -> FD 0F B4 E7 00 D6 D9 D7 D5 E1 D9 00 D7 E0 E3 D5 DF D9 D8 FE DD E2 00 D5 00 DA E6 D9 D9 EE DD E2 DB 00 D5 DD E6 AB
                                              //Freeze Shock BBBBBB -> FD 0F B4 E7 00 D6 D9 D7 D5 E1 D9 00 D7 E0 E3 D5 DF D9 D8 FE DD E2 00 D5 00 DA E6 D9 D9 EE DD E2 DB 00 E0 DD DB DC E8 AB
                                              //Sky Attack CCCCCC -> FD 0F B4 E7 00 D6 D9 D7 D5 E1 D9 00 D7 E0 E3 D5 DF D9 D8 FE DD E2 00 D5 00 DC D5 E6 E7 DC 00 E0 DD DB DC E8 AB
                                              If you have a problem with this one, compile each sub-script with one FF octet between them.


                                              Geomancy :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @geomancy
                                              jumpifsecondarystatus 0x1 0x1000 @execute
                                              jumpifword 0x4 0x2024280 0x200 @execute
                                              setbyte 0x2024483 0x3
                                              call @firstturn
                                              goto 0x82D8A4E
                                              
                                              #org @execute
                                              attackcanceler
                                              setbyte 0x2024335 0xC
                                              setbyte 0x202448C 0x1
                                              clearstatus 0x1
                                              orword 0x2024280 0x800
                                              goto @boost
                                              
                                              #org @boost
                                              attackstring
                                              ppreduce
                                              jumpifstat 0x1 0x3 0x4 0xC @spattack
                                              jumpifstat 0x1 0x3 0x5 0xC @spattack
                                              jumpifstat 0x1 0x0 0x3 0xC 0x82DA71D
                                              goto @spattack
                                              
                                              #org @spattack
                                              attackanimation
                                              waitanimation
                                              setbyte 0x202448F 0x0
                                              playstatchangeanimation 0x1 0x30 0x0
                                              setbyte 0x202448E 0x24
                                              statbuffchange 0x1 true @spdef
                                              jumpifbyte 0x0 0x2024337 0x2 @spdef
                                              printfromtable 0x85CC89C
                                              waitmessage 0x40
                                              goto @spdef
                                              
                                              #org @spdef
                                              setbyte 0x202448E 0x25
                                              statbuffchange 0x1 true @speed
                                              jumpifbyte 0x0 0x2024337 0x2 @speed
                                              printfromtable 0x85CC89C
                                              waitmessage 0x40
                                              goto @speed
                                              
                                              #org @speed
                                              setbyte 0x202448E 0x23
                                              statbuffchange 0x1 true 0x82D8A4E
                                              jumpifbyte 0x0 0x2024337 0x2 0x82D8A4E
                                              printfromtable 0x85CC89C
                                              waitmessage 0x40
                                              goto 0x82D8A4E
                                              
                                              #org @firstturn
                                              attackcanceler
                                              attackstring
                                              waitmessage 0x40
                                              ppreduce
                                              attackanimation
                                              waitanimation
                                              orword 0x2024280 0x8000000
                                              setbyte 0x2024335 0x4C
                                              seteffecttarget
                                              copyarray 0x2024337 0x2024483 0x1
                                              printstring 0xA5
                                              waitmessage 0x40
                                              return


                                              Hex :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @hex
                                              jumpifstatus 0x0 0x10 @doubledamage
                                              jumpifstatus 0x0 0x8 @doubledamage
                                              jumpifstatus 0x0 0x80 @doubledamage
                                              jumpifstatus 0x0 0x40 @doubledamage
                                              jumpifstatus 0x0 0x7 @doubledamage
                                              goto 0x82D8A00
                                              
                                              #org @doubledamage
                                              setbyte damagemultiplier 0x2
                                              goto 0x82D8A00


                                              Venoshock :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @hex
                                              jumpifstatus 0x0 0x8 @doubledamage
                                              goto 0x82D8A00
                                              
                                              #org @doubledamage
                                              setbyte damagemultiplier 0x2
                                              goto 0x82D8A00


                                              Knock Off Updated :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @start
                                              jumpifbyte 0x0 0x0202420C 0x0 @slot1
                                              jumpifbyte 0x0 0x0202420C 0x1 @slot2
                                              jumpifbyte 0x0 0x0202420C 0x2 @slot3
                                              jumpifbyte 0x0 0x0202420C 0x3 @slot4
                                              goto @doubledamage
                                              
                                              #org @slot1
                                              jumpifhalfword 0x1 0x020240C2 0x0 @tripledamage
                                              goto @doubledamage
                                              
                                              #org @slot2
                                              jumpifhalfword 0x1 0x0202411A 0x0 @tripledamage
                                              goto @doubledamage
                                              
                                              #org @slot3
                                              jumpifhalfword 0x1 0x02024172 0x0 @tripledamage
                                              goto @doubledamage
                                              
                                              #org @slot4
                                              jumpifhalfword 0x1 0x020241CA 0x0 @tripledamage
                                              goto @doubledamage
                                              
                                              #org @tripledamage
                                              setbyte damagemultiplier 0x3
                                              goto 0x82DA390
                                              
                                              #org @doubledamage
                                              setbyte damagemultiplier 0x2
                                              goto 0x82D8A00


                                              Toxic Updated :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              #freespacebyte 0xFF
                                              
                                              #org @Start
                                              jumpiftype 0x1 0x3 @PerfectAcc
                                              goto 0x82D8EF1
                                              
                                              #org @PerfectAcc
                                              attackcanceler
                                              attackstring
                                              ppreduce
                                              accuracycheck 0x82D9F1C 0xFFFF 
                                              jumpifability 0x0 0x11 0x82D8F63
                                              jumpifsecondarystatus 0x0 0x1000000 0x82D9F1C
                                              jumpifstatus 0x0 0x8 0x82D8F52
                                              jumpifstatus 0x0 0x80 0x82D8F52
                                              jumpifstatus 0x0 0xFF 0x82D9F1C
                                              jumpiftype 0x0 0x3 0x82D9F2E
                                              jumpiftype 0x0 0x8 0x82D9F2E
                                              jumpifhalverset 0x0 0x20 0x82DAD01
                                              attackanimation
                                              waitanimation
                                              setbyte 0x2024335 0x6
                                              seteffecttarget
                                              resultmessage
                                              waitmessage 0x40
                                              goto 0x82D8A4E


                                              I also made one effect by myself. (For Emerald too).

                                              U-Turn :
                                              Spoiler:

                                              Code:
                                              #dynamic 0xF00000
                                              
                                              #org @start
                                              attackcanceler
                                              accuracycheck 0x82D8A5E 0x0
                                              attackstring
                                              ppreduce
                                              jumpifword 0x4 0x2022FEC 0x40000 0x82D9F1C
                                              jumpifcannotswitch 0x81 0x82D9F1C
                                              calculatedamage
                                              attackanimation
                                              waitanimation
                                              missmessage
                                              cmd5c 0x0
                                              waitstate
                                              graphicalhpupdate 0x0
                                              datahpupdate 0x0
                                              critmessage
                                              waitmessage 0x40
                                              resultmessage
                                              waitmessage 0x40
                                              faintpokemon 0x0 0x0 0x0
                                              openpartyscreen 0x1 0x82D9F1C
                                              cmde2 0x1
                                              waitstate
                                              cmd51 0x1 0x2
                                              cmd58 0x1
                                              switch1 0x1
                                              switch2 0x1
                                              cmd73 0x1
                                              printstring 0x3
                                              switch3 0x1 0x1
                                              waitstate
                                              cmd52 0x1
                                              goto 0x82D8A4E


                                              PS : I wanted to created an effect like Judgment, but I don't know if there is a function to set the attack's type. And I don't remember the function to check the held object. Also, is it possible to change the ratio of drained HP in the drain effect, in order to make Oblivion Wing ? Thanks.
                                              Reply With Quote
                                                #200    
                                              Old January 20th, 2015 (5:56 AM).
                                              Chacha Dinosaur's Avatar
                                              Chacha Dinosaur Chacha Dinosaur is offline
                                              Adamant and adaptive dinosaur.
                                                 
                                                Join Date: Jul 2013
                                                Age: 23
                                                Gender: Male
                                                Posts: 454
                                                Quote:
                                                Originally Posted by Edwearth View Post

                                                PS : I wanted to created an effect like Judgment, but I don't know if there is a function to set the attack's type. And I don't remember the function to check the held object. Also, is it possible to change the ratio of drained HP in the drain effect, in order to make Oblivion Wing ? Thanks.
                                                You'll need ASM for all of these things since there are no dedicated commands for these. You can use Jambo's callasm command to put custom ASM in a battle script.
                                                Reply With Quote
                                                Reply

                                                Quick Reply

                                                Join the conversation!

                                                Create an account to post a reply in this thread, participate in other discussions, and more!

                                                Create a PokéCommunity Account

                                                Sponsored Links
                                                Thread Tools

                                                Posting Rules
                                                You may not post new threads
                                                You may not post replies
                                                You may not post attachments
                                                You may not edit your posts

                                                BB code is On
                                                Smilies are On
                                                [IMG] code is On
                                                HTML code is Off

                                                Forum Jump


                                                All times are GMT -8. The time now is 12:18 AM.