diff --git a/Makefile b/Makefile index 696820cd90..8e3ff29753 100644 --- a/Makefile +++ b/Makefile @@ -142,7 +142,8 @@ ROMTESTHYDRA := tools/mgba-rom-test-hydra/mgba-rom-test-hydra$(EXE) PERL := perl -TOOLDIRS := $(filter-out tools/mgba tools/agbcc tools/binutils,$(wildcard tools/*)) +TOOLDIRS := tools/aif2pcm tools/bin2c tools/gbafix tools/gbagfx tools/jsonproc tools/mapjson tools/mid2agb tools/preproc tools/ramscrgen tools/rsfont tools/scaninc +CHECKTOOLDIRS = tools/patchelf tools/mgba-rom-test-hydra TOOLBASE = $(TOOLDIRS:tools/%=%) TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE)) @@ -158,7 +159,7 @@ MAKEFLAGS += --no-print-directory # Secondary expansion is required for dependency variables in object rules. .SECONDEXPANSION: -.PHONY: all rom clean compare tidy tools mostlyclean clean-tools $(TOOLDIRS) libagbsyscall modern tidymodern tidynonmodern check +.PHONY: all rom clean compare tidy tools check-tools mostlyclean clean-tools clean-check-tools $(TOOLDIRS) $(CHECKTOOLDIRS) libagbsyscall modern tidymodern tidynonmodern check infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) @@ -176,9 +177,9 @@ endif ifeq (,$(MAKECMDGOALS)) SCAN_DEPS ?= 1 else - # clean, tidy, tools, mostlyclean, clean-tools, $(TOOLDIRS), tidymodern, tidynonmodern don't even build the ROM + # clean, tidy, tools, check-tools, mostlyclean, clean-tools, clean-check-tools, $(TOOLDIRS), $(CHECKTOOLDIRS), tidymodern, tidynonmodern don't even build the ROM # libagbsyscall does its own thing - ifeq (,$(filter-out clean tidy tools mostlyclean clean-tools $(TOOLDIRS) tidymodern tidynonmodern libagbsyscall,$(MAKECMDGOALS))) + ifeq (,$(filter-out clean tidy tools mostlyclean clean-tools $(TOOLDIRS) clean-check-tools $(CHECKTOOLDIRS) tidymodern tidynonmodern libagbsyscall,$(MAKECMDGOALS))) SCAN_DEPS ?= 0 else SCAN_DEPS ?= 1 @@ -229,11 +230,16 @@ all: rom tools: $(TOOLDIRS) +check-tools: $(CHECKTOOLDIRS) + syms: $(SYM) $(TOOLDIRS): @$(MAKE) -C $@ +$(CHECKTOOLDIRS): + @$(MAKE) -C $@ + rom: $(ROM) ifeq ($(COMPARE),1) @$(SHA1) rom.sha1 @@ -242,11 +248,14 @@ endif # For contributors to make sure a change didn't affect the contents of the ROM. compare: all -clean: mostlyclean clean-tools +clean: mostlyclean clean-tools clean-check-tools clean-tools: @$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);) +clean-check-tools: + @$(foreach tooldir,$(CHECKTOOLDIRS),$(MAKE) clean -C $(tooldir);) + mostlyclean: tidynonmodern tidymodern rm -f $(SAMPLE_SUBDIR)/*.bin rm -f $(CRY_SUBDIR)/*.bin @@ -455,11 +464,11 @@ LD_SCRIPT_TEST := ld_script_test.txt $(OBJ_DIR)/ld_script_test.ld: $(LD_SCRIPT_TEST) $(LD_SCRIPT_DEPS) cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../$(LD_SCRIPT_TEST) > ld_script_test.ld -$(TESTELF): $(OBJ_DIR)/ld_script_test.ld $(OBJS) $(TEST_OBJS) libagbsyscall +$(TESTELF): $(OBJ_DIR)/ld_script_test.ld $(OBJS) $(TEST_OBJS) libagbsyscall check-tools @echo "cd $(OBJ_DIR) && $(LD) -T ld_script_test.ld -o ../../$@ " @cd $(OBJ_DIR) && $(LD) $(TESTLDFLAGS) -T ld_script_test.ld -o ../../$@ $(OBJS_REL) $(TEST_OBJS_REL) $(LIB) $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent - $(PATCHELF) pokeemerald-test.elf gTestRunnerArgv "$(TESTS)\0" + $(PATCHELF) $(TESTELF) gTestRunnerArgv "$(TESTS)\0" ifeq ($(GITHUB_REPOSITORY_OWNER),rh-hideout) TEST_SKIP_IS_FAIL := \x01 diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 4d0b9a6140..2d7bd436f3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -731,7 +731,7 @@ .4byte \ptr .endm - .macro jumpifcantmakeasleep ptr:req + .macro jumpifuproarwakes ptr:req .byte 0x84 .4byte \ptr .endm diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 06a24c5928..0ad58c49e1 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -2644,7 +2644,6 @@ GigaImpactContinuity: delay 11 createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 26, 0, 0, 5 delay 6 - waitbgfadeout createsprite gBasicHitSplatSpriteTemplate, 4, 4, -10, 0, 1, 0 playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET delay 1 @@ -3036,24 +3035,24 @@ Move_MUD_BOMB: end Move_PSYCHO_CUT: - loadspritegfx ANIM_TAG_SPIRAL - loadspritegfx ANIM_TAG_PSYCHO_CUT + loadspritegfx ANIM_TAG_SPIRAL + loadspritegfx ANIM_TAG_PSYCHO_CUT loadspritegfx ANIM_TAG_CROSS_IMPACT - monbg ANIM_ATK_PARTNER + monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_CROSS_IMPACT, 0, 9, 9, RGB_PURPLE createvisualtask AnimTask_SwayMon, 5, 0, 6, 2048, 2, ANIM_ATTACKER createsprite gPsychoCutSpiralSpriteTemplate, 2, 4, 0, 0, 0, 0 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 0, 4, RGB_BLACK createvisualtask AnimTask_BlendBattleAnimPal, 1, 2, 2, 0, 10, RGB(20, 12, 23) delay 30 - clearmonbg ANIM_ATK_PARTNER - waitforvisualfinish - monbg ANIM_TARGET - splitbgprio ANIM_TARGET - setalpha 12, 8 - playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, + clearmonbg ANIM_ATK_PARTNER + waitforvisualfinish + monbg ANIM_TARGET + splitbgprio ANIM_TARGET + setalpha 12, 8 + playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER, createsprite gPsychoCutSpriteTemplate, ANIM_TARGET, 2, 20, 0, -8, 0, 20 - waitforvisualfinish + waitforvisualfinish createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 7, 0, 9, 1 createsprite gCrossImpactSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 1, 20 createvisualtask AnimTask_BlendBattleAnimPal, 1, 1, 2, 4, 0, RGB_BLACK @@ -4333,12 +4332,12 @@ Move_SPACIAL_REND: waitbgfadein loopsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET, 3, 5 createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, SOUND_PAN_ATTACKER, 0xb0, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff40, 0xf0, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, SOUND_PAN_ATTACKER, 0xff60, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff40, 0xff90, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xa0, 0x30, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0xff20, 0xffe0, 0x28 - createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 5, 0, 10, 0x70, 0xff80, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, 0xff40, 0xf0, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, SOUND_PAN_ATTACKER, 0xff60, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, 0xff40, 0xff90, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, 0xa0, 0x30, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, 0xff20, 0xffe0, 0x28 + createsprite gSpacialRendBladesTemplate2, ANIM_TARGET, 1, 0, 10, 0x70, 0xff80, 0x28 createvisualtask AnimTask_ShakeMon, 2, ANIM_TARGET, 0, 3, 15, 1 waitforvisualfinish restorebg @@ -14003,11 +14002,12 @@ Move_STRANGE_STEAM:: clearmonbg ANIM_DEF_PARTNER end StrangeSteamCloud: - launchtemplate gStrangeSteamPinkCloudTemplate 0x82 0x5 0xf 0xf 0x14 0x0 0x0 - launchtemplate gStrangeSteamGreenCloudTemplate 0x82 0x5 0xf 0xf 0x14 0xa 0x5 - launchtemplate gStrangeSteamPinkCloudTemplate 0x82 0x5 0xf 0xf 0x14 0xfff6 0xfffb - launchtemplate gStrangeSteamGreenCloudTemplate 0x82 0x5 0xf 0xf 0x14 0x14 0xa - launchtemplate gStrangeSteamBlueCloudTemplate 0x82 0x5 0xf 0xf 0x14 0xffec 0xfff6 + createsprite gStrangeSteamPinkCloudTemplate, ANIM_TARGET, 2, 0xf, 0xf, 0x14, 0, 0 + createsprite gStrangeSteamGreenCloudTemplate, ANIM_TARGET, 2, 0xf, 0xf, 0x14, 0xa, 0x5 + createsprite gStrangeSteamPinkCloudTemplate, ANIM_TARGET, 2, 0xf, 0xf, 0x14, 0xfff6, 0xfffb + delay 0x1 + createsprite gStrangeSteamGreenCloudTemplate, ANIM_TARGET, 2, 0xf, 0xf, 0x14, 0x14, 0xa + createsprite gStrangeSteamBlueCloudTemplate, ANIM_TARGET, 2, 0xf, 0xf, 0x14, 0xffec, 0xfff6 delay 0x2 return @@ -14370,6 +14370,21 @@ Move_SCORCHING_SANDS:: Move_JUNGLE_HEALING:: goto Move_AROMATHERAPY + +Move_SILK_TRAP:: + loadspritegfx ANIM_TAG_PROTECT + loadspritegfx ANIM_TAG_SPIDER_WEB + splitbgprio ANIM_ATTACKER + playsewithpan SE_M_STRING_SHOT2, SOUND_PAN_TARGET + createsprite gSpiderWebSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, FALSE + waitforvisualfinish + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0, 10, 10, RGB_LIME_GREEN + monbg ANIM_ATK_PARTNER + waitplaysewithpan SE_M_REFLECT, SOUND_PAN_ATTACKER, 0x10 + createsprite gProtectSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 90 + waitforvisualfinish + clearmonbg ANIM_ATK_PARTNER + end Move_WICKED_BLOW:: Move_SURGING_STRIKES:: @@ -14406,7 +14421,6 @@ Move_SANDSEAR_STORM:: Move_LUNAR_BLESSING:: Move_TAKE_HEART:: Move_TERA_BLAST:: -Move_SILK_TRAP:: Move_AXE_KICK:: Move_LAST_RESPECTS:: Move_LUMINA_CRASH:: @@ -21119,7 +21133,11 @@ Move_POISON_GAS: createsprite gPoisonGasCloudSpriteTemplate, ANIM_TARGET, 0, 64, 0, 0, -32, -6, 4192, 1072, 0 delay 40 loopsewithpan SE_M_MIST, SOUND_PAN_TARGET, 28, 6 +.if B_UPDATED_MOVE_DATA >= GEN_5 + createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_DEF_SIDE, 6, 2, 0, 12, RGB(26, 0, 26) +.else createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 6, 2, 0, 12, RGB(26, 0, 26) +.endif waitforvisualfinish blendoff clearmonbg ANIM_DEF_PARTNER diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f795767109..07e72292de 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -250,7 +250,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectHit @ EFFECT_GYRO_BALL .4byte BattleScript_EffectHit @ EFFECT_ECHOED_VOICE .4byte BattleScript_EffectHit @ EFFECT_PAYBACK - .4byte BattleScript_EffectHit @ EFFECT_ROUND + .4byte BattleScript_EffectRound @ EFFECT_ROUND .4byte BattleScript_EffectHit @ EFFECT_BRINE .4byte BattleScript_EffectHit @ EFFECT_VENOSHOCK .4byte BattleScript_EffectHit @ EFFECT_RETALIATE @@ -1283,8 +1283,12 @@ BattleScript_JungleHealingTryRestoreAlly: goto BattleScript_MoveEnd BattleScript_EffectAttackerDefenseDownHit: + jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING | HITMARKER_NO_PPDEDUCT, BattleScript_NoMoveEffect setmoveeffect MOVE_EFFECT_DEF_MINUS_1 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN goto BattleScript_EffectHit +BattleScript_NoMoveEffect: + setmoveeffect 0 + goto BattleScript_EffectHit BattleScript_EffectRelicSong: setmoveeffect MOVE_EFFECT_RELIC_SONG | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN @@ -3082,6 +3086,10 @@ BattleScript_EffectPlaceholder: printstring STRINGID_NOTDONEYET goto BattleScript_MoveEnd +BattleScript_EffectRound: + setmoveeffect MOVE_EFFECT_ROUND + goto BattleScript_EffectHit + BattleScript_EffectHit:: BattleScript_HitFromAtkCanceler:: attackcanceler @@ -3167,13 +3175,15 @@ BattleScript_EffectSleep:: ppreduce jumpifsubstituteblocks BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_AlreadyAsleep - jumpifcantmakeasleep BattleScript_CantMakeAsleep - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifuproarwakes BattleScript_CantMakeAsleep + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_InsomniaProtects + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_InsomniaProtects + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_AbilityProtectsDoesntAffect + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifflowerveil BattleScript_FlowerVeilProtects jumpifability BS_TARGET_SIDE, ABILITY_SWEET_VEIL, BattleScript_SweetVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed jumpifterrainaffected BS_TARGET, STATUS_FIELD_ELECTRIC_TERRAIN, BattleScript_ElectricTerrainPrevents jumpifterrainaffected BS_TARGET, STATUS_FIELD_MISTY_TERRAIN, BattleScript_MistyTerrainPrevents @@ -3253,15 +3263,23 @@ BattleScript_PastelVeilProtects: orhalfword gMoveResultFlags, MOVE_RESULT_FAILED goto BattleScript_MoveEnd -BattleScript_LeafGuardProtectsRet:: +BattleScript_AbilityProtectsDoesntAffectRet:: pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp printstring STRINGID_ITDOESNTAFFECT waitmessage B_WAIT_TIME_LONG return -BattleScript_LeafGuardProtects: - call BattleScript_LeafGuardProtectsRet +BattleScript_AbilityProtectsDoesntAffect: + call BattleScript_AbilityProtectsDoesntAffectRet + orhalfword gMoveResultFlags, MOVE_RESULT_FAILED + goto BattleScript_MoveEnd + +BattleScript_InsomniaProtects: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp + printstring STRINGID_PKMNSTAYEDAWAKEUSING + waitmessage B_WAIT_TIME_LONG orhalfword gMoveResultFlags, MOVE_RESULT_FAILED goto BattleScript_MoveEnd @@ -3574,7 +3592,7 @@ BattleScript_MirrorArmorReflect:: call BattleScript_AbilityPopUp jumpifsubstituteblocks BattleScript_AbilityNoSpecificStatLoss BattleScript_MirrorArmorReflectStatLoss: - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_MirrorArmorReflectEnd + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_MIRROR_ARMOR | STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_MirrorArmorReflectEnd jumpifbyte CMP_LESS_THAN, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_DECREASE, BattleScript_MirrorArmorReflectAnim goto BattleScript_MirrorArmorReflectWontFall BattleScript_MirrorArmorReflectAnim: @@ -3763,12 +3781,12 @@ BattleScript_EffectToxic:: attackstring ppreduce jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_AbilityProtectsDoesntAffect + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifability BS_TARGET_SIDE, ABILITY_PASTEL_VEIL, BattleScript_PastelVeilProtects jumpifflowerveil BattleScript_FlowerVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifsubstituteblocks BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_POISON | STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed @@ -3826,7 +3844,9 @@ BattleScript_EffectRest:: ppreduce jumpifstatus BS_ATTACKER, STATUS1_SLEEP, BattleScript_RestIsAlreadyAsleep jumpifability BS_ATTACKER, ABILITY_COMATOSE, BattleScript_RestIsAlreadyAsleep - jumpifcantmakeasleep BattleScript_RestCantSleep + jumpifuproarwakes BattleScript_RestCantSleep + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_InsomniaProtects + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_InsomniaProtects trysetrest BattleScript_AlreadyAtFullHp pause B_WAIT_TIME_SHORT printfromtable gRestUsedStringIds @@ -4102,12 +4122,12 @@ BattleScript_EffectPoison:: attackstring ppreduce jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_AbilityProtectsDoesntAffect + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifability BS_TARGET_SIDE, ABILITY_PASTEL_VEIL, BattleScript_PastelVeilProtects jumpifflowerveil BattleScript_FlowerVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifsubstituteblocks BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_POISON, BattleScript_AlreadyPoisoned jumpifstatus BS_TARGET, STATUS1_TOXIC_POISON, BattleScript_AlreadyPoisoned @@ -4129,16 +4149,17 @@ BattleScript_EffectParalyze: attackstring ppreduce jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_LimberProtected - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_AbilityProtectsDoesntAffect + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifflowerveil BattleScript_FlowerVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifsubstituteblocks BattleScript_ButItFailed typecalc BattleScript_BattleScript_EffectParalyzeNoTypeCalc: jumpifmovehadnoeffect BattleScript_ButItFailed jumpifstatus BS_TARGET, STATUS1_PARALYSIS, BattleScript_AlreadyParalyzed + jumpifabsorbaffected BS_TARGET, BattleScript_VoltAbsorbHeal tryparalyzetype BS_ATTACKER, BS_TARGET, BattleScript_NotAffected jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed jumpifterrainaffected BS_TARGET, STATUS_FIELD_MISTY_TERRAIN, BattleScript_MistyTerrainPrevents @@ -4152,6 +4173,11 @@ BattleScript_BattleScript_EffectParalyzeNoTypeCalc: resultmessage waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd + +BattleScript_VoltAbsorbHeal: + copybyte gBattlerAbility, gBattlerTarget + tryhealquarterhealth BS_TARGET BattleScript_MonMadeMoveUseless @ Check if max hp + goto BattleScript_MoveHPDrain BattleScript_AlreadyParalyzed: setalreadystatusedmoveattempt BS_ATTACKER @@ -5559,11 +5585,11 @@ BattleScript_EffectWillOWisp:: jumpiftype BS_TARGET, TYPE_FIRE, BattleScript_NotAffected jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents jumpifability BS_TARGET, ABILITY_WATER_BUBBLE, BattleScript_WaterVeilPrevents - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_AbilityProtectsDoesntAffect + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifflowerveil BattleScript_FlowerVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifstatus BS_TARGET, STATUS1_ANY, BattleScript_ButItFailed jumpifterrainaffected BS_TARGET, STATUS_FIELD_MISTY_TERRAIN, BattleScript_MistyTerrainPrevents accuracycheck BattleScript_ButItFailed, ACC_CURR_MOVE @@ -5655,6 +5681,9 @@ BattleScript_EffectFollowMe:: attackcanceler attackstring ppreduce + .if B_UPDATED_MOVE_DATA >= GEN_6 + jumpifnotbattletype BATTLE_TYPE_DOUBLE, BattleScript_ButItFailed + .endif setforcedtarget attackanimation waitanimation @@ -5850,27 +5879,28 @@ BattleScript_EffectYawn:: attackcanceler attackstring ppreduce - jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective - jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective - jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_PrintBankAbilityMadeIneffective - jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBattlerAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_PrintBattlerAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_PrintBattlerAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_AbilityProtectsDoesntAffect jumpifflowerveil BattleScript_FlowerVeilProtects - jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects - jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects + jumpifleafguardprotected BS_TARGET, BattleScript_AbilityProtectsDoesntAffect + jumpifshieldsdown BS_TARGET, BattleScript_AbilityProtectsDoesntAffect jumpifsubstituteblocks BattleScript_ButItFailed jumpifsafeguard BattleScript_SafeguardProtected accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON - jumpifcantmakeasleep BattleScript_ButItFailed + jumpifuproarwakes BattleScript_ButItFailed setyawn BattleScript_ButItFailed attackanimation waitanimation printstring STRINGID_PKMNWASMADEDROWSY waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd -BattleScript_PrintBankAbilityMadeIneffective:: +BattleScript_PrintBattlerAbilityMadeIneffective:: copybyte sBATTLER, gBattlerAbility BattleScript_PrintAbilityMadeIneffective:: pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp printstring STRINGID_PKMNSXMADEITINEFFECTIVE waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd @@ -7895,6 +7925,16 @@ BattleScript_AftermathDmg:: waitmessage B_WAIT_TIME_LONG tryfaintmon BS_ATTACKER return + +BattleScript_DampPreventsAftermath:: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp + pause 40 + copybyte gBattlerAbility, sBATTLER + call BattleScript_AbilityPopUp + printstring STRINGID_PKMNSABILITYPREVENTSABILITY + waitmessage B_WAIT_TIME_LONG + return BattleScript_MoveUsedIsAsleep:: printstring STRINGID_PKMNFASTASLEEP diff --git a/graphics/battle_anims/backgrounds/giga_impact_contest.bin b/graphics/battle_anims/backgrounds/giga_impact_contest.bin index 03c709bb90..ce383cf240 100644 --- a/graphics/battle_anims/backgrounds/giga_impact_contest.bin +++ b/graphics/battle_anims/backgrounds/giga_impact_contest.bin @@ -1,3 +1,3 @@ -$$$$$$$$$ D!E!F!G!H!I!@!$$$$$$$$$ $$$$$$$$$ -! ! ! !!!!$$$$$$$$$ !!!!!!!$$$$$$$$$ *!+!,!-!.!/!"!$$$$$$$$$ :!;!!?!2!$$$$$$$$$ J!K!L!M!N!O!B!,,,,,,,,,((((((((((((((((J)K)L)M)N)O)B),,,,,,,,,((((((((((((((((:);)<)=)>)?)2),,,,,,,,,((((((((((((((((*)+),)-).)/)"),,,,,,,,,(((((((((((((((())))))),,,,,,,,,(((((((((((((((( -) ) ) )))),,,,,,,,,(((((((((((((((((((((((,,,,,,,,,((((((((((((((((D)E)F)G)H)I)@) \ No newline at end of file +         $$ $$$$$ +             $$ $$$$$        ! " # $ % & ' (  ) * + , ,$+$*$)$ ($'$&$%$- . / 0 1 2 3 4 5 6 7 8 9 : ; < = > >$=$<$;$:$9$8$7$6$ ? @ A B C D E E F F$E E D$C$B$A$@$?$G H I J K L M N O P Q E E E E Q$P$O$N$M$L$K$R S T U V W X Y Z [ \ ] ^ _ ` a b E E E E E E E E b$a$`$_$^$ c d e f g h i j k ^(_(`(a(b(E E E E E E E E b,a,`,_,^, c(d(e(f(g(h(i(j(k( K(L(M(N(O(P(Q(E E E E Q,P,O,N,M,L,K,R(S(T( U(V(W(X(Y(Z([(\(](?(@(A(B(C(D(E E F(F,E E D,C,B,A,@,?,G(H(I(J( 6(7(8(9(:(;(<(=(>(>,=,<,;,:,9,8,7,6, %(&('((( )(*(+(,(,,+,*,), (,',&,%,-(.( /(0(1( 2(3(4(5( ((((( ((,, ,,,,, ((( (((( ( !("(#($( ((((( ((,, ,,,,, +( ( ( (( (( \ No newline at end of file diff --git a/graphics/battle_anims/backgrounds/giga_impact_contest.png b/graphics/battle_anims/backgrounds/giga_impact_contest.png new file mode 100644 index 0000000000..80698b8d8b Binary files /dev/null and b/graphics/battle_anims/backgrounds/giga_impact_contest.png differ diff --git a/graphics/expansion_intro/credits.pal b/graphics/expansion_intro/credits.pal new file mode 100644 index 0000000000..5f6c06d72b --- /dev/null +++ b/graphics/expansion_intro/credits.pal @@ -0,0 +1,259 @@ +JASC-PAL +0100 +256 +0 0 0 +255 255 255 +222 222 222 +222 222 214 +198 198 198 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +255 255 255 +247 247 247 +231 231 231 +222 222 222 +222 222 214 +214 214 214 +198 198 198 +181 181 181 +165 165 165 +148 148 148 +132 132 132 +115 115 115 +99 99 99 +82 82 82 +66 66 66 +49 49 49 +33 33 33 +16 16 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/expansion_intro/powered_by.bin b/graphics/expansion_intro/powered_by.bin new file mode 100644 index 0000000000..13187db911 Binary files /dev/null and b/graphics/expansion_intro/powered_by.bin differ diff --git a/graphics/expansion_intro/powered_by.png b/graphics/expansion_intro/powered_by.png new file mode 100644 index 0000000000..b422f6e568 Binary files /dev/null and b/graphics/expansion_intro/powered_by.png differ diff --git a/graphics/expansion_intro/rhh_credits.bin b/graphics/expansion_intro/rhh_credits.bin new file mode 100644 index 0000000000..44ec5e7e42 Binary files /dev/null and b/graphics/expansion_intro/rhh_credits.bin differ diff --git a/graphics/expansion_intro/rhh_credits.png b/graphics/expansion_intro/rhh_credits.png new file mode 100644 index 0000000000..02e1dd3b6e Binary files /dev/null and b/graphics/expansion_intro/rhh_credits.png differ diff --git a/graphics/expansion_intro/sprites/dizzy_egg.png b/graphics/expansion_intro/sprites/dizzy_egg.png new file mode 100644 index 0000000000..cd03ffc152 Binary files /dev/null and b/graphics/expansion_intro/sprites/dizzy_egg.png differ diff --git a/graphics/expansion_intro/sprites/porygon.png b/graphics/expansion_intro/sprites/porygon.png new file mode 100644 index 0000000000..020198df67 Binary files /dev/null and b/graphics/expansion_intro/sprites/porygon.png differ diff --git a/graphics/expansion_intro/sprites/shiny.pal b/graphics/expansion_intro/sprites/shiny.pal new file mode 100644 index 0000000000..1950f6e0ba --- /dev/null +++ b/graphics/expansion_intro/sprites/shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +199 225 209 +248 248 248 +197 197 197 +139 213 238 +89 189 230 +7 172 213 +7 131 164 +7 89 114 +246 213 246 +238 172 238 +255 97 207 +197 56 165 +123 40 88 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/abra/anim_front.png b/graphics/pokemon/abra/anim_front.png index 725024737f..fbbf2d5836 100644 Binary files a/graphics/pokemon/abra/anim_front.png and b/graphics/pokemon/abra/anim_front.png differ diff --git a/graphics/pokemon/abra/front.png b/graphics/pokemon/abra/front.png index 4fa83f553c..0880fbb48e 100644 Binary files a/graphics/pokemon/abra/front.png and b/graphics/pokemon/abra/front.png differ diff --git a/graphics/pokemon/abra/normal.pal b/graphics/pokemon/abra/normal.pal index 96bbd5db75..8c4d72e5cd 100644 --- a/graphics/pokemon/abra/normal.pal +++ b/graphics/pokemon/abra/normal.pal @@ -4,14 +4,14 @@ JASC-PAL 152 208 160 88 56 8 120 96 24 -248 224 40 -72 48 64 -200 184 32 -240 240 160 +255 230 41 +90 57 8 +205 189 32 +246 246 164 168 136 24 -152 120 120 +172 131 41 16 16 16 -104 72 64 +131 98 8 208 176 80 176 160 152 0 0 0 diff --git a/graphics/pokemon/aerodactyl/anim_front.png b/graphics/pokemon/aerodactyl/anim_front.png index 4129852f92..2d36a2ad26 100644 Binary files a/graphics/pokemon/aerodactyl/anim_front.png and b/graphics/pokemon/aerodactyl/anim_front.png differ diff --git a/graphics/pokemon/aerodactyl/front.png b/graphics/pokemon/aerodactyl/front.png index da85d812a9..36181a6c26 100644 Binary files a/graphics/pokemon/aerodactyl/front.png and b/graphics/pokemon/aerodactyl/front.png differ diff --git a/graphics/pokemon/aerodactyl/normal.pal b/graphics/pokemon/aerodactyl/normal.pal index a88533ce2e..08e33fcd6a 100644 --- a/graphics/pokemon/aerodactyl/normal.pal +++ b/graphics/pokemon/aerodactyl/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -120 104 128 -64 48 96 -184 184 224 -152 144 160 -112 80 144 -144 96 200 -168 128 216 +115 98 131 +65 49 98 +189 189 222 +156 139 172 +115 82 148 +148 98 205 +172 131 222 16 16 16 248 248 248 200 200 200 -56 112 80 -128 32 64 -200 56 72 -224 136 152 +49 115 41 +131 32 65 +205 57 74 +230 139 156 72 56 80 diff --git a/graphics/pokemon/alakazam/anim_front.png b/graphics/pokemon/alakazam/anim_front.png index 2a75e717d6..2f49747fb7 100644 Binary files a/graphics/pokemon/alakazam/anim_front.png and b/graphics/pokemon/alakazam/anim_front.png differ diff --git a/graphics/pokemon/alakazam/front.png b/graphics/pokemon/alakazam/front.png index 6ba500cdbd..9632f20dd9 100644 Binary files a/graphics/pokemon/alakazam/front.png and b/graphics/pokemon/alakazam/front.png differ diff --git a/graphics/pokemon/alakazam/normal.pal b/graphics/pokemon/alakazam/normal.pal index bffaed05ec..de1ad1131d 100644 --- a/graphics/pokemon/alakazam/normal.pal +++ b/graphics/pokemon/alakazam/normal.pal @@ -3,14 +3,14 @@ JASC-PAL 16 152 208 160 112 88 8 -248 232 24 -200 176 16 +255 238 41 +213 189 16 16 16 16 -248 240 168 -104 72 64 -72 48 64 -200 184 168 -152 120 120 +255 246 172 +131 98 8 +82 49 8 +213 180 82 +180 131 41 88 88 88 248 248 248 176 176 168 diff --git a/graphics/pokemon/arbok/anim_front.png b/graphics/pokemon/arbok/anim_front.png index a9d2c95e77..351274bd87 100644 Binary files a/graphics/pokemon/arbok/anim_front.png and b/graphics/pokemon/arbok/anim_front.png differ diff --git a/graphics/pokemon/arbok/front.png b/graphics/pokemon/arbok/front.png index 532677a861..b9fe8eaf83 100644 Binary files a/graphics/pokemon/arbok/front.png and b/graphics/pokemon/arbok/front.png differ diff --git a/graphics/pokemon/arbok/normal.pal b/graphics/pokemon/arbok/normal.pal index d921ec9744..8ef9ad3150 100644 --- a/graphics/pokemon/arbok/normal.pal +++ b/graphics/pokemon/arbok/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 16 16 16 -160 128 192 -192 160 232 -120 96 168 -80 56 120 -192 192 192 -248 248 248 -160 56 96 -216 96 112 -192 64 24 -240 112 72 -240 176 200 -232 224 80 +164 131 197 +197 164 238 +123 98 172 +82 57 123 +197 197 197 +255 255 255 +156 16 0 +197 65 24 +156 16 0 +197 65 24 +246 115 74 +197 180 0 120 96 168 0 0 0 diff --git a/graphics/pokemon/arcanine/anim_front.png b/graphics/pokemon/arcanine/anim_front.png index 1fc6e98061..907e6d12b7 100644 Binary files a/graphics/pokemon/arcanine/anim_front.png and b/graphics/pokemon/arcanine/anim_front.png differ diff --git a/graphics/pokemon/arcanine/front.png b/graphics/pokemon/arcanine/front.png index 752a55c9cf..f5c33c8728 100644 Binary files a/graphics/pokemon/arcanine/front.png and b/graphics/pokemon/arcanine/front.png differ diff --git a/graphics/pokemon/arcanine/normal.pal b/graphics/pokemon/arcanine/normal.pal index e002596092..0d552ffc3b 100644 --- a/graphics/pokemon/arcanine/normal.pal +++ b/graphics/pokemon/arcanine/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -112 96 32 +148 98 32 16 16 16 -248 232 152 -216 192 120 -96 48 0 -224 104 16 -184 80 8 +255 246 148 +238 197 115 +98 16 0 +238 115 49 +197 82 90 216 216 208 248 248 240 88 104 112 -248 136 24 +255 156 106 168 48 16 -184 152 88 +148 98 32 0 0 0 0 0 0 diff --git a/graphics/pokemon/articuno/anim_front.png b/graphics/pokemon/articuno/anim_front.png index 25fe5e13b6..80cacd7391 100644 Binary files a/graphics/pokemon/articuno/anim_front.png and b/graphics/pokemon/articuno/anim_front.png differ diff --git a/graphics/pokemon/articuno/front.png b/graphics/pokemon/articuno/front.png index d24f9a7629..71b411a380 100644 Binary files a/graphics/pokemon/articuno/front.png and b/graphics/pokemon/articuno/front.png differ diff --git a/graphics/pokemon/articuno/normal.pal b/graphics/pokemon/articuno/normal.pal index cb595f23e5..eaaff4482d 100644 --- a/graphics/pokemon/articuno/normal.pal +++ b/graphics/pokemon/articuno/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -0 80 112 -144 192 248 -0 120 184 -104 168 240 +32 82 156 +148 197 255 +41 115 189 +123 164 255 16 16 16 8 48 80 32 136 176 -144 192 248 +148 197 255 248 248 248 184 40 56 -88 56 24 -176 144 112 -136 104 80 +90 57 24 +180 148 115 +139 106 82 200 224 248 192 200 200 diff --git a/graphics/pokemon/beedrill/anim_front.png b/graphics/pokemon/beedrill/anim_front.png index 26e0ea3cf2..05e48a56c9 100644 Binary files a/graphics/pokemon/beedrill/anim_front.png and b/graphics/pokemon/beedrill/anim_front.png differ diff --git a/graphics/pokemon/beedrill/front.png b/graphics/pokemon/beedrill/front.png index b38fb89932..e1f22b5a7d 100644 Binary files a/graphics/pokemon/beedrill/front.png and b/graphics/pokemon/beedrill/front.png differ diff --git a/graphics/pokemon/beedrill/normal.pal b/graphics/pokemon/beedrill/normal.pal index 6499a81c2f..5dcebed760 100644 --- a/graphics/pokemon/beedrill/normal.pal +++ b/graphics/pokemon/beedrill/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 120 144 -184 168 192 -248 248 248 +139 123 148 +189 172 197 +255 255 255 24 24 24 -216 200 240 -80 88 120 -120 88 0 -200 152 16 -248 240 160 -248 200 72 -152 0 8 -208 24 48 -248 144 104 -152 120 0 +222 205 246 +82 90 123 +131 74 0 +230 148 32 +255 246 164 +255 205 74 +156 0 8 +213 24 49 +255 148 106 +180 98 16 232 224 248 diff --git a/graphics/pokemon/bellsprout/anim_front.png b/graphics/pokemon/bellsprout/anim_front.png index caf9299160..d148f81343 100644 Binary files a/graphics/pokemon/bellsprout/anim_front.png and b/graphics/pokemon/bellsprout/anim_front.png differ diff --git a/graphics/pokemon/bellsprout/front.png b/graphics/pokemon/bellsprout/front.png index 4a6d8523be..492c8b29f8 100644 Binary files a/graphics/pokemon/bellsprout/front.png and b/graphics/pokemon/bellsprout/front.png differ diff --git a/graphics/pokemon/bellsprout/normal.pal b/graphics/pokemon/bellsprout/normal.pal index a03d87f636..3a2a60032c 100644 --- a/graphics/pokemon/bellsprout/normal.pal +++ b/graphics/pokemon/bellsprout/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -168 120 64 -248 248 176 -240 240 88 -88 56 0 -208 200 72 +148 106 65 +255 255 255 +255 238 164 +90 57 0 +230 189 131 248 248 248 16 16 16 144 104 64 -152 32 72 -232 168 176 -64 104 16 -232 136 160 -120 192 80 -208 96 136 -96 160 64 +115 32 0 +230 139 148 +65 106 16 +213 98 106 +123 197 82 +180 65 49 +98 164 65 diff --git a/graphics/pokemon/blastoise/anim_front.png b/graphics/pokemon/blastoise/anim_front.png index ed0b15e70e..26034c90ed 100644 Binary files a/graphics/pokemon/blastoise/anim_front.png and b/graphics/pokemon/blastoise/anim_front.png differ diff --git a/graphics/pokemon/blastoise/back.png b/graphics/pokemon/blastoise/back.png index af667e7a47..672de54975 100644 Binary files a/graphics/pokemon/blastoise/back.png and b/graphics/pokemon/blastoise/back.png differ diff --git a/graphics/pokemon/blastoise/front.png b/graphics/pokemon/blastoise/front.png index 6c87e4fd37..0419463d83 100644 Binary files a/graphics/pokemon/blastoise/front.png and b/graphics/pokemon/blastoise/front.png differ diff --git a/graphics/pokemon/blastoise/normal.pal b/graphics/pokemon/blastoise/normal.pal index d21a9f0139..08c1997369 100644 --- a/graphics/pokemon/blastoise/normal.pal +++ b/graphics/pokemon/blastoise/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 248 192 248 -88 136 192 -48 88 144 -128 192 248 -96 168 240 -72 72 72 -16 16 16 -200 200 208 -96 88 56 -144 144 144 -136 104 80 -248 248 248 -208 200 128 -248 240 184 -200 144 96 +32 98 172 +8 57 98 +148 172 230 +90 139 205 +74 74 74 +0 0 0 +205 205 213 +90 57 24 +148 148 148 +139 98 65 +255 255 255 +213 172 74 +246 213 156 +213 172 74 156 136 80 diff --git a/graphics/pokemon/blastoise/shiny.pal b/graphics/pokemon/blastoise/shiny.pal index 505ad84942..ff27dbbdc5 100644 --- a/graphics/pokemon/blastoise/shiny.pal +++ b/graphics/pokemon/blastoise/shiny.pal @@ -15,5 +15,5 @@ JASC-PAL 248 248 248 184 176 96 240 224 192 -216 184 144 +189 180 90 112 144 72 diff --git a/graphics/pokemon/butterfree/anim_front.png b/graphics/pokemon/butterfree/anim_front.png index ee2ef504ae..27b0599801 100644 Binary files a/graphics/pokemon/butterfree/anim_front.png and b/graphics/pokemon/butterfree/anim_front.png differ diff --git a/graphics/pokemon/butterfree/front.png b/graphics/pokemon/butterfree/front.png index fb8f2bc34e..9f98ee7a35 100644 Binary files a/graphics/pokemon/butterfree/front.png and b/graphics/pokemon/butterfree/front.png differ diff --git a/graphics/pokemon/butterfree/normal.pal b/graphics/pokemon/butterfree/normal.pal index 8467d6e810..ab84ea0099 100644 --- a/graphics/pokemon/butterfree/normal.pal +++ b/graphics/pokemon/butterfree/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 0 0 0 -48 48 48 -64 48 96 -128 120 144 -232 232 248 -96 80 120 -184 184 224 -224 96 128 -96 48 56 -248 152 176 +49 49 82 +90 74 115 +131 131 189 +238 238 255 +115 98 172 +189 189 230 +230 98 131 +98 49 57 +255 156 180 48 48 80 -216 48 48 -80 120 192 -104 184 200 +222 49 49 +82 123 197 +106 189 205 240 248 248 diff --git a/graphics/pokemon/caterpie/anim_front.png b/graphics/pokemon/caterpie/anim_front.png index 9ac8da3778..1762f778d0 100644 Binary files a/graphics/pokemon/caterpie/anim_front.png and b/graphics/pokemon/caterpie/anim_front.png differ diff --git a/graphics/pokemon/caterpie/front.png b/graphics/pokemon/caterpie/front.png index 1898998b92..7ee00f7b36 100644 Binary files a/graphics/pokemon/caterpie/front.png and b/graphics/pokemon/caterpie/front.png differ diff --git a/graphics/pokemon/caterpie/normal.pal b/graphics/pokemon/caterpie/normal.pal index 6120e433b7..76bf98f547 100644 --- a/graphics/pokemon/caterpie/normal.pal +++ b/graphics/pokemon/caterpie/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -128 56 72 -248 120 64 -248 176 56 -248 64 64 -32 120 72 -168 240 64 -16 16 16 -24 88 64 -104 208 48 -48 168 64 -240 232 136 -208 184 128 -120 128 72 +123 57 74 +255 123 65 +255 180 57 +255 65 65 +32 123 74 +172 246 65 +0 0 0 +24 90 65 +106 213 49 +49 172 65 +246 238 139 +213 189 131 +123 131 74 72 200 40 240 232 136 diff --git a/graphics/pokemon/chansey/anim_front.png b/graphics/pokemon/chansey/anim_front.png index 487cdb2b48..ca17d1a700 100644 Binary files a/graphics/pokemon/chansey/anim_front.png and b/graphics/pokemon/chansey/anim_front.png differ diff --git a/graphics/pokemon/chansey/front.png b/graphics/pokemon/chansey/front.png index c032d0fafa..4dd2e2fe27 100644 Binary files a/graphics/pokemon/chansey/front.png and b/graphics/pokemon/chansey/front.png differ diff --git a/graphics/pokemon/chansey/normal.pal b/graphics/pokemon/chansey/normal.pal index 384b9e8c5f..698af3b616 100644 --- a/graphics/pokemon/chansey/normal.pal +++ b/graphics/pokemon/chansey/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -224 120 128 -152 64 80 -248 224 232 -248 208 224 -152 48 80 -232 120 136 -240 152 168 +230 123 131 +139 65 65 +255 230 230 +255 213 222 +139 65 65 +238 123 123 +246 164 156 248 248 248 16 16 16 -56 136 184 -232 168 184 -168 160 112 -112 104 72 -224 216 184 +139 65 65 +246 164 180 +172 164 115 +115 106 74 +230 222 189 0 0 0 diff --git a/graphics/pokemon/charizard/anim_front.png b/graphics/pokemon/charizard/anim_front.png index b3421924f7..f3b62d8fd5 100644 Binary files a/graphics/pokemon/charizard/anim_front.png and b/graphics/pokemon/charizard/anim_front.png differ diff --git a/graphics/pokemon/charizard/front.png b/graphics/pokemon/charizard/front.png index 97a6fd5ef7..a6792d551c 100644 Binary files a/graphics/pokemon/charizard/front.png and b/graphics/pokemon/charizard/front.png differ diff --git a/graphics/pokemon/charizard/normal.pal b/graphics/pokemon/charizard/normal.pal index 87269fdd37..db32d4324c 100644 --- a/graphics/pokemon/charizard/normal.pal +++ b/graphics/pokemon/charizard/normal.pal @@ -7,13 +7,13 @@ JASC-PAL 240 160 16 232 176 88 248 224 104 -200 80 64 +205 82 65 16 16 16 -232 128 40 +238 131 41 8 64 80 32 112 144 200 200 200 248 248 248 0 128 248 -232 216 120 -232 176 88 +238 222 123 +238 180 90 diff --git a/graphics/pokemon/clefable/anim_front.png b/graphics/pokemon/clefable/anim_front.png index e4a6228e16..279172929a 100644 Binary files a/graphics/pokemon/clefable/anim_front.png and b/graphics/pokemon/clefable/anim_front.png differ diff --git a/graphics/pokemon/clefable/back.png b/graphics/pokemon/clefable/back.png index 2d7cbbdef7..11b37f35f8 100644 Binary files a/graphics/pokemon/clefable/back.png and b/graphics/pokemon/clefable/back.png differ diff --git a/graphics/pokemon/clefable/front.png b/graphics/pokemon/clefable/front.png index c3c70dc1e0..2ac06ddfc3 100644 Binary files a/graphics/pokemon/clefable/front.png and b/graphics/pokemon/clefable/front.png differ diff --git a/graphics/pokemon/clefable/normal.pal b/graphics/pokemon/clefable/normal.pal index 69bf321d76..242352f053 100644 --- a/graphics/pokemon/clefable/normal.pal +++ b/graphics/pokemon/clefable/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -80 64 56 +82 65 57 16 16 16 -120 104 96 -136 72 80 -216 96 96 -248 192 176 -232 144 144 -184 88 120 -104 72 80 -208 120 160 +123 106 98 +139 74 82 +222 98 98 +255 197 180 +238 148 148 +189 90 123 +82 49 74 +213 123 164 248 248 248 -128 128 128 -208 120 136 -136 72 80 +131 131 131 +213 123 139 +222 57 90 104 72 80 diff --git a/graphics/pokemon/clefable/shiny.pal b/graphics/pokemon/clefable/shiny.pal index 11daecf724..0ab423cdcb 100644 --- a/graphics/pokemon/clefable/shiny.pal +++ b/graphics/pokemon/clefable/shiny.pal @@ -15,5 +15,5 @@ JASC-PAL 248 248 248 128 128 128 208 136 152 -184 96 96 +222 57 90 80 48 72 diff --git a/graphics/pokemon/clefairy/anim_front.png b/graphics/pokemon/clefairy/anim_front.png index ecbe37a1bf..5f7e02a6e0 100644 Binary files a/graphics/pokemon/clefairy/anim_front.png and b/graphics/pokemon/clefairy/anim_front.png differ diff --git a/graphics/pokemon/clefairy/front.png b/graphics/pokemon/clefairy/front.png index 613905a3a9..4e959bd4ee 100644 Binary files a/graphics/pokemon/clefairy/front.png and b/graphics/pokemon/clefairy/front.png differ diff --git a/graphics/pokemon/clefairy/normal.pal b/graphics/pokemon/clefairy/normal.pal index 6d31bfa498..ac2d66f749 100644 --- a/graphics/pokemon/clefairy/normal.pal +++ b/graphics/pokemon/clefairy/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 80 88 -184 128 136 -248 208 184 -112 72 56 -88 48 32 -152 128 112 +156 82 82 +230 123 123 +255 213 189 +115 74 57 +90 49 32 +156 131 115 16 16 16 -248 168 168 -144 144 144 -248 248 248 -232 64 56 -64 120 168 +255 172 172 +148 148 148 +255 255 255 +238 65 57 +148 148 148 176 56 40 0 0 0 0 0 0 diff --git a/graphics/pokemon/cloyster/anim_front.png b/graphics/pokemon/cloyster/anim_front.png index 4ed517f830..bce084388f 100644 Binary files a/graphics/pokemon/cloyster/anim_front.png and b/graphics/pokemon/cloyster/anim_front.png differ diff --git a/graphics/pokemon/cloyster/front.png b/graphics/pokemon/cloyster/front.png index 1d9237036b..6c4a65eb69 100644 Binary files a/graphics/pokemon/cloyster/front.png and b/graphics/pokemon/cloyster/front.png differ diff --git a/graphics/pokemon/cloyster/normal.pal b/graphics/pokemon/cloyster/normal.pal index 2e777740f9..725b268096 100644 --- a/graphics/pokemon/cloyster/normal.pal +++ b/graphics/pokemon/cloyster/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -104 88 144 -184 168 232 -136 120 184 -40 32 72 +123 82 131 +213 189 238 +172 123 189 +74 32 82 16 16 16 -192 192 192 -64 64 64 +197 197 197 +65 65 65 248 248 248 -144 144 144 -96 96 96 -56 40 104 -112 104 176 -64 56 152 -160 120 184 +148 148 148 +98 98 98 +82 41 90 +131 90 164 +106 65 131 +164 123 189 120 96 176 diff --git a/graphics/pokemon/cubone/anim_front.png b/graphics/pokemon/cubone/anim_front.png index 8294ce638d..5b98b8d8ab 100644 Binary files a/graphics/pokemon/cubone/anim_front.png and b/graphics/pokemon/cubone/anim_front.png differ diff --git a/graphics/pokemon/cubone/front.png b/graphics/pokemon/cubone/front.png index f26df5792c..ddf94b1a04 100644 Binary files a/graphics/pokemon/cubone/front.png and b/graphics/pokemon/cubone/front.png differ diff --git a/graphics/pokemon/cubone/normal.pal b/graphics/pokemon/cubone/normal.pal index e18a705677..8613b94a22 100644 --- a/graphics/pokemon/cubone/normal.pal +++ b/graphics/pokemon/cubone/normal.pal @@ -2,14 +2,14 @@ JASC-PAL 0100 16 152 208 160 -128 128 128 +139 131 106 248 248 248 -0 0 0 -192 192 208 -80 80 56 -144 104 88 -192 152 72 -80 56 16 +41 41 41 +197 197 213 +82 82 57 +148 106 90 +197 156 74 +82 57 16 200 168 136 240 208 176 224 224 232 diff --git a/graphics/pokemon/dewgong/anim_front.png b/graphics/pokemon/dewgong/anim_front.png index 4419767822..a767395501 100644 Binary files a/graphics/pokemon/dewgong/anim_front.png and b/graphics/pokemon/dewgong/anim_front.png differ diff --git a/graphics/pokemon/dewgong/front.png b/graphics/pokemon/dewgong/front.png index afaaaf5c32..62201eaab3 100644 Binary files a/graphics/pokemon/dewgong/front.png and b/graphics/pokemon/dewgong/front.png differ diff --git a/graphics/pokemon/dewgong/normal.pal b/graphics/pokemon/dewgong/normal.pal index ea9cd39eae..15ddd52bd5 100644 --- a/graphics/pokemon/dewgong/normal.pal +++ b/graphics/pokemon/dewgong/normal.pal @@ -3,13 +3,13 @@ JASC-PAL 16 153 210 164 106 123 164 -69 73 96 -161 167 204 -219 235 249 +65 82 98 +156 164 189 +230 230 246 16 16 16 -192 207 226 +213 205 238 255 255 255 -114 92 75 +131 123 123 112 40 40 232 128 120 0 0 0 diff --git a/graphics/pokemon/diglett/anim_front.png b/graphics/pokemon/diglett/anim_front.png index 9bea44acba..a652b66458 100644 Binary files a/graphics/pokemon/diglett/anim_front.png and b/graphics/pokemon/diglett/anim_front.png differ diff --git a/graphics/pokemon/diglett/front.png b/graphics/pokemon/diglett/front.png index 34bb253af4..4e527ef5e5 100644 Binary files a/graphics/pokemon/diglett/front.png and b/graphics/pokemon/diglett/front.png differ diff --git a/graphics/pokemon/diglett/normal.pal b/graphics/pokemon/diglett/normal.pal index b8930cba2b..0e0e4694ce 100644 --- a/graphics/pokemon/diglett/normal.pal +++ b/graphics/pokemon/diglett/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -160 88 88 -216 152 88 -192 112 64 -88 48 24 -248 248 248 +164 90 90 +222 156 90 +197 115 65 +90 49 24 +255 255 255 16 16 16 -192 32 136 -144 64 112 -248 176 224 -232 120 184 -96 96 104 -136 136 144 -56 56 56 -176 184 192 +213 57 74 +115 0 24 +255 172 148 +255 106 90 +131 123 74 +180 172 115 +90 82 32 +230 230 180 0 0 0 diff --git a/graphics/pokemon/dodrio/anim_front.png b/graphics/pokemon/dodrio/anim_front.png index a569e58930..43c37974fe 100644 Binary files a/graphics/pokemon/dodrio/anim_front.png and b/graphics/pokemon/dodrio/anim_front.png differ diff --git a/graphics/pokemon/dodrio/front.png b/graphics/pokemon/dodrio/front.png index 5edcba27c2..5184438f49 100644 Binary files a/graphics/pokemon/dodrio/front.png and b/graphics/pokemon/dodrio/front.png differ diff --git a/graphics/pokemon/dodrio/normal.pal b/graphics/pokemon/dodrio/normal.pal index e4205972ab..1569ba019d 100644 --- a/graphics/pokemon/dodrio/normal.pal +++ b/graphics/pokemon/dodrio/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -64 64 64 +65 65 65 16 16 16 -104 104 104 -160 120 88 -88 48 32 -200 152 80 +131 131 131 +164 123 90 +90 65 32 +205 156 82 248 248 248 -96 88 64 -232 216 168 -176 160 120 -112 40 40 -232 128 120 -176 64 64 -240 128 160 -248 208 224 +98 90 65 +238 222 172 +180 164 123 +180 65 65 +246 131 164 +180 65 65 +246 131 164 +255 213 230 diff --git a/graphics/pokemon/dragonite/anim_front.png b/graphics/pokemon/dragonite/anim_front.png index b0a2305288..2e067903b8 100644 Binary files a/graphics/pokemon/dragonite/anim_front.png and b/graphics/pokemon/dragonite/anim_front.png differ diff --git a/graphics/pokemon/dragonite/front.png b/graphics/pokemon/dragonite/front.png index 0d4314b704..6bffee8980 100644 Binary files a/graphics/pokemon/dragonite/front.png and b/graphics/pokemon/dragonite/front.png differ diff --git a/graphics/pokemon/dragonite/normal.pal b/graphics/pokemon/dragonite/normal.pal index 493e8a7f7e..665b93fbb1 100644 --- a/graphics/pokemon/dragonite/normal.pal +++ b/graphics/pokemon/dragonite/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 152 88 72 -248 232 184 -208 136 48 -232 184 136 +255 238 189 +213 139 49 +238 189 139 248 200 104 -232 176 72 +238 180 74 88 56 32 248 248 248 200 200 200 16 16 16 96 96 96 -32 80 64 -24 104 96 -32 160 120 -152 128 88 +16 65 49 +24 106 98 +32 164 123 +172 139 65 diff --git a/graphics/pokemon/dugtrio/anim_front.png b/graphics/pokemon/dugtrio/anim_front.png index 80339c70dd..12a88a418b 100644 Binary files a/graphics/pokemon/dugtrio/anim_front.png and b/graphics/pokemon/dugtrio/anim_front.png differ diff --git a/graphics/pokemon/dugtrio/front.png b/graphics/pokemon/dugtrio/front.png index 4e1b6c2802..60051cd79c 100644 Binary files a/graphics/pokemon/dugtrio/front.png and b/graphics/pokemon/dugtrio/front.png differ diff --git a/graphics/pokemon/dugtrio/normal.pal b/graphics/pokemon/dugtrio/normal.pal index 592302dc88..834d6d4db2 100644 --- a/graphics/pokemon/dugtrio/normal.pal +++ b/graphics/pokemon/dugtrio/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -160 88 88 -216 152 88 -88 48 24 -192 112 64 -248 248 248 +164 90 90 +222 156 90 +90 49 24 +197 115 65 +255 255 255 16 16 16 -144 64 112 -248 176 224 -232 120 184 -192 32 136 -96 96 104 -136 136 144 -56 56 56 -176 184 192 +115 0 24 +255 172 148 +255 106 90 +213 57 74 +131 123 74 +180 172 115 +90 82 32 +230 230 180 0 0 0 diff --git a/graphics/pokemon/eevee/anim_front.png b/graphics/pokemon/eevee/anim_front.png index d419e87fc2..7f45d8592e 100644 Binary files a/graphics/pokemon/eevee/anim_front.png and b/graphics/pokemon/eevee/anim_front.png differ diff --git a/graphics/pokemon/eevee/anim_frontf.png b/graphics/pokemon/eevee/anim_frontf.png index 48cb883177..2f9da3756e 100644 Binary files a/graphics/pokemon/eevee/anim_frontf.png and b/graphics/pokemon/eevee/anim_frontf.png differ diff --git a/graphics/pokemon/eevee/front.png b/graphics/pokemon/eevee/front.png index 1a22929134..1773de2aaf 100644 Binary files a/graphics/pokemon/eevee/front.png and b/graphics/pokemon/eevee/front.png differ diff --git a/graphics/pokemon/eevee/frontf.png b/graphics/pokemon/eevee/frontf.png index f7241f496a..3eb2e2c96f 100644 Binary files a/graphics/pokemon/eevee/frontf.png and b/graphics/pokemon/eevee/frontf.png differ diff --git a/graphics/pokemon/eevee/normal.pal b/graphics/pokemon/eevee/normal.pal index 43bc46c9b8..ecb4209481 100644 --- a/graphics/pokemon/eevee/normal.pal +++ b/graphics/pokemon/eevee/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -160 96 72 -112 72 72 -208 152 72 -16 16 16 -56 40 24 -96 48 32 -184 152 120 -224 192 144 +165 99 74 +115 74 74 +214 156 74 +0 0 0 +82 49 33 +82 49 33 +189 156 123 +230 197 148 248 248 248 -248 224 168 +255 230 173 224 184 120 96 72 56 0 0 0 diff --git a/graphics/pokemon/ekans/anim_front.png b/graphics/pokemon/ekans/anim_front.png index abea49e512..1441532a47 100644 Binary files a/graphics/pokemon/ekans/anim_front.png and b/graphics/pokemon/ekans/anim_front.png differ diff --git a/graphics/pokemon/ekans/front.png b/graphics/pokemon/ekans/front.png index 721886da38..ebfd623efa 100644 Binary files a/graphics/pokemon/ekans/front.png and b/graphics/pokemon/ekans/front.png differ diff --git a/graphics/pokemon/ekans/normal.pal b/graphics/pokemon/ekans/normal.pal index 10208771e6..54db617b6d 100644 --- a/graphics/pokemon/ekans/normal.pal +++ b/graphics/pokemon/ekans/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 16 72 -160 72 160 -216 160 232 -192 96 200 -120 48 104 -176 152 48 -248 224 120 +90 16 74 +164 74 139 +238 164 213 +205 98 180 +123 49 106 +180 123 49 +255 213 106 16 16 16 -208 184 72 -160 56 96 +230 172 90 +156 16 0 88 72 48 -216 96 112 -224 168 192 +197 65 24 +246 115 74 248 224 152 0 0 0 diff --git a/graphics/pokemon/electrode/anim_front.png b/graphics/pokemon/electrode/anim_front.png index e2342827ef..f5fee30396 100644 Binary files a/graphics/pokemon/electrode/anim_front.png and b/graphics/pokemon/electrode/anim_front.png differ diff --git a/graphics/pokemon/electrode/front.png b/graphics/pokemon/electrode/front.png index e448ff25d9..6de7d5e090 100644 Binary files a/graphics/pokemon/electrode/front.png and b/graphics/pokemon/electrode/front.png differ diff --git a/graphics/pokemon/electrode/normal.pal b/graphics/pokemon/electrode/normal.pal index 187f196ea9..293f41bffb 100644 --- a/graphics/pokemon/electrode/normal.pal +++ b/graphics/pokemon/electrode/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -88 80 80 -160 160 160 -232 232 232 +90 82 82 +164 156 156 +238 238 238 248 248 248 -200 200 224 +205 205 222 16 16 16 -200 40 64 -248 80 32 -240 160 136 -128 16 16 -232 56 48 +213 49 65 +255 82 32 +255 131 90 +131 16 16 +238 65 49 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/exeggcute/anim_front.png b/graphics/pokemon/exeggcute/anim_front.png index 502e226db0..dc17ffb12b 100644 Binary files a/graphics/pokemon/exeggcute/anim_front.png and b/graphics/pokemon/exeggcute/anim_front.png differ diff --git a/graphics/pokemon/exeggcute/front.png b/graphics/pokemon/exeggcute/front.png index 49dc90ad33..730bd6e122 100644 Binary files a/graphics/pokemon/exeggcute/front.png and b/graphics/pokemon/exeggcute/front.png differ diff --git a/graphics/pokemon/exeggcute/normal.pal b/graphics/pokemon/exeggcute/normal.pal index b3489a08c4..5b12b18d4d 100644 --- a/graphics/pokemon/exeggcute/normal.pal +++ b/graphics/pokemon/exeggcute/normal.pal @@ -2,15 +2,15 @@ JASC-PAL 0100 16 152 208 160 -192 112 144 -136 56 88 -248 208 216 +197 115 148 +139 32 32 +255 213 222 16 16 16 -248 232 136 -200 136 8 +255 238 139 +205 139 8 248 248 248 -248 232 232 -216 216 216 +255 238 238 +222 222 222 224 176 184 232 192 192 0 0 0 diff --git a/graphics/pokemon/exeggutor/anim_front.png b/graphics/pokemon/exeggutor/anim_front.png index 44351f59b4..c55e603a0f 100644 Binary files a/graphics/pokemon/exeggutor/anim_front.png and b/graphics/pokemon/exeggutor/anim_front.png differ diff --git a/graphics/pokemon/exeggutor/front.png b/graphics/pokemon/exeggutor/front.png index 7f825b094e..2ea8935be4 100644 Binary files a/graphics/pokemon/exeggutor/front.png and b/graphics/pokemon/exeggutor/front.png differ diff --git a/graphics/pokemon/exeggutor/normal.pal b/graphics/pokemon/exeggutor/normal.pal index 7af14aec0b..7430557a4c 100644 --- a/graphics/pokemon/exeggutor/normal.pal +++ b/graphics/pokemon/exeggutor/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 0 176 232 -32 72 16 +82 98 41 16 16 16 -56 128 32 -88 192 64 -72 160 48 -96 72 56 -208 200 112 -240 240 144 +115 172 49 +189 255 115 +156 213 74 +82 65 16 +230 172 90 +255 246 139 248 248 168 248 248 248 -120 120 72 -112 40 40 -136 104 72 -232 128 120 -192 144 112 +123 82 16 +164 106 32 +139 115 65 +230 172 90 +180 156 74 diff --git a/graphics/pokemon/farfetchd/anim_front.png b/graphics/pokemon/farfetchd/anim_front.png index 6554a4c9f4..c96acae39a 100644 Binary files a/graphics/pokemon/farfetchd/anim_front.png and b/graphics/pokemon/farfetchd/anim_front.png differ diff --git a/graphics/pokemon/farfetchd/front.png b/graphics/pokemon/farfetchd/front.png index ea6aa66372..9616f035f6 100644 Binary files a/graphics/pokemon/farfetchd/front.png and b/graphics/pokemon/farfetchd/front.png differ diff --git a/graphics/pokemon/farfetchd/normal.pal b/graphics/pokemon/farfetchd/normal.pal index 306a547b10..8e8af67119 100644 --- a/graphics/pokemon/farfetchd/normal.pal +++ b/graphics/pokemon/farfetchd/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -144 88 104 -96 64 56 -192 152 144 +132 107 33 +90 58 0 +181 148 82 16 16 16 -80 152 0 -232 232 216 -144 208 72 -192 176 152 -208 208 208 -200 168 160 +0 156 33 +230 230 165 +66 222 66 +197 206 132 +214 214 214 +230 197 123 248 248 248 -200 248 136 -248 216 104 -240 176 64 -184 112 24 +206 255 140 +255 222 107 +247 181 66 +189 115 25 diff --git a/graphics/pokemon/fearow/anim_front.png b/graphics/pokemon/fearow/anim_front.png index d9650bc87e..9a9e669e09 100644 Binary files a/graphics/pokemon/fearow/anim_front.png and b/graphics/pokemon/fearow/anim_front.png differ diff --git a/graphics/pokemon/fearow/back.png b/graphics/pokemon/fearow/back.png index 429ab9a4bf..6ab9e169ef 100644 Binary files a/graphics/pokemon/fearow/back.png and b/graphics/pokemon/fearow/back.png differ diff --git a/graphics/pokemon/fearow/normal.pal b/graphics/pokemon/fearow/normal.pal index 555e504743..43c311727d 100644 --- a/graphics/pokemon/fearow/normal.pal +++ b/graphics/pokemon/fearow/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -160 104 48 -96 64 40 -232 232 152 -16 16 16 -192 136 48 -176 32 32 -112 32 32 -224 64 64 -160 64 64 -248 128 104 -224 208 176 -248 248 248 -168 160 104 -232 168 160 +139 82 49 +98 57 32 +213 164 90 +0 0 0 +180 115 32 +123 32 32 +230 65 65 +180 32 32 +255 131 106 +98 90 57 +230 213 180 +255 255 255 +238 213 180 +172 164 106 208 128 128 diff --git a/graphics/pokemon/fearow/shiny.pal b/graphics/pokemon/fearow/shiny.pal index 66bce8b734..7b60073d71 100644 --- a/graphics/pokemon/fearow/shiny.pal +++ b/graphics/pokemon/fearow/shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 136 48 -96 96 32 -208 216 88 -16 16 16 -176 184 32 -208 120 0 -136 48 0 -248 160 0 -208 120 0 -248 232 64 -224 208 176 -248 248 248 -168 160 104 -248 232 64 -248 160 0 +139 139 49 +98 57 32 +213 222 90 +0 0 0 +180 189 32 +139 49 0 +255 164 0 +213 123 0 +255 238 65 +98 98 57 +230 222 180 +255 255 255 +238 246 197 +172 172 106 +208 128 128 diff --git a/graphics/pokemon/flareon/anim_front.png b/graphics/pokemon/flareon/anim_front.png index fcb04af2a5..1a13e5df4d 100644 Binary files a/graphics/pokemon/flareon/anim_front.png and b/graphics/pokemon/flareon/anim_front.png differ diff --git a/graphics/pokemon/flareon/front.png b/graphics/pokemon/flareon/front.png index 7f233214ca..40ef80eea5 100644 Binary files a/graphics/pokemon/flareon/front.png and b/graphics/pokemon/flareon/front.png differ diff --git a/graphics/pokemon/flareon/normal.pal b/graphics/pokemon/flareon/normal.pal index 648c2c51c7..e16f62e9cb 100644 --- a/graphics/pokemon/flareon/normal.pal +++ b/graphics/pokemon/flareon/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -112 88 64 -224 192 136 -248 240 160 -96 40 32 -192 160 104 -16 16 16 -216 64 80 -112 32 24 -248 112 72 -32 32 104 +115 90 65 +255 205 148 +255 238 164 +115 32 24 +197 164 106 +0 0 0 +222 74 57 +164 65 65 +255 115 90 +0 0 0 248 248 248 0 0 0 0 0 0 diff --git a/graphics/pokemon/gastly/anim_front.png b/graphics/pokemon/gastly/anim_front.png index 3c5f16339c..ff6c6591ae 100644 Binary files a/graphics/pokemon/gastly/anim_front.png and b/graphics/pokemon/gastly/anim_front.png differ diff --git a/graphics/pokemon/gastly/front.png b/graphics/pokemon/gastly/front.png index b5131034ef..eca993908e 100644 Binary files a/graphics/pokemon/gastly/front.png and b/graphics/pokemon/gastly/front.png differ diff --git a/graphics/pokemon/gastly/normal.pal b/graphics/pokemon/gastly/normal.pal index c4bfdcbd83..7541f17517 100644 --- a/graphics/pokemon/gastly/normal.pal +++ b/graphics/pokemon/gastly/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -176 144 184 -136 104 144 -104 72 120 -16 8 8 +213 172 205 +189 148 180 +139 98 131 +57 41 57 16 16 16 -56 40 40 -96 80 72 +115 74 106 +139 98 131 112 72 104 -248 248 248 -120 56 56 -184 80 88 +255 255 255 +180 41 16 +222 82 57 208 168 192 216 216 216 -152 88 112 -192 144 168 +180 41 16 +222 82 57 diff --git a/graphics/pokemon/gengar/anim_front.png b/graphics/pokemon/gengar/anim_front.png index 8cd8a8667f..038bc71fcb 100644 Binary files a/graphics/pokemon/gengar/anim_front.png and b/graphics/pokemon/gengar/anim_front.png differ diff --git a/graphics/pokemon/gengar/front.png b/graphics/pokemon/gengar/front.png index d9a054a1eb..2c47843a26 100644 Binary files a/graphics/pokemon/gengar/front.png and b/graphics/pokemon/gengar/front.png differ diff --git a/graphics/pokemon/gengar/normal.pal b/graphics/pokemon/gengar/normal.pal index efa15a3b0e..16892bb23c 100644 --- a/graphics/pokemon/gengar/normal.pal +++ b/graphics/pokemon/gengar/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 72 152 -176 136 184 +90 74 156 +180 139 189 16 16 16 -144 112 176 -72 40 72 -120 96 160 -248 24 24 -248 96 96 -184 168 184 -248 240 248 -104 96 120 -216 208 216 +148 115 180 +74 41 74 +123 98 164 +255 90 90 +255 148 148 +189 172 189 +255 246 255 +106 98 123 +222 213 222 168 16 16 72 40 72 0 0 0 diff --git a/graphics/pokemon/geodude/anim_front.png b/graphics/pokemon/geodude/anim_front.png index 2346e37bb9..e5e28131d6 100644 Binary files a/graphics/pokemon/geodude/anim_front.png and b/graphics/pokemon/geodude/anim_front.png differ diff --git a/graphics/pokemon/geodude/front.png b/graphics/pokemon/geodude/front.png index c01d52995c..8b94b33685 100644 Binary files a/graphics/pokemon/geodude/front.png and b/graphics/pokemon/geodude/front.png differ diff --git a/graphics/pokemon/geodude/normal.pal b/graphics/pokemon/geodude/normal.pal index 9dc93a2b22..29e9e74095 100644 --- a/graphics/pokemon/geodude/normal.pal +++ b/graphics/pokemon/geodude/normal.pal @@ -2,14 +2,14 @@ JASC-PAL 0100 16 152 208 160 -104 104 80 -64 56 48 -200 200 176 -184 176 160 -152 144 120 +106 106 82 +65 57 49 +197 213 172 +180 180 156 +156 148 131 16 16 16 -200 216 200 -248 248 248 +205 222 205 +255 255 255 56 40 56 136 16 16 232 128 120 diff --git a/graphics/pokemon/gloom/anim_front.png b/graphics/pokemon/gloom/anim_front.png index 3ade71dc76..9f9ea94c6b 100644 Binary files a/graphics/pokemon/gloom/anim_front.png and b/graphics/pokemon/gloom/anim_front.png differ diff --git a/graphics/pokemon/gloom/front.png b/graphics/pokemon/gloom/front.png index d4727f034d..dfadc6841f 100644 Binary files a/graphics/pokemon/gloom/front.png and b/graphics/pokemon/gloom/front.png differ diff --git a/graphics/pokemon/gloom/normal.pal b/graphics/pokemon/gloom/normal.pal index aced223e7a..6d66df35ca 100644 --- a/graphics/pokemon/gloom/normal.pal +++ b/graphics/pokemon/gloom/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 88 40 0 -128 56 24 -240 128 96 -168 80 56 +131 57 24 +205 115 74 +172 82 57 16 16 16 -240 128 96 -224 80 32 +255 189 65 +255 115 0 240 232 184 -168 56 32 -136 32 16 -56 96 136 -16 48 72 -112 144 168 -176 88 192 -152 160 200 +197 115 41 +139 57 24 +74 106 123 +16 49 74 +123 131 164 +180 90 197 +156 164 205 diff --git a/graphics/pokemon/golbat/anim_front.png b/graphics/pokemon/golbat/anim_front.png index eb6f8ad38b..661f81d46b 100644 Binary files a/graphics/pokemon/golbat/anim_front.png and b/graphics/pokemon/golbat/anim_front.png differ diff --git a/graphics/pokemon/golbat/front.png b/graphics/pokemon/golbat/front.png index 2898946b5d..a18aad3651 100644 Binary files a/graphics/pokemon/golbat/front.png and b/graphics/pokemon/golbat/front.png differ diff --git a/graphics/pokemon/golbat/normal.pal b/graphics/pokemon/golbat/normal.pal index 93d12fcf40..048e118a79 100644 --- a/graphics/pokemon/golbat/normal.pal +++ b/graphics/pokemon/golbat/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -40 120 152 -24 56 80 +98 131 205 +57 57 123 0 0 0 -136 200 224 -72 160 200 -168 80 168 -144 56 120 -96 16 80 -200 104 176 -96 96 96 -208 208 208 -248 248 248 +172 205 255 +90 172 238 +172 82 172 +148 57 123 +98 16 82 +205 106 180 +98 98 98 +213 213 213 +255 255 255 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/golduck/anim_front.png b/graphics/pokemon/golduck/anim_front.png index f3c5674a7f..e48d067353 100644 Binary files a/graphics/pokemon/golduck/anim_front.png and b/graphics/pokemon/golduck/anim_front.png differ diff --git a/graphics/pokemon/golduck/front.png b/graphics/pokemon/golduck/front.png index fe9836e681..e670ad7519 100644 Binary files a/graphics/pokemon/golduck/front.png and b/graphics/pokemon/golduck/front.png differ diff --git a/graphics/pokemon/golduck/normal.pal b/graphics/pokemon/golduck/normal.pal index f3b96e83f2..9caf6c3b4d 100644 --- a/graphics/pokemon/golduck/normal.pal +++ b/graphics/pokemon/golduck/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -64 72 112 -104 176 224 +49 82 106 +139 172 213 16 16 16 -72 120 168 -216 24 24 -248 248 248 -136 0 0 -240 104 104 -208 208 208 -136 112 56 -248 240 176 -192 160 72 -240 216 128 -168 48 16 +123 123 180 +222 24 24 +255 255 255 +139 0 0 +255 172 172 +213 213 213 +115 106 16 +255 255 164 +164 164 57 +213 213 106 +139 0 0 160 216 248 diff --git a/graphics/pokemon/golem/anim_front.png b/graphics/pokemon/golem/anim_front.png index a551e71dc5..cd5af1012f 100644 Binary files a/graphics/pokemon/golem/anim_front.png and b/graphics/pokemon/golem/anim_front.png differ diff --git a/graphics/pokemon/golem/front.png b/graphics/pokemon/golem/front.png index c036926381..d885469e2b 100644 Binary files a/graphics/pokemon/golem/front.png and b/graphics/pokemon/golem/front.png differ diff --git a/graphics/pokemon/golem/normal.pal b/graphics/pokemon/golem/normal.pal index a1af492ead..0006a7dca5 100644 --- a/graphics/pokemon/golem/normal.pal +++ b/graphics/pokemon/golem/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -64 64 56 -128 136 128 -104 104 80 -160 168 160 +65 74 16 +139 148 65 +98 106 32 +180 189 98 16 16 16 -112 112 112 -248 248 248 -88 72 72 -200 200 200 -192 168 168 -152 128 128 -216 192 184 -176 0 0 -248 80 80 +115 115 115 +255 255 255 +90 74 16 +205 205 205 +213 180 90 +156 139 82 +246 222 139 +180 0 0 +255 82 82 168 32 0 diff --git a/graphics/pokemon/graveler/anim_front.png b/graphics/pokemon/graveler/anim_front.png index 06680ed00d..f00ad98d8f 100644 Binary files a/graphics/pokemon/graveler/anim_front.png and b/graphics/pokemon/graveler/anim_front.png differ diff --git a/graphics/pokemon/graveler/front.png b/graphics/pokemon/graveler/front.png index 359e642c48..c6dcfbe9fb 100644 Binary files a/graphics/pokemon/graveler/front.png and b/graphics/pokemon/graveler/front.png differ diff --git a/graphics/pokemon/graveler/normal.pal b/graphics/pokemon/graveler/normal.pal index 1c31789ba7..7a0929c16f 100644 --- a/graphics/pokemon/graveler/normal.pal +++ b/graphics/pokemon/graveler/normal.pal @@ -2,14 +2,14 @@ JASC-PAL 0100 16 152 208 160 -72 63 48 -216 208 184 -176 176 152 -136 136 112 -104 104 80 -15 15 15 -248 248 248 -224 104 120 +74 65 49 +213 213 172 +180 180 156 +148 139 123 +106 106 82 +0 0 0 +255 255 255 +189 74 57 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/grimer/anim_front.png b/graphics/pokemon/grimer/anim_front.png index 33cf98a683..7cc6b2453d 100644 Binary files a/graphics/pokemon/grimer/anim_front.png and b/graphics/pokemon/grimer/anim_front.png differ diff --git a/graphics/pokemon/grimer/front.png b/graphics/pokemon/grimer/front.png index d4e6f6b7a1..b99fbb299c 100644 Binary files a/graphics/pokemon/grimer/front.png and b/graphics/pokemon/grimer/front.png differ diff --git a/graphics/pokemon/grimer/normal.pal b/graphics/pokemon/grimer/normal.pal index 9e51961b9b..b7c371b486 100644 --- a/graphics/pokemon/grimer/normal.pal +++ b/graphics/pokemon/grimer/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -136 112 152 -200 168 224 -96 56 120 -232 208 240 -168 128 192 +156 106 156 +222 172 222 +98 57 123 +238 222 238 +180 139 180 16 16 16 -120 72 128 +123 74 131 248 248 248 -120 128 160 -56 56 56 -152 168 200 +131 139 156 +65 74 90 +172 180 189 208 208 216 0 0 0 0 0 0 diff --git a/graphics/pokemon/growlithe/anim_front.png b/graphics/pokemon/growlithe/anim_front.png index eddcd68537..a3e0fbe5bd 100644 Binary files a/graphics/pokemon/growlithe/anim_front.png and b/graphics/pokemon/growlithe/anim_front.png differ diff --git a/graphics/pokemon/growlithe/back.png b/graphics/pokemon/growlithe/back.png index ff46b992b5..7c7d03df43 100644 Binary files a/graphics/pokemon/growlithe/back.png and b/graphics/pokemon/growlithe/back.png differ diff --git a/graphics/pokemon/growlithe/front.png b/graphics/pokemon/growlithe/front.png index 743dfb2f94..b16a79c7bb 100644 Binary files a/graphics/pokemon/growlithe/front.png and b/graphics/pokemon/growlithe/front.png differ diff --git a/graphics/pokemon/growlithe/normal.pal b/graphics/pokemon/growlithe/normal.pal index cd520d3bec..7517c29290 100644 --- a/graphics/pokemon/growlithe/normal.pal +++ b/graphics/pokemon/growlithe/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -112 96 32 -248 240 160 -184 152 120 +115 98 32 +255 246 164 +197 172 98 16 16 16 -216 200 128 -192 76 8 -120 64 0 -248 152 48 -248 120 24 -136 112 88 -48 56 64 +222 205 123 +197 82 82 +115 57 16 +255 180 82 +238 139 74 +115 98 32 +106 106 106 88 88 120 248 248 240 216 216 208 diff --git a/graphics/pokemon/gyarados/anim_front.png b/graphics/pokemon/gyarados/anim_front.png index 5d00da42b7..688fed9fec 100644 Binary files a/graphics/pokemon/gyarados/anim_front.png and b/graphics/pokemon/gyarados/anim_front.png differ diff --git a/graphics/pokemon/gyarados/front.png b/graphics/pokemon/gyarados/front.png index f437da7673..3c0edf57d6 100644 Binary files a/graphics/pokemon/gyarados/front.png and b/graphics/pokemon/gyarados/front.png differ diff --git a/graphics/pokemon/gyarados/normal.pal b/graphics/pokemon/gyarados/normal.pal index 09c4010788..23fb192976 100644 --- a/graphics/pokemon/gyarados/normal.pal +++ b/graphics/pokemon/gyarados/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -24 24 24 -96 96 128 -24 96 144 -168 184 224 -24 64 112 -0 168 208 -16 128 152 -240 240 240 -120 216 232 -240 224 168 -200 168 120 -88 72 48 -104 24 32 -184 48 96 -232 96 64 +25 25 25 +115 123 123 +25 99 148 +214 222 247 +25 66 115 +66 181 239 +33 140 173 +247 247 247 +123 214 239 +247 230 173 +206 181 123 +90 66 33 +107 25 33 +189 49 99 +239 99 66 diff --git a/graphics/pokemon/hitmonchan/anim_front.png b/graphics/pokemon/hitmonchan/anim_front.png index 7930fe60ae..71d40fb785 100644 Binary files a/graphics/pokemon/hitmonchan/anim_front.png and b/graphics/pokemon/hitmonchan/anim_front.png differ diff --git a/graphics/pokemon/hitmonchan/normal.pal b/graphics/pokemon/hitmonchan/normal.pal index 52b91591d0..2124609315 100644 --- a/graphics/pokemon/hitmonchan/normal.pal +++ b/graphics/pokemon/hitmonchan/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -96 72 72 -200 176 120 +90 65 16 +205 180 123 16 16 16 -160 136 112 -232 208 152 -248 240 248 -96 72 112 -64 128 248 -184 48 72 -248 144 88 -224 96 72 -136 32 0 -144 136 176 -176 168 208 +164 139 115 +238 213 156 +255 246 255 +98 74 115 +98 74 115 +189 49 74 +255 148 90 +230 98 74 +139 32 0 +164 156 164 +197 180 197 232 128 120 diff --git a/graphics/pokemon/hitmonlee/anim_front.png b/graphics/pokemon/hitmonlee/anim_front.png index 7bcda55b2b..89d69129da 100644 Binary files a/graphics/pokemon/hitmonlee/anim_front.png and b/graphics/pokemon/hitmonlee/anim_front.png differ diff --git a/graphics/pokemon/hitmonlee/front.png b/graphics/pokemon/hitmonlee/front.png index 42d195080f..080b6fd7bf 100644 Binary files a/graphics/pokemon/hitmonlee/front.png and b/graphics/pokemon/hitmonlee/front.png differ diff --git a/graphics/pokemon/hitmonlee/normal.pal b/graphics/pokemon/hitmonlee/normal.pal index ea2f5b7c4e..ef9db09638 100644 --- a/graphics/pokemon/hitmonlee/normal.pal +++ b/graphics/pokemon/hitmonlee/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -128 88 56 -160 120 112 -200 160 128 -96 56 24 -232 192 160 -112 96 96 -16 16 16 +131 90 57 +164 123 115 +205 164 131 +98 57 24 +238 197 164 +115 98 98 +41 41 41 248 248 248 208 200 200 -88 72 48 -184 176 104 -232 224 176 -184 176 104 +90 74 41 +189 180 106 +238 230 180 +189 180 106 240 224 168 0 0 0 diff --git a/graphics/pokemon/horsea/anim_front.png b/graphics/pokemon/horsea/anim_front.png index 887708af46..3094e37042 100644 Binary files a/graphics/pokemon/horsea/anim_front.png and b/graphics/pokemon/horsea/anim_front.png differ diff --git a/graphics/pokemon/horsea/front.png b/graphics/pokemon/horsea/front.png index 42d59bfe35..5ea743f224 100644 Binary files a/graphics/pokemon/horsea/front.png and b/graphics/pokemon/horsea/front.png differ diff --git a/graphics/pokemon/horsea/normal.pal b/graphics/pokemon/horsea/normal.pal index ba233c7c1d..ef39fd81c4 100644 --- a/graphics/pokemon/horsea/normal.pal +++ b/graphics/pokemon/horsea/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -32 88 112 -64 152 184 -112 208 240 -184 240 248 +57 82 98 +106 148 180 +164 197 238 +189 222 255 16 16 16 248 248 248 -208 208 208 -248 112 112 -144 128 96 -248 240 192 -208 192 136 -192 40 40 +213 213 213 +255 115 115 +156 131 74 +255 255 172 +222 197 74 +255 115 115 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/jigglypuff/anim_front.png b/graphics/pokemon/jigglypuff/anim_front.png index a10a835b43..d6eb61c1de 100644 Binary files a/graphics/pokemon/jigglypuff/anim_front.png and b/graphics/pokemon/jigglypuff/anim_front.png differ diff --git a/graphics/pokemon/jigglypuff/front.png b/graphics/pokemon/jigglypuff/front.png index 78c30c5323..af3a2d78bd 100644 Binary files a/graphics/pokemon/jigglypuff/front.png and b/graphics/pokemon/jigglypuff/front.png differ diff --git a/graphics/pokemon/jigglypuff/normal.pal b/graphics/pokemon/jigglypuff/normal.pal index 4bc2c0fb5b..6f4d96e9d2 100644 --- a/graphics/pokemon/jigglypuff/normal.pal +++ b/graphics/pokemon/jigglypuff/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -136 64 64 -248 168 184 -240 120 144 +164 16 32 +255 172 164 +230 115 131 16 16 16 -112 64 24 -248 248 248 -24 112 192 -16 72 136 -16 176 232 -200 184 248 +115 65 24 +255 255 255 +115 98 222 +65 49 156 +148 131 255 +205 189 255 168 16 0 232 64 48 0 0 0 diff --git a/graphics/pokemon/jolteon/anim_front.png b/graphics/pokemon/jolteon/anim_front.png index b43c1de38f..b5c8be0af9 100644 Binary files a/graphics/pokemon/jolteon/anim_front.png and b/graphics/pokemon/jolteon/anim_front.png differ diff --git a/graphics/pokemon/jolteon/front.png b/graphics/pokemon/jolteon/front.png index 83fae94881..92ee1f72cc 100644 Binary files a/graphics/pokemon/jolteon/front.png and b/graphics/pokemon/jolteon/front.png differ diff --git a/graphics/pokemon/jolteon/normal.pal b/graphics/pokemon/jolteon/normal.pal index da74dabb8b..0655e391ce 100644 --- a/graphics/pokemon/jolteon/normal.pal +++ b/graphics/pokemon/jolteon/normal.pal @@ -3,16 +3,16 @@ JASC-PAL 16 152 208 160 16 16 16 -128 104 40 -200 168 72 -128 104 40 +90 74 16 +205 172 74 +172 139 57 152 120 64 -248 248 136 -248 216 80 +255 255 139 +255 222 82 72 8 128 248 248 248 -72 72 80 -192 200 208 +82 82 82 +197 197 197 128 128 136 0 0 0 0 0 0 diff --git a/graphics/pokemon/jynx/anim_front.png b/graphics/pokemon/jynx/anim_front.png index c5f4b8aba5..de426d41a5 100644 Binary files a/graphics/pokemon/jynx/anim_front.png and b/graphics/pokemon/jynx/anim_front.png differ diff --git a/graphics/pokemon/jynx/front.png b/graphics/pokemon/jynx/front.png index df2603da73..430f9ad28f 100644 Binary files a/graphics/pokemon/jynx/front.png and b/graphics/pokemon/jynx/front.png differ diff --git a/graphics/pokemon/jynx/normal.pal b/graphics/pokemon/jynx/normal.pal index 0990038df4..a4e996cb48 100644 --- a/graphics/pokemon/jynx/normal.pal +++ b/graphics/pokemon/jynx/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -144 120 64 -240 224 152 -208 184 104 -248 248 216 +139 98 74 +255 230 82 +222 172 49 +255 246 189 0 0 0 -96 64 128 -176 104 216 -184 184 200 +98 65 131 +180 106 222 +189 189 205 248 248 248 -240 48 88 -248 112 112 -144 72 184 -184 48 96 -128 40 72 -96 96 120 +246 49 90 +255 115 115 +148 74 189 +189 49 98 +131 41 74 +98 98 123 diff --git a/graphics/pokemon/kadabra/anim_front.png b/graphics/pokemon/kadabra/anim_front.png index 91b225ed6e..67f232894c 100644 Binary files a/graphics/pokemon/kadabra/anim_front.png and b/graphics/pokemon/kadabra/anim_front.png differ diff --git a/graphics/pokemon/kadabra/front.png b/graphics/pokemon/kadabra/front.png index a3e193116d..db50edf46e 100644 Binary files a/graphics/pokemon/kadabra/front.png and b/graphics/pokemon/kadabra/front.png differ diff --git a/graphics/pokemon/kadabra/normal.pal b/graphics/pokemon/kadabra/normal.pal index 8082ea708d..a69a8d21ce 100644 --- a/graphics/pokemon/kadabra/normal.pal +++ b/graphics/pokemon/kadabra/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 112 16 -96 72 8 -248 232 40 -208 184 8 +139 115 16 +98 74 8 +255 238 41 +213 189 8 16 16 16 -224 56 40 -72 48 64 -152 120 120 +230 57 41 +90 57 8 +164 115 41 216 216 216 248 248 248 88 88 88 -104 72 64 +123 82 8 176 176 176 248 248 184 200 168 168 diff --git a/graphics/pokemon/kakuna/anim_front.png b/graphics/pokemon/kakuna/anim_front.png index 586e41597b..e86330ea38 100644 Binary files a/graphics/pokemon/kakuna/anim_front.png and b/graphics/pokemon/kakuna/anim_front.png differ diff --git a/graphics/pokemon/kakuna/front.png b/graphics/pokemon/kakuna/front.png index 679c4b3e0a..0115ad4f9f 100644 Binary files a/graphics/pokemon/kakuna/front.png and b/graphics/pokemon/kakuna/front.png differ diff --git a/graphics/pokemon/kakuna/normal.pal b/graphics/pokemon/kakuna/normal.pal index 0e0f89567d..91ff072e55 100644 --- a/graphics/pokemon/kakuna/normal.pal +++ b/graphics/pokemon/kakuna/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -200 152 16 -152 120 0 -240 200 48 -248 240 200 -120 88 0 -72 56 0 -56 56 56 -104 104 104 +222 164 82 +180 123 0 +246 213 74 +255 246 205 +139 90 0 +90 57 0 +57 57 57 +106 106 106 16 16 16 -248 248 248 +255 255 255 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/kangaskhan/anim_front.png b/graphics/pokemon/kangaskhan/anim_front.png index fe0ca6cb14..d0b9120520 100644 Binary files a/graphics/pokemon/kangaskhan/anim_front.png and b/graphics/pokemon/kangaskhan/anim_front.png differ diff --git a/graphics/pokemon/kangaskhan/front.png b/graphics/pokemon/kangaskhan/front.png index 03e477946b..ba1d27af69 100644 Binary files a/graphics/pokemon/kangaskhan/front.png and b/graphics/pokemon/kangaskhan/front.png differ diff --git a/graphics/pokemon/kangaskhan/normal.pal b/graphics/pokemon/kangaskhan/normal.pal index b59f028cf5..ebc1af260e 100644 --- a/graphics/pokemon/kangaskhan/normal.pal +++ b/graphics/pokemon/kangaskhan/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -72 56 40 -80 88 88 -136 136 128 -248 232 176 -216 200 136 +82 65 16 +106 106 82 +139 148 98 +255 255 148 +238 213 156 16 16 16 248 248 248 200 200 200 -192 144 128 -136 104 96 -168 16 0 -216 184 168 -184 184 248 -128 128 168 +189 148 115 +148 115 106 +189 24 24 +222 172 131 +222 180 213 +148 106 139 144 96 104 diff --git a/graphics/pokemon/kingler/anim_front.png b/graphics/pokemon/kingler/anim_front.png index faf8692edf..d254471632 100644 Binary files a/graphics/pokemon/kingler/anim_front.png and b/graphics/pokemon/kingler/anim_front.png differ diff --git a/graphics/pokemon/kingler/front.png b/graphics/pokemon/kingler/front.png index 7d63b980c9..50c9aa102e 100644 Binary files a/graphics/pokemon/kingler/front.png and b/graphics/pokemon/kingler/front.png differ diff --git a/graphics/pokemon/kingler/normal.pal b/graphics/pokemon/kingler/normal.pal index f044463756..d05177eee1 100644 --- a/graphics/pokemon/kingler/normal.pal +++ b/graphics/pokemon/kingler/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -128 40 8 -248 136 80 -176 88 72 +131 41 8 +255 139 82 +180 90 74 16 16 16 -240 192 136 -72 48 32 -216 168 152 -112 80 16 -88 64 48 -248 240 216 -160 104 64 -248 248 248 -184 184 224 +246 197 139 +74 49 32 +222 172 156 +115 82 16 +90 65 49 +255 246 222 +164 106 65 +255 255 255 +189 189 230 0 0 0 0 0 0 diff --git a/graphics/pokemon/koffing/anim_front.png b/graphics/pokemon/koffing/anim_front.png index 3a5446cf1b..fbe8c25e6e 100644 Binary files a/graphics/pokemon/koffing/anim_front.png and b/graphics/pokemon/koffing/anim_front.png differ diff --git a/graphics/pokemon/koffing/front.png b/graphics/pokemon/koffing/front.png index 0955595606..621724a6ed 100644 Binary files a/graphics/pokemon/koffing/front.png and b/graphics/pokemon/koffing/front.png differ diff --git a/graphics/pokemon/koffing/normal.pal b/graphics/pokemon/koffing/normal.pal index b1ecd15d4f..3bc7ed3d86 100644 --- a/graphics/pokemon/koffing/normal.pal +++ b/graphics/pokemon/koffing/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -192 184 128 -224 216 152 -152 144 88 -112 88 152 -200 184 232 -168 144 200 -72 40 88 +238 213 106 +246 238 148 +197 180 41 +115 90 156 +205 189 238 +172 148 205 +74 41 90 16 16 16 248 248 248 216 216 216 -176 88 120 -232 112 136 -200 200 168 -240 232 200 +180 90 123 +238 115 139 +205 205 172 +246 238 205 0 0 0 diff --git a/graphics/pokemon/krabby/anim_front.png b/graphics/pokemon/krabby/anim_front.png index 670f8b5378..294beebb2a 100644 Binary files a/graphics/pokemon/krabby/anim_front.png and b/graphics/pokemon/krabby/anim_front.png differ diff --git a/graphics/pokemon/krabby/front.png b/graphics/pokemon/krabby/front.png index 7e919a9be8..31b8a2215c 100644 Binary files a/graphics/pokemon/krabby/front.png and b/graphics/pokemon/krabby/front.png differ diff --git a/graphics/pokemon/krabby/normal.pal b/graphics/pokemon/krabby/normal.pal index e95b7c7426..04c1672e79 100644 --- a/graphics/pokemon/krabby/normal.pal +++ b/graphics/pokemon/krabby/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -176 88 72 -248 136 80 -248 176 144 -128 40 8 +222 57 57 +255 115 49 +255 164 98 +156 41 8 16 16 16 -88 64 48 -216 168 152 -128 96 32 -168 128 72 -248 240 216 +90 65 32 +205 172 139 +115 82 16 +172 131 74 +255 230 197 248 248 248 -216 216 216 +222 222 222 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/lapras/anim_front.png b/graphics/pokemon/lapras/anim_front.png index 394a3029db..ac69884f41 100644 Binary files a/graphics/pokemon/lapras/anim_front.png and b/graphics/pokemon/lapras/anim_front.png differ diff --git a/graphics/pokemon/lapras/front.png b/graphics/pokemon/lapras/front.png index f831c07ba4..d02409eb99 100644 Binary files a/graphics/pokemon/lapras/front.png and b/graphics/pokemon/lapras/front.png differ diff --git a/graphics/pokemon/lapras/normal.pal b/graphics/pokemon/lapras/normal.pal index cc9c65f46f..52f74091be 100644 --- a/graphics/pokemon/lapras/normal.pal +++ b/graphics/pokemon/lapras/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -24 64 80 -8 8 8 -64 160 224 -56 120 160 -112 192 240 -232 232 240 -104 80 64 -144 136 160 -216 192 128 -136 160 144 -80 80 104 -168 176 200 +24 65 82 +0 0 0 +65 164 230 +57 123 164 +115 197 246 +246 238 230 +90 74 65 +164 148 148 +222 197 131 +139 164 148 +82 82 106 +213 205 197 240 216 168 232 128 120 0 0 0 diff --git a/graphics/pokemon/machamp/anim_front.png b/graphics/pokemon/machamp/anim_front.png index 3bc4a85942..8778b19b18 100644 Binary files a/graphics/pokemon/machamp/anim_front.png and b/graphics/pokemon/machamp/anim_front.png differ diff --git a/graphics/pokemon/machamp/back.png b/graphics/pokemon/machamp/back.png index e503905636..a5744c58c2 100644 Binary files a/graphics/pokemon/machamp/back.png and b/graphics/pokemon/machamp/back.png differ diff --git a/graphics/pokemon/machamp/front.png b/graphics/pokemon/machamp/front.png index d0aced4d27..205ae86402 100644 Binary files a/graphics/pokemon/machamp/front.png and b/graphics/pokemon/machamp/front.png differ diff --git a/graphics/pokemon/machamp/normal.pal b/graphics/pokemon/machamp/normal.pal index 024d63ca66..b08105e308 100644 --- a/graphics/pokemon/machamp/normal.pal +++ b/graphics/pokemon/machamp/normal.pal @@ -2,13 +2,13 @@ JASC-PAL 0100 16 152 208 160 -80 80 104 -120 136 160 -144 176 192 +65 82 98 +131 139 148 +164 180 180 0 0 0 112 96 72 -232 208 184 -176 160 128 +74 74 98 +172 156 65 184 0 0 248 248 248 128 112 40 diff --git a/graphics/pokemon/machamp/shiny.pal b/graphics/pokemon/machamp/shiny.pal index 24be63926e..3bbeb67226 100644 --- a/graphics/pokemon/machamp/shiny.pal +++ b/graphics/pokemon/machamp/shiny.pal @@ -7,7 +7,7 @@ JASC-PAL 152 184 88 8 8 8 80 64 24 -216 208 144 +49 74 0 160 152 80 184 32 32 248 248 248 diff --git a/graphics/pokemon/machoke/anim_front.png b/graphics/pokemon/machoke/anim_front.png index c8c9f731e4..3286b07fcb 100644 Binary files a/graphics/pokemon/machoke/anim_front.png and b/graphics/pokemon/machoke/anim_front.png differ diff --git a/graphics/pokemon/machoke/front.png b/graphics/pokemon/machoke/front.png index 0b84d06216..509b980e29 100644 Binary files a/graphics/pokemon/machoke/front.png and b/graphics/pokemon/machoke/front.png differ diff --git a/graphics/pokemon/machoke/normal.pal b/graphics/pokemon/machoke/normal.pal index ab90d151bd..1dab6bec2d 100644 --- a/graphics/pokemon/machoke/normal.pal +++ b/graphics/pokemon/machoke/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -112 96 72 +82 57 0 16 16 16 -232 208 184 -176 160 128 -120 136 160 -144 176 192 -72 72 96 -168 200 216 -192 16 16 +238 230 139 +205 189 98 +139 115 180 +189 156 230 +106 49 131 +205 189 230 +197 0 0 248 248 248 -224 80 56 +156 57 123 240 224 120 72 72 96 200 176 96 -128 112 40 +131 115 41 diff --git a/graphics/pokemon/machop/anim_front.png b/graphics/pokemon/machop/anim_front.png index 2c1f083ae1..ed54423a33 100644 Binary files a/graphics/pokemon/machop/anim_front.png and b/graphics/pokemon/machop/anim_front.png differ diff --git a/graphics/pokemon/machop/front.png b/graphics/pokemon/machop/front.png index b94735495b..867cb8c3fc 100644 Binary files a/graphics/pokemon/machop/front.png and b/graphics/pokemon/machop/front.png differ diff --git a/graphics/pokemon/machop/normal.pal b/graphics/pokemon/machop/normal.pal index 2f6bba75bd..7274f6250e 100644 --- a/graphics/pokemon/machop/normal.pal +++ b/graphics/pokemon/machop/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -104 80 32 -240 232 136 -168 152 88 -200 184 96 -16 16 16 -144 192 192 -80 120 120 -168 216 200 -40 72 80 -248 248 248 -232 72 72 -176 0 0 -112 160 160 +107 82 33 +239 230 140 +173 156 90 +206 189 99 +0 0 0 +148 189 189 +90 123 107 +173 214 197 +41 74 82 +255 255 255 +239 82 82 +181 0 0 +115 165 165 240 80 80 -248 128 144 +255 132 140 diff --git a/graphics/pokemon/magikarp/anim_front.png b/graphics/pokemon/magikarp/anim_front.png index 42dc57805d..6b7d130f6b 100644 Binary files a/graphics/pokemon/magikarp/anim_front.png and b/graphics/pokemon/magikarp/anim_front.png differ diff --git a/graphics/pokemon/magikarp/front.png b/graphics/pokemon/magikarp/front.png index aea8a95eb3..198730e7e0 100644 Binary files a/graphics/pokemon/magikarp/front.png and b/graphics/pokemon/magikarp/front.png differ diff --git a/graphics/pokemon/magikarp/normal.pal b/graphics/pokemon/magikarp/normal.pal index 453ba5b1f8..b96d5fa4fd 100644 --- a/graphics/pokemon/magikarp/normal.pal +++ b/graphics/pokemon/magikarp/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -120 96 80 +123 98 82 248 216 40 -184 32 80 +189 57 57 240 96 24 248 248 248 -80 80 96 -136 136 160 -128 0 64 +82 82 98 +139 139 164 +131 0 65 248 152 96 0 0 0 200 200 208 -224 136 160 -248 184 192 +255 156 98 +255 230 197 184 56 56 192 168 112 diff --git a/graphics/pokemon/magmar/anim_front.png b/graphics/pokemon/magmar/anim_front.png index 4ea85a978d..a57d2c848c 100644 Binary files a/graphics/pokemon/magmar/anim_front.png and b/graphics/pokemon/magmar/anim_front.png differ diff --git a/graphics/pokemon/magmar/front.png b/graphics/pokemon/magmar/front.png index ec95e3e8f6..85c08d04fd 100644 Binary files a/graphics/pokemon/magmar/front.png and b/graphics/pokemon/magmar/front.png differ diff --git a/graphics/pokemon/magmar/normal.pal b/graphics/pokemon/magmar/normal.pal index c81dbd0e3b..82ab177c48 100644 --- a/graphics/pokemon/magmar/normal.pal +++ b/graphics/pokemon/magmar/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -192 120 16 -120 80 48 -248 232 72 -224 184 48 -248 240 200 -248 72 48 +197 123 16 +123 82 49 +255 238 74 +230 189 49 +255 246 205 +255 74 49 16 16 16 -104 32 32 -200 16 64 -248 136 96 -64 72 88 +106 32 32 +205 16 65 +255 139 98 +98 98 98 248 248 248 -248 192 152 -192 192 192 -200 152 120 +255 205 189 +197 197 197 +255 139 98 diff --git a/graphics/pokemon/magnemite/anim_front.png b/graphics/pokemon/magnemite/anim_front.png index 96ddc9bc21..cca53cadd9 100644 Binary files a/graphics/pokemon/magnemite/anim_front.png and b/graphics/pokemon/magnemite/anim_front.png differ diff --git a/graphics/pokemon/magnemite/front.png b/graphics/pokemon/magnemite/front.png index 9a9148728a..b1e7dad9f0 100644 Binary files a/graphics/pokemon/magnemite/front.png and b/graphics/pokemon/magnemite/front.png differ diff --git a/graphics/pokemon/magnemite/normal.pal b/graphics/pokemon/magnemite/normal.pal index f67d596863..50084032ff 100644 --- a/graphics/pokemon/magnemite/normal.pal +++ b/graphics/pokemon/magnemite/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 136 136 -232 248 248 -208 208 208 -80 72 72 +139 139 139 +222 255 230 +213 213 213 +82 74 74 16 16 16 -56 48 48 -248 64 64 -192 32 32 -128 168 184 -192 224 232 -64 96 112 -80 200 240 -40 128 168 +57 49 49 +255 139 74 +238 24 0 +139 180 164 +180 213 189 +90 131 98 +82 205 246 +41 131 172 168 168 168 -232 248 248 +255 255 255 diff --git a/graphics/pokemon/magneton/anim_front.png b/graphics/pokemon/magneton/anim_front.png index 9d36e23961..f54516b958 100644 Binary files a/graphics/pokemon/magneton/anim_front.png and b/graphics/pokemon/magneton/anim_front.png differ diff --git a/graphics/pokemon/magneton/front.png b/graphics/pokemon/magneton/front.png index e0a94e0fbe..89642398ac 100644 Binary files a/graphics/pokemon/magneton/front.png and b/graphics/pokemon/magneton/front.png differ diff --git a/graphics/pokemon/magneton/normal.pal b/graphics/pokemon/magneton/normal.pal index 8938cb90a2..55f2f9d992 100644 --- a/graphics/pokemon/magneton/normal.pal +++ b/graphics/pokemon/magneton/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -80 72 72 -56 48 48 -248 64 64 +82 74 74 +57 49 49 +255 139 74 16 16 16 -192 32 32 -136 136 136 -80 200 240 -232 248 248 -40 128 168 +238 24 0 +139 139 139 +82 205 246 +213 213 213 +41 131 172 208 208 208 -64 96 112 -184 208 224 -112 160 176 +74 98 74 +180 213 189 +131 156 156 248 248 248 168 168 168 diff --git a/graphics/pokemon/mankey/anim_front.png b/graphics/pokemon/mankey/anim_front.png index 5ad7a32bf0..453750f97f 100644 Binary files a/graphics/pokemon/mankey/anim_front.png and b/graphics/pokemon/mankey/anim_front.png differ diff --git a/graphics/pokemon/mankey/front.png b/graphics/pokemon/mankey/front.png index fbbe3e1fc2..576a813eb7 100644 Binary files a/graphics/pokemon/mankey/front.png and b/graphics/pokemon/mankey/front.png differ diff --git a/graphics/pokemon/mankey/normal.pal b/graphics/pokemon/mankey/normal.pal index fff90ad750..b0b0e0fbf5 100644 --- a/graphics/pokemon/mankey/normal.pal +++ b/graphics/pokemon/mankey/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -112 64 0 -216 160 112 +115 65 0 +222 164 115 16 16 16 -192 112 72 -240 216 176 -208 168 152 +197 115 74 +246 222 180 +213 172 156 248 248 248 248 120 104 -224 120 120 -200 88 64 -248 168 168 -240 216 224 +180 65 49 +238 115 98 +238 115 98 +238 180 139 248 192 168 248 232 224 104 72 48 diff --git a/graphics/pokemon/marowak/anim_front.png b/graphics/pokemon/marowak/anim_front.png index 83117e3b2a..f1a22033ed 100644 Binary files a/graphics/pokemon/marowak/anim_front.png and b/graphics/pokemon/marowak/anim_front.png differ diff --git a/graphics/pokemon/marowak/front.png b/graphics/pokemon/marowak/front.png index 74a26b00fe..8d9488612d 100644 Binary files a/graphics/pokemon/marowak/front.png and b/graphics/pokemon/marowak/front.png differ diff --git a/graphics/pokemon/marowak/normal.pal b/graphics/pokemon/marowak/normal.pal index 119c76e9b6..6aa7063f20 100644 --- a/graphics/pokemon/marowak/normal.pal +++ b/graphics/pokemon/marowak/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 128 152 +139 139 106 248 248 248 16 16 16 -192 192 200 -80 80 96 +197 197 205 +82 74 57 224 224 232 -88 64 16 -192 152 72 -144 104 80 +90 65 16 +197 156 74 +148 106 82 224 176 120 176 144 136 120 88 80 -176 160 128 -128 112 88 -224 200 160 +230 148 82 +189 115 57 +246 197 148 diff --git a/graphics/pokemon/meowth/anim_front.png b/graphics/pokemon/meowth/anim_front.png index 1c699350c8..b6ebbfab9a 100644 Binary files a/graphics/pokemon/meowth/anim_front.png and b/graphics/pokemon/meowth/anim_front.png differ diff --git a/graphics/pokemon/meowth/back.png b/graphics/pokemon/meowth/back.png index b3153d4950..7c87e642fd 100644 Binary files a/graphics/pokemon/meowth/back.png and b/graphics/pokemon/meowth/back.png differ diff --git a/graphics/pokemon/meowth/front.png b/graphics/pokemon/meowth/front.png index 3f9bc67adb..2b450d3dc7 100644 Binary files a/graphics/pokemon/meowth/front.png and b/graphics/pokemon/meowth/front.png differ diff --git a/graphics/pokemon/meowth/normal.pal b/graphics/pokemon/meowth/normal.pal index 8368723fb4..1333494701 100644 --- a/graphics/pokemon/meowth/normal.pal +++ b/graphics/pokemon/meowth/normal.pal @@ -5,15 +5,15 @@ JASC-PAL 152 104 0 248 224 128 16 16 16 -144 88 0 +148 90 0 248 248 248 248 208 0 200 160 0 192 120 8 216 184 56 216 216 216 -192 120 144 +255 115 82 232 152 48 -248 248 200 -112 72 40 +148 65 0 +213 90 57 0 0 0 diff --git a/graphics/pokemon/meowth/shiny.pal b/graphics/pokemon/meowth/shiny.pal index 396e16873c..0aba58a228 100644 --- a/graphics/pokemon/meowth/shiny.pal +++ b/graphics/pokemon/meowth/shiny.pal @@ -3,7 +3,7 @@ JASC-PAL 16 152 208 160 144 72 24 -248 216 144 +255 205 131 16 16 16 136 72 24 248 248 248 @@ -14,6 +14,6 @@ JASC-PAL 224 224 224 248 112 80 248 128 144 -248 232 176 -152 56 72 +172 41 57 +213 90 57 0 0 0 diff --git a/graphics/pokemon/mew/anim_front.png b/graphics/pokemon/mew/anim_front.png index a993b8110b..8ce4efeb21 100644 Binary files a/graphics/pokemon/mew/anim_front.png and b/graphics/pokemon/mew/anim_front.png differ diff --git a/graphics/pokemon/mew/front.png b/graphics/pokemon/mew/front.png index ad13c8ece6..9451dacfab 100644 Binary files a/graphics/pokemon/mew/front.png and b/graphics/pokemon/mew/front.png differ diff --git a/graphics/pokemon/mew/normal.pal b/graphics/pokemon/mew/normal.pal index 1b2aafb65a..872a4b8d86 100644 --- a/graphics/pokemon/mew/normal.pal +++ b/graphics/pokemon/mew/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -176 96 144 -248 208 232 -232 128 176 -88 40 80 -248 176 208 +180 98 148 +255 213 238 +238 131 180 +106 49 90 +255 180 213 0 0 0 248 240 248 -128 168 240 -40 96 224 -48 64 96 +131 172 246 +41 98 230 +24 57 106 240 176 128 0 0 0 0 0 0 diff --git a/graphics/pokemon/mewtwo/anim_front.png b/graphics/pokemon/mewtwo/anim_front.png index c787ffa805..149ec23227 100644 Binary files a/graphics/pokemon/mewtwo/anim_front.png and b/graphics/pokemon/mewtwo/anim_front.png differ diff --git a/graphics/pokemon/mewtwo/front.png b/graphics/pokemon/mewtwo/front.png index 9d31937c22..a725bdb4ab 100644 Binary files a/graphics/pokemon/mewtwo/front.png and b/graphics/pokemon/mewtwo/front.png differ diff --git a/graphics/pokemon/mewtwo/normal.pal b/graphics/pokemon/mewtwo/normal.pal index 66aa6cac4e..c938e53948 100644 --- a/graphics/pokemon/mewtwo/normal.pal +++ b/graphics/pokemon/mewtwo/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -128 120 152 -224 224 240 -56 56 80 -184 176 200 +131 123 156 +222 213 230 +57 57 82 +180 172 197 0 0 0 -240 240 248 -120 56 128 -168 80 192 +238 230 238 +106 49 156 +148 65 189 240 240 240 -176 104 200 -56 32 80 +180 74 238 +57 32 82 216 216 216 248 248 248 0 0 0 diff --git a/graphics/pokemon/moltres/anim_front.png b/graphics/pokemon/moltres/anim_front.png index 04e279d078..15a0232230 100644 Binary files a/graphics/pokemon/moltres/anim_front.png and b/graphics/pokemon/moltres/anim_front.png differ diff --git a/graphics/pokemon/moltres/front.png b/graphics/pokemon/moltres/front.png index ac717bb487..e8d2f0e43c 100644 Binary files a/graphics/pokemon/moltres/front.png and b/graphics/pokemon/moltres/front.png differ diff --git a/graphics/pokemon/moltres/normal.pal b/graphics/pokemon/moltres/normal.pal index 6698521da1..a675d27dc6 100644 --- a/graphics/pokemon/moltres/normal.pal +++ b/graphics/pokemon/moltres/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -208 8 8 -232 96 56 -112 64 16 -248 192 72 -16 8 8 -216 144 16 -248 160 72 -248 208 96 -248 232 96 -56 56 112 +213 8 8 +238 98 57 +115 65 16 +255 197 74 +0 0 0 +222 148 16 +255 164 74 +255 213 98 +255 238 98 +0 0 0 248 248 248 -80 56 56 -136 96 72 -176 136 96 -96 96 96 +82 57 41 +139 98 74 +180 139 98 +98 98 98 diff --git a/graphics/pokemon/mr_mime/anim_front.png b/graphics/pokemon/mr_mime/anim_front.png index afdc8878e3..0b80ad02be 100644 Binary files a/graphics/pokemon/mr_mime/anim_front.png and b/graphics/pokemon/mr_mime/anim_front.png differ diff --git a/graphics/pokemon/mr_mime/front.png b/graphics/pokemon/mr_mime/front.png index 13f5a8ff7b..1ea6f3cbab 100644 Binary files a/graphics/pokemon/mr_mime/front.png and b/graphics/pokemon/mr_mime/front.png differ diff --git a/graphics/pokemon/mr_mime/normal.pal b/graphics/pokemon/mr_mime/normal.pal index 32ba22300d..2affaeea88 100644 --- a/graphics/pokemon/mr_mime/normal.pal +++ b/graphics/pokemon/mr_mime/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -16 40 56 -16 72 112 -96 136 184 +16 49 74 +16 74 115 +98 139 189 16 16 16 -104 64 72 -248 224 224 -248 200 208 -216 168 176 +106 57 49 +255 238 238 +255 205 205 +222 164 164 248 248 248 -184 192 200 -248 88 104 -112 48 56 -184 72 112 -248 168 176 +205 205 213 +255 90 106 +115 49 57 +189 74 115 +255 172 180 208 48 32 diff --git a/graphics/pokemon/muk/anim_front.png b/graphics/pokemon/muk/anim_front.png index d2da551dfa..8f78e22e91 100644 Binary files a/graphics/pokemon/muk/anim_front.png and b/graphics/pokemon/muk/anim_front.png differ diff --git a/graphics/pokemon/muk/front.png b/graphics/pokemon/muk/front.png index 3684a6eda7..4bb6d0a84e 100644 Binary files a/graphics/pokemon/muk/front.png and b/graphics/pokemon/muk/front.png differ diff --git a/graphics/pokemon/muk/normal.pal b/graphics/pokemon/muk/normal.pal index 43d09a88d5..f35af64a4e 100644 --- a/graphics/pokemon/muk/normal.pal +++ b/graphics/pokemon/muk/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -120 72 128 -224 184 232 -192 160 200 -160 120 168 -88 48 112 +123 74 131 +230 189 238 +197 164 205 +164 123 172 +90 49 115 16 16 16 248 248 248 -152 184 208 -64 72 96 -120 128 152 +172 180 189 +65 74 90 +131 139 156 224 208 232 0 0 0 0 0 0 diff --git a/graphics/pokemon/nidoking/anim_front.png b/graphics/pokemon/nidoking/anim_front.png index 1645f15e04..79d0a35426 100644 Binary files a/graphics/pokemon/nidoking/anim_front.png and b/graphics/pokemon/nidoking/anim_front.png differ diff --git a/graphics/pokemon/nidoking/front.png b/graphics/pokemon/nidoking/front.png index cc9ad6d089..e230190a25 100644 Binary files a/graphics/pokemon/nidoking/front.png and b/graphics/pokemon/nidoking/front.png differ diff --git a/graphics/pokemon/nidoking/normal.pal b/graphics/pokemon/nidoking/normal.pal index bbed53d87a..84b8d0f6c6 100644 --- a/graphics/pokemon/nidoking/normal.pal +++ b/graphics/pokemon/nidoking/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -104 48 120 -216 144 240 +90 41 106 +222 148 246 16 16 16 -208 112 232 -160 80 144 -40 120 144 -24 68 96 -64 144 192 -248 248 248 -192 192 160 -168 16 0 -112 112 88 -232 64 48 -240 240 248 +213 115 238 +164 82 148 +41 123 148 +0 74 98 +65 148 197 +255 255 255 +197 197 164 +172 16 0 +115 115 90 +230 65 49 +230 230 213 232 232 216 diff --git a/graphics/pokemon/nidoqueen/anim_front.png b/graphics/pokemon/nidoqueen/anim_front.png index 58950bb34b..0f69643ebb 100644 Binary files a/graphics/pokemon/nidoqueen/anim_front.png and b/graphics/pokemon/nidoqueen/anim_front.png differ diff --git a/graphics/pokemon/nidoqueen/front.png b/graphics/pokemon/nidoqueen/front.png index b668096123..f4592932e0 100644 Binary files a/graphics/pokemon/nidoqueen/front.png and b/graphics/pokemon/nidoqueen/front.png differ diff --git a/graphics/pokemon/nidoqueen/normal.pal b/graphics/pokemon/nidoqueen/normal.pal index b1c43f5f8d..3901338e37 100644 --- a/graphics/pokemon/nidoqueen/normal.pal +++ b/graphics/pokemon/nidoqueen/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -72 128 184 -120 184 248 -40 80 128 +98 139 172 +90 180 205 +49 74 74 16 16 16 -160 128 104 -128 96 96 -96 72 72 -152 216 248 +189 172 90 +115 90 41 +115 90 41 +156 213 222 208 208 208 248 248 248 -200 184 144 -232 232 168 -248 248 208 +189 172 90 +230 205 139 +238 230 164 112 40 40 232 128 120 diff --git a/graphics/pokemon/nidoran_f/anim_front.png b/graphics/pokemon/nidoran_f/anim_front.png index 15d742ab92..8261f4d773 100644 Binary files a/graphics/pokemon/nidoran_f/anim_front.png and b/graphics/pokemon/nidoran_f/anim_front.png differ diff --git a/graphics/pokemon/nidoran_f/front.png b/graphics/pokemon/nidoran_f/front.png index 1e84b1d997..d47802a0da 100644 Binary files a/graphics/pokemon/nidoran_f/front.png and b/graphics/pokemon/nidoran_f/front.png differ diff --git a/graphics/pokemon/nidoran_f/normal.pal b/graphics/pokemon/nidoran_f/normal.pal index 16d4751097..6f2e8898b3 100644 --- a/graphics/pokemon/nidoran_f/normal.pal +++ b/graphics/pokemon/nidoran_f/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -120 128 184 -64 64 120 -152 176 216 -200 216 240 -56 104 144 -32 152 160 +115 131 172 +90 65 131 +172 172 205 +213 213 255 +52 109 179 +65 139 230 16 16 16 248 248 248 -184 48 72 -232 232 248 -248 80 64 -216 216 216 +189 49 74 +238 238 255 +255 82 65 +222 222 222 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/nidoran_m/anim_front.png b/graphics/pokemon/nidoran_m/anim_front.png index dc2eff8a0e..5f0990c402 100644 Binary files a/graphics/pokemon/nidoran_m/anim_front.png and b/graphics/pokemon/nidoran_m/anim_front.png differ diff --git a/graphics/pokemon/nidoran_m/front.png b/graphics/pokemon/nidoran_m/front.png index c94dfdc0e0..3b1084e3dc 100644 Binary files a/graphics/pokemon/nidoran_m/front.png and b/graphics/pokemon/nidoran_m/front.png differ diff --git a/graphics/pokemon/nidoran_m/normal.pal b/graphics/pokemon/nidoran_m/normal.pal index fb292bfd00..711acdb79f 100644 --- a/graphics/pokemon/nidoran_m/normal.pal +++ b/graphics/pokemon/nidoran_m/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -184 96 192 -224 152 208 -96 64 104 +189 98 197 +230 156 213 +98 65 106 16 16 16 -232 184 232 -0 96 64 -0 160 112 -200 200 200 -248 104 80 -248 248 248 -216 64 40 +238 189 238 +0 98 65 +0 164 115 +205 205 205 +255 106 82 +255 255 255 +222 65 41 176 24 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/nidorina/anim_front.png b/graphics/pokemon/nidorina/anim_front.png index 9d4f3853b3..51ba5cb070 100644 Binary files a/graphics/pokemon/nidorina/anim_front.png and b/graphics/pokemon/nidorina/anim_front.png differ diff --git a/graphics/pokemon/nidorina/front.png b/graphics/pokemon/nidorina/front.png index c5e3e7b859..957a5d3aee 100644 Binary files a/graphics/pokemon/nidorina/front.png and b/graphics/pokemon/nidorina/front.png differ diff --git a/graphics/pokemon/nidorina/normal.pal b/graphics/pokemon/nidorina/normal.pal index 1ad762c666..bab15d82f2 100644 --- a/graphics/pokemon/nidorina/normal.pal +++ b/graphics/pokemon/nidorina/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 153 210 164 -91 143 173 -186 220 226 -44 76 114 +90 148 180 +197 230 238 +57 90 98 16 16 16 -141 190 201 -24 56 112 -16 96 176 +139 197 205 +24 57 115 +55 95 176 72 128 240 255 255 255 214 214 214 -192 32 16 -248 144 112 -232 72 56 +197 32 16 +255 156 139 +238 74 57 131 131 131 0 0 0 diff --git a/graphics/pokemon/nidorino/anim_front.png b/graphics/pokemon/nidorino/anim_front.png index 30369bf7e8..9fd1786bc3 100644 Binary files a/graphics/pokemon/nidorino/anim_front.png and b/graphics/pokemon/nidorino/anim_front.png differ diff --git a/graphics/pokemon/nidorino/front.png b/graphics/pokemon/nidorino/front.png index 67cfc49229..16b304216e 100644 Binary files a/graphics/pokemon/nidorino/front.png and b/graphics/pokemon/nidorino/front.png differ diff --git a/graphics/pokemon/nidorino/normal.pal b/graphics/pokemon/nidorino/normal.pal index 1c2aee97c3..a668ac118c 100644 --- a/graphics/pokemon/nidorino/normal.pal +++ b/graphics/pokemon/nidorino/normal.pal @@ -2,13 +2,13 @@ JASC-PAL 0100 16 152 208 160 -88 56 96 -200 128 216 +90 57 98 +205 131 222 16 16 16 -224 168 232 -144 96 152 -0 144 96 -72 200 160 +230 172 238 +148 90 180 +0 148 98 +74 205 164 248 248 248 128 128 128 192 192 192 diff --git a/graphics/pokemon/ninetales/anim_front.png b/graphics/pokemon/ninetales/anim_front.png index 643f1ef8c8..2959ce9fe5 100644 Binary files a/graphics/pokemon/ninetales/anim_front.png and b/graphics/pokemon/ninetales/anim_front.png differ diff --git a/graphics/pokemon/ninetales/front.png b/graphics/pokemon/ninetales/front.png index 7b33c6f417..4c14bd887c 100644 Binary files a/graphics/pokemon/ninetales/front.png and b/graphics/pokemon/ninetales/front.png differ diff --git a/graphics/pokemon/ninetales/normal.pal b/graphics/pokemon/ninetales/normal.pal index e0dfb21c52..021c157753 100644 --- a/graphics/pokemon/ninetales/normal.pal +++ b/graphics/pokemon/ninetales/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -200 152 72 -128 96 24 -240 224 120 +205 156 74 +131 98 24 +246 230 123 16 16 16 -224 192 80 -176 72 48 -248 248 248 -248 104 40 -248 160 56 -232 128 40 +230 197 82 +180 16 0 +255 255 255 +255 106 41 +255 172 49 +255 148 16 168 16 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/oddish/anim_front.png b/graphics/pokemon/oddish/anim_front.png index cd1f5e16cf..9634703b10 100644 Binary files a/graphics/pokemon/oddish/anim_front.png and b/graphics/pokemon/oddish/anim_front.png differ diff --git a/graphics/pokemon/oddish/front.png b/graphics/pokemon/oddish/front.png index 345e4c5090..3ced8e7058 100644 Binary files a/graphics/pokemon/oddish/front.png and b/graphics/pokemon/oddish/front.png differ diff --git a/graphics/pokemon/oddish/normal.pal b/graphics/pokemon/oddish/normal.pal index 0a9d87c1aa..30c3a26452 100644 --- a/graphics/pokemon/oddish/normal.pal +++ b/graphics/pokemon/oddish/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 248 192 192 -48 136 16 -32 88 8 -56 184 32 -136 200 88 +139 172 49 +74 90 32 +156 213 74 +197 230 123 16 16 16 -56 96 136 -112 144 168 -136 168 192 -232 56 48 -40 56 72 +90 106 131 +115 148 164 +148 180 197 +238 57 49 +41 57 74 178 92 121 214 149 172 0 0 0 diff --git a/graphics/pokemon/omanyte/anim_front.png b/graphics/pokemon/omanyte/anim_front.png index d6d8d67051..9a51401e8d 100644 Binary files a/graphics/pokemon/omanyte/anim_front.png and b/graphics/pokemon/omanyte/anim_front.png differ diff --git a/graphics/pokemon/omanyte/front.png b/graphics/pokemon/omanyte/front.png index eb805c4172..177d0f0b66 100644 Binary files a/graphics/pokemon/omanyte/front.png and b/graphics/pokemon/omanyte/front.png differ diff --git a/graphics/pokemon/omanyte/normal.pal b/graphics/pokemon/omanyte/normal.pal index 24f024ad2d..696dba9941 100644 --- a/graphics/pokemon/omanyte/normal.pal +++ b/graphics/pokemon/omanyte/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -96 80 48 +98 82 49 152 128 104 -224 216 128 -192 168 112 -248 232 192 +230 222 131 +197 172 115 +255 238 197 0 0 0 -64 104 168 -56 64 128 -96 184 240 -56 152 200 +65 106 172 +57 65 131 +98 189 246 +57 156 205 248 248 248 192 192 192 104 104 104 diff --git a/graphics/pokemon/onix/anim_front.png b/graphics/pokemon/onix/anim_front.png index 65409126fc..ea35bcfc9b 100644 Binary files a/graphics/pokemon/onix/anim_front.png and b/graphics/pokemon/onix/anim_front.png differ diff --git a/graphics/pokemon/onix/front.png b/graphics/pokemon/onix/front.png index e28cd8a824..6cba5adc4d 100644 Binary files a/graphics/pokemon/onix/front.png and b/graphics/pokemon/onix/front.png differ diff --git a/graphics/pokemon/onix/normal.pal b/graphics/pokemon/onix/normal.pal index 871cca5d85..3391776633 100644 --- a/graphics/pokemon/onix/normal.pal +++ b/graphics/pokemon/onix/normal.pal @@ -2,12 +2,12 @@ JASC-PAL 0100 16 152 208 160 -72 64 72 -112 104 128 -200 200 208 -152 144 152 +82 74 74 +131 123 123 +246 238 238 +189 180 180 16 16 16 -176 176 184 +222 213 213 248 248 248 248 248 248 0 0 0 diff --git a/graphics/pokemon/paras/anim_front.png b/graphics/pokemon/paras/anim_front.png index 54a56c9334..3b00df10a2 100644 Binary files a/graphics/pokemon/paras/anim_front.png and b/graphics/pokemon/paras/anim_front.png differ diff --git a/graphics/pokemon/paras/back.png b/graphics/pokemon/paras/back.png index a0e9981f5e..8e22aadc51 100644 Binary files a/graphics/pokemon/paras/back.png and b/graphics/pokemon/paras/back.png differ diff --git a/graphics/pokemon/paras/front.png b/graphics/pokemon/paras/front.png index 9f89688fda..b79705ba54 100644 Binary files a/graphics/pokemon/paras/front.png and b/graphics/pokemon/paras/front.png differ diff --git a/graphics/pokemon/paras/normal.pal b/graphics/pokemon/paras/normal.pal index fcf39cf9fa..08c060f7a1 100644 --- a/graphics/pokemon/paras/normal.pal +++ b/graphics/pokemon/paras/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -192 64 64 -96 56 64 -248 104 104 -200 176 32 -248 216 80 +189 65 65 +98 41 41 +246 106 106 +197 180 32 +255 213 82 16 16 16 112 72 24 -65 40 16 -232 128 40 -168 144 72 -176 96 32 -248 168 96 -88 88 88 -248 248 248 -200 200 200 +57 41 16 +230 131 41 +255 246 255 +180 98 32 +255 172 98 +90 90 90 +205 205 205 +164 164 205 diff --git a/graphics/pokemon/paras/shiny.pal b/graphics/pokemon/paras/shiny.pal index 0eda93cf35..d5b733479a 100644 --- a/graphics/pokemon/paras/shiny.pal +++ b/graphics/pokemon/paras/shiny.pal @@ -11,7 +11,7 @@ JASC-PAL 104 40 16 56 32 8 224 96 48 -168 144 72 +255 246 255 176 48 40 240 144 96 88 88 88 diff --git a/graphics/pokemon/pidgeot/anim_front.png b/graphics/pokemon/pidgeot/anim_front.png index 2843c169a4..e926c550ce 100644 Binary files a/graphics/pokemon/pidgeot/anim_front.png and b/graphics/pokemon/pidgeot/anim_front.png differ diff --git a/graphics/pokemon/pidgeot/front.png b/graphics/pokemon/pidgeot/front.png index 9576ab1ad5..0efed3108f 100644 Binary files a/graphics/pokemon/pidgeot/front.png and b/graphics/pokemon/pidgeot/front.png differ diff --git a/graphics/pokemon/pidgeot/normal.pal b/graphics/pokemon/pidgeot/normal.pal index 7231eeddeb..c387bd5b86 100644 --- a/graphics/pokemon/pidgeot/normal.pal +++ b/graphics/pokemon/pidgeot/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 64 40 +90 57 41 16 16 16 -192 144 80 -152 96 56 -200 192 120 -248 240 176 +172 123 90 +115 82 74 +230 180 98 +255 230 139 248 240 120 248 152 112 -248 96 64 -120 32 32 -192 56 24 -192 176 192 -248 248 248 -248 176 192 -192 136 128 +238 98 65 +139 57 32 +213 49 24 +197 180 197 +255 255 255 +230 164 156 +189 123 123 diff --git a/graphics/pokemon/pidgeotto/anim_front.png b/graphics/pokemon/pidgeotto/anim_front.png index 9d28c7568a..ddae428c47 100644 Binary files a/graphics/pokemon/pidgeotto/anim_front.png and b/graphics/pokemon/pidgeotto/anim_front.png differ diff --git a/graphics/pokemon/pidgeotto/back.png b/graphics/pokemon/pidgeotto/back.png index 8f5f1635a7..bf79cc14a7 100644 Binary files a/graphics/pokemon/pidgeotto/back.png and b/graphics/pokemon/pidgeotto/back.png differ diff --git a/graphics/pokemon/pidgeotto/front.png b/graphics/pokemon/pidgeotto/front.png index bc3d853882..aecc7f2422 100644 Binary files a/graphics/pokemon/pidgeotto/front.png and b/graphics/pokemon/pidgeotto/front.png differ diff --git a/graphics/pokemon/pidgeotto/normal.pal b/graphics/pokemon/pidgeotto/normal.pal index a0ecd93391..6c8b9ef6f0 100644 --- a/graphics/pokemon/pidgeotto/normal.pal +++ b/graphics/pokemon/pidgeotto/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 40 24 -184 56 32 -232 96 64 -16 16 16 +123 49 32 +197 49 41 +238 98 65 +32 32 32 144 64 72 -176 104 56 +131 82 49 248 248 248 -104 56 40 +65 41 32 120 120 128 -224 160 160 -192 112 120 -184 160 104 -216 208 144 -240 232 176 -208 144 36 +255 172 115 +213 213 222 +172 123 90 +230 189 90 +255 230 139 +172 123 90 diff --git a/graphics/pokemon/pidgey/anim_front.png b/graphics/pokemon/pidgey/anim_front.png index 351dd0a09e..393024270e 100644 Binary files a/graphics/pokemon/pidgey/anim_front.png and b/graphics/pokemon/pidgey/anim_front.png differ diff --git a/graphics/pokemon/pidgey/back.png b/graphics/pokemon/pidgey/back.png index 8d18f2a397..2097d2dee8 100644 Binary files a/graphics/pokemon/pidgey/back.png and b/graphics/pokemon/pidgey/back.png differ diff --git a/graphics/pokemon/pidgey/front.png b/graphics/pokemon/pidgey/front.png index 985ca12862..44cddf449b 100644 Binary files a/graphics/pokemon/pidgey/front.png and b/graphics/pokemon/pidgey/front.png differ diff --git a/graphics/pokemon/pidgey/normal.pal b/graphics/pokemon/pidgey/normal.pal index 4488d161df..da639746de 100644 --- a/graphics/pokemon/pidgey/normal.pal +++ b/graphics/pokemon/pidgey/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 128 72 48 -216 152 40 -184 112 64 -120 104 48 -200 184 96 +205 131 90 +164 98 90 +164 98 90 +230 189 98 16 16 16 -240 232 152 +255 238 156 128 128 128 -128 56 64 +189 41 32 184 184 184 -224 160 160 +255 172 115 248 248 248 -192 112 120 -176 152 88 +238 98 65 +205 131 90 64 32 16 diff --git a/graphics/pokemon/pikachu/anim_front.png b/graphics/pokemon/pikachu/anim_front.png index 494c29e177..6deb20d71b 100644 Binary files a/graphics/pokemon/pikachu/anim_front.png and b/graphics/pokemon/pikachu/anim_front.png differ diff --git a/graphics/pokemon/pikachu/front.png b/graphics/pokemon/pikachu/front.png index 9b1b6b0a01..9a320c2866 100644 Binary files a/graphics/pokemon/pikachu/front.png and b/graphics/pokemon/pikachu/front.png differ diff --git a/graphics/pokemon/pikachu/normal.pal b/graphics/pokemon/pikachu/normal.pal index 3d734a17d8..8f402fd447 100644 --- a/graphics/pokemon/pikachu/normal.pal +++ b/graphics/pokemon/pikachu/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -16 16 16 -40 40 40 -88 56 32 -80 80 80 -248 192 32 -152 80 0 -248 232 80 -224 144 0 -248 248 168 -248 248 248 -232 88 64 -200 32 24 +0 0 0 +41 41 41 +99 49 8 +82 82 90 +247 189 33 +156 82 0 +247 230 82 +222 148 0 +255 247 165 +255 255 255 +230 90 66 +197 33 25 168 48 16 224 80 56 0 0 0 diff --git a/graphics/pokemon/pinsir/anim_front.png b/graphics/pokemon/pinsir/anim_front.png index 00a5050da7..9dd53e423f 100644 Binary files a/graphics/pokemon/pinsir/anim_front.png and b/graphics/pokemon/pinsir/anim_front.png differ diff --git a/graphics/pokemon/pinsir/front.png b/graphics/pokemon/pinsir/front.png index b0543cab82..6ef852cffb 100644 Binary files a/graphics/pokemon/pinsir/front.png and b/graphics/pokemon/pinsir/front.png differ diff --git a/graphics/pokemon/pinsir/normal.pal b/graphics/pokemon/pinsir/normal.pal index 118638fc11..9e89703bd8 100644 --- a/graphics/pokemon/pinsir/normal.pal +++ b/graphics/pokemon/pinsir/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -72 64 56 -128 112 96 -216 216 216 -176 160 144 -184 176 184 +74 65 57 +131 115 98 +238 230 205 +180 164 148 +213 197 180 248 248 248 0 0 0 -120 96 88 -168 152 136 -200 184 176 -80 56 48 -152 136 112 +131 106 82 +197 172 139 +230 213 180 +90 65 49 +164 139 106 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/poliwag/anim_front.png b/graphics/pokemon/poliwag/anim_front.png index ab30eaa66c..53a5e37540 100644 Binary files a/graphics/pokemon/poliwag/anim_front.png and b/graphics/pokemon/poliwag/anim_front.png differ diff --git a/graphics/pokemon/poliwag/front.png b/graphics/pokemon/poliwag/front.png index 6ca996b39a..ebfcf3350f 100644 Binary files a/graphics/pokemon/poliwag/front.png and b/graphics/pokemon/poliwag/front.png differ diff --git a/graphics/pokemon/poliwag/normal.pal b/graphics/pokemon/poliwag/normal.pal index ce4fa21915..09bad1cd36 100644 --- a/graphics/pokemon/poliwag/normal.pal +++ b/graphics/pokemon/poliwag/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -24 56 112 -136 160 224 -80 128 192 -56 88 128 -248 248 248 +24 57 115 +139 164 230 +82 131 197 +57 90 131 +255 255 255 16 16 16 -96 96 112 -192 192 208 -248 208 240 -248 176 224 -216 120 184 -232 232 248 -56 112 168 +98 98 98 +180 172 189 +255 189 172 +255 106 106 +189 90 74 +205 205 205 +57 115 172 0 0 0 0 0 0 diff --git a/graphics/pokemon/poliwhirl/anim_front.png b/graphics/pokemon/poliwhirl/anim_front.png index 1f3d22d94c..87cb52b3a5 100644 Binary files a/graphics/pokemon/poliwhirl/anim_front.png and b/graphics/pokemon/poliwhirl/anim_front.png differ diff --git a/graphics/pokemon/poliwhirl/front.png b/graphics/pokemon/poliwhirl/front.png index f61d52be2d..38ae21a4be 100644 Binary files a/graphics/pokemon/poliwhirl/front.png and b/graphics/pokemon/poliwhirl/front.png differ diff --git a/graphics/pokemon/poliwhirl/normal.pal b/graphics/pokemon/poliwhirl/normal.pal index 94840ecf35..ac25d75a66 100644 --- a/graphics/pokemon/poliwhirl/normal.pal +++ b/graphics/pokemon/poliwhirl/normal.pal @@ -2,11 +2,11 @@ JASC-PAL 0100 16 152 208 160 -24 56 112 -56 88 128 -80 128 192 +32 57 98 +82 90 131 +115 131 197 248 248 248 -56 112 168 +115 131 197 80 80 80 184 184 192 15 15 15 @@ -14,6 +14,6 @@ JASC-PAL 120 120 120 136 152 160 240 240 248 -208 208 216 +213 213 222 0 0 0 0 0 0 diff --git a/graphics/pokemon/poliwrath/anim_front.png b/graphics/pokemon/poliwrath/anim_front.png index 2e320c5899..3e63a0c1a6 100644 Binary files a/graphics/pokemon/poliwrath/anim_front.png and b/graphics/pokemon/poliwrath/anim_front.png differ diff --git a/graphics/pokemon/poliwrath/front.png b/graphics/pokemon/poliwrath/front.png index 98b4814b6a..dfe5bd56e7 100644 Binary files a/graphics/pokemon/poliwrath/front.png and b/graphics/pokemon/poliwrath/front.png differ diff --git a/graphics/pokemon/poliwrath/normal.pal b/graphics/pokemon/poliwrath/normal.pal index f3ae4d5843..e1f44100ad 100644 --- a/graphics/pokemon/poliwrath/normal.pal +++ b/graphics/pokemon/poliwrath/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -56 88 128 -136 160 224 -24 56 112 -80 128 192 +82 90 131 +180 189 230 +32 57 90 +115 131 197 16 16 16 -248 248 248 -200 200 216 -176 176 192 -72 80 80 -120 120 128 +255 255 255 +213 213 222 +189 189 189 +82 82 82 +123 123 123 232 232 248 -144 160 168 +164 164 164 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/primeape/anim_front.png b/graphics/pokemon/primeape/anim_front.png index e07e1e7d75..dbb5d7f0d9 100644 Binary files a/graphics/pokemon/primeape/anim_front.png and b/graphics/pokemon/primeape/anim_front.png differ diff --git a/graphics/pokemon/primeape/front.png b/graphics/pokemon/primeape/front.png index c764645efb..199c8ff23d 100644 Binary files a/graphics/pokemon/primeape/front.png and b/graphics/pokemon/primeape/front.png differ diff --git a/graphics/pokemon/primeape/normal.pal b/graphics/pokemon/primeape/normal.pal index 9e19a46d7d..015a685081 100644 --- a/graphics/pokemon/primeape/normal.pal +++ b/graphics/pokemon/primeape/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 48 0 -152 104 104 -200 136 88 +90 49 0 +156 106 106 +205 139 90 0 0 0 -96 72 32 -248 224 176 -64 64 64 -224 184 152 -120 120 120 -248 248 208 -248 144 88 +98 74 32 +255 230 180 +65 65 65 +230 189 156 +123 123 123 +255 255 213 +255 148 90 248 248 248 -224 120 120 -248 168 168 +189 74 49 +255 148 90 224 176 136 diff --git a/graphics/pokemon/psyduck/anim_front.png b/graphics/pokemon/psyduck/anim_front.png index 4129b5ea9d..0b89ba3742 100644 Binary files a/graphics/pokemon/psyduck/anim_front.png and b/graphics/pokemon/psyduck/anim_front.png differ diff --git a/graphics/pokemon/psyduck/front.png b/graphics/pokemon/psyduck/front.png index 138c13a95c..523d337814 100644 Binary files a/graphics/pokemon/psyduck/front.png and b/graphics/pokemon/psyduck/front.png differ diff --git a/graphics/pokemon/psyduck/normal.pal b/graphics/pokemon/psyduck/normal.pal index 78d95442fb..7e2179a0b2 100644 --- a/graphics/pokemon/psyduck/normal.pal +++ b/graphics/pokemon/psyduck/normal.pal @@ -2,17 +2,17 @@ JASC-PAL 0100 16 152 208 160 -120 120 120 +123 123 123 16 16 16 -144 88 16 -224 160 80 -248 208 72 -248 224 160 -216 176 80 -248 248 248 -128 88 0 -248 232 184 -240 216 136 +148 90 16 +230 164 82 +255 213 74 +255 230 164 +222 180 82 +255 255 255 +131 90 0 +255 238 189 +246 222 139 248 232 184 0 0 0 0 0 0 diff --git a/graphics/pokemon/raichu/anim_front.png b/graphics/pokemon/raichu/anim_front.png index 57ee98c404..792c3ffa63 100644 Binary files a/graphics/pokemon/raichu/anim_front.png and b/graphics/pokemon/raichu/anim_front.png differ diff --git a/graphics/pokemon/raichu/front.png b/graphics/pokemon/raichu/front.png index e1050a3d48..3b50a23184 100644 Binary files a/graphics/pokemon/raichu/front.png and b/graphics/pokemon/raichu/front.png differ diff --git a/graphics/pokemon/raichu/normal.pal b/graphics/pokemon/raichu/normal.pal index 2b912d23cc..6594ba18bb 100644 --- a/graphics/pokemon/raichu/normal.pal +++ b/graphics/pokemon/raichu/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 40 40 -136 96 16 -16 16 16 -112 64 48 -248 184 0 -96 64 32 -248 216 88 -240 168 40 -224 120 48 -248 232 208 -192 88 48 -168 24 8 -224 184 128 -96 96 104 -56 56 64 +90 41 41 +139 98 16 +0 0 0 +115 65 49 +255 189 0 +148 65 65 +255 222 90 +246 172 41 +222 123 49 +255 238 213 +189 90 49 +189 24 8 +255 213 90 +98 98 106 +57 57 65 diff --git a/graphics/pokemon/raticate/anim_front.png b/graphics/pokemon/raticate/anim_front.png index d612bbad9b..c6d38b5c22 100644 Binary files a/graphics/pokemon/raticate/anim_front.png and b/graphics/pokemon/raticate/anim_front.png differ diff --git a/graphics/pokemon/raticate/front.png b/graphics/pokemon/raticate/front.png index 8e9f34722b..3d2d33ea5c 100644 Binary files a/graphics/pokemon/raticate/front.png and b/graphics/pokemon/raticate/front.png differ diff --git a/graphics/pokemon/raticate/normal.pal b/graphics/pokemon/raticate/normal.pal index 88e7b2244b..b02c703c29 100644 --- a/graphics/pokemon/raticate/normal.pal +++ b/graphics/pokemon/raticate/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -144 76 8 -192 128 80 -248 200 152 +148 82 16 +197 131 82 +255 205 156 16 16 16 -104 56 0 -208 160 64 -176 120 64 -224 184 80 -184 192 200 -248 248 248 -128 88 40 -240 224 144 -208 192 104 -112 112 112 -160 128 48 +106 57 0 +197 148 57 +164 115 41 +222 180 74 +180 180 180 +255 255 255 +131 90 41 +246 246 164 +238 205 115 +115 115 115 +164 131 49 diff --git a/graphics/pokemon/rattata/anim_front.png b/graphics/pokemon/rattata/anim_front.png index 08f52ed896..47d2ebff13 100644 Binary files a/graphics/pokemon/rattata/anim_front.png and b/graphics/pokemon/rattata/anim_front.png differ diff --git a/graphics/pokemon/rattata/front.png b/graphics/pokemon/rattata/front.png index 957a686e15..eebe101f9a 100644 Binary files a/graphics/pokemon/rattata/front.png and b/graphics/pokemon/rattata/front.png differ diff --git a/graphics/pokemon/rattata/normal.pal b/graphics/pokemon/rattata/normal.pal index 87fc380cba..8c69af29f7 100644 --- a/graphics/pokemon/rattata/normal.pal +++ b/graphics/pokemon/rattata/normal.pal @@ -12,8 +12,8 @@ JASC-PAL 205 205 205 164 115 8 230 90 115 -248 248 248 +255 255 255 164 24 57 98 74 8 -88 88 88 -120 80 136 +90 90 90 +0 0 0 diff --git a/graphics/pokemon/rhydon/anim_front.png b/graphics/pokemon/rhydon/anim_front.png index d93763b8d1..bd8e5391e0 100644 Binary files a/graphics/pokemon/rhydon/anim_front.png and b/graphics/pokemon/rhydon/anim_front.png differ diff --git a/graphics/pokemon/rhydon/front.png b/graphics/pokemon/rhydon/front.png index fbae08b971..3c71e500ef 100644 Binary files a/graphics/pokemon/rhydon/front.png and b/graphics/pokemon/rhydon/front.png differ diff --git a/graphics/pokemon/rhydon/normal.pal b/graphics/pokemon/rhydon/normal.pal index 235d7f7dcb..2658775bce 100644 --- a/graphics/pokemon/rhydon/normal.pal +++ b/graphics/pokemon/rhydon/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -104 112 136 -56 64 80 -152 168 192 +139 139 148 +82 82 90 +197 197 189 16 16 16 -184 200 216 +230 230 222 248 248 248 224 224 216 -112 88 48 -224 208 168 -176 160 112 -128 48 40 -184 88 80 +115 90 49 +255 238 197 +180 164 115 +164 49 16 +230 82 57 160 48 16 -224 80 56 -96 64 104 +230 82 57 +115 32 16 diff --git a/graphics/pokemon/rhyhorn/anim_front.png b/graphics/pokemon/rhyhorn/anim_front.png index 67f81580ec..99cdb4107d 100644 Binary files a/graphics/pokemon/rhyhorn/anim_front.png and b/graphics/pokemon/rhyhorn/anim_front.png differ diff --git a/graphics/pokemon/rhyhorn/front.png b/graphics/pokemon/rhyhorn/front.png index 0dbb06a1a1..78cb30c3ff 100644 Binary files a/graphics/pokemon/rhyhorn/front.png and b/graphics/pokemon/rhyhorn/front.png differ diff --git a/graphics/pokemon/rhyhorn/normal.pal b/graphics/pokemon/rhyhorn/normal.pal index afba6e5012..19493646a0 100644 --- a/graphics/pokemon/rhyhorn/normal.pal +++ b/graphics/pokemon/rhyhorn/normal.pal @@ -2,14 +2,14 @@ JASC-PAL 0100 16 152 208 160 -120 136 152 -80 88 112 -192 208 216 -48 48 64 +139 148 156 +98 98 131 +222 230 230 +57 57 82 248 248 248 -152 176 192 +164 189 197 16 16 16 -168 56 40 +172 57 41 88 8 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/sandshrew/anim_front.png b/graphics/pokemon/sandshrew/anim_front.png index 907d47dd2d..be1d376503 100644 Binary files a/graphics/pokemon/sandshrew/anim_front.png and b/graphics/pokemon/sandshrew/anim_front.png differ diff --git a/graphics/pokemon/sandshrew/front.png b/graphics/pokemon/sandshrew/front.png index 7d373f1228..a3a6ea88f6 100644 Binary files a/graphics/pokemon/sandshrew/front.png and b/graphics/pokemon/sandshrew/front.png differ diff --git a/graphics/pokemon/sandshrew/normal.pal b/graphics/pokemon/sandshrew/normal.pal index 0107394ec8..a2d45c33be 100644 --- a/graphics/pokemon/sandshrew/normal.pal +++ b/graphics/pokemon/sandshrew/normal.pal @@ -2,11 +2,11 @@ JASC-PAL 0100 16 152 208 160 -128 96 16 -232 216 16 -200 184 176 +131 98 16 +238 222 16 +205 189 180 16 16 16 -200 176 0 +205 180 0 176 128 16 232 232 200 16 56 120 @@ -15,5 +15,5 @@ JASC-PAL 232 216 200 128 128 128 200 200 200 -0 0 0 +115 74 24 0 0 0 diff --git a/graphics/pokemon/sandslash/anim_front.png b/graphics/pokemon/sandslash/anim_front.png index 00f895d9a3..99b6417fb9 100644 Binary files a/graphics/pokemon/sandslash/anim_front.png and b/graphics/pokemon/sandslash/anim_front.png differ diff --git a/graphics/pokemon/sandslash/front.png b/graphics/pokemon/sandslash/front.png index 6e8842c620..bbbf311b5e 100644 Binary files a/graphics/pokemon/sandslash/front.png and b/graphics/pokemon/sandslash/front.png differ diff --git a/graphics/pokemon/sandslash/normal.pal b/graphics/pokemon/sandslash/normal.pal index 21eebe9eb1..ff473ca5e1 100644 --- a/graphics/pokemon/sandslash/normal.pal +++ b/graphics/pokemon/sandslash/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -72 56 16 -168 128 48 +74 57 16 +172 131 49 16 16 16 -128 104 56 -136 96 24 -208 168 32 -88 72 0 -240 208 32 -248 248 248 -136 136 136 -216 200 184 +148 123 0 +139 98 24 +213 172 32 +90 74 0 +246 213 32 +255 255 255 +139 139 139 +222 213 180 200 200 208 48 48 72 -80 80 80 +82 82 82 0 0 0 diff --git a/graphics/pokemon/scyther/anim_front.png b/graphics/pokemon/scyther/anim_front.png index eb115b910e..c253d771b7 100644 Binary files a/graphics/pokemon/scyther/anim_front.png and b/graphics/pokemon/scyther/anim_front.png differ diff --git a/graphics/pokemon/scyther/front.png b/graphics/pokemon/scyther/front.png index 81f2bf6198..af7420c561 100644 Binary files a/graphics/pokemon/scyther/front.png and b/graphics/pokemon/scyther/front.png differ diff --git a/graphics/pokemon/scyther/normal.pal b/graphics/pokemon/scyther/normal.pal index 6030b04862..c1e4c692ed 100644 --- a/graphics/pokemon/scyther/normal.pal +++ b/graphics/pokemon/scyther/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 0 176 232 -64 88 24 -184 224 112 +65 90 32 +189 230 115 16 16 16 -136 120 80 -248 232 208 -136 200 112 -224 208 168 -88 152 72 -208 232 232 -248 248 248 -160 176 200 -104 104 112 +156 139 49 +255 246 213 +139 205 115 +230 213 172 +90 156 74 +222 222 222 +255 255 255 +189 189 189 +115 115 115 232 216 176 224 208 168 0 0 0 diff --git a/graphics/pokemon/seadra/anim_front.png b/graphics/pokemon/seadra/anim_front.png index d141ec042c..5c64799f7b 100644 Binary files a/graphics/pokemon/seadra/anim_front.png and b/graphics/pokemon/seadra/anim_front.png differ diff --git a/graphics/pokemon/seadra/front.png b/graphics/pokemon/seadra/front.png index 9cf3daf518..c782ae3e15 100644 Binary files a/graphics/pokemon/seadra/front.png and b/graphics/pokemon/seadra/front.png differ diff --git a/graphics/pokemon/seadra/normal.pal b/graphics/pokemon/seadra/normal.pal index b650994c23..c8e35d9392 100644 --- a/graphics/pokemon/seadra/normal.pal +++ b/graphics/pokemon/seadra/normal.pal @@ -2,15 +2,15 @@ JASC-PAL 0100 16 152 208 160 -64 152 192 -56 104 136 -168 232 248 +106 131 156 +74 106 131 +172 213 238 16 16 16 -104 200 232 -128 104 96 -248 232 192 +131 172 205 +123 98 32 +255 255 172 248 248 248 -216 176 128 +222 197 82 48 56 96 128 168 200 0 0 0 diff --git a/graphics/pokemon/seaking/anim_front.png b/graphics/pokemon/seaking/anim_front.png index 52407b3b86..d67854c518 100644 Binary files a/graphics/pokemon/seaking/anim_front.png and b/graphics/pokemon/seaking/anim_front.png differ diff --git a/graphics/pokemon/seaking/front.png b/graphics/pokemon/seaking/front.png index 6f728a24b9..f61a6a0fc2 100644 Binary files a/graphics/pokemon/seaking/front.png and b/graphics/pokemon/seaking/front.png differ diff --git a/graphics/pokemon/seaking/normal.pal b/graphics/pokemon/seaking/normal.pal index 9fc7fb8a22..56ac07e6d3 100644 --- a/graphics/pokemon/seaking/normal.pal +++ b/graphics/pokemon/seaking/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 128 152 -184 192 208 -240 240 248 -80 80 80 +123 131 139 +189 189 205 +246 246 255 +82 82 90 16 16 16 -224 192 160 -192 64 40 -144 48 24 -224 112 64 -240 144 96 -216 216 224 -88 88 112 -128 72 80 -240 168 192 -184 120 144 +255 222 189 +197 65 41 +148 49 24 +230 115 65 +246 148 98 +222 222 230 +90 90 98 +164 57 65 +255 197 205 +246 123 90 diff --git a/graphics/pokemon/seel/anim_front.png b/graphics/pokemon/seel/anim_front.png index 1bdfb7aa25..4361b9086a 100644 Binary files a/graphics/pokemon/seel/anim_front.png and b/graphics/pokemon/seel/anim_front.png differ diff --git a/graphics/pokemon/seel/front.png b/graphics/pokemon/seel/front.png index 7ca1efc7ea..d2cc2bc314 100644 Binary files a/graphics/pokemon/seel/front.png and b/graphics/pokemon/seel/front.png differ diff --git a/graphics/pokemon/seel/normal.pal b/graphics/pokemon/seel/normal.pal index f7f97e3fbf..2868415702 100644 --- a/graphics/pokemon/seel/normal.pal +++ b/graphics/pokemon/seel/normal.pal @@ -2,16 +2,16 @@ JASC-PAL 0100 16 152 208 160 -80 96 112 -144 160 192 -224 232 248 -184 208 232 +65 82 131 +148 156 180 +230 230 246 +213 205 238 16 16 16 248 248 248 -40 168 160 -104 88 16 -176 144 64 -240 224 184 +41 172 164 +106 90 16 +180 148 65 +246 230 189 136 48 32 208 112 88 248 168 168 diff --git a/graphics/pokemon/slowbro/anim_front.png b/graphics/pokemon/slowbro/anim_front.png index f944ffb99b..0030c95633 100644 Binary files a/graphics/pokemon/slowbro/anim_front.png and b/graphics/pokemon/slowbro/anim_front.png differ diff --git a/graphics/pokemon/slowbro/front.png b/graphics/pokemon/slowbro/front.png index 4ec5e110f1..c0d69e069d 100644 Binary files a/graphics/pokemon/slowbro/front.png and b/graphics/pokemon/slowbro/front.png differ diff --git a/graphics/pokemon/slowbro/normal.pal b/graphics/pokemon/slowbro/normal.pal index 83a239b6d9..ae4d12a992 100644 --- a/graphics/pokemon/slowbro/normal.pal +++ b/graphics/pokemon/slowbro/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -120 48 48 -232 104 120 -248 144 144 +123 49 49 +230 106 123 +255 148 148 24 24 24 -248 192 176 +255 189 172 248 248 248 216 216 208 -88 88 88 -144 144 144 -128 88 32 -184 184 184 -248 240 176 -240 216 128 -208 160 96 +82 82 90 +139 148 148 +131 90 32 +180 189 189 +255 238 180 +238 213 131 +205 164 98 232 80 40 diff --git a/graphics/pokemon/snorlax/anim_front.png b/graphics/pokemon/snorlax/anim_front.png index 94d9d4784b..cfcd8e4aed 100644 Binary files a/graphics/pokemon/snorlax/anim_front.png and b/graphics/pokemon/snorlax/anim_front.png differ diff --git a/graphics/pokemon/snorlax/front.png b/graphics/pokemon/snorlax/front.png index eff039d3d0..62b04645a5 100644 Binary files a/graphics/pokemon/snorlax/front.png and b/graphics/pokemon/snorlax/front.png differ diff --git a/graphics/pokemon/snorlax/normal.pal b/graphics/pokemon/snorlax/normal.pal index 5b782626d2..b639f9037e 100644 --- a/graphics/pokemon/snorlax/normal.pal +++ b/graphics/pokemon/snorlax/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 16 16 8 -16 48 56 -80 136 168 -48 88 120 -32 64 96 -112 168 192 -216 192 176 -248 232 208 +16 57 65 +82 139 172 +49 90 123 +16 57 65 +115 164 189 +230 197 172 +246 230 189 248 248 248 112 112 112 -160 128 104 -232 208 184 +164 115 82 +246 213 189 200 200 200 -96 80 64 +98 65 32 16 48 56 diff --git a/graphics/pokemon/spearow/anim_front.png b/graphics/pokemon/spearow/anim_front.png index 055e846776..c52e1ce2af 100644 Binary files a/graphics/pokemon/spearow/anim_front.png and b/graphics/pokemon/spearow/anim_front.png differ diff --git a/graphics/pokemon/spearow/front.png b/graphics/pokemon/spearow/front.png index 68621040ab..052422e9ad 100644 Binary files a/graphics/pokemon/spearow/front.png and b/graphics/pokemon/spearow/front.png differ diff --git a/graphics/pokemon/spearow/normal.pal b/graphics/pokemon/spearow/normal.pal index f03dd0e300..8eda920f04 100644 --- a/graphics/pokemon/spearow/normal.pal +++ b/graphics/pokemon/spearow/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -152 80 24 -192 104 32 -64 40 24 -232 168 80 -16 16 16 -232 80 72 -168 64 72 -192 176 152 -248 248 248 -248 208 200 -248 160 136 -255 255 0 -120 40 40 -136 120 96 -96 80 72 +156 82 24 +197 106 32 +106 65 24 +238 172 82 +0 0 0 +238 82 74 +172 65 74 +230 213 180 +255 255 255 +255 213 205 +255 164 139 +197 180 156 +123 41 41 +139 123 98 +98 82 74 diff --git a/graphics/pokemon/spearow/shiny.pal b/graphics/pokemon/spearow/shiny.pal index 240a50c94b..9f44b1ba5b 100644 --- a/graphics/pokemon/spearow/shiny.pal +++ b/graphics/pokemon/spearow/shiny.pal @@ -13,7 +13,7 @@ JASC-PAL 248 248 248 248 248 160 240 232 96 -248 216 24 +201 191 147 160 104 32 144 136 104 80 72 56 diff --git a/graphics/pokemon/squirtle/anim_front.png b/graphics/pokemon/squirtle/anim_front.png index b125bbdfb7..5c32cf67fa 100644 Binary files a/graphics/pokemon/squirtle/anim_front.png and b/graphics/pokemon/squirtle/anim_front.png differ diff --git a/graphics/pokemon/squirtle/back.png b/graphics/pokemon/squirtle/back.png index 42cbb8f5e3..a57207153f 100644 Binary files a/graphics/pokemon/squirtle/back.png and b/graphics/pokemon/squirtle/back.png differ diff --git a/graphics/pokemon/squirtle/front.png b/graphics/pokemon/squirtle/front.png index f8854997d4..2148e227fd 100644 Binary files a/graphics/pokemon/squirtle/front.png and b/graphics/pokemon/squirtle/front.png differ diff --git a/graphics/pokemon/squirtle/normal.pal b/graphics/pokemon/squirtle/normal.pal index c66f21e480..b2282cee8b 100644 --- a/graphics/pokemon/squirtle/normal.pal +++ b/graphics/pokemon/squirtle/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -72 160 200 -40 104 144 -128 216 248 -112 192 240 +90 156 164 +41 115 131 +180 230 238 +139 197 205 16 16 16 208 200 200 248 248 248 -200 40 48 +131 41 0 88 64 32 -176 96 16 -160 128 48 -200 168 88 -240 224 136 -80 48 40 -208 112 16 +189 106 0 +205 123 41 +230 172 90 +255 213 106 +98 41 0 +213 148 82 diff --git a/graphics/pokemon/squirtle/shiny.pal b/graphics/pokemon/squirtle/shiny.pal index f069e2dfac..ff20b8f515 100644 --- a/graphics/pokemon/squirtle/shiny.pal +++ b/graphics/pokemon/squirtle/shiny.pal @@ -9,7 +9,7 @@ JASC-PAL 16 16 16 208 200 200 248 248 248 -200 80 160 +128 56 0 128 56 0 88 168 40 200 136 32 diff --git a/graphics/pokemon/starmie/anim_front.png b/graphics/pokemon/starmie/anim_front.png index 5bc72ff51f..0a912a0225 100644 Binary files a/graphics/pokemon/starmie/anim_front.png and b/graphics/pokemon/starmie/anim_front.png differ diff --git a/graphics/pokemon/starmie/front.png b/graphics/pokemon/starmie/front.png index ab2abd1a02..b3c4861d73 100644 Binary files a/graphics/pokemon/starmie/front.png and b/graphics/pokemon/starmie/front.png differ diff --git a/graphics/pokemon/starmie/normal.pal b/graphics/pokemon/starmie/normal.pal index 82ffa3fa92..2a266fc3f7 100644 --- a/graphics/pokemon/starmie/normal.pal +++ b/graphics/pokemon/starmie/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -88 80 152 -48 56 112 -208 184 240 -144 128 184 -176 152 216 +90 82 156 +49 57 115 +213 172 238 +139 115 189 +180 139 213 0 0 0 -88 64 48 -232 216 80 -248 248 152 -176 160 48 -144 112 64 -240 192 216 -200 32 88 -240 80 112 -136 16 80 +90 65 49 +238 197 74 +255 230 148 +197 148 32 +148 115 65 +246 197 222 +205 32 90 +246 82 115 +139 16 82 diff --git a/graphics/pokemon/staryu/anim_front.png b/graphics/pokemon/staryu/anim_front.png index ad2250818c..38d62ffc8a 100644 Binary files a/graphics/pokemon/staryu/anim_front.png and b/graphics/pokemon/staryu/anim_front.png differ diff --git a/graphics/pokemon/staryu/front.png b/graphics/pokemon/staryu/front.png index ffb70b69d9..6739b8cb70 100644 Binary files a/graphics/pokemon/staryu/front.png and b/graphics/pokemon/staryu/front.png differ diff --git a/graphics/pokemon/staryu/normal.pal b/graphics/pokemon/staryu/normal.pal index 7d0a10b2a7..0b6d5cc3d2 100644 --- a/graphics/pokemon/staryu/normal.pal +++ b/graphics/pokemon/staryu/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -144 104 56 -96 48 48 -216 176 96 +156 106 57 +98 49 49 +222 180 98 0 0 0 -120 80 56 -192 144 72 -128 104 64 -248 240 160 -88 64 48 -232 216 48 -200 144 40 -240 136 136 -240 192 184 -192 32 88 +123 82 57 +213 156 82 +131 106 65 +255 246 164 +90 65 49 +238 222 49 +205 148 41 +246 65 65 +246 197 189 +172 32 16 248 248 248 diff --git a/graphics/pokemon/tangela/anim_front.png b/graphics/pokemon/tangela/anim_front.png index 1a768a0910..9785af465d 100644 Binary files a/graphics/pokemon/tangela/anim_front.png and b/graphics/pokemon/tangela/anim_front.png differ diff --git a/graphics/pokemon/tangela/front.png b/graphics/pokemon/tangela/front.png index 34f9ff5fb3..6115b5b62d 100644 Binary files a/graphics/pokemon/tangela/front.png and b/graphics/pokemon/tangela/front.png differ diff --git a/graphics/pokemon/tangela/normal.pal b/graphics/pokemon/tangela/normal.pal index d90fcacca7..03893711c1 100644 --- a/graphics/pokemon/tangela/normal.pal +++ b/graphics/pokemon/tangela/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -40 88 128 -80 152 192 -56 112 168 -16 40 72 +65 123 148 +148 213 246 +90 164 205 +32 65 82 16 16 16 -80 80 80 -176 176 176 +82 82 82 +180 180 180 248 248 248 -112 40 40 -168 40 64 -248 128 128 -216 72 104 +115 41 41 +172 41 65 +255 131 131 +222 74 106 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/tauros/anim_front.png b/graphics/pokemon/tauros/anim_front.png index 1d186f77bf..1b0092dd3a 100644 Binary files a/graphics/pokemon/tauros/anim_front.png and b/graphics/pokemon/tauros/anim_front.png differ diff --git a/graphics/pokemon/tauros/front.png b/graphics/pokemon/tauros/front.png index 587db94cdf..0d47d8939b 100644 Binary files a/graphics/pokemon/tauros/front.png and b/graphics/pokemon/tauros/front.png differ diff --git a/graphics/pokemon/tauros/normal.pal b/graphics/pokemon/tauros/normal.pal index 1bb372aa75..5115a389e4 100644 --- a/graphics/pokemon/tauros/normal.pal +++ b/graphics/pokemon/tauros/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -56 56 72 -104 104 128 +57 57 74 +106 106 131 0 0 0 -72 56 40 -120 104 96 -80 72 64 -136 96 32 -216 160 72 -152 144 136 -200 200 216 -152 152 168 -80 56 16 -224 192 120 -176 128 48 +74 57 41 +139 106 82 +98 74 49 +139 98 32 +222 164 74 +172 139 115 +205 205 222 +156 156 172 +82 57 16 +230 197 123 +180 131 49 248 248 248 diff --git a/graphics/pokemon/tentacool/anim_front.png b/graphics/pokemon/tentacool/anim_front.png index 4ccacc3446..e6ff75c7ab 100644 Binary files a/graphics/pokemon/tentacool/anim_front.png and b/graphics/pokemon/tentacool/anim_front.png differ diff --git a/graphics/pokemon/tentacool/front.png b/graphics/pokemon/tentacool/front.png index 4604793452..6469576a4d 100644 Binary files a/graphics/pokemon/tentacool/front.png and b/graphics/pokemon/tentacool/front.png differ diff --git a/graphics/pokemon/tentacool/normal.pal b/graphics/pokemon/tentacool/normal.pal index 2f409fd92b..ab750d2edf 100644 --- a/graphics/pokemon/tentacool/normal.pal +++ b/graphics/pokemon/tentacool/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -40 88 112 -104 16 40 -152 208 240 -104 184 224 -168 32 64 -248 248 248 -232 184 200 -216 80 128 -48 144 192 -16 16 16 -208 208 208 -80 80 88 -184 184 184 -112 104 120 -152 144 160 +32 82 131 +106 16 16 +131 213 246 +106 180 230 +180 41 32 +255 255 255 +255 197 189 +255 82 74 +65 148 172 +0 0 0 +213 213 213 +82 82 32 +213 197 148 +131 131 65 +180 172 115 diff --git a/graphics/pokemon/tentacruel/anim_front.png b/graphics/pokemon/tentacruel/anim_front.png index d401d1eaf1..e4e7c3cc8e 100644 Binary files a/graphics/pokemon/tentacruel/anim_front.png and b/graphics/pokemon/tentacruel/anim_front.png differ diff --git a/graphics/pokemon/tentacruel/front.png b/graphics/pokemon/tentacruel/front.png index b751ed6847..52e70a7343 100644 Binary files a/graphics/pokemon/tentacruel/front.png and b/graphics/pokemon/tentacruel/front.png differ diff --git a/graphics/pokemon/tentacruel/normal.pal b/graphics/pokemon/tentacruel/normal.pal index c28517e86f..878043437b 100644 --- a/graphics/pokemon/tentacruel/normal.pal +++ b/graphics/pokemon/tentacruel/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -40 88 112 -144 208 240 -104 16 40 -88 176 216 -48 144 184 +32 82 131 +131 205 230 +131 16 16 +106 180 230 +65 148 172 16 16 16 -216 80 128 -232 184 200 -248 248 248 -168 32 64 -208 208 208 -80 80 88 -152 144 160 -104 112 104 -184 184 184 +246 65 82 +255 189 172 +255 255 255 +180 41 32 +213 213 213 +82 82 32 +180 172 115 +131 131 65 +230 213 164 diff --git a/graphics/pokemon/vaporeon/anim_front.png b/graphics/pokemon/vaporeon/anim_front.png index 3d7011269d..de15a8c7c8 100644 Binary files a/graphics/pokemon/vaporeon/anim_front.png and b/graphics/pokemon/vaporeon/anim_front.png differ diff --git a/graphics/pokemon/vaporeon/front.png b/graphics/pokemon/vaporeon/front.png index e0e2765569..1ab0c7e466 100644 Binary files a/graphics/pokemon/vaporeon/front.png and b/graphics/pokemon/vaporeon/front.png differ diff --git a/graphics/pokemon/vaporeon/normal.pal b/graphics/pokemon/vaporeon/normal.pal index 3655a6b0d5..90de2a96cb 100644 --- a/graphics/pokemon/vaporeon/normal.pal +++ b/graphics/pokemon/vaporeon/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -16 72 96 -16 112 144 -184 168 88 -104 96 32 -136 136 136 +16 74 98 +16 115 148 +189 172 90 +106 98 32 +139 139 139 16 16 16 -248 248 248 -248 224 160 -200 200 200 -88 192 224 -128 216 248 -64 152 184 -80 16 112 -120 8 40 -208 80 112 +255 255 255 +255 230 164 +205 205 205 +90 197 230 +131 222 255 +65 156 189 +82 16 115 +123 8 41 +213 82 115 diff --git a/graphics/pokemon/venomoth/anim_front.png b/graphics/pokemon/venomoth/anim_front.png index c0c2cd3401..834bf6fbcb 100644 Binary files a/graphics/pokemon/venomoth/anim_front.png and b/graphics/pokemon/venomoth/anim_front.png differ diff --git a/graphics/pokemon/venomoth/front.png b/graphics/pokemon/venomoth/front.png index b4eba1b5cb..895d4aeb97 100644 Binary files a/graphics/pokemon/venomoth/front.png and b/graphics/pokemon/venomoth/front.png differ diff --git a/graphics/pokemon/venomoth/normal.pal b/graphics/pokemon/venomoth/normal.pal index 2e1ee16bfe..92234d0a0c 100644 --- a/graphics/pokemon/venomoth/normal.pal +++ b/graphics/pokemon/venomoth/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 112 88 120 -152 136 184 -240 216 248 -216 192 232 +156 139 189 +246 222 255 +213 172 222 16 16 16 -208 168 216 -96 72 112 -232 192 248 -152 136 184 +213 172 222 +98 74 115 +238 197 255 +156 139 189 248 248 248 -184 200 224 -96 80 56 -160 128 120 -192 168 136 +172 197 197 +98 82 57 +164 131 123 +197 172 139 224 224 224 diff --git a/graphics/pokemon/venonat/anim_front.png b/graphics/pokemon/venonat/anim_front.png index 201b5db4f2..11187e0e12 100644 Binary files a/graphics/pokemon/venonat/anim_front.png and b/graphics/pokemon/venonat/anim_front.png differ diff --git a/graphics/pokemon/venonat/front.png b/graphics/pokemon/venonat/front.png index 522f87ef53..738b8f1614 100644 Binary files a/graphics/pokemon/venonat/front.png and b/graphics/pokemon/venonat/front.png differ diff --git a/graphics/pokemon/venonat/normal.pal b/graphics/pokemon/venonat/normal.pal index 42a121e7cc..237a56d263 100644 --- a/graphics/pokemon/venonat/normal.pal +++ b/graphics/pokemon/venonat/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -120 120 120 -248 248 248 -208 208 216 +123 123 123 +255 255 255 +213 213 213 16 16 16 -72 64 144 -112 112 184 -80 24 48 -176 64 88 -232 104 160 -240 144 200 -48 48 80 -112 64 40 -232 184 152 -184 144 104 +98 74 123 +139 106 164 +82 16 16 +180 65 90 +255 90 90 +255 172 180 +49 41 82 +115 65 41 +238 189 156 +189 148 106 144 136 200 diff --git a/graphics/pokemon/victreebel/anim_front.png b/graphics/pokemon/victreebel/anim_front.png index 119d4105c7..a8ecbdb468 100644 Binary files a/graphics/pokemon/victreebel/anim_front.png and b/graphics/pokemon/victreebel/anim_front.png differ diff --git a/graphics/pokemon/victreebel/front.png b/graphics/pokemon/victreebel/front.png index c87545b1dd..f82a0e17fe 100644 Binary files a/graphics/pokemon/victreebel/front.png and b/graphics/pokemon/victreebel/front.png differ diff --git a/graphics/pokemon/victreebel/normal.pal b/graphics/pokemon/victreebel/normal.pal index fe0893abb9..ef9c409828 100644 --- a/graphics/pokemon/victreebel/normal.pal +++ b/graphics/pokemon/victreebel/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 0 176 232 -96 80 40 -40 96 40 -160 120 48 -16 16 16 -112 208 120 -88 160 96 -200 104 128 -232 152 168 +98 82 41 +16 98 57 +164 123 49 +0 0 0 +139 197 123 +74 164 123 +197 90 32 +238 139 82 248 248 248 200 216 208 -216 184 80 +222 189 82 144 152 32 -232 208 104 -240 232 144 -120 40 40 +238 213 106 +246 238 148 +131 24 0 diff --git a/graphics/pokemon/vileplume/anim_front.png b/graphics/pokemon/vileplume/anim_front.png index f482d7130d..0169b8f347 100644 Binary files a/graphics/pokemon/vileplume/anim_front.png and b/graphics/pokemon/vileplume/anim_front.png differ diff --git a/graphics/pokemon/vileplume/front.png b/graphics/pokemon/vileplume/front.png index 1a14c31a3f..4b0663612b 100644 Binary files a/graphics/pokemon/vileplume/front.png and b/graphics/pokemon/vileplume/front.png differ diff --git a/graphics/pokemon/vileplume/normal.pal b/graphics/pokemon/vileplume/normal.pal index 817796bf8e..f7f01cae2a 100644 --- a/graphics/pokemon/vileplume/normal.pal +++ b/graphics/pokemon/vileplume/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -192 48 72 -152 56 64 -248 96 96 -248 200 208 -240 48 48 -240 168 176 +189 49 74 +123 24 16 +255 98 98 +255 205 213 +238 49 49 +246 172 180 16 16 16 -248 160 40 -176 96 32 +255 164 41 +180 98 32 40 40 40 -200 144 32 -24 40 64 -48 72 112 -80 112 152 +197 139 32 +24 41 74 +57 82 82 +90 98 131 40 40 40 diff --git a/graphics/pokemon/voltorb/anim_front.png b/graphics/pokemon/voltorb/anim_front.png index d1928a1221..740cfa4f3d 100644 Binary files a/graphics/pokemon/voltorb/anim_front.png and b/graphics/pokemon/voltorb/anim_front.png differ diff --git a/graphics/pokemon/voltorb/front.png b/graphics/pokemon/voltorb/front.png index 0bf80d9acf..ad4385d1bb 100644 Binary files a/graphics/pokemon/voltorb/front.png and b/graphics/pokemon/voltorb/front.png differ diff --git a/graphics/pokemon/voltorb/normal.pal b/graphics/pokemon/voltorb/normal.pal index d609345158..79af1efd7f 100644 --- a/graphics/pokemon/voltorb/normal.pal +++ b/graphics/pokemon/voltorb/normal.pal @@ -3,15 +3,15 @@ JASC-PAL 16 152 208 160 16 16 16 -128 16 16 -208 32 72 -240 96 80 -240 56 80 -248 120 120 -248 168 152 -200 48 96 -216 208 208 -176 168 184 +131 16 16 +213 49 65 +255 82 32 +238 65 49 +255 131 90 +255 172 156 +213 49 65 +222 213 213 +180 172 189 248 248 248 88 80 80 136 128 128 diff --git a/graphics/pokemon/vulpix/anim_front.png b/graphics/pokemon/vulpix/anim_front.png index 2e1f7b084b..0b9401e507 100644 Binary files a/graphics/pokemon/vulpix/anim_front.png and b/graphics/pokemon/vulpix/anim_front.png differ diff --git a/graphics/pokemon/vulpix/front.png b/graphics/pokemon/vulpix/front.png index 4de0d78f1e..39c5bdff38 100644 Binary files a/graphics/pokemon/vulpix/front.png and b/graphics/pokemon/vulpix/front.png differ diff --git a/graphics/pokemon/vulpix/normal.pal b/graphics/pokemon/vulpix/normal.pal index acc496df3a..aefc8e87cf 100644 --- a/graphics/pokemon/vulpix/normal.pal +++ b/graphics/pokemon/vulpix/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -112 32 0 -248 144 88 -216 112 40 -184 72 40 +115 32 0 +255 148 90 +222 115 41 +189 74 41 16 16 16 -112 48 0 -184 112 88 -224 144 104 -168 88 8 -200 120 40 -248 248 248 +115 49 0 +189 115 90 +230 148 106 +172 90 8 +205 123 41 +255 255 255 160 120 112 168 0 0 -240 184 120 +246 189 123 0 0 0 diff --git a/graphics/pokemon/wartortle/anim_front.png b/graphics/pokemon/wartortle/anim_front.png index a732c60dbe..3cd3f59e18 100644 Binary files a/graphics/pokemon/wartortle/anim_front.png and b/graphics/pokemon/wartortle/anim_front.png differ diff --git a/graphics/pokemon/wartortle/front.png b/graphics/pokemon/wartortle/front.png index 8a5639d011..4768f5f480 100644 Binary files a/graphics/pokemon/wartortle/front.png and b/graphics/pokemon/wartortle/front.png differ diff --git a/graphics/pokemon/wartortle/normal.pal b/graphics/pokemon/wartortle/normal.pal index 9c3c1d6f53..c2c7c0db7e 100644 --- a/graphics/pokemon/wartortle/normal.pal +++ b/graphics/pokemon/wartortle/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 153 210 164 -136 168 248 -248 248 248 +139 172 246 +255 255 255 16 16 16 -192 200 232 -40 80 136 -96 120 200 -216 240 248 -172 200 248 -80 48 40 -144 112 88 -200 184 144 -48 64 72 -248 240 208 +189 197 230 +41 65 106 +98 123 197 +213 238 246 +172 197 255 +106 74 24 +148 98 98 +172 139 98 +49 65 74 +222 197 139 200 48 0 -152 128 72 +139 90 32 diff --git a/graphics/pokemon/weedle/anim_front.png b/graphics/pokemon/weedle/anim_front.png index 34dc029e28..da10f827fc 100644 Binary files a/graphics/pokemon/weedle/anim_front.png and b/graphics/pokemon/weedle/anim_front.png differ diff --git a/graphics/pokemon/weedle/front.png b/graphics/pokemon/weedle/front.png index 7c0d014005..12182258f8 100644 Binary files a/graphics/pokemon/weedle/front.png and b/graphics/pokemon/weedle/front.png differ diff --git a/graphics/pokemon/weedle/normal.pal b/graphics/pokemon/weedle/normal.pal index a42d955fbd..b1d97250eb 100644 --- a/graphics/pokemon/weedle/normal.pal +++ b/graphics/pokemon/weedle/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 136 144 -248 248 248 -88 88 96 -192 192 192 -144 88 8 -232 168 64 -200 112 16 -104 56 8 -248 208 120 +139 139 148 +255 255 255 +90 90 98 +197 197 197 +148 90 8 +238 172 65 +205 115 16 +106 57 8 +255 230 123 24 24 24 -144 64 112 -232 120 184 -248 176 224 -248 216 200 +156 41 32 +222 90 82 +238 156 139 +255 222 205 0 0 0 diff --git a/graphics/pokemon/weepinbell/anim_front.png b/graphics/pokemon/weepinbell/anim_front.png index d33c4aa59a..56d2b20122 100644 Binary files a/graphics/pokemon/weepinbell/anim_front.png and b/graphics/pokemon/weepinbell/anim_front.png differ diff --git a/graphics/pokemon/weepinbell/front.png b/graphics/pokemon/weepinbell/front.png index c381e53328..20b61b8d5f 100644 Binary files a/graphics/pokemon/weepinbell/front.png and b/graphics/pokemon/weepinbell/front.png differ diff --git a/graphics/pokemon/weepinbell/normal.pal b/graphics/pokemon/weepinbell/normal.pal index bf05a1549d..27931063f3 100644 --- a/graphics/pokemon/weepinbell/normal.pal +++ b/graphics/pokemon/weepinbell/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 0 176 232 -8 88 48 -56 168 88 -152 216 128 -96 72 48 -160 120 48 -16 16 16 -248 240 168 -248 224 104 -104 192 80 -208 192 80 -120 40 40 -248 248 248 -176 64 72 -232 152 168 -200 104 128 +8 90 49 +57 172 90 +156 222 131 +98 74 49 +164 123 49 +0 0 0 +255 246 172 +255 230 106 +106 197 82 +213 197 82 +123 41 41 +255 255 255 +180 65 74 +238 156 172 +205 106 131 diff --git a/graphics/pokemon/weezing/anim_front.png b/graphics/pokemon/weezing/anim_front.png index 95a9ba30f4..096b1f9112 100644 Binary files a/graphics/pokemon/weezing/anim_front.png and b/graphics/pokemon/weezing/anim_front.png differ diff --git a/graphics/pokemon/weezing/front.png b/graphics/pokemon/weezing/front.png index 3ea4fb6dd4..d165c84785 100644 Binary files a/graphics/pokemon/weezing/front.png and b/graphics/pokemon/weezing/front.png differ diff --git a/graphics/pokemon/weezing/normal.pal b/graphics/pokemon/weezing/normal.pal index 6ef5ecad92..715cd4c89a 100644 --- a/graphics/pokemon/weezing/normal.pal +++ b/graphics/pokemon/weezing/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 0 176 232 -184 184 136 -216 216 184 -152 152 96 -128 88 136 -184 136 200 -96 48 120 -160 104 176 -208 160 216 +197 213 139 +246 238 148 +197 180 41 +131 90 139 +189 139 205 +98 49 123 +164 106 180 +213 164 222 16 16 16 -248 248 248 -184 184 184 -208 208 176 -168 160 80 -152 80 96 -208 112 128 +255 255 255 +189 189 189 +172 164 82 +172 164 82 +156 82 98 +213 115 131 diff --git a/graphics/pokemon/wigglytuff/anim_front.png b/graphics/pokemon/wigglytuff/anim_front.png index 01ffab90da..232f9c38c9 100644 Binary files a/graphics/pokemon/wigglytuff/anim_front.png and b/graphics/pokemon/wigglytuff/anim_front.png differ diff --git a/graphics/pokemon/wigglytuff/front.png b/graphics/pokemon/wigglytuff/front.png index 26ab753055..5f5ee7e918 100644 Binary files a/graphics/pokemon/wigglytuff/front.png and b/graphics/pokemon/wigglytuff/front.png differ diff --git a/graphics/pokemon/wigglytuff/normal.pal b/graphics/pokemon/wigglytuff/normal.pal index ff6efc68a8..9e5a199449 100644 --- a/graphics/pokemon/wigglytuff/normal.pal +++ b/graphics/pokemon/wigglytuff/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -136 64 64 -248 248 248 -112 112 112 -224 216 224 +139 65 65 +255 255 255 +115 115 115 +230 222 230 16 16 16 -248 168 184 -240 120 144 -200 104 96 -248 216 200 -24 112 192 -16 72 136 -16 176 232 -112 64 24 -224 48 48 +255 172 189 +246 123 148 +205 106 98 +255 222 205 +82 164 139 +32 90 98 +148 222 205 +115 65 24 +230 49 49 0 0 0 diff --git a/graphics/pokemon/zapdos/anim_front.png b/graphics/pokemon/zapdos/anim_front.png index 1c0c879049..f1079f7b70 100644 Binary files a/graphics/pokemon/zapdos/anim_front.png and b/graphics/pokemon/zapdos/anim_front.png differ diff --git a/graphics/pokemon/zapdos/front.png b/graphics/pokemon/zapdos/front.png index c88ae03a3f..790791d6eb 100644 Binary files a/graphics/pokemon/zapdos/front.png and b/graphics/pokemon/zapdos/front.png differ diff --git a/graphics/pokemon/zapdos/normal.pal b/graphics/pokemon/zapdos/normal.pal index 5551ab9735..7f2ac1295e 100644 --- a/graphics/pokemon/zapdos/normal.pal +++ b/graphics/pokemon/zapdos/normal.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -152 120 16 -248 224 168 -72 48 16 -0 32 56 -208 168 8 +156 123 16 +255 230 164 +82 57 16 +0 0 0 +213 172 8 8 16 16 -248 208 64 +255 213 65 248 248 248 -248 184 104 -240 144 24 -192 104 24 +255 189 106 +246 148 24 +197 106 24 152 136 48 -216 216 216 +222 222 222 104 104 104 163 48 48 diff --git a/graphics/pokemon/zubat/anim_front.png b/graphics/pokemon/zubat/anim_front.png index b6b8092712..6cdc6af981 100644 Binary files a/graphics/pokemon/zubat/anim_front.png and b/graphics/pokemon/zubat/anim_front.png differ diff --git a/graphics/pokemon/zubat/front.png b/graphics/pokemon/zubat/front.png index 83ba7c583b..36d62770c7 100644 Binary files a/graphics/pokemon/zubat/front.png and b/graphics/pokemon/zubat/front.png differ diff --git a/graphics/pokemon/zubat/normal.pal b/graphics/pokemon/zubat/normal.pal index f21f16cf5f..13f001cc13 100644 --- a/graphics/pokemon/zubat/normal.pal +++ b/graphics/pokemon/zubat/normal.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 16 16 16 -96 120 176 -184 200 248 -136 176 232 -72 64 120 -96 120 176 -176 80 152 -112 32 88 -208 112 184 -248 248 248 +99 123 181 +189 206 255 +140 181 239 +74 66 123 +99 123 181 +181 82 156 +115 33 90 +214 115 189 +255 255 255 208 208 208 -96 96 96 +99 99 99 0 0 0 0 0 0 0 0 0 diff --git a/include/battle.h b/include/battle.h index 36d751b973..5383098373 100644 --- a/include/battle.h +++ b/include/battle.h @@ -71,20 +71,15 @@ struct DisableStruct s8 stockpileBeforeDef; s8 stockpileBeforeSpDef; u8 substituteHP; - u8 disableTimer:4; - u8 disableTimerStartValue:4; u8 encoredMovePos; + u8 disableTimer:4; u8 encoreTimer:4; - u8 encoreTimerStartValue:4; u8 perishSongTimer:4; - u8 perishSongTimerStartValue:4; u8 furyCutterCounter; u8 rolloutTimer:4; u8 rolloutTimerStartValue:4; u8 chargeTimer:4; - u8 chargeTimerStartValue:4; u8 tauntTimer:4; - u8 tauntTimer2:4; u8 battlerPreventingEscape; u8 battlerWithSureHit; u8 isFirstTurn; @@ -100,8 +95,8 @@ struct DisableStruct u8 healBlockTimer; u8 laserFocusTimer; u8 throatChopTimer; - u8 usedMoves:4; u8 wrapTurns; + u8 usedMoves:4; u8 noRetreat:1; u8 tarShot:1; u8 octolock:1; @@ -653,6 +648,7 @@ struct BattleStruct u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) bool8 allowedToChangeFormInWeather[PARTY_SIZE][2]; // For each party member and side, used by Ice Face. + u8 battleBondTransformed[NUM_BATTLE_SIDES]; // Bitfield for each party. }; #define F_DYNAMIC_TYPE_1 (1 << 6) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 8acf6e8efe..18c1911e52 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -451,6 +451,7 @@ extern const u8 BattleScript_EarthEaterActivates[]; extern const u8 BattleScript_MimicryActivates_End3[]; extern const u8 BattleScript_IceFaceNullsDamage[]; extern const u8 BattleScript_BattlerFormChangeWithStringEnd3[]; +extern const u8 BattleScript_DampPreventsAftermath[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/config.h b/include/config.h index 3a24617174..2ad84f29cd 100644 --- a/include/config.h +++ b/include/config.h @@ -73,4 +73,7 @@ #define GEN_9 6 #define GEN_LATEST GEN_8 +// General settings +#define EXPANSION_INTRO TRUE // If TRUE, a custom RHH intro will play after the vanilla copyright screen. + #endif // GUARD_CONFIG_H diff --git a/include/constants/battle.h b/include/constants/battle.h index be44c21cbe..c24178cd08 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -371,8 +371,9 @@ #define MOVE_EFFECT_RELIC_SONG 69 #define MOVE_EFFECT_TRAP_BOTH 70 #define MOVE_EFFECT_DOUBLE_SHOCK 71 +#define MOVE_EFFECT_ROUND 72 -#define NUM_MOVE_EFFECTS 72 +#define NUM_MOVE_EFFECTS 73 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 123fb5d49f..9351213946 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -273,6 +273,7 @@ // Cmd_statbuffchange #define STAT_CHANGE_ALLOW_PTR (1 << 0) // If set, allow use of jumpptr. Set in every use of statbuffchange +#define STAT_CHANGE_MIRROR_ARMOR (1 << 1) // Stat change redirection caused by Mirror Armor ability. #define STAT_CHANGE_NOT_PROTECT_AFFECTED (1 << 5) #define STAT_CHANGE_UPDATE_MOVE_EFFECT (1 << 6) diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index f63aa79bce..3f8853024f 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -638,8 +638,9 @@ #define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 636 #define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 637 #define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 638 +#define STRINGID_PKMNSABILITYPREVENTSABILITY 639 -#define BATTLESTRINGS_COUNT 639 +#define BATTLESTRINGS_COUNT 640 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, @@ -740,7 +741,6 @@ // gUproarAwakeStringIds #define B_MSG_CANT_SLEEP_UPROAR 0 #define B_MSG_UPROAR_KEPT_AWAKE 1 -#define B_MSG_STAYED_AWAKE_USING 2 // gUproarOverTurnStringIds #define B_MSG_UPROAR_CONTINUES 0 diff --git a/include/constants/rgb.h b/include/constants/rgb.h index 3e0bf6fe03..f73ab53b4b 100644 --- a/include/constants/rgb.h +++ b/include/constants/rgb.h @@ -8,6 +8,7 @@ #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) #define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) #define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F)) +#define RGB2GBA(r, g, b) (((r >> 3) & 31) | (((g >> 3) & 31) << 5) | (((b >> 3) & 31) << 10)) #define RGB_ALPHA (1 << 15) #define IS_ALPHA(color) ((color) & RGB_ALPHA) @@ -23,4 +24,6 @@ #define RGB_CYAN RGB(0, 31, 31) #define RGB_WHITEALPHA (RGB_WHITE | RGB_ALPHA) +#define RGB_LIME_GREEN RGB2GBA(222, 230, 49) + #endif // GUARD_RGB_H diff --git a/include/expansion_intro.h b/include/expansion_intro.h new file mode 100644 index 0000000000..7d8d316773 --- /dev/null +++ b/include/expansion_intro.h @@ -0,0 +1,9 @@ +#ifndef GUARD_EXPANSION_INTRO_H +#define GUARD_EXPANSION_INTRO_H + +#if EXPANSION_INTRO == TRUE +void CB2_ExpansionIntro(void); +void Task_HandleExpansionIntro(u8 taskId); +#endif + +#endif /* GUARD_EXPANSION_INTRO_H */ diff --git a/include/graphics.h b/include/graphics.h index e5a47ca88d..55174442c5 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -9981,6 +9981,7 @@ extern const u32 gBattleAnimBgTilemap_GigaImpactPlayer[]; extern const u32 gBattleAnimBgTilemap_GigaImpactOpponent[]; extern const u32 gBattleAnimBgTilemap_GigaImpactContest[]; extern const u32 gBattleAnimBgImage_GigaImpact[]; +extern const u32 gBattleAnimBgImage_GigaImpactContest[]; extern const u32 gBattleAnimBgPalette_GigaImpact[]; extern const u32 gBattleAnimBgImage_SpacialRend[]; extern const u32 gBattleAnimBgPalette_SpacialRend[]; diff --git a/include/intro.h b/include/intro.h index 8ba030a287..1c89c65952 100644 --- a/include/intro.h +++ b/include/intro.h @@ -9,5 +9,8 @@ void CB2_InitCopyrightScreenAfterBootup(void); void CB2_InitCopyrightScreenAfterTitleScreen(void); void PanFadeAndZoomScreen(u16, u16, u16, u16); +void MainCB2_Intro(void); +void Task_Scene1_Load(u8); + #endif // GUARD_INTRO_H diff --git a/include/pokemon.h b/include/pokemon.h index b7c9d6ad00..e0f3498e09 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -294,7 +294,7 @@ struct BattlePokemon /*0x59*/ u8 metLevel; }; -struct SpeciesInfo +struct SpeciesInfo /*0x24*/ { /* 0x00 */ u8 baseHP; /* 0x01 */ u8 baseAttack; @@ -304,25 +304,26 @@ struct SpeciesInfo /* 0x05 */ u8 baseSpDefense; /* 0x06 */ u8 types[2]; /* 0x08 */ u8 catchRate; - /* 0x09 */ u16 expYield; - /* 0x0A */ u16 evYield_HP:2; - /* 0x0A */ u16 evYield_Attack:2; - /* 0x0A */ u16 evYield_Defense:2; - /* 0x0A */ u16 evYield_Speed:2; - /* 0x0B */ u16 evYield_SpAttack:2; - /* 0x0B */ u16 evYield_SpDefense:2; - /* 0x0C */ u16 itemCommon; - /* 0x0E */ u16 itemRare; - /* 0x10 */ u8 genderRatio; - /* 0x11 */ u8 eggCycles; - /* 0x12 */ u8 friendship; - /* 0x13 */ u8 growthRate; - /* 0x14 */ u8 eggGroups[2]; - /* 0x16 */ u16 abilities[NUM_ABILITY_SLOTS]; - /* 0x19 */ u8 safariZoneFleeRate; - /* 0x1A */ u8 bodyColor : 7; + /* 0x09 padding */ + /* 0x0A */ u16 expYield; // expYield was changed from u8 to u16 for the new Exp System. + /* 0x0C */ u16 evYield_HP:2; + u16 evYield_Attack:2; + u16 evYield_Defense:2; + u16 evYield_Speed:2; + /* 0x0D */ u16 evYield_SpAttack:2; + u16 evYield_SpDefense:2; + /* 0x0E */ u16 itemCommon; + /* 0x10 */ u16 itemRare; + /* 0x12 */ u8 genderRatio; + /* 0x13 */ u8 eggCycles; + /* 0x14 */ u8 friendship; + /* 0x15 */ u8 growthRate; + /* 0x16 */ u8 eggGroups[2]; + /* 0x18 */ u16 abilities[NUM_ABILITY_SLOTS]; // 3 abilities, no longer u8 because we have over 255 abilities now. + /* 0x1E */ u8 safariZoneFleeRate; + /* 0x1F */ u8 bodyColor : 7; u8 noFlip : 1; - /* 0x1B */ u16 flags; + /* 0x20 */ u16 flags; }; struct BattleMove diff --git a/ld_script.txt b/ld_script.txt index 4c3085f595..dcce51a0f7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -343,6 +343,7 @@ SECTIONS { src/battle_transition_frontier.o(.text); src/international_string_util.o(.text); src/pokemon_debug.o(.text); + src/expansion_intro.o(.text); } =0 script_data : @@ -709,6 +710,7 @@ SECTIONS { src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); src/pokemon_debug.o(.rodata); + src/expansion_intro.o(.rodata); } =0 song_data : diff --git a/make_tools.mk b/make_tools.mk index 36dbe8c90c..5a5291b77b 100644 --- a/make_tools.mk +++ b/make_tools.mk @@ -1,7 +1,6 @@ - MAKEFLAGS += --no-print-directory -TOOLDIRS := $(filter-out tools/mgba tools/agbcc tools/binutils,$(wildcard tools/*)) +TOOLDIRS := tools/aif2pcm tools/bin2c tools/gbafix tools/gbagfx tools/jsonproc tools/mapjson tools/mid2agb tools/preproc tools/ramscrgen tools/rsfont tools/scaninc .PHONY: all $(TOOLDIRS) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 2cdf4ab66e..8c1bef34ed 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2427,6 +2427,13 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) break; } break; + case EFFECT_HEAL_PULSE: // and floral healing + if (!IsTargetingPartner(battlerAtk, battlerDef)) // Don't heal enemies + { + score -= 10; + break; + } + // fallthrough case EFFECT_HIT_ENEMY_HEAL_ALLY: // pollen puff if (IsTargetingPartner(battlerAtk, battlerDef)) { @@ -2436,20 +2443,6 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) score -= 10; else if (gBattleMons[battlerDef].hp > gBattleMons[battlerDef].maxHP / 2) score -= 5; - break; - } - // fallthrough - case EFFECT_HEAL_PULSE: // and floral healing - if (!IsTargetingPartner(battlerAtk, battlerDef)) // Don't heal enemies - { - score -= 10; - } - else - { - if (AtMaxHp(battlerDef)) - score -= 10; - else if (gBattleMons[battlerDef].hp > gBattleMons[battlerDef].maxHP / 2) - score -= 5; } break; case EFFECT_ELECTRIFY: @@ -3009,6 +3002,13 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) RETURN_SCORE_PLUS(1); } break; + case EFFECT_HEAL_PULSE: + case EFFECT_HIT_ENEMY_HEAL_ALLY: + if (AI_WhoStrikesFirst(battlerAtk, FOE(battlerAtk), move) == AI_IS_FASTER + && AI_WhoStrikesFirst(battlerAtk, BATTLE_PARTNER(FOE(battlerAtk)), move) == AI_IS_FASTER + && gBattleMons[battlerAtkPartner].hp < gBattleMons[battlerAtkPartner].maxHP / 2) + RETURN_SCORE_PLUS(1); + break; } // attacker move effects } // check partner protecting diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 5bcd17716e..0ae1c8a9af 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -205,7 +205,7 @@ static bool8 FindMonThatAbsorbsOpponentsMove(void) if (AI_THINKING_STRUCT->aiFlags & AI_FLAG_ACE_POKEMON && i == (CalculateEnemyPartyCount()-1)) continue; - + species = GetMonData(&party[i], MON_DATA_SPECIES); if (GetMonData(&party[i], MON_DATA_ABILITY_NUM) != 0) diff --git a/src/battle_anim_ice.c b/src/battle_anim_ice.c index 3712fb7271..44c1a4f22c 100644 --- a/src/battle_anim_ice.c +++ b/src/battle_anim_ice.c @@ -1289,6 +1289,18 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite) sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + +#if B_UPDATED_MOVE_DATA >= GEN_5 + { + s16 x, y; + SetAverageBattlerPositions(gBattleAnimTarget, gBattleAnimArgs[7], &x, &y); + sprite->data[1] = sprite->x + gBattleAnimArgs[1]; + sprite->data[2] = x + gBattleAnimArgs[3]; + sprite->data[3] = sprite->y + gBattleAnimArgs[2]; + sprite->data[4] = y + gBattleAnimArgs[4]; + sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; + } +#else if (gBattleAnimArgs[7]) { sprite->data[1] = sprite->x + gBattleAnimArgs[1]; @@ -1305,6 +1317,7 @@ static void InitPoisonGasCloudAnim(struct Sprite *sprite) sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[4]; sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8; } +#endif if (IsContest()) { @@ -1333,8 +1346,14 @@ static void MovePoisonGasCloud(struct Sprite *sprite) if (sprite->data[0] <= 0) { + #if B_UPDATED_MOVE_DATA >= GEN_5 + s16 x, y; + SetAverageBattlerPositions(gBattleAnimTarget, 0, &x, &y); + sprite->x = x; + #else + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + #endif sprite->data[0] = 80; - sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); sprite->data[1] = sprite->x; sprite->data[2] = sprite->x; sprite->y += sprite->y2; diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index a57bd2995b..82a9d7b7a9 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -882,6 +882,7 @@ static void HandleMoveSwitching(void) if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) { + struct ChooseMoveStruct *moveInfo = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); PlaySE(SE_SELECT); if (gMoveSelectionCursor[gActiveBattler] != gMultiUsePlayerCursor) @@ -973,6 +974,7 @@ static void HandleMoveSwitching(void) MoveSelectionDisplayPpString(); MoveSelectionDisplayPpNumber(); MoveSelectionDisplayMoveType(); + GetUsableZMoves(gActiveBattler, moveInfo->moves); } else if (JOY_NEW(B_BUTTON | SELECT_BUTTON)) { @@ -2917,7 +2919,7 @@ static void PlayerHandleChoosePokemon(void) *(&gBattleStruct->battlerPreventingSwitchout) = gBattleResources->bufferA[gActiveBattler][1] >> 4; *(&gBattleStruct->prevSelectedPartySlot) = gBattleResources->bufferA[gActiveBattler][2]; *(&gBattleStruct->abilityPreventingSwitchout) = (gBattleResources->bufferA[gActiveBattler][3] & 0xFF) | (gBattleResources->bufferA[gActiveBattler][7] << 8); - BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); gBattlerControllerFuncs[gActiveBattler] = OpenPartyMenuToChooseMon; gBattlerInMenuId = gActiveBattler; } diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 193452613b..389832fb20 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -557,6 +557,9 @@ static void BattleLoadMonSpriteGfx(struct Pokemon *mon, u32 battlerId, bool32 op if (illusionMon != NULL) mon = illusionMon; + if (GetMonData(mon, MON_DATA_IS_EGG)) // Don't load GFX of egg pokemon. + return; + monsPersonality = GetMonData(mon, MON_DATA_PERSONALITY); if (gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies == SPECIES_NONE) { diff --git a/src/battle_main.c b/src/battle_main.c index 6bf6807725..b0d5e4658a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3112,7 +3112,6 @@ void SwitchInClearSetData(void) gDisableStructs[gActiveBattler].substituteHP = disableStructCopy.substituteHP; gDisableStructs[gActiveBattler].battlerWithSureHit = disableStructCopy.battlerWithSureHit; gDisableStructs[gActiveBattler].perishSongTimer = disableStructCopy.perishSongTimer; - gDisableStructs[gActiveBattler].perishSongTimerStartValue = disableStructCopy.perishSongTimerStartValue; gDisableStructs[gActiveBattler].battlerPreventingEscape = disableStructCopy.battlerPreventingEscape; } @@ -3642,7 +3641,7 @@ static void TryDoEventsBeforeFirstTurn(void) { for (i = 0; i < gBattlersCount; i++) { - if (gBattleMons[i].hp == 0 || gBattleMons[i].species == SPECIES_NONE) + if (gBattleMons[i].hp == 0 || gBattleMons[i].species == SPECIES_NONE || GetMonData(GetBattlerPartyData(i), MON_DATA_IS_EGG)) gAbsentBattlerFlags |= gBitTable[i]; } } diff --git a/src/battle_message.c b/src/battle_message.c index 34542e58d2..e6344d733c 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -306,6 +306,7 @@ static const u8 sText_PreventedFromWorking[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_ static const u8 sText_PkmnsXMadeItIneffective[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!"); static const u8 sText_PkmnsXPreventsFlinching[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!"); static const u8 sText_PkmnsXPreventsYsZ[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); +static const u8 sText_PkmnsAbilityPreventsAbility[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); static const u8 sText_PkmnsXCuredItsYProblem[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); static const u8 sText_PkmnsXHadNoEffectOnY[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!"); const u8 gText_StatSharply[] = _("sharply "); @@ -1402,6 +1403,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh, [STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy, [STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType, + [STRINGID_PKMNSABILITYPREVENTSABILITY - BATTLESTRINGS_TABLE_START] = sText_PkmnsAbilityPreventsAbility, }; const u16 gZEffectStringIds[] = @@ -1592,7 +1594,6 @@ const u16 gUproarAwakeStringIds[] = { [B_MSG_CANT_SLEEP_UPROAR] = STRINGID_PKMNCANTSLEEPINUPROAR2, [B_MSG_UPROAR_KEPT_AWAKE] = STRINGID_UPROARKEPTPKMNAWAKE, - [B_MSG_STAYED_AWAKE_USING] = STRINGID_PKMNSTAYEDAWAKEUSING, }; const u16 gStatUpStringIds[] = @@ -3912,8 +3913,13 @@ void SetPpNumbersPaletteInMoveSelection(void) { struct ChooseMoveStruct *chooseMoveStruct = (struct ChooseMoveStruct *)(&gBattleResources->bufferA[gActiveBattler][4]); const u16 *palPtr = gPPTextPalette; - u8 var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], + u8 var; + + if (!gBattleStruct->zmove.viewing) + var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], chooseMoveStruct->maxPp[gMoveSelectionCursor[gActiveBattler]]); + else + var = GetCurrentPpToMaxPpState(chooseMoveStruct->currentPp[gMoveSelectionCursor[gActiveBattler]], gBattleMoves[gMoveSelectionCursor[gActiveBattler]].pp); gPlttBufferUnfaded[92] = palPtr[(var * 2) + 0]; gPlttBufferUnfaded[91] = palPtr[(var * 2) + 1]; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d032f4da57..a8bce085f5 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -318,6 +318,7 @@ static void SpriteCB_MonIconOnLvlUpBanner(struct Sprite *sprite); static bool32 CriticalCapture(u32 odds); static void BestowItem(u32 battlerAtk, u32 battlerDef); static bool8 IsFinalStrikeEffect(u16 move); +static void TryUpdateRoundTurnOrder(void); static void Cmd_attackcanceler(void); static void Cmd_accuracycheck(void); @@ -451,7 +452,7 @@ static void Cmd_manipulatedamage(void); static void Cmd_trysetrest(void); static void Cmd_jumpifnotfirstturn(void); static void Cmd_setmiracleeye(void); -static void Cmd_jumpifcantmakeasleep(void); +static void Cmd_jumpifuproarwakes(void); static void Cmd_stockpile(void); static void Cmd_stockpiletobasedamage(void); static void Cmd_stockpiletohpheal(void); @@ -710,7 +711,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_trysetrest, //0x81 Cmd_jumpifnotfirstturn, //0x82 Cmd_setmiracleeye, //0x83 - Cmd_jumpifcantmakeasleep, //0x84 + Cmd_jumpifuproarwakes, //0x84 Cmd_stockpile, //0x85 Cmd_stockpiletobasedamage, //0x86 Cmd_stockpiletohpheal, //0x87 @@ -2790,7 +2791,7 @@ void SetMoveEffect(bool32 primary, u32 certain) u32 flags = 0; u16 battlerAbility; - if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_1ST_HIT && gBattleMons[gBattlerTarget].hp != 0 && IsFinalStrikeEffect(gCurrentMove)) { @@ -2825,7 +2826,7 @@ void SetMoveEffect(bool32 primary, u32 certain) // Just in case this flag is still set gBattleScripting.moveEffect &= ~MOVE_EFFECT_CERTAIN; - + if ((battlerAbility == ABILITY_SHIELD_DUST || GetBattlerHoldEffect(gEffectBattler, TRUE) == HOLD_EFFECT_COVERT_CLOAK) && !(gHitMarker & HITMARKER_IGNORE_SAFEGUARD) @@ -3634,7 +3635,7 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_BothCanNoLongerEscape; } - if (!gBattleMons[gBattlerTarget].status2 & STATUS2_ESCAPE_PREVENTION) + if (!(gBattleMons[gBattlerTarget].status2 & STATUS2_ESCAPE_PREVENTION)) gDisableStructs[gBattlerTarget].battlerPreventingEscape = gBattlerAttacker; if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_ESCAPE_PREVENTION)) @@ -3660,6 +3661,10 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_DoubleShockRemoveType; break; + case MOVE_EFFECT_ROUND: + TryUpdateRoundTurnOrder(); // If another Pokémon uses Round before the user this turn, the user will use Round directly after it + gBattlescriptCurrInstr++; + break; } } } @@ -4036,6 +4041,8 @@ static void Cmd_getexp(void) { if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE || GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) continue; + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG)) + continue; if (gBitTable[i] & sentIn) viaSentIn++; @@ -4125,7 +4132,8 @@ static void Cmd_getexp(void) gBattleStruct->wildVictorySong++; } - if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP)) + if (GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_HP) + && !GetMonData(&gPlayerParty[gBattleStruct->expGetterMonId], MON_DATA_IS_EGG)) { if (gBattleStruct->sentInPokes & 1) gBattleMoveDamage = *exp; @@ -5741,8 +5749,7 @@ static void Cmd_moveend(void) break; } case MOVEEND_EJECT_BUTTON: - if (gCurrentMove != MOVE_DRAGON_TAIL - && gCurrentMove != MOVE_CIRCLE_THROW + if (gBattleMoves[gCurrentMove].effect != EFFECT_HIT_SWITCH_TARGET && IsBattlerAlive(gBattlerAttacker) && !TestSheerForceFlag(gBattlerAttacker, gCurrentMove) && (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER || (gBattleTypeFlags & BATTLE_TYPE_TRAINER))) @@ -5775,8 +5782,7 @@ static void Cmd_moveend(void) gBattleScripting.moveendState++; break; case MOVEEND_RED_CARD: - if (gCurrentMove != MOVE_DRAGON_TAIL - && gCurrentMove != MOVE_CIRCLE_THROW + if (gBattleMoves[gCurrentMove].effect != EFFECT_HIT_SWITCH_TARGET && IsBattlerAlive(gBattlerAttacker) && !TestSheerForceFlag(gBattlerAttacker, gCurrentMove) && GetBattlerAbility(gBattlerAttacker) != ABILITY_GUARD_DOG) @@ -8325,9 +8331,14 @@ static void Cmd_various(void) return; case VARIOUS_JUMP_IF_SHIELDS_DOWN_PROTECTED: if (IsShieldsDownProtected(gActiveBattler)) + { + gBattlerAbility = gActiveBattler; gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + } else + { gBattlescriptCurrInstr += 7; + } return; case VARIOUS_JUMP_IF_NO_HOLD_EFFECT: if (GetBattlerHoldEffect(gActiveBattler, TRUE) != gBattlescriptCurrInstr[3]) @@ -9316,7 +9327,7 @@ static void Cmd_various(void) gBattleCommunication[MULTISTRING_CHOOSER] = 3; else if ((gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP) && CanSleep(gBattlerTarget)) gBattleCommunication[MULTISTRING_CHOOSER] = 4; - else + else { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); return; @@ -9803,8 +9814,10 @@ static void Cmd_various(void) case VARIOUS_TRY_ACTIVATE_BATTLE_BOND: if (gBattleMons[gBattlerAttacker].species == SPECIES_GRENINJA_BATTLE_BOND && HasAttackerFaintedTarget() - && CalculateEnemyPartyCount() > 1) + && CalculateEnemyPartyCount() > 1 + && !(gBattleStruct->battleBondTransformed[GET_BATTLER_SIDE2(gBattlerAttacker)] & gBitTable[gBattlerPartyIndexes[gBattlerAttacker]])) { + gBattleStruct->battleBondTransformed[GET_BATTLER_SIDE2(gBattlerAttacker)] |= gBitTable[gBattlerPartyIndexes[gBattlerAttacker]]; PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerAttacker].species); gBattleStruct->changedSpecies[gBattlerPartyIndexes[gBattlerAttacker]] = gBattleMons[gBattlerAttacker].species; gBattleMons[gBattlerAttacker].species = SPECIES_GRENINJA_ASH; @@ -9819,10 +9832,10 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 4; return; } - + if (gBattlescriptCurrInstr[3]) gLastUsedItem = gBattleMons[gActiveBattler].item; - + gBattleScripting.battler = gEffectBattler = gBattlerTarget = gActiveBattler; // Cover all berry effect battlerId cases. e.g. ChangeStatBuffs uses target ID if (ItemBattleEffects(ITEMEFFECT_USE_LAST_ITEM, gActiveBattler, FALSE)) return; @@ -10012,7 +10025,7 @@ static void Cmd_various(void) // Check taunt if (gDisableStructs[gActiveBattler].tauntTimer != 0) { - gDisableStructs[gActiveBattler].tauntTimer = gDisableStructs[gActiveBattler].tauntTimer2 = 0; + gDisableStructs[gActiveBattler].tauntTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TAUNT; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_TAUNT); } @@ -10020,7 +10033,7 @@ static void Cmd_various(void) if (gDisableStructs[gActiveBattler].encoreTimer != 0) { gDisableStructs[gActiveBattler].encoredMove = 0; - gDisableStructs[gActiveBattler].encoreTimerStartValue = gDisableStructs[gActiveBattler].encoreTimer = 0; + gDisableStructs[gActiveBattler].encoreTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_ENCORE; // STRINGID_PKMNENCOREENDED } // Check torment @@ -10038,7 +10051,7 @@ static void Cmd_various(void) // Check disable if (gDisableStructs[gActiveBattler].disableTimer != 0) { - gDisableStructs[gActiveBattler].disableTimer = gDisableStructs[gActiveBattler].disableTimerStartValue = 0; + gDisableStructs[gActiveBattler].disableTimer = 0; gDisableStructs[gActiveBattler].disabledMove = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_DISABLE; } @@ -10641,26 +10654,12 @@ bool8 UproarWakeUpCheck(u8 battlerId) return TRUE; } -static void Cmd_jumpifcantmakeasleep(void) +static void Cmd_jumpifuproarwakes(void) { - const u8 *jumpPtr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - u32 ability = GetBattlerAbility(gBattlerTarget); - if (UproarWakeUpCheck(gBattlerTarget)) - { - gBattlescriptCurrInstr = jumpPtr; - } - else if (ability == ABILITY_INSOMNIA || ability == ABILITY_VITAL_SPIRIT) - { - gLastUsedAbility = ability; - gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_STAYED_AWAKE_USING; - gBattlescriptCurrInstr = jumpPtr; - RecordAbilityBattle(gBattlerTarget, gLastUsedAbility); - } + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); else - { gBattlescriptCurrInstr += 5; - } } static void Cmd_stockpile(void) @@ -10840,8 +10839,9 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr bool32 certain = FALSE; bool32 notProtectAffected = FALSE; u32 index; - bool32 affectsUser = (flags & MOVE_EFFECT_AFFECTS_USER); u16 activeBattlerAbility; + bool32 affectsUser = (flags & MOVE_EFFECT_AFFECTS_USER); + bool32 mirrorArmored = (flags & STAT_CHANGE_MIRROR_ARMOR); if (affectsUser) gActiveBattler = gBattlerAttacker; @@ -10852,10 +10852,10 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr gSpecialStatuses[gActiveBattler].changedStatsBattlerId = gBattlerAttacker; - flags &= ~MOVE_EFFECT_AFFECTS_USER; + flags &= ~(MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_MIRROR_ARMOR); if (flags & MOVE_EFFECT_CERTAIN) - certain++; + certain = TRUE; flags &= ~MOVE_EFFECT_CERTAIN; if (flags & STAT_CHANGE_NOT_PROTECT_AFFECTED) @@ -10911,13 +10911,13 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr || activeBattlerAbility == ABILITY_CLEAR_BODY || activeBattlerAbility == ABILITY_FULL_METAL_BODY || activeBattlerAbility == ABILITY_WHITE_SMOKE) - && !affectsUser && !certain && gCurrentMove != MOVE_CURSE) + && (!affectsUser || mirrorArmored) && !certain && gCurrentMove != MOVE_CURSE) { if (GetBattlerHoldEffect(gActiveBattler, TRUE) == HOLD_EFFECT_CLEAR_AMULET) { RecordItemEffectBattle(gActiveBattler, HOLD_EFFECT_CLEAR_AMULET); } - + if (flags == STAT_CHANGE_ALLOW_PTR) { if (gSpecialStatuses[gActiveBattler].statLowered) @@ -10973,7 +10973,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr } return STAT_CHANGE_DIDNT_WORK; } - else if (activeBattlerAbility == ABILITY_MIRROR_ARMOR && !affectsUser && gBattlerAttacker != gBattlerTarget && gActiveBattler == gBattlerTarget) + else if (activeBattlerAbility == ABILITY_MIRROR_ARMOR && !affectsUser && !mirrorArmored && gBattlerAttacker != gBattlerTarget && gActiveBattler == gBattlerTarget) { if (flags == STAT_CHANGE_ALLOW_PTR) { @@ -11844,7 +11844,7 @@ static void Cmd_transformdataexecution(void) for (i = 0; i < offsetof(struct BattlePokemon, pp); i++) battleMonAttacker[i] = battleMonTarget[i]; - + gBattleStruct->overwrittenAbilities[gBattlerAttacker] = GetBattlerAbility(gBattlerTarget); for (i = 0; i < MAX_MON_MOVES; i++) { @@ -12052,7 +12052,6 @@ static void Cmd_disablelastusedattack(void) #else gDisableStructs[gBattlerTarget].disableTimer = 4; #endif - gDisableStructs[gBattlerTarget].disableTimerStartValue = gDisableStructs[gBattlerTarget].disableTimer; // used to save the random amount of turns? gBattlescriptCurrInstr += 5; } else @@ -12087,7 +12086,7 @@ static void Cmd_trysetencore(void) gDisableStructs[gBattlerTarget].encoredMove = gBattleMons[gBattlerTarget].moves[i]; gDisableStructs[gBattlerTarget].encoredMovePos = i; gDisableStructs[gBattlerTarget].encoreTimer = 3; - gDisableStructs[gBattlerTarget].encoreTimerStartValue = gDisableStructs[gBattlerTarget].encoreTimer; + gDisableStructs[gBattlerTarget].encoreTimer; gBattlescriptCurrInstr += 5; } else @@ -12562,7 +12561,6 @@ static void Cmd_trysetperishsong(void) { gStatuses3[i] |= STATUS3_PERISH_SONG; gDisableStructs[i].perishSongTimer = 3; - gDisableStructs[i].perishSongTimerStartValue = 3; } } @@ -13147,7 +13145,6 @@ static void Cmd_setcharge(void) { gStatuses3[gBattlerAttacker] |= STATUS3_CHARGED_UP; gDisableStructs[gBattlerAttacker].chargeTimer = 2; - gDisableStructs[gBattlerAttacker].chargeTimerStartValue = 2; gBattlescriptCurrInstr++; } @@ -13237,7 +13234,7 @@ static void Cmd_settaunt(void) u8 turns = 2; #endif - gDisableStructs[gBattlerTarget].tauntTimer = gDisableStructs[gBattlerTarget].tauntTimer2 = turns; + gDisableStructs[gBattlerTarget].tauntTimer = turns; gBattlescriptCurrInstr += 5; } else @@ -14969,7 +14966,7 @@ void BS_JumpIfHoldEffect(void) { u8 battler = gBattlescriptCurrInstr[5]; u16 holdEffect = T1_READ_16(gBattlescriptCurrInstr + 6); - + if (GetBattlerHoldEffect(battler, TRUE) == holdEffect) { gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 8); @@ -15017,7 +15014,7 @@ static bool32 CriticalCapture(u32 odds) bool8 IsMoveAffectedByParentalBond(u16 move, u8 battlerId) { - if (gBattleMoves[move].split != SPLIT_STATUS + if (gBattleMoves[move].split != SPLIT_STATUS && !(sForbiddenMoves[move] & FORBIDDEN_PARENTAL_BOND)) { if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) @@ -15055,3 +15052,51 @@ static bool8 IsFinalStrikeEffect(u16 move) } return FALSE; } + +static void TryUpdateRoundTurnOrder(void) +{ + if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) + { + u32 i; + u32 j = 0; + u32 k = 0; + u32 currRounder; + u8 roundUsers[3] = {0xFF, 0xFF, 0xFF}; + u8 nonRoundUsers[3] = {0xFF, 0xFF, 0xFF}; + for (i = 0; i < gBattlersCount; i++) + { + if (gBattlerByTurnOrder[i] == gBattlerAttacker) + { + currRounder = i + 1; // Current battler going after attacker + break; + } + } + + // Get battlers after us using round + for (i = currRounder; i < gBattlersCount; i++) + { + if (gChosenMoveByBattler[gBattlerByTurnOrder[i]] == MOVE_ROUND) + roundUsers[j++] = gBattlerByTurnOrder[i]; + else + nonRoundUsers[k++] = gBattlerByTurnOrder[i]; + } + + // update turn order for round users + for (i = 0; roundUsers[i] != 0xFF && i < 3; i++) + { + gBattlerByTurnOrder[currRounder] = roundUsers[i]; + gActionsByTurnOrder[currRounder] = gActionsByTurnOrder[roundUsers[i]]; + gProtectStructs[roundUsers[i]].quash = TRUE; // Make it so their turn order can't be changed again + currRounder++; + } + + // Update turn order for non-round users + for (i = 0; nonRoundUsers[i] != 0xFF && i < 3; i++) + { + gBattlerByTurnOrder[currRounder] = nonRoundUsers[i]; + gActionsByTurnOrder[currRounder] = gActionsByTurnOrder[nonRoundUsers[i]]; + currRounder++; + } + } +} + diff --git a/src/battle_util.c b/src/battle_util.c index 6d3d816780..72aa7df8bd 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -259,7 +259,7 @@ bool32 IsAffectedByFollowMe(u32 battlerAtk, u32 defSide, u32 move) void HandleAction_UseMove(void) { u32 i, side, moveType, var = 4; - u16 moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); + u16 moveTarget; gBattlerAttacker = gBattlerByTurnOrder[gCurrentTurnActionNumber]; if (gBattleStruct->absentBattlerFlags & gBitTable[gBattlerAttacker] || !IsBattlerAlive(gBattlerAttacker)) @@ -323,6 +323,8 @@ void HandleAction_UseMove(void) { gCurrentMove = gBattleStruct->zmove.toBeUsed[gBattlerAttacker]; } + + moveTarget = GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove); if (gBattleMons[gBattlerAttacker].hp != 0) { @@ -346,7 +348,7 @@ void HandleAction_UseMove(void) } else if ((gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && gSideTimers[side].followmeTimer == 0 - && (gBattleMoves[gCurrentMove].power != 0 || moveTarget != MOVE_TARGET_USER) + && (gBattleMoves[gCurrentMove].power != 0 || (moveTarget != MOVE_TARGET_USER && moveTarget != MOVE_TARGET_ALL_BATTLERS)) && ((GetBattlerAbility(*(gBattleStruct->moveTarget + gBattlerAttacker)) != ABILITY_LIGHTNING_ROD && moveType == TYPE_ELECTRIC) || (GetBattlerAbility(*(gBattleStruct->moveTarget + gBattlerAttacker)) != ABILITY_STORM_DRAIN && moveType == TYPE_WATER))) { @@ -944,6 +946,10 @@ void HandleAction_ActionFinished(void) { u8 battler1 = gBattlerByTurnOrder[i]; u8 battler2 = gBattlerByTurnOrder[j]; + + if (gProtectStructs[battler1].quash || gProtectStructs[battler2].quash) + continue; + // We recalculate order only for action of the same priority. If any action other than switch/move has been taken, they should // have been executed before. The only recalculation needed is for moves/switch. Mega evolution is handled in src/battle_main.c/TryChangeOrder if((gActionsByTurnOrder[i] == B_ACTION_USE_MOVE && gActionsByTurnOrder[j] == B_ACTION_USE_MOVE)) @@ -2141,7 +2147,9 @@ u8 DoFieldEndTurnEffects(void) s32 j; for (j = i + 1; j < gBattlersCount; j++) { - if (GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], FALSE)) + if (!gProtectStructs[i].quash + && !gProtectStructs[j].quash + && GetWhoStrikesFirst(gBattlerByTurnOrder[i], gBattlerByTurnOrder[j], FALSE)) SwapTurnOrder(i, j); } } @@ -3814,7 +3822,7 @@ u8 AtkCanceller_UnableToUseMove(void) { SetRandomMultiHitCounter(); } - + PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } else if (gBattleMoves[gCurrentMove].flags & FLAG_TWO_STRIKES) @@ -3841,7 +3849,7 @@ u8 AtkCanceller_UnableToUseMove(void) party = gPlayerParty; else party = gEnemyParty; - + for (i = 0; i < PARTY_SIZE; i++) { if (GetMonData(&party[i], MON_DATA_HP) @@ -5430,7 +5438,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move RecordItemEffectBattle(gBattlerAttacker, HOLD_EFFECT_ABILITY_SHIELD); break; } - + gLastUsedAbility = gBattleMons[gBattlerAttacker].ability; gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; gBattleMons[gBattlerTarget].ability = gBattleStruct->overwrittenAbilities[gBattlerTarget] = gLastUsedAbility; @@ -5509,17 +5517,26 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_AFTERMATH: - if (!IsAbilityOnField(ABILITY_DAMP) - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && gBattleMons[gBattlerTarget].hp == 0 && IsBattlerAlive(gBattlerAttacker) && IsMoveMakingContact(move, gBattlerAttacker)) { - gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; - if (gBattleMoveDamage == 0) - gBattleMoveDamage = 1; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_AftermathDmg; + u8 battler; + if ((battler = IsAbilityOnField(ABILITY_DAMP))) + { + gBattleScripting.battler = battler - 1; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_DampPreventsAftermath; + } + else + { + gBattleMoveDamage = gBattleMons[gBattlerAttacker].maxHP / 4; + if (gBattleMoveDamage == 0) + gBattleMoveDamage = 1; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_AftermathDmg; + } effect++; } break; @@ -5701,11 +5718,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move { gStatuses3[battler] |= STATUS3_PERISH_SONG; gDisableStructs[battler].perishSongTimer = 3; - gDisableStructs[battler].perishSongTimerStartValue = 3; } gStatuses3[gBattlerAttacker] |= STATUS3_PERISH_SONG; gDisableStructs[gBattlerAttacker].perishSongTimer = 3; - gDisableStructs[gBattlerAttacker].perishSongTimerStartValue = 3; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_PerishBodyActivates; effect++; @@ -6756,7 +6771,7 @@ static bool32 GetMentalHerbEffect(u8 battlerId) // Check taunt if (gDisableStructs[battlerId].tauntTimer != 0) { - gDisableStructs[battlerId].tauntTimer = gDisableStructs[battlerId].tauntTimer2 = 0; + gDisableStructs[battlerId].tauntTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_TAUNT; PREPARE_MOVE_BUFFER(gBattleTextBuff1, MOVE_TAUNT); ret = TRUE; @@ -6765,7 +6780,7 @@ static bool32 GetMentalHerbEffect(u8 battlerId) if (gDisableStructs[battlerId].encoreTimer != 0) { gDisableStructs[battlerId].encoredMove = 0; - gDisableStructs[battlerId].encoreTimerStartValue = gDisableStructs[battlerId].encoreTimer = 0; + gDisableStructs[battlerId].encoreTimer = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_ENCORE; // STRINGID_PKMNENCOREENDED ret = TRUE; } @@ -6786,7 +6801,7 @@ static bool32 GetMentalHerbEffect(u8 battlerId) // Check disable if (gDisableStructs[battlerId].disableTimer != 0) { - gDisableStructs[battlerId].disableTimer = gDisableStructs[battlerId].disableTimerStartValue = 0; + gDisableStructs[battlerId].disableTimer = 0; gDisableStructs[battlerId].disabledMove = 0; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_MENTALHERBCURE_DISABLE; ret = TRUE; @@ -6799,7 +6814,7 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) { u8 effect = 0; u32 i; - + switch (holdEffect) { #if B_HP_BERRIES >= GEN_4 @@ -6968,7 +6983,7 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) && !(gBattleMons[battlerId].status2 & STATUS2_FOCUS_ENERGY) && HasEnoughHpToEatBerry(battlerId, GetBattlerItemHoldEffectParam(battlerId, gLastUsedItem), gLastUsedItem)) { - gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; + gBattleMons[battlerId].status2 |= STATUS2_FOCUS_ENERGY; gBattleScripting.battler = battlerId; gPotentialItemEffectBattler = battlerId; BattleScriptPushCursor(); @@ -6977,7 +6992,7 @@ static u8 ItemEffectMoveEnd(u32 battlerId, u16 holdEffect) } break; } - + return effect; } @@ -6994,7 +7009,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn) gLastUsedItem = gBattleMons[battlerId].item; battlerHoldEffect = GetBattlerHoldEffect(battlerId, TRUE); } - + atkItem = gBattleMons[gBattlerAttacker].item; atkHoldEffect = GetBattlerHoldEffect(gBattlerAttacker, TRUE); atkHoldEffectParam = GetBattlerHoldEffectParam(gBattlerAttacker); @@ -8125,7 +8140,7 @@ u32 GetBattlerHoldEffect(u8 battlerId, bool32 checkNegating) return ItemId_GetHoldEffect(gBattleMons[battlerId].item); } -// +// static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item) { if (item == ITEM_ENIGMA_BERRY) @@ -8175,7 +8190,7 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move) else if (gProtectStructs[battlerId].protected) return FALSE; } - + if (move == MOVE_TEATIME) { return FALSE; @@ -8623,8 +8638,14 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower *= 2; break; case EFFECT_ROUND: - if (gChosenMoveByBattler[BATTLE_PARTNER(battlerAtk)] == MOVE_ROUND && !(gAbsentBattlerFlags & gBitTable[BATTLE_PARTNER(battlerAtk)])) - basePower *= 2; + for (i = 0; i < gBattlersCount; i++) + { + if (i != battlerAtk && IsBattlerAlive(i) && gLastMoves[i] == MOVE_ROUND) + { + basePower *= 2; + break; + } + } break; case EFFECT_FUSION_COMBO: if (gBattleMoves[gLastUsedMove].effect == EFFECT_FUSION_COMBO && move != gLastUsedMove) diff --git a/src/battle_z_move.c b/src/battle_z_move.c index 2eccd82f52..bdbf5674c8 100644 --- a/src/battle_z_move.c +++ b/src/battle_z_move.c @@ -50,7 +50,7 @@ static u16 GetSignatureZMove(u16 move, u16 species, u16 item); static u16 GetTypeBasedZMove(u16 move, u8 battler); static void ZMoveSelectionDisplayPpNumber(void); static void ZMoveSelectionDisplayPower(u16 move, u16 zMove); -static void ShowZMoveTriggerSprite(void); +static void ShowZMoveTriggerSprite(u8 battleId); static bool32 AreStatsMaxed(u8 battlerId, u8 n); static u8 GetZMoveScore(u8 battlerAtk, u8 battlerDef, u16 baseMove, u16 zMove); static void ZMoveSelectionDisplayMoveType(u16 zMove); @@ -258,7 +258,7 @@ bool32 TryChangeZIndicator(u8 battlerId, u8 moveIndex) if (gBattleStruct->zmove.viable && !viableZMove) HideZMoveTriggerSprite(); // Was a viable z move, now is not -> slide out else if (!gBattleStruct->zmove.viable && viableZMove) - ShowZMoveTriggerSprite(); // Was not a viable z move, now is -> slide back in + ShowZMoveTriggerSprite(battlerId); // Was not a viable z move, now is -> slide back in } #define SINGLES_Z_TRIGGER_POS_X_OPTIMAL (29) @@ -368,11 +368,11 @@ void HideZMoveTriggerSprite(void) gBattleStruct->zmove.viable = FALSE; } -static void ShowZMoveTriggerSprite(void) +static void ShowZMoveTriggerSprite(u8 battlerId) { struct Sprite *sprite = &gSprites[gBattleStruct->zmove.triggerSpriteId]; gBattleStruct->zmove.viable = TRUE; - CreateZMoveTriggerSprite(sprite->tBattler, TRUE); + CreateZMoveTriggerSprite(battlerId, TRUE); } void DestroyZMoveTriggerSprite(void) diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index 5be53fe661..b1f158310a 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1937,7 +1937,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = [BG_MAGMA_STORM] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_MagmaStorm, gBattleAnimBgTilemap_InAir}, [BG_GIGA_IMPACT_OPPONENT] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactOpponent}, [BG_GIGA_IMPACT_PLAYER] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactPlayer}, - [BG_GIGA_IMPACT_CONTEST] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactContest}, + [BG_GIGA_IMPACT_CONTEST] = {gBattleAnimBgImage_GigaImpactContest, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactContest}, [BG_TRICK_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_TrickRoom, gBattleAnimBgTilemap_TrickRoom}, [BG_ROCK_WRECKER] = {gBattleAnimBgImage_Hurricane, gBattleAnimBgPalette_RockWrecker, gBattleAnimBgTilemap_Hurricane}, [BG_SPACIAL_REND_ON_OPPONENT] = {gBattleAnimBgImage_SpacialRend, gBattleAnimBgPalette_SpacialRend, gBattleAnimBgTilemap_GigaImpactOpponent}, diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index c34ad89d0a..eed91d524c 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -8914,7 +8914,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .type = TYPE_NORMAL, .accuracy = 100, .pp = 15, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, @@ -11554,7 +11554,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .accuracy = 100, .pp = 5, .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, + .target = MOVE_TARGET_BOTH, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND, .split = SPLIT_SPECIAL, diff --git a/src/expansion_intro.c b/src/expansion_intro.c new file mode 100644 index 0000000000..8fdb7c1cb8 --- /dev/null +++ b/src/expansion_intro.c @@ -0,0 +1,417 @@ +#include "global.h" +#include "bg.h" +#include "decompress.h" +#include "palette.h" +#include "sound.h" +#include "sprite.h" +#include "task.h" +#include "gpu_regs.h" +#include "trig.h" +#include "main.h" +#include "intro.h" +#include "m4a.h" +#include "expansion_intro.h" +#include "constants/rgb.h" +#include "constants/songs.h" + +#if EXPANSION_INTRO == TRUE + +#define TAG_DIZZY 20000 +#define TAG_PORYGON 20001 + +#define PAL_TAG_DIZZY 20000 +#define PAL_TAG_PORYGON 20001 + +#define DIZZY_POS_X 300 +#define DIZZY_POS_Y 138 +#define DIZZY_COLLISION_POS_X 172 +#define PORY_POS_X -32 +#define PORY_POS_Y 115 +#define PORYGON_COLLISION_POS_X 140 +#define PORYGON_WAIT_TIME 99 + +#define DIZZY_ANIM_SPEED 4 +#define DIZZY_STARS_SPEED 12 + +enum +{ + EXPANSION_INTRO_BG2, + EXPANSION_INTRO_BG3 +}; + +enum +{ + ANIM_PORY_IDLE, + ANIM_PORY_HIT, + ANIM_PORY_GO_UP +}; + +enum +{ + ANIM_DIZZY_WALKING, + ANIM_DIZZY_DIZZY +}; + +static const u32 sBgTiles_PoweredBy[] = INCBIN_U32("graphics/expansion_intro/powered_by.4bpp.lz"); +static const u32 sBgTiles_RhhCredits[] = INCBIN_U32("graphics/expansion_intro/rhh_credits.8bpp.lz"); +static const u32 sBgMap_PoweredBy[] = INCBIN_U32("graphics/expansion_intro/powered_by.bin.lz"); +static const u32 sBgMap_RhhCredits[] = INCBIN_U32("graphics/expansion_intro/rhh_credits.bin.lz"); +static const u32 sBgPal_Credits[] = INCBIN_U32("graphics/expansion_intro/credits.gbapal.lz"); +static const u32 sSpriteTiles_DizzyEgg[] = INCBIN_U32("graphics/expansion_intro/sprites/dizzy_egg.4bpp.lz"); +static const u32 sSpriteTiles_Porygon[] = INCBIN_U32("graphics/expansion_intro/sprites/porygon.4bpp.lz"); +static const u16 sSpritePal_DizzyEgg[] = INCBIN_U16("graphics/expansion_intro/sprites/dizzy_egg.gbapal"); +static const u16 sSpritePal_Porygon[] = INCBIN_U16("graphics/expansion_intro/sprites/porygon.gbapal"); +static const u16 sSpritePal_PorygonShiny[] = INCBIN_U16("graphics/expansion_intro/sprites/shiny.gbapal"); + +static void SpriteCallback_DizzyWalking(struct Sprite* sprite); +static void SpriteCallback_PorygonFlying(struct Sprite* sprite); +static void Task_ExpansionIntro_HandleBlend(u8 taskId); +static void VBlankCB_ExpansionIntro(void); +static void ExpansionIntro_InitBgs(); +static void ExpansionIntro_StartBlend(); +static void ExpansionIntro_LoadGraphics(); +static void ExpansionIntro_CreateSprites(); + +static const union AnimCmd sAnimCmd_DizzyWalking[] = +{ + ANIMCMD_FRAME(32, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(16, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(0, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(16, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(32, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(48, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(64, DIZZY_ANIM_SPEED), + ANIMCMD_FRAME(48, DIZZY_ANIM_SPEED), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd sAnimCmd_DizzyisDizzy[] = +{ + ANIMCMD_FRAME(80, DIZZY_STARS_SPEED), + ANIMCMD_FRAME(96, DIZZY_STARS_SPEED), + ANIMCMD_FRAME(112, DIZZY_STARS_SPEED), + ANIMCMD_FRAME(96, DIZZY_STARS_SPEED), + ANIMCMD_JUMP(0), +}; + +static const union AnimCmd *const sAnimCmdTable_DizzyEgg[] = +{ + [ANIM_DIZZY_WALKING] = sAnimCmd_DizzyWalking, + [ANIM_DIZZY_DIZZY] = sAnimCmd_DizzyisDizzy, +}; + +static const union AnimCmd sAnimCmd_PorygonIdle[] = +{ + ANIMCMD_FRAME(0, 0), + ANIMCMD_END, +}; + +static const union AnimCmd sAnimCmd_PorygonHitted[] = +{ + ANIMCMD_FRAME(64, 0), + ANIMCMD_END, +}; + +static const union AnimCmd sAnimCmd_PorygonGoUp[] = +{ + ANIMCMD_FRAME(64, 20), + ANIMCMD_FRAME(128, 10), + ANIMCMD_END, +}; + +static const union AnimCmd *const sAnimCmdTable_Porygon[] = +{ + [ANIM_PORY_IDLE] = sAnimCmd_PorygonIdle, + [ANIM_PORY_HIT] = sAnimCmd_PorygonHitted, + [ANIM_PORY_GO_UP] = sAnimCmd_PorygonGoUp, +}; + +static const union AffineAnimCmd sAffineAnimCmd_PorygonScale[] = +{ + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END, +}; + +static const union AffineAnimCmd *const sAffineAnimCmdTable_Porygon[] = +{ + sAffineAnimCmd_PorygonScale, +}; + +static const struct CompressedSpriteSheet sSpriteSheet_DizzyEgg = +{ + .data = sSpriteTiles_DizzyEgg, + .size = 0x1000, + .tag = TAG_DIZZY, +}; + +static const struct CompressedSpriteSheet sSpriteSheet_Porygon = +{ + .data = sSpriteTiles_Porygon, + .size = 0x2800, + .tag = PAL_TAG_PORYGON, +}; + +static const struct SpritePalette sSpritePalette_DizzyEgg = +{ + .data = sSpritePal_DizzyEgg, + .tag = PAL_TAG_DIZZY, +}; + +static const struct SpritePalette sSpritePalette_Porygon = +{ + .data = sSpritePal_Porygon, + .tag = PAL_TAG_PORYGON, +}; + +static const struct OamData sOamData_DizzyEgg = +{ + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 0, +}; + +static const struct OamData sOamData_Porygon = +{ + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = 0, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .size = SPRITE_SIZE(64x64), + .priority = 0, +}; + +static const struct SpriteTemplate sSpriteTemplate_DizzyEgg = +{ + .tileTag = TAG_DIZZY, + .paletteTag = PAL_TAG_DIZZY, + .oam = &sOamData_DizzyEgg, + .anims = sAnimCmdTable_DizzyEgg, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallback_DizzyWalking, +}; + +static const struct SpriteTemplate sSpriteTemplate_Porygon = +{ + .tileTag = TAG_PORYGON, + .paletteTag = PAL_TAG_PORYGON, + .oam = &sOamData_Porygon, + .anims = sAnimCmdTable_Porygon, + .images = NULL, + .affineAnims = sAffineAnimCmdTable_Porygon, + .callback = SpriteCallback_PorygonFlying, +}; + +static const struct BgTemplate sBgTemplates_RhhCopyrightScreen[] = +{ + [EXPANSION_INTRO_BG2] = { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 20, + .screenSize = 2, + .paletteMode = 1 + }, + [EXPANSION_INTRO_BG3] = { + .bg = 3, + .mapBaseIndex = 22, + .screenSize = 2 + }, +}; + +void CB2_ExpansionIntro(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +#define tState gTasks[taskId].data[0] +#define tFrameCounter gTasks[taskId].data[1] +void Task_HandleExpansionIntro(u8 taskId) +{ + switch (tState) + { + case 0: + SetVBlankCallback(VBlankCB_ExpansionIntro); + ExpansionIntro_InitBgs(); + ExpansionIntro_LoadGraphics(); + CpuFastFill16(RGB_BLACK, gPlttBufferFaded, 32); + ShowBg(3); + BeginNormalPaletteFade(1, 0, 16, 0, RGB_BLACK); + ExpansionIntro_StartBlend(); + ExpansionIntro_CreateSprites(); + tState++; + break; + case 1: + if (!gPaletteFade.active) + tState++; + break; + case 2: + if (tFrameCounter == 208) + { + tState++; + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); + } + else if (gMain.newKeys != 0) + { + CpuFill16(0, gPlttBufferFaded, sizeof(gPlttBufferFaded)); + if (IsCryPlaying()) + StopCry(); + m4aSongNumStop(SE_BIKE_HOP); + m4aSongNumStop(SE_M_DOUBLE_SLAP); + tState++; + } + else + { + tFrameCounter++; + } + break; + case 3: + if (!gPaletteFade.active) + { + ResetSpriteData(); + FreeAllSpritePalettes(); + DestroyTask(taskId); + CreateTask(Task_Scene1_Load, 0); + SetMainCallback2(MainCB2_Intro); + } + break; + } +} +#undef tState + +static void VBlankCB_ExpansionIntro(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void ExpansionIntro_InitBgs(void) +{ + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sBgTemplates_RhhCopyrightScreen, ARRAY_COUNT(sBgTemplates_RhhCopyrightScreen)); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_EFFECT_DARKEN); + SetGpuReg(REG_OFFSET_BLDY, 0x1F); + HideBg(0); + HideBg(1); + HideBg(2); + HideBg(3); +} + +static void ExpansionIntro_LoadGraphics(void) +{ + LZ77UnCompVram(sBgTiles_PoweredBy, (void*) BG_CHAR_ADDR(sBgTemplates_RhhCopyrightScreen[EXPANSION_INTRO_BG3].charBaseIndex)); + LZ77UnCompVram(sBgMap_PoweredBy, (u16*) BG_SCREEN_ADDR(sBgTemplates_RhhCopyrightScreen[EXPANSION_INTRO_BG3].mapBaseIndex)); + LZ77UnCompVram(sBgTiles_RhhCredits, (void*) BG_CHAR_ADDR(sBgTemplates_RhhCopyrightScreen[EXPANSION_INTRO_BG2].charBaseIndex)); + LZ77UnCompVram(sBgMap_RhhCredits, (u16*) BG_SCREEN_ADDR(sBgTemplates_RhhCopyrightScreen[EXPANSION_INTRO_BG2].mapBaseIndex)); + LoadCompressedPalette(sBgPal_Credits, 0x00, 0x60); + + LoadCompressedSpriteSheet(&sSpriteSheet_DizzyEgg); + LoadCompressedSpriteSheet(&sSpriteSheet_Porygon); + LoadSpritePalette(&sSpritePalette_DizzyEgg); + LoadSpritePalette(&sSpritePalette_Porygon); +} + +static void ExpansionIntro_CreateSprites(void) +{ + u32 dizzyId, poryId; + + dizzyId = CreateSprite(&sSpriteTemplate_DizzyEgg, 0, DIZZY_POS_Y, 0); + gSprites[dizzyId].x2 = DIZZY_POS_X; + + poryId = CreateSprite(&sSpriteTemplate_Porygon, 0, PORY_POS_Y, 0); + gSprites[poryId].x2 = PORY_POS_X; +} + +static void ExpansionIntro_StartBlend(void) +{ + ShowBg(2); + CreateTask(Task_ExpansionIntro_HandleBlend, 0); +} + +static void Task_ExpansionIntro_HandleBlend(u8 taskId) +{ + if (GetGpuReg(REG_OFFSET_BLDY) != 0) + { + SetGpuReg(REG_OFFSET_BLDY, GetGpuReg(REG_OFFSET_BLDY) - 1); + } + else + { + SetGpuReg(REG_OFFSET_BLDCNT, 0); + DestroyTask(taskId); + } +} + +#define sTimer data[0] +static void SpriteCallback_DizzyWalking(struct Sprite* sprite) +{ + sprite->x2--; + + if (sprite->x2 <= DIZZY_COLLISION_POS_X) + { + StartSpriteAnim(sprite, ANIM_DIZZY_DIZZY); + sprite->callback = SpriteCallbackDummy; + } + + if (sprite->sTimer % 16 == 0 && sprite->sTimer / 16 > 2) + PlaySE(SE_BIKE_HOP); + + sprite->sTimer++; +} + + +static void SpriteCallback_PorygonHit(struct Sprite* sprite) +{ + sprite->x2-=2; + sprite ->y2 = Sin2(180 + sprite->sTimer * 4) / 128; + + if (sprite->sTimer >= 48) + { + StartSpriteAnim(sprite, ANIM_PORY_GO_UP); + sprite->callback = SpriteCallbackDummy; + } + + if (sprite->sTimer % 8 == 0) + { + if (sprite->sTimer % 16 == 0) + LoadPalette(sSpritePal_PorygonShiny, 0x10 * (16 + sprite->oam.paletteNum), 0x20); + else + LoadPalette(sSpritePal_Porygon, 0x10 * (16 + sprite->oam.paletteNum), 0x20); + } + + sprite->sTimer++; +} + +static void SpriteCallback_PorygonFlying(struct Sprite* sprite) +{ + if (sprite->sTimer >= PORYGON_WAIT_TIME) + { + sprite->x2 += 6; + + if (sprite->sTimer % 32 >= 16) + sprite->y2--; + else + sprite->y2++; + + if (sprite->x2 >= PORYGON_COLLISION_POS_X) + { + StartSpriteAnim(sprite, ANIM_PORY_HIT); + sprite->callback = SpriteCallback_PorygonHit; + sprite->sTimer = 0; + PlaySE(SE_M_DOUBLE_SLAP); + PlayCryInternal(SPECIES_PORYGON, 0, 120, 10, 0); + } + } + sprite->sTimer++; +} +#undef sTimer + +#endif //EXPANSION_INTRO diff --git a/src/graphics.c b/src/graphics.c index c8040a827d..f1ffeb56c7 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1381,6 +1381,7 @@ const u32 gBattleAnimBgTilemap_GigaImpactPlayer[] = INCBIN_U32("graphics/battle_ const u32 gBattleAnimBgTilemap_GigaImpactOpponent[] = INCBIN_U32("graphics/battle_anims/backgrounds/giga_impact_opponent.bin.lz"); const u32 gBattleAnimBgTilemap_GigaImpactContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/giga_impact_contest.bin.lz"); const u32 gBattleAnimBgImage_GigaImpact[] = INCBIN_U32("graphics/battle_anims/backgrounds/giga_impact.4bpp.lz"); +const u32 gBattleAnimBgImage_GigaImpactContest[] = INCBIN_U32("graphics/battle_anims/backgrounds/giga_impact_contest.4bpp.lz"); const u32 gBattleAnimBgPalette_GigaImpact[] = INCBIN_U32("graphics/battle_anims/backgrounds/giga_impact.gbapal.lz"); const u32 gBattleAnimBgImage_SpacialRend[] = INCBIN_U32("graphics/battle_anims/backgrounds/spacial_rend.4bpp.lz"); diff --git a/src/intro.c b/src/intro.c index fd9c124670..38b2f00273 100644 --- a/src/intro.c +++ b/src/intro.c @@ -23,6 +23,7 @@ #include "sound.h" #include "util.h" #include "title_screen.h" +#include "expansion_intro.h" #include "constants/rgb.h" #include "constants/battle_anim.h" @@ -37,7 +38,6 @@ */ // Scene 1 main tasks -static void Task_Scene1_Load(u8); static void Task_Scene1_FadeIn(u8); static void Task_Scene1_WaterDrops(u8); static void Task_Scene1_PanUp(u8); @@ -1033,7 +1033,7 @@ static void VBlankCB_Intro(void) ScanlineEffect_InitHBlankDmaTransfer(); } -static void MainCB2_Intro(void) +void MainCB2_Intro(void) { RunTasks(); AnimateSprites(); @@ -1112,8 +1112,13 @@ static u8 SetUpCopyrightScreen(void) case 141: if (UpdatePaletteFade()) break; +#if EXPANSION_INTRO == TRUE + SetMainCallback2(CB2_ExpansionIntro); + CreateTask(Task_HandleExpansionIntro, 0); +#else CreateTask(Task_Scene1_Load, 0); SetMainCallback2(MainCB2_Intro); +#endif if (gMultibootProgramStruct.gcmb_field_2 != 0) { if (gMultibootProgramStruct.gcmb_field_2 == 2) @@ -1160,7 +1165,7 @@ void CB2_InitCopyrightScreenAfterTitleScreen(void) #define sBigDropSpriteId data[0] -static void Task_Scene1_Load(u8 taskId) +void Task_Scene1_Load(u8 taskId) { SetVBlankCallback(NULL); sIntroCharacterGender = Random() & 1; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 16310a7c36..b24db3f876 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -258,6 +258,8 @@ static void CreateBattlerSprite(u8 battler) { if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) return; + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_IS_EGG)) + return; SetMultiuseSpriteTemplateToPokemon(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler)); gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2), posY, GetBattlerSpriteSubpriority(battler)); @@ -311,7 +313,7 @@ static void CreateHealthboxSprite(u8 battler) } else if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) { - if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0) + if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0 || GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_IS_EGG)) SetHealthboxSpriteInvisible(healthboxSpriteId); } } diff --git a/test/ability_cloud_nine.c b/test/ability_cloud_nine.c new file mode 100644 index 0000000000..02da15ee15 --- /dev/null +++ b/test/ability_cloud_nine.c @@ -0,0 +1,16 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Cloud Nine prevents weather effects") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_SANDSTORM].effect == EFFECT_SANDSTORM); + PLAYER(SPECIES_PSYDUCK) { Ability(ABILITY_CLOUD_NINE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SANDSTORM); } + TURN {} + } SCENE { + NONE_OF { HP_BAR(player); } + } +} diff --git a/test/ability_compound_eyes.c b/test/ability_compound_eyes.c new file mode 100644 index 0000000000..97ab84dd27 --- /dev/null +++ b/test/ability_compound_eyes.c @@ -0,0 +1,37 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Compound Eyes raises accuracy") +{ + PASSES_RANDOMLY(91, 100); + GIVEN { + ASSUME(gBattleMoves[MOVE_THUNDER].accuracy == 70); + PLAYER(SPECIES_BUTTERFREE) { Ability(ABILITY_COMPOUND_EYES); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDER, player); + HP_BAR(opponent); + } +} + +// This fails even though the ability works correctly. The failure is due to +// a statistical anomaly in the test system where FISSURE hits 3 times more often +// than we expect. +SINGLE_BATTLE_TEST("Compound Eyes does not affect OHKO moves") +{ + KNOWN_FAILING; + PASSES_RANDOMLY(30, 100); + GIVEN { + ASSUME(gBattleMoves[MOVE_FISSURE].accuracy == 30); + ASSUME(gBattleMoves[MOVE_FISSURE].effect == EFFECT_OHKO); + PLAYER(SPECIES_BUTTERFREE) { Ability(ABILITY_TINTED_LENS); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_FISSURE); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FISSURE, player); + HP_BAR(opponent, hp: 0); + } +} diff --git a/test/ability_damp.c b/test/ability_damp.c new file mode 100644 index 0000000000..33d1ae466a --- /dev/null +++ b/test/ability_damp.c @@ -0,0 +1,54 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Damp prevents explosion-like moves from enemies") +{ + u32 move; + PARAMETRIZE { move = MOVE_EXPLOSION; } + PARAMETRIZE { move = MOVE_SELF_DESTRUCT; } + PARAMETRIZE { move = MOVE_MIND_BLOWN; } + PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; } + GIVEN { + PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, move); } + } SCENE { + ABILITY_POPUP(player, ABILITY_DAMP); + NONE_OF { HP_BAR(player); HP_BAR(opponent); } + } +} + +SINGLE_BATTLE_TEST("Damp prevents explosion-like moves from self") +{ + u32 move; + PARAMETRIZE { move = MOVE_EXPLOSION; } + PARAMETRIZE { move = MOVE_SELF_DESTRUCT; } + PARAMETRIZE { move = MOVE_MIND_BLOWN; } + PARAMETRIZE { move = MOVE_MISTY_EXPLOSION; } + GIVEN { + PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, move); } + } SCENE { + ABILITY_POPUP(player, ABILITY_DAMP); + NONE_OF { HP_BAR(player); HP_BAR(opponent); } + } +} + +SINGLE_BATTLE_TEST("Damp prevents damage from aftermath") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_TACKLE].flags & FLAG_MAKES_CONTACT); + PLAYER(SPECIES_PARAS) { Ability(ABILITY_DAMP); }; + OPPONENT(SPECIES_VOLTORB) { Ability(ABILITY_AFTERMATH); HP(1); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); } + } SCENE { + ABILITY_POPUP(opponent, ABILITY_AFTERMATH); + ABILITY_POPUP(player, ABILITY_DAMP); + NONE_OF { HP_BAR(player); } + } +} diff --git a/test/ability_drizzle.c b/test/ability_drizzle.c new file mode 100644 index 0000000000..1b99324763 --- /dev/null +++ b/test/ability_drizzle.c @@ -0,0 +1,24 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Drizzle summons rain", s16 damage) +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_DRIZZLE; } + PARAMETRIZE { ability = ABILITY_DAMP; } + + GIVEN { + PLAYER(SPECIES_POLITOED) { Ability(ability); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_BUBBLE); } + } SCENE { + if (ability == ABILITY_DRIZZLE) { + ABILITY_POPUP(player, ABILITY_DRIZZLE); + MESSAGE("Politoed's Drizzle made it rain!"); + } + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[1].damage, Q_4_12(1.5), results[0].damage); + } +} diff --git a/test/ability_insomnia.c b/test/ability_insomnia.c new file mode 100644 index 0000000000..b9fe387532 --- /dev/null +++ b/test/ability_insomnia.c @@ -0,0 +1,59 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Insomnia prevents sleep") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_SPORE].effect == EFFECT_SLEEP); + PLAYER(SPECIES_DROWZEE) { Ability(ABILITY_INSOMNIA); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SPORE); } + } SCENE { + ABILITY_POPUP(player, ABILITY_INSOMNIA); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPORE, opponent); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, player); + STATUS_ICON(player, sleep: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Insomnia prevents yawn") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_YAWN].effect == EFFECT_YAWN); + PLAYER(SPECIES_DROWZEE) { Ability(ABILITY_INSOMNIA); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SPORE); } + TURN { } + TURN { } + } SCENE { + ABILITY_POPUP(player, ABILITY_INSOMNIA); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_YAWN, opponent); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, player); + STATUS_ICON(player, sleep: TRUE); + } + } +} + +SINGLE_BATTLE_TEST("Insomnia prevents rest") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_REST].effect == EFFECT_REST); + PLAYER(SPECIES_DROWZEE) { Ability(ABILITY_INSOMNIA); HP(1); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_REST); } + } SCENE { + ABILITY_POPUP(player, ABILITY_INSOMNIA); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_REST, player); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, player); + STATUS_ICON(player, sleep: TRUE); + HP_BAR(player); + } + } +} diff --git a/test/ability_intimidate.c b/test/ability_intimidate.c new file mode 100644 index 0000000000..450ca64029 --- /dev/null +++ b/test/ability_intimidate.c @@ -0,0 +1,50 @@ +#include "global.h" +#include "test_battle.h" + +ASSUMPTIONS +{ + ASSUME(gBattleMoves[MOVE_TACKLE].split == SPLIT_PHYSICAL); +} + +SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after switch out", s16 damage) +{ + u32 ability; + PARAMETRIZE { ability = ABILITY_INTIMIDATE; } + PARAMETRIZE { ability = ABILITY_RECKLESS; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_STARAPTOR) { Ability(ability); }; + } WHEN { + TURN { SWITCH(opponent, 1); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + if (ability == ABILITY_INTIMIDATE) + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.5), results[1].damage); + } +} + +SINGLE_BATTLE_TEST("Intimidate (opponent) lowers player's attack after KO", s16 damage) +{ + u32 ability; + KNOWN_FAILING; + PARAMETRIZE { ability = ABILITY_INTIMIDATE; } + PARAMETRIZE { ability = ABILITY_RECKLESS; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(2); }; + OPPONENT(SPECIES_WOBBUFFET) { HP(1); Speed(1); }; + OPPONENT(SPECIES_STARAPTOR) { Ability(ABILITY_INTIMIDATE); Speed(1); }; + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); SEND_OUT(opponent, 1); } + TURN { MOVE(player, MOVE_TACKLE); } + } SCENE { + if (ability == ABILITY_INTIMIDATE) + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + HP_BAR(opponent, captureDamage: &results[i].damage); + } FINALLY { + EXPECT_MUL_EQ(results[0].damage, Q_4_12(1.5), results[1].damage); + } +} diff --git a/test/ability_limber.c b/test/ability_limber.c new file mode 100644 index 0000000000..4b428d0c10 --- /dev/null +++ b/test/ability_limber.c @@ -0,0 +1,16 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Limber prevents paralysis") +{ + GIVEN { + PLAYER(SPECIES_PERSIAN) { Ability(ABILITY_LIMBER); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } + } SCENE { + HP_BAR(player); + NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_PRZ, player); } + NONE_OF { STATUS_ICON(player, paralysis: TRUE); } + } +} diff --git a/test/ability_oblivious.c b/test/ability_oblivious.c new file mode 100644 index 0000000000..0708845ed1 --- /dev/null +++ b/test/ability_oblivious.c @@ -0,0 +1,68 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Oblivious prevents Infatuation") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_ATTRACT].effect == EFFECT_ATTRACT); + PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }; + OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }; + } WHEN { + TURN { MOVE(opponent, MOVE_ATTRACT); } + } SCENE { + ABILITY_POPUP(player, ABILITY_OBLIVIOUS); + NONE_OF { ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_INFATUATION, player); } + MESSAGE("It doesn't affect Slowpoke…"); + } +} + +SINGLE_BATTLE_TEST("Oblivious prevents Captivate") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_CAPTIVATE].effect == EFFECT_CAPTIVATE); + PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); Gender(MON_MALE); }; + OPPONENT(SPECIES_WOBBUFFET) { Gender(MON_FEMALE); }; + } WHEN { + TURN { MOVE(opponent, MOVE_ATTRACT); } + } SCENE { + ABILITY_POPUP(player, ABILITY_OBLIVIOUS); + NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } + MESSAGE("It doesn't affect Slowpoke…"); + } +} + +SINGLE_BATTLE_TEST("Oblivious prevents Taunt") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_TAUNT].effect == EFFECT_TAUNT); + ASSUME(B_OBLIVIOUS_TAUNT >= GEN_6); + PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_TAUNT); } + TURN { MOVE(player, MOVE_SPORE); } + } SCENE { + ABILITY_POPUP(player, ABILITY_OBLIVIOUS); + NONE_OF { ANIMATION(ANIM_TYPE_MOVE, MOVE_TAUNT, opponent); } + MESSAGE("It doesn't affect Slowpoke…"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPORE, player); + ANIMATION(ANIM_TYPE_STATUS, B_ANIM_STATUS_SLP, opponent); + } +} + +SINGLE_BATTLE_TEST("Oblivious prevents Intimidate") +{ + GIVEN { + ASSUME(B_UPDATED_INTIMIDATE >= GEN_8); + PLAYER(SPECIES_SLOWPOKE) { Ability(ABILITY_OBLIVIOUS); }; + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_EKANS) { Ability(ABILITY_INTIMIDATE); }; + } WHEN { + TURN { SWITCH(opponent, 1); } + } SCENE { + ABILITY_POPUP(opponent, ABILITY_INTIMIDATE); + ABILITY_POPUP(player, ABILITY_OBLIVIOUS); + NONE_OF { ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); } + MESSAGE("Slowpoke's attack was not lowered!"); + } +} diff --git a/test/ability_sand_veil.c b/test/ability_sand_veil.c new file mode 100644 index 0000000000..5d2325140d --- /dev/null +++ b/test/ability_sand_veil.c @@ -0,0 +1,30 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Sand Veil prevents damage from sandstorm") +{ + GIVEN { + PLAYER(SPECIES_SANDSHREW) { Ability(ABILITY_SAND_VEIL); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SANDSTORM); } + TURN {} + } SCENE { + NONE_OF { HP_BAR(player); } + } +} + +SINGLE_BATTLE_TEST("Sand Veil reduces accuracy during sandstorm") +{ + PASSES_RANDOMLY(4,5); + GIVEN { + ASSUME(gBattleMoves[MOVE_POUND].accuracy == 100); + PLAYER(SPECIES_SANDSHREW) { Ability(ABILITY_SAND_VEIL); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SANDSTORM); } + TURN { MOVE(opponent, MOVE_POUND); } + } SCENE { + HP_BAR(player); + } +} diff --git a/test/ability_speed_boost.c b/test/ability_speed_boost.c new file mode 100644 index 0000000000..b3e128931a --- /dev/null +++ b/test/ability_speed_boost.c @@ -0,0 +1,20 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Speed Boost gradually boosts speed") +{ + GIVEN { + PLAYER(SPECIES_TORCHIC) { Ability(ABILITY_SPEED_BOOST); Speed(99); }; + OPPONENT(SPECIES_WOBBUFFET) { Speed(100); }; + } WHEN { + TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } + TURN { MOVE(player, MOVE_CELEBRATE); MOVE(opponent, MOVE_CELEBRATE); } + } SCENE { + MESSAGE("Foe Wobbuffet used Celebrate!"); + MESSAGE("Torchic used Celebrate!"); + ABILITY_POPUP(player, ABILITY_SPEED_BOOST); + MESSAGE("Torchic's Speed Boost raised its SPEED!"); + MESSAGE("Torchic used Celebrate!"); + MESSAGE("Foe Wobbuffet used Celebrate!"); + } +} diff --git a/test/ability_stench.c b/test/ability_stench.c new file mode 100644 index 0000000000..7285ee768c --- /dev/null +++ b/test/ability_stench.c @@ -0,0 +1,34 @@ +#include "global.h" +#include "test_battle.h" + +SINGLE_BATTLE_TEST("Stench has a 10% chance to flinch") +{ + PASSES_RANDOMLY(1,10); + GIVEN { + ASSUME(gBattleMoves[MOVE_TACKLE].power > 0); + PLAYER(SPECIES_STUNKY) { Ability(ABILITY_STENCH); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } + } SCENE { + MESSAGE("Foe Wobbuffet flinched!"); + } +} + +SINGLE_BATTLE_TEST("Stench does not stack with King's Rock") +{ + PASSES_RANDOMLY(1,10); + GIVEN { + ASSUME(gItems[ITEM_KINGS_ROCK].holdEffect == HOLD_EFFECT_FLINCH); + ASSUME(gBattleMoves[MOVE_TACKLE].power > 0); + + PLAYER(SPECIES_STUNKY) { Ability(ABILITY_STENCH); Item(ITEM_KINGS_ROCK); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); MOVE(opponent, MOVE_CELEBRATE); } + } SCENE { + MESSAGE("Foe Wobbuffet flinched!"); + } +} + +// TODO: Test against interaction with multi hits diff --git a/test/ability_volt_absorb.c b/test/ability_volt_absorb.c new file mode 100644 index 0000000000..f485f65574 --- /dev/null +++ b/test/ability_volt_absorb.c @@ -0,0 +1,85 @@ +#include "global.h" +#include "test_battle.h" + +#define TEST_MAX_HP (100) + +SINGLE_BATTLE_TEST("Volt Absorb heals 25% when hit by electric type moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } + } SCENE { + ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Jolteon restored HP using its Volt Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Volt Absorb does not activate if protected") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_THUNDER_SHOCK); } + } SCENE { + NONE_OF { ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); HP_BAR(player); MESSAGE("Jolteon restored HP using its Volt Absorb!"); } + } +} + +SINGLE_BATTLE_TEST("Volt Absorb activates on status moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].type == TYPE_ELECTRIC); + ASSUME(gBattleMoves[MOVE_THUNDER_WAVE].split == SPLIT_STATUS); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_THUNDER_WAVE); } + } SCENE { + ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Jolteon restored HP using its Volt Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Volt Absorb is only triggered once on multi strike moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_FURY_SWIPES].type == TYPE_NORMAL); + ASSUME(gBattleMoves[MOVE_FURY_SWIPES].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_GRAVELER_ALOLAN) { Ability(ABILITY_GALVANIZE); }; + } WHEN { + TURN { MOVE(opponent, MOVE_FURY_SWIPES); } + } SCENE { + ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Jolteon restored HP using its Volt Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Volt Absorb prevents Cell Battery from activating") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_THUNDER_SHOCK].type == TYPE_ELECTRIC); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); HP(1); MaxHP(TEST_MAX_HP); Item(ITEM_CELL_BATTERY); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_THUNDER_SHOCK); } + } SCENE { + ABILITY_POPUP(player, ABILITY_VOLT_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Jolteon restored HP using its Volt Absorb!"); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Using Cell Battery, the attack of Jolteon rose!"); + } + + } +} diff --git a/test/ability_water_absorb.c b/test/ability_water_absorb.c new file mode 100644 index 0000000000..1748ee7ff5 --- /dev/null +++ b/test/ability_water_absorb.c @@ -0,0 +1,87 @@ +#include "global.h" +#include "test_battle.h" + +#define TEST_MAX_HP (100) + +SINGLE_BATTLE_TEST("Water Absorb heals 25% when hit by water type moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); + PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_BUBBLE); } + } SCENE { + ABILITY_POPUP(player, ABILITY_WATER_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Poliwag restored HP using its Water Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Water Absorb does not activate if protected") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); + PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_PROTECT); MOVE(opponent, MOVE_BUBBLE); } + } SCENE { + NONE_OF { ABILITY_POPUP(player, ABILITY_WATER_ABSORB); HP_BAR(player); MESSAGE("Poliwag restored HP using its Water Absorb!"); } + } +} + +SINGLE_BATTLE_TEST("Water Absorb activates on status moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_SOAK].type == TYPE_WATER); + ASSUME(gBattleMoves[MOVE_SOAK].split == SPLIT_STATUS); + PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_SOAK); } + } SCENE { + ABILITY_POPUP(player, ABILITY_WATER_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Poliwag restored HP using its Water Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Water Absorb is only triggered once on multi strike moves") +{ + GIVEN { + ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].type == TYPE_WATER); + ASSUME(gBattleMoves[MOVE_WATER_SHURIKEN].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(TEST_MAX_HP); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_WATER_SHURIKEN); } + } SCENE { + ABILITY_POPUP(player, ABILITY_WATER_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Poliwag restored HP using its Water Absorb!"); + } +} + +SINGLE_BATTLE_TEST("Water Absorb prevents Items from activating") +{ + u32 item; + PARAMETRIZE { item = ITEM_ABSORB_BULB; } + PARAMETRIZE { item = ITEM_LUMINOUS_MOSS; } + GIVEN { + ASSUME(gBattleMoves[MOVE_BUBBLE].type == TYPE_WATER); + PLAYER(SPECIES_POLIWAG) { Ability(ABILITY_WATER_ABSORB); HP(1); MaxHP(TEST_MAX_HP); Item(item); }; + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_BUBBLE); } + } SCENE { + ABILITY_POPUP(player, ABILITY_WATER_ABSORB); + HP_BAR(player, hp: TEST_MAX_HP / 4 + 1); + MESSAGE("Poliwag restored HP using its Water Absorb!"); + NONE_OF { + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + } + + } +} diff --git a/test/test_runner.c b/test/test_runner.c index a10a3a89d5..3cb1f7c213 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -187,7 +187,17 @@ void CB2_TestRunner(void) switch (gTestRunnerState.result) { - case TEST_RESULT_FAIL: result = "FAIL"; break; + case TEST_RESULT_FAIL: + if (gTestRunnerState.expectedResult == TEST_RESULT_FAIL) + { + result = "KNOWN_FAILING"; + color = "\e[33m"; + } + else + { + result = "FAIL"; + } + break; case TEST_RESULT_PASS: result = "PASS"; break; case TEST_RESULT_SKIP: result = "SKIP"; break; case TEST_RESULT_INVALID: result = "INVALID"; break; diff --git a/tools/mgba-rom-test-hydra/main.c b/tools/mgba-rom-test-hydra/main.c index f9c51d505f..5dfc995176 100644 --- a/tools/mgba-rom-test-hydra/main.c +++ b/tools/mgba-rom-test-hydra/main.c @@ -30,7 +30,7 @@ struct Runner { pid_t pid; int outfd; - char rom_path[L_tmpnam]; + char rom_path[FILENAME_MAX]; char test_name[256]; size_t input_buffer_size; size_t input_buffer_capacity; @@ -234,53 +234,6 @@ int main(int argc, char *argv[]) perror("pipe failed"); exit(2); } - if (!tmpnam(runners[i].rom_path)) - { - perror("tmpnam rom_path failed"); - exit(2); - } - int tmpfd; - if ((tmpfd = open(runners[i].rom_path, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)) == -1) - { - perror("open tmpfd failed"); - _exit(2); - } - if ((write(tmpfd, elf, elfst.st_size)) == -1) - { - perror("write tmpfd failed"); - _exit(2); - } - pid_t patchelfpid = fork(); - if (patchelfpid == -1) - { - perror("fork patchelf failed"); - _exit(2); - } - else if (patchelfpid == 0) - { - char n_arg[5], i_arg[5]; - snprintf(n_arg, sizeof(n_arg), "\\x%02x", nrunners); - snprintf(i_arg, sizeof(i_arg), "\\x%02x", i); - if (execlp("tools/patchelf/patchelf", "tools/patchelf/patchelf", runners[i].rom_path, "gTestRunnerN", n_arg, "gTestRunnerI", i_arg, NULL) == -1) - { - perror("execlp patchelf failed"); - _exit(2); - } - } - else - { - int wstatus; - if (waitpid(patchelfpid, &wstatus, 0) == -1) - { - perror("waitpid patchelfpid failed"); - _exit(2); - } - if (!WIFEXITED(wstatus) || WEXITSTATUS(wstatus) != 0) - { - fprintf(stderr, "patchelf exited with an error\n"); - _exit(2); - } - } pid_t pid = fork(); if (pid == -1) { perror("fork mgba-rom-test failed"); @@ -310,15 +263,60 @@ int main(int argc, char *argv[]) perror("close pipefds[1] failed"); _exit(2); } + char rom_path[FILENAME_MAX]; + sprintf(rom_path, "/tmp/file%05d", getpid()); + int tmpfd; + if ((tmpfd = open(rom_path, O_WRONLY | O_CREAT | O_EXCL, S_IRUSR | S_IWUSR)) == -1) + { + perror("open tmpfd failed"); + _exit(2); + } + if ((write(tmpfd, elf, elfst.st_size)) == -1) + { + perror("write tmpfd failed"); + _exit(2); + } + pid_t patchelfpid = fork(); + if (patchelfpid == -1) + { + perror("fork patchelf failed"); + _exit(2); + } + else if (patchelfpid == 0) + { + char n_arg[5], i_arg[5]; + snprintf(n_arg, sizeof(n_arg), "\\x%02x", nrunners); + snprintf(i_arg, sizeof(i_arg), "\\x%02x", i); + if (execlp("tools/patchelf/patchelf", "tools/patchelf/patchelf", rom_path, "gTestRunnerN", n_arg, "gTestRunnerI", i_arg, NULL) == -1) + { + perror("execlp patchelf failed"); + _exit(2); + } + } + else + { + int wstatus; + if (waitpid(patchelfpid, &wstatus, 0) == -1) + { + perror("waitpid patchelfpid failed"); + _exit(2); + } + if (!WIFEXITED(wstatus) || WEXITSTATUS(wstatus) != 0) + { + fprintf(stderr, "patchelf exited with an error\n"); + _exit(2); + } + } // stdbuf is required because otherwise mgba never flushes // stdout. - if (execlp("stdbuf", "stdbuf", "-oL", argv[1], "-l15", "-ClogLevel.gba.dma=16", "-Rr0", runners[i].rom_path, NULL) == -1) + if (execlp("stdbuf", "stdbuf", "-oL", argv[1], "-l15", "-ClogLevel.gba.dma=16", "-Rr0", rom_path, NULL) == -1) { perror("execl stdbuf mgba-rom-test failed"); _exit(2); } } else { runners[i].pid = pid; + sprintf(runners[i].rom_path, "/tmp/file%05d", runners[i].pid); runners[i].outfd = pipefds[0]; if (close(pipefds[1]) == -1) {