diff --git a/Credits.txt b/Credits.txt index a78aa147e..05660cce5 100644 --- a/Credits.txt +++ b/Credits.txt @@ -45,7 +45,7 @@ Special thanks to Aegide and Reizod for helping to rip the sprites from the webs and to the owners of the respective fusion websites for accepting to share their sprites. -Intro cinamatic +Intro cinematic ##################### Kiwikelly @@ -116,7 +116,7 @@ with their respective authors' consent SailorVicious (Prof. Elm OW sprite) https://www.deviantart.com/sailorvicious OceansLugiaSpirit (Koga OW sprite) http://oceanslugiaspirit.deviantart.com/ Wolfang62: https://www.deviantart.com/wolfang62/art/Wimpod-Sprite-Overworld-836704744 - + zender1752 (Sabrina OW sprite) Battle sprites: Custom graphics: Kiwikelly, UnworthyPie @@ -124,7 +124,7 @@ with their respective authors' consent Free use graphics: luckygirl88 (Misty VS sprite) http://luckygirl88.deviantart.com/art/Pokemon-BW-Misty-Sprite-Sheet-268364830 Lorelei VS sprite by Nalty http://nalty.deviantart.com/art/Lorelei-VS-Sprite-177184960 - + x-5-4-5-2 (Sabrina sprite) https://www.deviantart.com/x-5-4-5-2/art/Game-Sabrina-204548703 ### Custom tileset graphics ### Kiwikelly diff --git a/Data/Actors.rxdata b/Data/Actors.rxdata index 7967a5432..41edc8e26 100644 Binary files a/Data/Actors.rxdata and b/Data/Actors.rxdata differ diff --git a/Data/Animations.rxdata b/Data/Animations.rxdata index a900929a9..71336e1f0 100644 Binary files a/Data/Animations.rxdata and b/Data/Animations.rxdata differ diff --git a/Data/Armors.rxdata b/Data/Armors.rxdata index 2249bec14..901f2bb2b 100644 Binary files a/Data/Armors.rxdata and b/Data/Armors.rxdata differ diff --git a/Data/CommonEvents.rxdata b/Data/CommonEvents.rxdata index a505dc4f9..2c3a12d33 100644 Binary files a/Data/CommonEvents.rxdata and b/Data/CommonEvents.rxdata differ diff --git a/Data/Enemies.rxdata b/Data/Enemies.rxdata index 004ee903d..be622f513 100644 Binary files a/Data/Enemies.rxdata and b/Data/Enemies.rxdata differ diff --git a/Data/Items.rxdata b/Data/Items.rxdata index 3e62ba6d2..fe767fa0b 100644 Binary files a/Data/Items.rxdata and b/Data/Items.rxdata differ diff --git a/Data/Map829.rxdata b/Data/Map829.rxdata index eadb8b319..750bbf5e5 100644 Binary files a/Data/Map829.rxdata and b/Data/Map829.rxdata differ diff --git a/Data/Scripts/005_Sprites/013_Sprite_Wearable.rb b/Data/Scripts/005_Sprites/013_Sprite_Wearable.rb index da106f77f..dc8bf2173 100644 --- a/Data/Scripts/005_Sprites/013_Sprite_Wearable.rb +++ b/Data/Scripts/005_Sprites/013_Sprite_Wearable.rb @@ -166,54 +166,5 @@ class Sprite_Wearable < RPG::Sprite @disposed end - # def getCurrentSpriteOffset() - # direction = @character.direction - # current_frame = @character.pattern - # case @character_name - # when "run" - # if direction == DIRECTION_DOWN - # return Outfit_Offsets::RUN_OFFSETS_DOWN[current_frame] - # elsif direction == DIRECTION_LEFT - # return Outfit_Offsets::RUN_OFFSETS_LEFT[current_frame] - # elsif direction == DIRECTION_RIGHT - # return Outfit_Offsets::RUN_OFFSETS_RIGHT[current_frame] - # elsif direction == DIRECTION_UP - # return Outfit_Offsets::RUN_OFFSETS_UP[current_frame] - # end - # when "surf" - # #when "dive" - # if direction == DIRECTION_DOWN - # return Outfit_Offsets::SURF_OFFSETS_DOWN[current_frame] - # elsif direction == DIRECTION_LEFT - # return Outfit_Offsets::SURF_OFFSETS_LEFT[current_frame] - # elsif direction == DIRECTION_RIGHT - # return Outfit_Offsets::SURF_OFFSETS_RIGHT[current_frame] - # elsif direction == DIRECTION_UP - # return Outfit_Offsets::SURF_OFFSETS_UP[current_frame] - # end - # when "dive" - # if direction == DIRECTION_DOWN - # return Outfit_Offsets::DIVE_OFFSETS_DOWN[current_frame] - # elsif direction == DIRECTION_LEFT - # return Outfit_Offsets::DIVE_OFFSETS_LEFT[current_frame] - # elsif direction == DIRECTION_RIGHT - # return Outfit_Offsets::DIVE_OFFSETS_RIGHT[current_frame] - # elsif direction == DIRECTION_UP - # return Outfit_Offsets::DIVE_OFFSETS_UP[current_frame] - # end - # when "bike" - # if direction == DIRECTION_DOWN - # return Outfit_Offsets::BIKE_OFFSETS_DOWN[current_frame] - # elsif direction == DIRECTION_LEFT - # return Outfit_Offsets::BIKE_OFFSETS_LEFT[current_frame] - # elsif direction == DIRECTION_RIGHT - # return Outfit_Offsets::BIKE_OFFSETS_RIGHT[current_frame] - # elsif direction == DIRECTION_UP - # return Outfit_Offsets::BIKE_OFFSETS_UP[current_frame] - # end - # end - # return Outfit_Offsets::BASE_OFFSET[current_frame] - # end - end diff --git a/Data/Scripts/005_Sprites/014_Sprite_Hair.rb b/Data/Scripts/005_Sprites/014_Sprite_Hair.rb index 60494f093..0c2562fca 100644 --- a/Data/Scripts/005_Sprites/014_Sprite_Hair.rb +++ b/Data/Scripts/005_Sprites/014_Sprite_Hair.rb @@ -13,11 +13,12 @@ class Sprite_Hair < Sprite_Wearable crop_spritesheet(direction, current_frame, action) adjust_layer() set_sprite_position(@action, direction, current_frame) + adjust_position_for_nonAnimated_hairstyles(current_frame) end def crop_spritesheet(direction, current_frame, action) sprite_x = ((current_frame)) * @frameWidth - + sprite_x = 0 if @frameWidth == @wearableBitmap.width # Don't animate surf sprite_x = 0 if action == "surf" @@ -25,6 +26,10 @@ class Sprite_Hair < Sprite_Wearable @sprite.src_rect.set(sprite_x, sprite_y, @frameWidth, @frameHeight) end + def adjust_position_for_nonAnimated_hairstyles(current_frame) + return if @frameWidth != @wearableBitmap.width + @sprite.y -= 2 if current_frame % 2 == 1 + end def set_sprite_position(action, direction, current_frame) @sprite.x = @player_sprite.x - @player_sprite.ox @sprite.y = @player_sprite.y - @player_sprite.oy @@ -80,7 +85,7 @@ class Sprite_Hair < Sprite_Wearable apply_sprite_offset(Outfit_Offsets::FISH_OFFSETS_UP, current_frame) end end - + adjustPositionForScreenScrolling() end end \ No newline at end of file diff --git a/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb b/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb index 43639339a..c7cb40f81 100644 --- a/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb +++ b/Data/Scripts/050_Outfits/001_OutfitsMain/LayeredClothes.rb @@ -134,9 +134,10 @@ end def generate_front_trainer_sprite_bitmap_from_appearance(trainerAppearance) echoln trainerAppearance.hat - return generate_front_trainer_sprite_bitmap(false,nil,trainerAppearance.clothes,trainerAppearance.hat,nil, + return generate_front_trainer_sprite_bitmap(false,nil,trainerAppearance.clothes,trainerAppearance.hat,trainerAppearance.hat2, trainerAppearance.hair,trainerAppearance.skin_color, - trainerAppearance.hair_color,trainerAppearance.hat_color,trainerAppearance.clothes_color) + trainerAppearance.hair_color,trainerAppearance.hat_color,trainerAppearance.clothes_color, + trainerAppearance.hat2_color) end def generate_front_trainer_sprite_bitmap(allowEasterEgg=true, pokeball = nil, diff --git a/Data/Scripts/050_Outfits/OutfitIds.rb b/Data/Scripts/050_Outfits/OutfitIds.rb index 998c98721..611839bc9 100644 --- a/Data/Scripts/050_Outfits/OutfitIds.rb +++ b/Data/Scripts/050_Outfits/OutfitIds.rb @@ -112,7 +112,7 @@ HAIR_SURGE = "surge" #does not exist yet HAIR_ERIKA = "erika" HAIR_KOGA = "koga" #does not exist yet HAIR_JANINE = "janine" -HAIR_SABRINA = "sabrina" #does not exist yet +HAIR_SABRINA = "sabrinaGSC" HAIR_BLAINE = "blaine" #does not exist yet HAIR_GIOVANNI = "giovanni" #does not exist yet HAIR_WHITNEY = "whitney" diff --git a/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb b/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb index c22a47a44..066110f7c 100644 --- a/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb +++ b/Data/Scripts/050_Outfits/utils/OutfitsGameplayUtils.rb @@ -313,12 +313,13 @@ def randomizePlayerOutfitUnlocked() end def convert_letter_to_number(letter, max_number = nil) + return 0 if !letter return letter.ord if !max_number return letter.ord % max_number end def generate_appearance_from_name(name) - name_seed_length = 15 + name_seed_length = 11 seed = name[0, name_seed_length] # Truncate if longer than 8 seed += seed[0, name_seed_length - seed.length] while seed.length < name_seed_length # Repeat first characters if shorter @@ -330,29 +331,22 @@ def generate_appearance_from_name(name) hairstyles_list = $PokemonGlobal.hairstyles_data.keys hat = hats_list[convert_letter_to_number(seed[0],hats_list.length)] - hat2 = hats_list[convert_letter_to_number(seed[1],hats_list.length)] - hat2 = nil if convert_letter_to_number(seed[2]) % 3 == 0 #1/3 chance of no 2nd hat + hat_color = convert_letter_to_number(seed[1],255) + hat_color = 0 if convert_letter_to_number(seed[2]) % 2 == 0 #1/2 chance of no dyed hat - hat_color = convert_letter_to_number(seed[3],255) - hat_color = 0 if convert_letter_to_number(seed[4]) % 2 == 0 #1/2 chance of no dyed hat - hat2_color = convert_letter_to_number(seed[5],255) - hat2_color = 0 if convert_letter_to_number(seed[6]) % 2 == 0 + clothes = clothes_list[convert_letter_to_number(seed[3],clothes_list.length)] + clothes_color = convert_letter_to_number(seed[4],255) + clothes_color = 0 if convert_letter_to_number(seed[5]) % 2 == 0 #1/2 chance of no dyed clothes - clothes = clothes_list[convert_letter_to_number(seed[7],clothes_list.length)] - clothes_color = convert_letter_to_number(seed[8],255) - clothes_color = 0 if convert_letter_to_number(seed[9]) % 2 == 0 #1/2 chance of no dyed clothes - - hair_base = hairstyles_list[convert_letter_to_number(seed[10],hairstyles_list.length)] - hair_number = [1,2,3,4][convert_letter_to_number(seed[11],3)] + hair_base = hairstyles_list[convert_letter_to_number(seed[6],hairstyles_list.length)] + hair_number = [1,2,3,4][convert_letter_to_number(seed[7],3)] hair=getFullHairId(hair_base,hair_number) - hair_color = convert_letter_to_number(seed[12],255) - hair_color = 0 if convert_letter_to_number(seed[13]) % 2 == 0 #1/2 chance of no dyed hair + hair_color = convert_letter_to_number(seed[8],255) + hair_color = 0 if convert_letter_to_number(seed[9]) % 2 == 0 #1/2 chance of no dyed hair - skin_tone = [1,2,3,4,5,6][convert_letter_to_number(seed[14],5)] - - echoln clothes + skin_tone = [1,2,3,4,5,6][convert_letter_to_number(seed[10],5)] return TrainerAppearance.new(skin_tone,hat,clothes, hair, - hair_color, clothes_color, hat_color,hat2,hat2_color) + hair_color, clothes_color, hat_color) end diff --git a/Data/Scripts/052_AddOns/FusionUtils.rb b/Data/Scripts/052_AddOns/FusionUtils.rb index c59e81eb2..b3a24995a 100644 --- a/Data/Scripts/052_AddOns/FusionUtils.rb +++ b/Data/Scripts/052_AddOns/FusionUtils.rb @@ -296,7 +296,7 @@ end def getFusedPokemonIdFromSymbols(body_dex, head_dex) bodyDexNum = GameData::Species.get(body_dex).id_number headDexNum = GameData::Species.get(head_dex).id_number - return getFusedPokemonIdFromDexNum(body_dex, head_dex) + return getFusedPokemonIdFromDexNum(bodyDexNum, headDexNum) end def generateFusionIcon(dexNum, path) diff --git a/Data/Skills.rxdata b/Data/Skills.rxdata index 61cba7ea2..a45219f5e 100644 Binary files a/Data/Skills.rxdata and b/Data/Skills.rxdata differ diff --git a/Data/States.rxdata b/Data/States.rxdata index 0f9b4ae5d..868d49e59 100644 Binary files a/Data/States.rxdata and b/Data/States.rxdata differ diff --git a/Data/System.rxdata b/Data/System.rxdata index c2d5c741d..696b6499b 100644 Binary files a/Data/System.rxdata and b/Data/System.rxdata differ diff --git a/Data/Tilesets.rxdata b/Data/Tilesets.rxdata index 6fd4dee80..81118b37b 100644 Binary files a/Data/Tilesets.rxdata and b/Data/Tilesets.rxdata differ diff --git a/Data/Weapons.rxdata b/Data/Weapons.rxdata index d9bd35260..c7ea19a7a 100644 Binary files a/Data/Weapons.rxdata and b/Data/Weapons.rxdata differ diff --git a/Data/outfits/hairstyles_data.json b/Data/outfits/hairstyles_data.json index 4814e6607..548fda497 100644 --- a/Data/outfits/hairstyles_data.json +++ b/Data/outfits/hairstyles_data.json @@ -187,12 +187,19 @@ }, { "id": "highpony", - "name": "High-pony", + "name": "Ponytail", "description": "A high ponytail reminiscent of Lopunny's fur", "done": "yes", "price": 500, "tags": "default" }, + { + "id": "hilda", + "name": "High-pony", + "description": "A voluminous high ponytail that shows you're ready for adventure. It's popular with new trainers in Unova!", + "price": 2000, + "tags": "unova," + }, { "id": "hime", "name": "Hime", @@ -321,7 +328,10 @@ }, { "id": "lyra", - "name": "Springy Pigtails" + "name": "Peppy Pigtails", + "description": "Bouncy pigtails with a playful charm that gives off a carefree vibes.", + "price": 1500, + "tags": "johto," }, { "id": "mawile", @@ -506,6 +516,16 @@ "tags": "short, untied, spiky, thick, pokemon,celadon,", "howToGet": "Celadon special" }, + { + "id": "sabrinaGSC", + "name": "Clairvoyant Cut", + "description": "A medium-length cut with a distinct parted fringe that frames the face.The style was popularized by the Gym Leader Sabrina.", + "price": 2000 + }, + { + "id": "sabrinaRBY", + "name": "Telekinetic Tresses" + }, { "id": "samurai", "name": "Samurai" diff --git a/Data/sprites/sprites_rate_limit.log b/Data/sprites/sprites_rate_limit.log index c956c4a2b..9c10ecd12 100644 --- a/Data/sprites/sprites_rate_limit.log +++ b/Data/sprites/sprites_rate_limit.log @@ -1,5 +1,2 @@ -1740158773 -1740158778 -1740158828 -1740158832 -1740158832 \ No newline at end of file +1740188152 +1740188180 \ No newline at end of file diff --git a/Data/sprites/updated_spritesheets_cache b/Data/sprites/updated_spritesheets_cache index 54d9527e9..cd52e2df7 100644 --- a/Data/sprites/updated_spritesheets_cache +++ b/Data/sprites/updated_spritesheets_cache @@ -503,3 +503,70 @@ Graphics/CustomBattlers/spritesheets/spritesheets_custom/148/148.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/78/78c.png Graphics/CustomBattlers/spritesheets/spritesheets_custom/136/136.png Graphics/CustomBattlers/spritesheets/spritesheets_base/260.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/208.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/208/208.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/151/151.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/305.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/498/498.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/461.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/33/33.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/232.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/78/78.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/155.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/373/373.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/197.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/197/197a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/86/86.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/478/478.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/459.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/459/459.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/24.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/158.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/14/14.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/327.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/327/327.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/15.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/15/15.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/246.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/412.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/48/48a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/116.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/223.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/223/223.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/60.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/99/99.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/275/275b.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/95.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/211.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/211/211.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/240.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/253.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/253/253.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/408.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/408/408.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/258.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/206/206.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/3/3a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/57/57.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/467/467a.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/467/467.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/36.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/36/36.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/495.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/158/158.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/124.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/124/124.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/406/406.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/133.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/46/46a.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/35.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/433.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/433/433.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/43.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/309/309.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/122.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/122/122.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/114.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/114/114.png +Graphics/CustomBattlers/spritesheets/spritesheets_custom/499/499.png +Graphics/CustomBattlers/spritesheets/spritesheets_base/69.png diff --git a/Graphics/Characters/player/hair/pompadour/hair_1_pompadour.png b/Graphics/Characters/player/hair/pompadour/hair_1_pompadour.png index 16c4a7d2d..d7048cf8f 100644 Binary files a/Graphics/Characters/player/hair/pompadour/hair_1_pompadour.png and b/Graphics/Characters/player/hair/pompadour/hair_1_pompadour.png differ diff --git a/Graphics/Characters/player/hair/pompadour/hair_2_pompadour.png b/Graphics/Characters/player/hair/pompadour/hair_2_pompadour.png index 54c9a8342..de24015ce 100644 Binary files a/Graphics/Characters/player/hair/pompadour/hair_2_pompadour.png and b/Graphics/Characters/player/hair/pompadour/hair_2_pompadour.png differ diff --git a/Graphics/Characters/player/hair/pompadour/hair_3_pompadour.png b/Graphics/Characters/player/hair/pompadour/hair_3_pompadour.png index cfb257f5a..482a25fd1 100644 Binary files a/Graphics/Characters/player/hair/pompadour/hair_3_pompadour.png and b/Graphics/Characters/player/hair/pompadour/hair_3_pompadour.png differ diff --git a/Graphics/Characters/player/hair/pompadour/hair_4_pompadour.png b/Graphics/Characters/player/hair/pompadour/hair_4_pompadour.png index 097f90a54..22d4b7dc2 100644 Binary files a/Graphics/Characters/player/hair/pompadour/hair_4_pompadour.png and b/Graphics/Characters/player/hair/pompadour/hair_4_pompadour.png differ