* Changed the DayTime enum name to DayTimes for consistency with other enums like Seasons
* Changing the EnvironmentType or WeatherType will now not reset back to the default when Reloading a map with the R key (Warping or loading a different map normally does reset those properties)
* @level.setdaytime(int) is now @environment.setdaytime(int), which sets the DayTime permanently across maps. Setting the daytime to any other value than 1 2 3 or 4 will reset the daytime to the default one
* Added command @player.setskin(name) which will permanently change the player's skin, unlike @player.wearskin(name) which only changes the skin temporarily.
* Skin genders in the new game intro now grab the correct localization string
* Badges rotate around the center of their texture's width and height, which fixes the bug where the badges would rotate off-center when the texture resolution was different.
* The selected button background color in the GameMode selection screen is now light and the unselected buttons are dark instead of the other way around.
The title box is now dynamic in width so the name of the contentpack can be larger.
The information box under that is now properly aligned and has a more pleasant size to match the new font.
* <entity.rotation(int)> returns the direction in which an entity is facing
* <level.environmenttype> returns the environmenttype of a level/map
* Added some missing constructs to the ScriptLibrary
* Fixed crash when trying to play an intro of a battle song that wasn't an ogg
* Fixed crash when trying to resume the music after using the command @music.stop
Fixed:
- Regular toxic animation (initial move) only has 1 bubble instead of 3
- Issue with Zoom in screen when status effect occurs (from opposing pokemon) instead focuses on player pokemon
* Fixed camera angle not changing to the Pokémon when status effects are doing something
* Fixed softlock when opponent trainer switches Pokémon
* (Hopefully) fixed initial positioning errors with spawned BattleAnimation entities related to BattleFlip functionality
* Removed the now unneccessary BattleFlip checks in the move animation of Growl
* Improved Ember move animation (fireball speed & flame delay)
* Improved Poison Sting move animation by making the stinger smaller, increasing the speed of the stinger and making it use a flipped version of the texture when the opponent uses the move
* Improved Poisoned status effect animation by making it 1 bubble for regular poison and 3 bubbles for toxic
* Repositioned the flame of the Burned status effect animation
* Trainers now display a message when sending out their Pokémon (I removed that before)
* Fixed Party Screen not appearing immediately after the player's Pokémon fainted and also made the player unable to exit the Party Screen when that happens.
* Fixed the incorrectly scaled font sizes and text alignment in the selection menu that appears when selecting a Pokémon in the Party screen
* Replaced minifont in the Pokémon level up stats box with InGameFont and fixed the offsets
* Fixed the error I made in the ceiling map code of Violet City's gym
* Removed the file MoveAnimationQueryObject.vb because AnimationQueryObject.vb also includes Move Animations
* Fixed the textbox in battles where an empty rectangle would appear before the animation finished.
* When a trainer spots the player and an exclamation mark bubble pops up above their head, a sound is played (Emote_Exclamation)
* In trainer battles, the player's Pokémon now also plays their cry.
Fixed buggy throwing animation of the opponent trainer
Fixed a bug related to the trainer sprite in the vs trainer intro that made the trainer texture buggy if it wasn't 32x32
Pokémon textures with 3 and 4 frames work better now
When the player is running, the Pokémon animates faster
When a (network) player is standing still, the Pokémon animates slower (unless the Pokémon texture has 4 frames, then it stops at the first frame)
Cleaned up the code a little
- Caves and water get a minimum value of 15
- Grass gets a minimum value of 25
- There's an encounter multiplier of 1 by default that gets modified by various abilities
If you run, the encounter multiplier is multiplied by 1.5
Then, a random number is generated from 0-255
If the random number is below the minimum value multiplied by the encounter multiplier, a wild pokémon appears