Couldn't stop myself from testing it. So here is one way you can pull this off without events.
This solution will automatically slow down the player to walking speed as soon as he/she is in water and will also automatically change the players outfit.
Note that in my example pictures I used an exisiting tilest and just modified it for testing purposes. I also only roughly removed everything from the player sprite that is not needed.
1) Create an outfit file for the player that only shows the head (and everything else you want to appear above water)
2) Save the file in the Graphics\Characters folder. Name it like "trchar001_1.png" (the underscore is important and the number corresponds to the outfit number,
see also)
3) Open Script Editor and go to the script section
PBTerrain
4) Add
after
5) Add this
Code:
def PBTerrain.isSpringWater?(tag)
return tag==PBTerrain::SpringWater
end
right beneath the previous added line
6) To this block
Code:
def PBTerrain.onlyWalk?(tag)
add
Code:
|| tag==PBTerrain::SpringWater
after
7) Go to the Script Section
Game_Character
8) Before this block
Code:
def moving?
return (@real_x != @x*4*Game_Map::TILEWIDTH or @real_y != @y*4*Game_Map::TILEHEIGHT)
end
add this
Code:
def hotSpring?
return PBTerrain.isSpringWater?($game_map.terrain_tag($game_player.x,$game_player.y))
end
9) Go to the Script Section
Game_Player and find
Code:
#-----------------------------------------------------------------------------
# * Frame Update
#-----------------------------------------------------------------------------
def update
10) After
add
Code:
$Trainer.outfit= hotSpring? ? 1 : 0
11) Edit your tileset, so that you can create the desired Hot Springs and place them in your tileset folder
12) Start the game via RMXP and open the debug menu
13) Go to the Information Editor and select "Edit Terrain Tags"
14) Navigate to your Hot Spring Water tiles and set them to 17
15) Save the changes, close the editor and then close te game AND RMXP
DONE! You can now set up a map with Hot Springs
The result could look like this: