diff --git a/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/AssembleARM.bat b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/AssembleARM.bat new file mode 100644 index 00000000..43a1b73d --- /dev/null +++ b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/AssembleARM.bat @@ -0,0 +1,20 @@ +@echo off + +SET startDir=C:\devkitPro\devkitARM\bin\ + +@rem Assemble into an elf +SET as="%startDir%arm-none-eabi-as" +%as% -g -mcpu=arm7tdmi -mthumb-interwork %1 -o "%~n1.elf" + +@rem Print symbol table +SET readelf="%startDir%arm-none-eabi-readelf" +%readelf% -s "%~n1.elf" > "%~n1.symbols.log" + +@rem Extract raw assembly binary (text section) from elf +SET objcopy="%startDir%arm-none-eabi-objcopy" +%objcopy% -S "%~n1.elf" -O binary "%~n1.dmp" + +echo y | del "%~n1.elf" + +echo y | del "%~n1.symbols.log" +pause \ No newline at end of file diff --git a/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.dmp b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.dmp index 7faee000..1931eece 100644 Binary files a/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.dmp and b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.dmp differ diff --git a/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.s b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.s index ff2211ad..d4c63783 100644 --- a/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.s +++ b/EngineHacks/SkillSystem/Skills/ProcSkills/BlackMagic/proc_blackmagic.s @@ -38,12 +38,12 @@ mov r14,r3 .short 0xF800 cmp r0,#0 beq End -ldrb r0,[r4,#0x15] @skill% proc rate +@ldrb r0,[r4,#0x100] @skill% proc rate @mov r0,#100 @for testing -mov r1,r4 -blh d100Result -cmp r0,#1 -bne End @didn't proc +@mov r1,r4 +@blh d100Result +@cmp r0,#1 +@bne End @didn't proc @if we proc, set the offensive skill and poison flag ldr r2,[r6] diff --git a/EngineHacks/SkillSystem/Skills/ProcSkills/ProcSkills.event b/EngineHacks/SkillSystem/Skills/ProcSkills/ProcSkills.event index 713c43ff..a276045c 100644 --- a/EngineHacks/SkillSystem/Skills/ProcSkills/ProcSkills.event +++ b/EngineHacks/SkillSystem/Skills/ProcSkills/ProcSkills.event @@ -142,10 +142,10 @@ POIN BlackMagicTable //Bytes are status id, percent chance //MAKE SURE THE PERCENTAGES SUM UP TO 100% BlackMagicTable: -BYTE 1 25 //poison -BYTE 2 25 //silence -BYTE 3 25 //sleep -BYTE 4 25 //berserk +BYTE 1 100 //poison +BYTE 2 0 //silence +BYTE 3 0 //sleep +BYTE 4 0 //berserk //BYTE 0xB 20 //petrify NOTE: As is, Petrify seems hardcoded to not double and will stop combat if it works. Which is neat and all, but if you're expecting to double and don't, that might piss people off instead //Poison blob only plays when poison effect is done (animations off) diff --git a/EngineHacks/SkillSystem/skill_definitions.event b/EngineHacks/SkillSystem/skill_definitions.event index 11fb213c..a64aae2c 100644 --- a/EngineHacks/SkillSystem/skill_definitions.event +++ b/EngineHacks/SkillSystem/skill_definitions.event @@ -622,11 +622,12 @@ //Barricade+: In combat, damage recieved equals half of the damage when struck last. //By Snakey1 -#define BarricadePlusID 188 +#define BarricadePlusID 255 //Black Magic: Skill% chance to inflict a random status. //By Tequila -#define BlackMagicID 255 +//Changed to be Poison Point, by blademaster!sf +#define BlackMagicID 188 //Colossus: Triples Strength. (Skill % activation) //Author Unknown (Initial Commit) diff --git a/Text/skilldesc_text.txt b/Text/skilldesc_text.txt index b7fd8dfb..92de1491 100644 --- a/Text/skilldesc_text.txt +++ b/Text/skilldesc_text.txt @@ -710,8 +710,8 @@ Capture: Capture an enemy after[N] defeating it with reduced stats.[X] ## SD_BlackMagic -Black Magic: Skill% chance to[N] -inflict a random status.[X] +Poison Point: Inflict poison[N] +on foe.[X] ## SD_FortressDefense Fortress Defense:[N]