From e3d5ada614eace38710bacec2936bfc7f7e62bdb Mon Sep 17 00:00:00 2001 From: Slayer95 Date: Fri, 9 May 2014 22:54:27 -0500 Subject: [PATCH 1/2] Support permanent forme change Implement command 'detailschange' --- js/battle.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/battle.js b/js/battle.js index 7bb12d0ff..abcde873d 100644 --- a/js/battle.js +++ b/js/battle.js @@ -4974,6 +4974,11 @@ function Battle(frame, logFrame, noPreload) { case 'poke': self.getPokemon('new: '+args[1], args[2]); break; + case 'detailschange': + if (self.waitForResult()) return; + var poke = self.getPokemon(args[1]); + poke.searchid = args[1].substr(0, 2) + args[1].substr(3) + '|' + args[2]; + break; case 'teampreview': self.teamPreview(true); self.teamPreviewCount = args[1]; From 8cf672658b9e56c457c3f9f71421f3841432eedb Mon Sep 17 00:00:00 2001 From: Slayer95 Date: Sat, 10 May 2014 01:25:29 -0500 Subject: [PATCH 2/2] Animate detailschange --- js/battle.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/js/battle.js b/js/battle.js index abcde873d..9a447b5bf 100644 --- a/js/battle.js +++ b/js/battle.js @@ -4977,6 +4977,18 @@ function Battle(frame, logFrame, noPreload) { case 'detailschange': if (self.waitForResult()) return; var poke = self.getPokemon(args[1]); + var newSpecies; + var commaIndex = args[2].indexOf(','); + if (commaIndex === -1) { + newSpecies = args[2]; + } else { + newSpecies = args[2].substr(0, commaIndex); + } + var template = Tools.getTemplate(newSpecies); + if (poke.sprite.sp.shiny) template.shiny = true; + poke.sprite.animTransform(template); + poke.removeVolatile('typechange'); + poke.side.updateStatbar(); poke.searchid = args[1].substr(0, 2) + args[1].substr(3) + '|' + args[2]; break; case 'teampreview':