Vileplum? Isn't that the drooling grass type evolved from oddish?
Just finished playing the demo. Those are Mystery Dungeon sprites, right? Never played the game, but I thought of using them once.. Anyways.Yeah check the GBA emulators.
The Good:Thanks. :)
-The name promises Pokemon Rumble in 2D. The gameplay makes good on that promise. Seriously, it really does feel like a sprited version of the WiiWare game. Good stuff man!
The Bad:I didn't make those tracks, lol. They all come from different games, like galaxy fight, and Three Dirty Dwarves. :laughing:
-I know you make your own music, and I really respect that, but it just doesn't fit IMO.
Of course you're free to do it the way you want; but if I were making this mod, I'd use either remixed battle themes from the game, or maybe some select themes from the anime and Gamecube/Wii games. The anime versions of Kanto and Johto's trainer battles would be perfect in here.I was gonna do that at first but I decided not to, not just because I prefer the tracks I use, but I wanted to give the game a different feel then what most people would've.
-It's easy to get lost, since a lot of the enemies are the same Pokemon you are. I would use that one command... I totally forgot what it's called, but it lets you put an icon over your character. It's used for putting 1P/2P/3P/4P icons ontop of the players heads. Either way, I'd do something like that just so the player knows where they are.Yeah, I know, but of course, you can just change the colors. Although, I'd like to know about though. :)
The Rest:Scizor is planned sinced I'm gonna have the main guys evolve in the story, but you'll still be able to pick their past forms.(I just hinted one of the main characters didn't I? :oops:) I'll see about the rest. ;)
-Needs more Wartortle and Leafeon. (hint hint, wink wink).
-Probably Scizor too.
-.... Maybe Absol, while we're at it?
-I would create an ingame stage select for the different battles. Using the main menu is fine, but knowing you, you'll eventually put in like 30 battles. If you want I'll link you to a beta of my Rivluet City mod; I made a pretty simple but effective stage select screen in that.I'm gonna use the same method from brawlers, but I don't plan on making that many battles. 2D rumble is just something for yall to play until I get the story done.
-It's easy to get lost, since a lot of the enemies are the same Pokemon you are.
palette data/chars/pokemon/map1.png
alternatepal data/chars/pokemon/map2.png
alternatepal data/chars/pokemon/map3.png
alternatepal data/chars/pokemon/map4.png
That's easily solved with script. In NPC's spawn animation, parent is checked to see which player it is then change map according to player's number.
Also, I just now noticed that you mean the marker's map is determined by the players number instead of the parent's palette but is there a way to do that?
anim walk
loop 1
delay 13
offset 23 76
bbox 16 13 21 67
@script
void self = getlocalvar("self");
int b = getentityproperty(self, "base");
int a = getentityproperty(self, "a");
if(a > b){
performattack(self, openborconstant("ANI_JUMP"), 0);
changeentityproperty(self, "animpos", 1);
}
@end_script
frame data/chars/adamx/walk1.gif
delay 19
@cmd changeentityproperty getlocalvar("self") "Subject_to_Platform" 1
frame data/chars/adamx/walk2.gif
delay 13
frame data/chars/adamx/walk3.gif
frame data/chars/adamx/walk4.gif
delay 17
frame data/chars/adamx/walk5.gif
delay 13
frame data/chars/adamx/walk6.gif
@script
Anim Spawn
void mapParNum()
{ // Change remap based Parent's Index
void self = getlocalvar("self");
void Parent = getentityproperty(self, "parent");
int ParIndex = getentityproperty(Parent,"playerindex");
@end_script
name Marker
type NPC
shadow 0
subtype follow
alpha 1
nolife 1
nomove 1
palette data/chars/effects/Marker
animationscript data/scripts/script.c
anim idle
loop 0
delay 4
offset 113 127
@cmd changeentityproperty getlocalvar("self") "Subject_to_Gravity" 0
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
anim Spawn
@script
void self = getlocalvar("self");
void Parent = getentityproperty(self, "parent");
int ParIndex = getentityproperty(Parent,"playerindex");
if(ParIndex==0){
changeentityproperty(self, "map", 0);
} else if(ParIndex==1){
changeentityproperty(self, "map", 1);
} else if(ParIndex==2){
changeentityproperty(self, "map", 2);
} else if(ParIndex==3){
changeentityproperty(self, "map", 3);
}
@end_script
loop 0
delay 4
offset 113 127
@cmd changeentityproperty getlocalvar("self") "Subject_to_Gravity" 0
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
anim Walk
loop 0
delay 4
offset 113 127
@cmd changeentityproperty getlocalvar("self") "Subject_to_Gravity" 0
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
Why do you add antigravity script?I could never find the thing at first, but now that I think about it, not that I have spawn there, I don't really need it.
Maybe that's the cause of the bug you have now.
BTW I just think outside the box, if the marker only for marking player, you could use other way such as spawn this marker as type none and bind it to player.Sounds good. I'll try it out.
As before, the marker's remap is matched to player's number. This way, the marker will always follow or rather stick to player and work better than npc.I thought it was for matching the players remap, but I'll try it anyway.
name Marker
type None
shadow 0
#alpha 1
nolife 1
nomove 1
palette data/chars/effects/Marker
animationscript data/scripts/script.c
anim idle
loop 0
delay 4
offset 113 127
@cmd bind 1
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
anim Spawn
@script
void self = getlocalvar("self");
void Parent = getentityproperty(self, "parent");
int ParIndex = getentityproperty(Parent,"playerindex");
if(ParIndex==0){
changeentityproperty(self, "map", 0);
} else if(ParIndex==1){
changeentityproperty(self, "map", 1);
} else if(ParIndex==2){
changeentityproperty(self, "map", 2);
} else if(ParIndex==3){
changeentityproperty(self, "map", 3);
}
@end_script
loop 0
delay 4
offset 113 127
@cmd bind 1
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
anim Walk
loop 0
delay 4
offset 113 127
@cmd bind 1
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
here's the bind script:void bind(int null, float x, float z, float y, int dir){
void self = getlocalvar("self");
void opp = getentityproperty(self, "opponent");
if(null == 1)
{
bindentity(opp, self, x, z, y, dir, 0);
}
else if(null == 0)
{
bindentity(opp, NULL());
}
}
void spawnMarker(void Name, float dx, float dy, float dz)
{ // Spawn marker, adjust it's remap and bind it
void self = getlocalvar("self");
int ParIndex = getentityproperty(self,"playerindex");
void Spawn;
Spawn = spawn01(Name, dx, dy, 0);
bindentity(Spawn, self, dx, dz, dy, 0, 0); // Bind spawned marker
if(ParIndex==0){
changeentityproperty(Spawn, "map", 0);
} else if(ParIndex==1){
changeentityproperty(Spawn, "map", 1);
} else if(ParIndex==2){
changeentityproperty(Spawn, "map", 2);
} else if(ParIndex==3){
changeentityproperty(Spawn, "map", 3);
}
}
void spawn01(void vName, float fX, float fY, float fZ)
{
//spawn01 (Generic spawner)
//Damon Vaughn Caskey
//07/06/2007
//
//Spawns entity next to caller.
//
//vName: Model name of entity to be spawned in.
//fX: X location adjustment.
//fY: Y location adjustment.
//fZ: Z location adjustment.
void self = getlocalvar("self"); //Get calling entity.
void vSpawn; //Spawn object.
int iDirection = getentityproperty(self, "direction");
clearspawnentry(); //Clear current spawn entry.
setspawnentry("name", vName); //Acquire spawn entity by name.
if (iDirection == 0){ //Is entity facing left?
fX = -fX; //Reverse X direction to match facing.
}
fX = fX + getentityproperty(self, "x"); //Get X location and add adjustment.
fY = fY + getentityproperty(self, "a"); //Get Y location and add adjustment.
fZ = fZ + getentityproperty(self, "z"); //Get Z location and add adjustment.
vSpawn = spawn(); //Spawn in entity.
changeentityproperty(vSpawn, "position", fX, fZ, fY); //Set spawn location.
changeentityproperty(vSpawn, "direction", iDirection); //Set direction.
return vSpawn; //Return spawn.
}
anim Spawn
@script
void self = getlocalvar("self");
int ParIndex = getentityproperty(self,"playerindex");
void Spawn;
Spawn = spawn01(Name, dx, dy, 0);
bindentity(Spawn, self, dx, dz, dy, 0, 0); // Bind spawned marker
if(ParIndex==0){
changeentityproperty(Spawn, "map", 0);
} else if(ParIndex==1){
changeentityproperty(Spawn, "map", 1);
} else if(ParIndex==2){
changeentityproperty(Spawn, "map", 2);
} else if(ParIndex==3){
changeentityproperty(Spawn, "map", 3);
}
@end_script
loop 0
delay 4
offset 113 127
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
anim Spawn
loop 0
delay 4
offset 113 127
@cmd spawnMarker 1
frame data/chars/effects/Marker.gif
frame data/chars/effects/Marker.gif
I still got the same message. If it helps, I'll attach the scriptlog.