diff --git a/index.php.template.txt b/index.php.template.txt
index 4db1a2d95..3faee9be2 100644
--- a/index.php.template.txt
+++ b/index.php.template.txt
@@ -187,7 +187,7 @@ if (!$psim) {
diff --git a/js/battle.js b/js/battle.js
index a643d2e07..a1e9c7952 100644
--- a/js/battle.js
+++ b/js/battle.js
@@ -133,7 +133,7 @@ function Pokemon(species) {
if (selfP.hasVolatile(volatile)) return;
selfP.volatiles[volatile] = [volatile, null];
if (volatile === 'leechseed') {
- selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
+ selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
var curelem = selfP.side.battle.spriteElemsFront[selfP.side.n].children().last();
curelem.css(self.pos({
display: 'block',
@@ -145,7 +145,7 @@ function Pokemon(species) {
}, BattleEffects.energyball));
var elem = curelem;
- selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
+ selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
curelem = selfP.side.battle.spriteElemsFront[selfP.side.n].children().last();
curelem.css(self.pos({
display: 'block',
@@ -157,7 +157,7 @@ function Pokemon(species) {
}, BattleEffects.energyball));
elem = elem.add(curelem);
- selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
+ selfP.side.battle.spriteElemsFront[selfP.side.n].append('

');
curelem = selfP.side.battle.spriteElemsFront[selfP.side.n].children().last();
curelem.css(self.pos({
display: 'block',
@@ -4799,13 +4799,13 @@ function Battle(frame, logFrame, noPreload) {
for (i in BattleEffects) {
if (BattleEffects[i].url) self.preloadImage(BattleEffects[i].url);
}
- self.preloadImage('/fx/weather-raindance.jpg'); // rain is used often enough to precache
- self.preloadImage('/sprites/bw/substitute.png');
- self.preloadImage('/sprites/bw-back/substitute.png');
- //self.preloadImage('/fx/bg.jpg');
+ self.preloadImage(Tools.resourcePrefix + 'fx/weather-raindance.jpg'); // rain is used often enough to precache
+ self.preloadImage(Tools.resourcePrefix + 'sprites/bw/substitute.png');
+ self.preloadImage(Tools.resourcePrefix + 'sprites/bw-back/substitute.png');
+ //self.preloadImage(Tools.resourcePrefix + 'fx/bg.jpg');
};
this.preloadSounds = function () {
- //self.preloadAudio('audio/bw-trainer-battle.mp3');
+ //self.preloadAudio(Tools.resourcePrefix + 'audio/bw-trainer-battle.mp3');
}
this.preloadAudio = function (url, autoplay) {
if (noPreload) return;
@@ -4845,29 +4845,29 @@ function Battle(frame, logFrame, noPreload) {
if (window.forceBgm) bgmNum = window.forceBgm;
switch (bgmNum) {
case -1:
- self.preloadBgm('/audio/bw2-homika-dogars.mp3', true, 1661, 68131);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/bw2-homika-dogars.mp3', true, 1661, 68131);
break;
case 0:
- self.preloadBgm('/audio/hgss-kanto-trainer.mp3', true, 13003, 94656);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/hgss-kanto-trainer.mp3', true, 13003, 94656);
break;
case 1:
- self.preloadBgm('/audio/bw-subway-trainer.mp3', true, 15503, 110984);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/bw-subway-trainer.mp3', true, 15503, 110984);
break;
case 2:
- self.preloadBgm('/audio/bw-trainer.mp3', true, 14629, 110109);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/bw-trainer.mp3', true, 14629, 110109);
break;
case 3:
- self.preloadBgm('/audio/bw-rival.mp3', true, 19180, 57373);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/bw-rival.mp3', true, 19180, 57373);
break;
case 4:
- self.preloadBgm('/audio/dpp-trainer.mp3', true, 13440, 96959);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/dpp-trainer.mp3', true, 13440, 96959);
break;
case 5:
- self.preloadBgm('/audio/hgss-johto-trainer.mp3', true, 23731, 125086);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/hgss-johto-trainer.mp3', true, 23731, 125086);
break;
case 6:
default:
- self.preloadBgm('/audio/dpp-rival.mp3', true, 13888, 66352);
+ self.preloadBgm(Tools.resourcePrefix + 'audio/dpp-rival.mp3', true, 13888, 66352);
break;
}
return;
diff --git a/js/battledata.js b/js/battledata.js
index 2b1b4d169..f37c85309 100644
--- a/js/battledata.js
+++ b/js/battledata.js
@@ -306,6 +306,8 @@ var basespecieschart = {
var Tools = {
+ resourcePrefix: 'http://play.pokemonshowdown.com/',
+
showInterstice: (function() {
var patterns = (function(whitelist) {
var patterns = [];
@@ -596,11 +598,11 @@ var Tools = {
var num = '' + BattlePokemonSprites[pokemon.speciesid].num;
if (num.length < 3) num = '0' + num;
if (num.length < 3) num = '0' + num;
- cryurl = '/audio/cries/' + num + '.wav';
+ cryurl = Tools.resourcePrefix + 'audio/cries/' + num + '.wav';
}
if (pokemon.shiny) back += '-shiny';
if (window.BattlePokemonSprites && BattlePokemonSprites[pokemon.speciesid] && BattlePokemonSprites[pokemon.speciesid][facing]) {
- var url = '/sprites/bwani'+back;
+ var url = Tools.resourcePrefix + 'sprites/bwani'+back;
url += '/'+spriteid;
var spriteType = 'ani';
if (BattlePokemonSprites[pokemon.speciesid][facing]['anif'] && pokemon.gender === 'F') {
@@ -620,7 +622,7 @@ var Tools = {
return {
w: 96,
h: 96,
- url: '/sprites/bw'+back+'/' + spriteid + '.png',
+ url: Tools.resourcePrefix + 'sprites/bw'+back+'/' + spriteid + '.png',
cryurl: cryurl,
isBackSprite: isBack
};
@@ -629,11 +631,11 @@ var Tools = {
getIcon: function(pokemon) {
var num = 0;
if (pokemon === 'pokeball') {
- return 'background:transparent url(/sprites/bwicons-pokeball-sheet.png) no-repeat scroll -0px -8px';
+ return 'background:transparent url(' + Tools.resourcePrefix + 'sprites/bwicons-pokeball-sheet.png) no-repeat scroll -0px -8px';
} else if (pokemon === 'pokeball-statused') {
- return 'background:transparent url(/sprites/bwicons-pokeball-sheet.png) no-repeat scroll -32px -8px';
+ return 'background:transparent url(' + Tools.resourcePrefix + 'sprites/bwicons-pokeball-sheet.png) no-repeat scroll -32px -8px';
} else if (pokemon === 'pokeball-none') {
- return 'background:transparent url(/sprites/bwicons-pokeball-sheet.png) no-repeat scroll -64px -8px';
+ return 'background:transparent url(' + Tools.resourcePrefix + 'sprites/bwicons-pokeball-sheet.png) no-repeat scroll -64px -8px';
}
var id = toId(pokemon);
if (pokemon && pokemon.species) id = toId(pokemon.species);
@@ -696,7 +698,7 @@ var Tools = {
var top = 8 + Math.floor(num / 16) * 32;
var left = (num % 16) * 32;
var fainted = (pokemon && pokemon.fainted?';opacity:.4':'');
- return 'background:transparent url(/sprites/bwicons-sheet.png?v0.7.18) no-repeat scroll -' + left + 'px -' + top + 'px' + fainted;
+ return 'background:transparent url(' + Tools.resourcePrefix + 'sprites/bwicons-sheet.png?v0.7.18) no-repeat scroll -' + left + 'px -' + top + 'px' + fainted;
},
getTeambuilderSprite: function(pokemon) {
@@ -715,7 +717,7 @@ var Tools = {
if (BattlePokemonSprites && BattlePokemonSprites[id] && BattlePokemonSprites[id].front && BattlePokemonSprites[id].front.anif && pokemon.gender === 'F') {
id+='-f';
}
- return 'background-image:url(/sprites/bw'+shiny+'/'+id+'.png)';
+ return 'background-image:url(' + Tools.resourcePrefix + 'sprites/bw'+shiny+'/'+id+'.png)';
},
getItemIcon: function(item) {
@@ -725,12 +727,12 @@ var Tools = {
var top = Math.floor(num / 16) * 24;
var left = (num % 16) * 24;
- return 'background:transparent url(/sprites/itemicons-sheet.png) no-repeat scroll -' + left + 'px -' + top + 'px';
+ return 'background:transparent url(' + Tools.resourcePrefix + 'sprites/itemicons-sheet.png) no-repeat scroll -' + left + 'px -' + top + 'px';
},
getTypeIcon: function(type, b) { // b is just for utilichart.js
sanitizedType = type.replace(/\?/g,'%3f');
- return '

';
+ return '

';
}
};
diff --git a/js/sim.js b/js/sim.js
index e5c9520ad..5ae322df1 100644
--- a/js/sim.js
+++ b/js/sim.js
@@ -1812,7 +1812,7 @@ function Lobby(id, elem) {
roomListCode += '
';
}
- var code = '

';
+ var code = '

';
if (roomListCode) {
roomListCode = '
';
}
@@ -2661,7 +2661,7 @@ function showTooltip(thing, type, elem, ownHeight, isActive) {
if (!accuracy || accuracy === true) accuracy = '—';
else accuracy = '' + accuracy + '%';
text = '