Jump to content

silverlime

Veterans
  • Posts

    119
  • Joined

  • Last visited

  • Days Won

    1

 Content Type 

Profiles

Forums

Events

Reborn Development Blog

Rejuvenation Development Blog

Starlight Divide Devblog

Desolation Dev Blog

Posts posted by silverlime

  1. 7 hours ago, ArcBolt27 said:

    so something i was curious about is in the move/ability documentation it mentions electrode gets a new ability combustion which causes it to auto-use explosion upon taking a fatal hit................. but what has me curious is how that will work if you have electrode use explosion naturally, would that trigger combustion as explosion is effectively speaking a self induced fatal hit or are there plans to prevent something like that

    I'll let that speak for itself (also note that the HP bar only takes this long to go down because I have a bunch of programs running, and I apologize for the poor quality)

  2. 7 hours ago, ArcBolt27 said:

    just played thru the demo with scorbunny as my starter due to him being my favorite of the 3 from sword/shield (if the gen 8 starters werent a thing i likely woulda went torchic or chimchar) and aside from the first rival battle being rather 1-sided (not much a scorbunny with just tackle can do against a popplio that has water gun -_-) i had a bit of fun with it

     

    as for the table that has all the new abilities and such for mons do you think you could also provide documentation as to what these abilities do as many of them seem to be custom

    Thanks for trying it out! Here's a document with all the new moves and abilities so far: https://docs.google.com/document/d/1l2pZe5Tn7Lv3hOGtg4gdRDj3UlYrzeaDOzBmFJXuQyY/edit

  3. 1 hour ago, DevilWaffer2020 said:

    Ok thanks and one more question. Will there be wild starters like Rejuvenation? If not that's fine I just like using rotation teams and I rotate through starters as well.

    Yes, all starters will eventually be available as event encounters, and we plan to make them all available starting at the same point in the game so that you aren't punished for not choosing certain starters.

    1 hour ago, DevilWaffer2020 said:

    umm also where is the spreadsheet

    Oof um I may or may not have forgotten to put the link before lol, but it's there now.

    Let's pretend that never happened

  4. 10 hours ago, DevilWaffer2020 said:

    Is there a list of all the new starter abilities and which ones get them? Also do any of the starters have new megas?

    As for new abilities, I can do you one better. Here's a spreadsheet with all the abilities planned to be given to Pokemon. Abilities highlighted in yellow are new for the Pokemon and these are subject to change, so don't expect them to be final, though I think the starter abilities won't change too much. Also keep in mind that hidden abilities are not available by default.

    https://docs.google.com/spreadsheets/d/1DeDkxbOA3MkoueWPXUIXWfgPMUFXRiL67uK32Ods7mc/edit#gid=0

     

    I'm going to keep it a surprise which starters will receive new megas, but some are definitely planned to!

  5. On 10/10/2020 at 10:38 AM, Elios said:

    This is awesome! Do you have a discord server or something like that where you post more updates or just the thread for now?

    Thanks! I plan to create a discord server for the community once version 1 is released, but for now it's mainly just the thread.

     

    But since I haven't really posted much of the progress we've made since the demo yet (besides Aria's redesign and the new map segments), how about the map for the second section of Route 1? This is where the foliage starts to transition from the golden leaves in the Goldsong area to the dark leaves in the Darkleaf area. It also maybe even fits an early Halloween theme (though this is completely a coincidence).

    Capture.PNG

    • Like 1
  6. 1 hour ago, Angelkitsune said:

    why are some of the pokemon's abilities are weird, like my torchic got cute charm and a swablue with water absorb. Also try adding some persona 5 music :3c

    Yeah I made each Pokemon have 4 total abilities (2 regular and 2 hidden). I've already planned to make this a bit more clear in the next release because it wasn't really mentioned anywhere and I didn't really say anything about it in this post. Music is also going to be revised in the next release. Thanks for trying out the game, it means a lot!

  7. 4 hours ago, Gentleman Jaggi said:

    Played through the demo and I'd say what's there so far seems quite promising. It's only one town and route each so not really enough to form concrete expectations; the starting town doesn't have much going on as is usual for Pokémon games but Route 1 has an interesting little gimmick to it that's required to progress through the first time.

     

    Regarding the plot there's not mucbh that can be said since the demo barely scratched the surface but the setup seems interesting enough, although I think the intro bit of the game brings up the bit about your parents a little too often in quick succession. Otherwise the only thing I can say is that I'm not really sure what Aria being a character from the anime is intended to contribute; it seems to be mostly just used as a backstory for her although as someone who hasn't watched the Pokémon anime in a hot minute I don't know what sort of reaction I'm supposed to have to her presence. It did kinda bug me how she just ditches her old Pokémon now because reasons when it's her explicit motivation to become able to protect herself and her family so sticking with the Pokémon she already knows for a long time and is familiar with should really be the smarter choice.

    Visually the game looks nice so far. Gen IV graphics produce pretty clean environments and it works well for Route 1 and Goldsong Village's coast. The custom NPC sprites blend in well and the one we get to see in battle so far looks quite good. The protgaonist's various sprites unfortunately all look rather plain and uninteresting, particularly the male ones.

     

    There are no major battles in this demo, but the random trainers on Route 1 are unfortunately rather ill-balanced in my opinion. There levels are a little too high for how little exp you can get until that point without grinding wild encounters and they use quite a number of Pokémon species that are just too strong for that point in the game. The second trainer you can find on Route 1 has a Durant, a Pokémon with three base stats higher than 100 at a point where players are lucky to have more than two Pokémon above Level 5 without grinding them out. Other standout Pokémon found on Route 1 include a Sudowoodo with Stone Edge, a Minimize spamming Litwick that's also surprisingly tanky, a Draining Kiss spamming Comfey that's annoyingly tanky, a Wigglytuff with Hyper Voice, a Snubbul with Elemental Fangs for coverage and potentially an ability that sharply raises its Speed, a Sneasel and a Dunsparce that will Rollout you into oblivion if you don't get rid of it quickly. With a lot of annoyingly strong enemies running around much of the gameplay is spend progressing a few stept forward and then immediately turning back around to the Nurse at the entrance to the Route because your team is on its last leg after just one, maybe two trainer battles. Many of the trainers also already carry three or four Pokémon with them with can make breaking through some of those annoyingly strong ones even more of an issue.

    Another contributing factor is that the early game seems rather heavily skewed in favor of Fire Type Starters and pretty heavily screwing over the other two Types. With Route 2 being set in a forest some Type bias is expected but it becomes kind of an issue when the trainers get in on it as well. The Field boosts Grass moves but many of the enemies resist it so if your Starter is a Grass Type your strongest team member's offense just got screwed while Water Starters need to be wary of enemies' powered up Grass moves. Fire Types meanwhile get to burn through the plentiful Bugs you have to fight on this route while being threatened by relatively few enemies.

    All that is exacerbated by battles being locked to "Set" mode. I get that it's a game design choice to make battles more challenging by removing a player-only advantage but it really never improves anything when it's forced on everyone. The vast majority of the time all it does is make random trainers more time-consuming to beat than they should be and training up new team members harder than it needs to be. Even if you feel like Set mode is somehow an absolutely vital component for the game to be fun and challenging I feel it would be a much better idea to restrict them to fights where it actually matters instead of also extending it to those trainers that should mainly exist to feed us exp on our way between the important bits of the game. Also options really don't hurt anybody.

     

    Random bit about music: I ran itno an Aroma Lady using Hopes and Dreams from Undertale for her battle music and then a few stept further an Dancer who used a track ripped straight from I think the Gen II games. Talk about whiplash. Also personal opinion but I feel like you shouldn't use climactic final boss music on random route trainers because it dulls the impact of whatever track you'll be using for the battles that are actually supposed to feel climactic. Particularly if it's music from other games the emotional connection players may have with it is going to make it hard for other tracks to compete against that.

     

    Lastly two bugs I encountered: during the battle at the big honey tree the enemy's Lv 6 Combee had an invisible sprite

    Secondly both Fury Swipes and Fury Attack don't work and throw out an error related to the Battlebond Ability for some unfathomable reason:

    image.png.17853aa3d905d17ee58e9109fee35677.png

    Clicking on OK results in the Pokémon's turn being skipped

    Thanks for trying out the demo, and your feedback is appreciated! Since there is so little content so far, I am very willing to change a bunch of things around, and some of these things you talked about I already fixed or have plans to fix for the next release. I acknowledge that there are quite a few critical errors in the demo, and I plan to fix as many of these as possible and refrain from doing them again in the future.

     

    One major thing I actually kind of completely redid was Aria's character as of this stage in the demo, which I think solves some of these issues about the plot so far that you're talking about. Instead of being suddenly motivated to go on an adventure, I'm changing it so she is actually reluctant, and only agrees to get a new Pokémon because Hera encourages her to do so. She also only plans on bringing the Pokémon with her to Darkleaf Town and intends to return it to the professor afterwards. While I agree that her relation to the anime doesn't add too much to her as a character, I don't intend to go too deep into her anime self (which was only created to characterize Serena anyway, so there's not too much interesting stuff to into here anyway). This is mainly just a small quirk about her character, and I plan to take her in a different direction for the story of Pokémon Vengeance.

     

    I was actually worried that the custom NPC sprites weren't very good, so I'm glad you like them. As for the player character sprites, I plan to add in character customization eventually (which is why they all have the same poses), so the sprites aren't supposed to be very interesting yet. The reason I didn't include this in the list of features is that I'm still not 100% sure that I'm going to include it, but if I don't, I'll definitely redo the main character sprites to look more interesting.

     

    As for the difficulties of the battles and preference towards fire starters, I already have plans to fix those, so don't worry about these being problems in the future. I really don't know what I was thinking with some of the trainers, so I apologize for the frustration here.

     

    The main reason I wanted to make the battles in set mode was so that double battles weren't objectively more difficult than single battles (because doubles are in set even if you have that off). I think you have a good point that this is only necessary for major battles, so I think I'll implement that for the next release.

     

    I have heard mixed things about the music so far. Some people like it, and some think it's too intense, so I'll probably tone some of them down a bit. I personally find that more intense music just makes battles more interesting, and I'm not really a fan of dull trainer battle themes because these are the ones you hear the most, but I'll still keep the variation in trainer battle music so at least they aren't both repetitive and dull.

     

    As for the problem with multi-hit moves, that's really strange that you're getting this error because I definitely fixed that a while ago and I see that it's fixed in my most recent scripts, but I see that the demo has this problem still. I guess I had an outdated scripts file in the demo somehow, so I apologize for that.

     

    The problem with Combee, on the other hand, seems to be very inconsistent and I couldn't figure out what is causing it, but it seems to only affect Pokémon with shadows underneath them and it goes away once you hit them. Maybe I'll just get rid of the shadows under airborne sprites so this won't be a problem anymore because it seems very difficult to trace.

  8. Image


    Try out the demo (currently only about 1 hour of gameplay), and join the Discord!

     

    Pokémon Vengeance, heavily inspired by Pokémon Reborn and Rejuvenation, takes place in the Verdiva Region, which consists of 3 main islands:
    - Deloria Island, the island on which the player begins their journey, is lush and full of forests, jungles, and mountains (and even a volcano). 

    Deloria.png


    - Cryolysis Island is very cold and icy, and only consists of 1 city. It is very mountainous and not inhabited by many.

    Cryolysis.png


    - Dritari Island is very barren except for some areas in the Northeast. Stiffcrack Desert spans throughout this island, making it difficult to build many towns and cities inland, though there are some along the coast.

    Dritari.png

     

     

     

    You, the player, start in Goldsong Village. This quaint village is on the west coast of Deloria and is known for its beautiful autumn atmosphere. You are visiting your older sister, Aria, for the first time in many years, and are away from your home and parents in Graywave City. Your family, the Knight family, is known throughout the region due to everyone's amazing accomplishments. Your mother, Artemis, was a champion for a long time until her soon-to-be husband, Lucius, defeated her in battle. Even Artemis' sister, Hestia, is well-known due to her Elite Octet status. Lucius and Artemis went on to have 3 children: Anthony, Aria, and you, the player. Anthony is known for his recent status as a Gym Leader, and he was at the top of his class at Darkleaf Academy. Aria, of course, went off to Kalos and earned her name as Kalos Queen. That leaves you. How will you earn a name for yourself? Will you live up to your family's reputation, or will you forge your own instead? How will you react when your perception of reality is shattered? How will you exact your revenge (or towards whom)?

    During your time visiting Aria, a tragedy befalls your parents at their home in Graywave City. Verdiva, no longer under the protection of their champion(s), is overcome with people competing for new control over the region. Two new organizations reveal themselves after this tragedy, but their goals and practices differ immensely. Team Regal wishes to seize control of Verdiva now that the two strongest trainers are gone and the region is in disarray. Team Celestial, on the other hand, wishes to prevent people from gaining too much power, because once someone is strong enough to capture legendary Pokémon, they have the ability to disrupt the natural balance and stability in the world, which has been seen countless times in the past. Ultra Space will also be a major focus of Pokémon Vengeance, and the player will be able to explore many aspects of it along his/her journey. You and Aria must become trainers so that you can avoid the fate your parents experienced and choose how to serve justice.

     

    Features:
    - 18 Gyms (one for each type)
    - Elite Octet (one for each stat)
    - Reborn/Rejuvenation-style Field Effects (updated and expanded, including 6 new fields as of now)
    - Choices/Actions affecting story
    - Gym Leader rematches (several)
    - Many new moves/abilities for existing Pokémon (available through tutor and hidden ability)
    - All Pokémon from Gen 1 to Gen 8 available by the end of the game (including IoA expansion)
    - Z-Moves
    - HM replacements
    - Improved Pokémon World Tournament

    - Custom Mega Evolutions

     

    Some of the early characters (art is not final):

     

    Aria
    trainer077.png
    You may remember Aria from the XY anime, and yes, this is the same one (albeit some years later). She may have seemed like a happy girl with a perfect life, but there's more of a story behind her. She was born in Graywave City and was pressured by Lucius and Artemis to become a Pokémon trainer. They made her attend Darkleaf Academy until she and her aunt Hera convinced them to allow her to go off to Kalos. Hera set up a mentorship for Aria with a woman named Palermo, with whom she was acquainted. Aria had a lot of fun there exploring how to use Pokémon for performing, though she moved back to Verdiva after rising to the top and having nowhere else to go from there. Unfortunately, so many years later, she still isn't on good terms with her parents when they disappear, which she comes to regret.

     

    Hestia
    Capture.PNG
    Hestia is a wise, modest woman who is very kind and nurturing. Aria idolizes Hestia for all the help she has given to her. Aria even moved to Goldsong Village just so that she could be near her. However, Hestia is not to be underestimated, and has earned her position as a member of the Elite Octet due to her clever and unique battling style.

     

    Skyler
    trainer170.png
    Skyler is Aria's new boyfriend, as well as your brother Anthony's best friend throughout their time at school together. He is understanding and generous, and also has a passion for music, which is perhaps a reason Aria (as a performer) was drawn to him. Aria moved in with him after living with Hera in Goldsong Village for some time. Skyler is also the Flying-type Gym Leader of Goldsong Village.


    Pokémon World Tournament:
    The Pokémon World Tournament will take place in Jadeburn City, and will be available starting after only 3 badges. It is going to be a tremendous part of the game, and hopefully can be as entertaining as possible. All levels will be set to 50, irregardless of whether the player's Pokémon are above or below that level, which allows the player to have fun at any point in the game. The player will register trainers in a device known as the Tournament Pager throughout his/her journey, and you will see this starting right after you get your first Pokémon. The Tournament Pager will be used to register all trainers, including ones from other regions (which there will be quite a lot of). This means that they can all be found somewhere in-game, though many will only appear on certain days of the week. You can participate in the Pokémon World Tournament with anyone registered in the Tournament Pager, though more formats will be available as you register more trainers, progress in the story, and meet other requirements. I plan to include many different tournament formats, and here are some I already have planned (each of these formats will also have choices for either single battles or double battles, and either partial team or full team participation, but the Field Effect will be randomized unless otherwise stated):

    Spoiler

    Open Tournament: Any trainer registered in the Tournament Pager can compete in this format, and it will be the first one available. Trainers will not have access to TM moves or hidden abilities, and will only have access to level-up moves up to level 50. IVs will be randomized and EVs will be set to 75 in each stat. This should be a manageable format to play in even with the limited availability by the third badge, but most Pokémon will still be fully evolved (unless holding Eviolite).

     

    Open Master Tournament: Any trainer registered in the Tournament Pager can compete in this format, but it will not be available right away. Trainers will have access to all possible moves, abilities, and items. Sets will be made with maximum viability in mind.

     

    Mix Tournament: Similar to the Open Tournament, except each person chooses 1 Pokémon from the opponent's team to add to his/her own team.

     

    Rental Tournament: Each trainer will have a selected team of Pokémon to choose from that are not owned by them. This is another format that will be available near the beginning, as the player's team composition does not matter. As a result, the sets of each Pokémon will be more competitively viable.

     

    Type Master Tournament: Each trainer can only have Pokémon of one type on his/her team. Gym Leaders, Elite Four members, and even some other trainers that have tend to have mostly one type of Pokémon may participate in this format. This will not be available directly after the third gym due to it requiring a more expansive team composition. 

     

    Gym Leaders Tournament: This format be open, but will only will contain Gym Leaders (past and present). While there is no monotype obligation, teams will lean towards a specific type. Perhaps there will be another format with only Gym Leaders from specific regions, like in B2W2.

     

    Elite Tournament: This format will be open, but will only contain Elite Four and Elite Octet members (past and present). While there is no monotype obligation, teams will lean towards a specific type.

     

    Champions Tournament: This format will be open, but will only contain Champions (past and present). This will likely not be available until the post-game and will have teams of the highest viability.

     

    Evil Tournament: This format will be open, but will only contain members from "evil" organizations, which includes Admins and Leaders.

     

    Terrain Master Tournament: In this format, the player will choose a Field Effect, and all of the battles will be on that field. Depending on which field is chosen, different trainers will appear with teams catered to that specific field. This will not be available until the player has registered many trainers into the Tournament Pager, as at least 8 trainers are needed for each of the 49 current fields (though many will participate in multiple fields). Perhaps I will make certain fields available as enough trainers for that field are registered in the Tournament Pager instead of having them all be unlocked at the same time.

     

    Legendary Tournament: This format can only be done in singles and each player only uses 1 Pokémon, which must be a legendary. Obviously, this will not be available until post-game.

     

    Tag Team Tournament: This format can only be done in doubles and the player teams up with a trainer of his/her choice fighting other trainers who also team up. Opposing teammates will not be completely random, so match-ups like Lusamine and Guzma, Trevor and Tierno, and Tate and Liza can be made.

     

    Screenshots from the game so far:
    Screenshot_Gallery.png?width=1440&height=432


    New fields implemented (details for all fields can be found in the attached Field Effect Manual):

    Spoiler

    - Indoors

    - Boxing Ring

    - Subzero Field

    - Jungle

    - Beach

    - Xeric Shrubland


    Note that this game is made with Pokémon Essentials. Here's a credits list for work I have used so far:

    Spoiler

    Gen 7 Data:
    - Zeak6464
    - TapuFini
    - SpartaLazor
    - leparagon
    - M3rein
    - BlackOutG5
    - Rune
    - Rigbycwts
    - Rot8er_ConeX
    - James Davy
    - Luka S.J.
    - silverlime

     

    Mega Evolution Cries:
    - AurumDeluxe

    Battle Sprites:
    - Pokemon Essentials Team
    - Amethyst
    - Jan
    - Zumi
    - Bazaro
    - Koyo
    - Smeargletail
    - Alex
    - Noscium
    - Leparagon
    - N-kin
    - fishbowlsoul90
    - princess-phoenix
    - DatLopunnyTho
    - Conyjams 
    - kaji atsu 
    - The cynical poet
    - LuigiPlayer
    - Falgaia of the Smogon S/M sprite project
    - Pikafan2000
    - Lord-Myre
    - ShinyLyni
    - AutumnSpire
    - Drawnamu
    - Duncapham
    - KalerioDion
    - TheAetherPlayer
    - Crocovyle
    - G.E.Z.
    - KingOfThe-X-Roads
    - Spook
    - Cynda
    - Involuntary Twitch
    - mjco
    - Z-nogyroP
    - PumpkinPastel
    - RadicalCharizard
    - EventHorizontal
    - zlolxd
    - Khrona
    - Andracass

     

    Trainer Battle Sprites:
    - Kyle-Dove
    - Gnomowladny
    - MegamanOmega
    - geno2925
    - PhoenixOfLight92
    - Drawnamu
    - JIKARORIGINAL
    - Zender1752
    - Beliot419
    - IceJkai
    - zlolxd
    - Wiispeed03
    - Somersault
    - silverlime

     

    Trainer Overworld Sprites:
    - Dragoon
    - Dazz
    - izzyvicious
    - PizzaSun
    - PurpleZaffre
    - DevDuelist
    - silverlime

     

    Music:
    - GlitchxCity
    - Lugigigas

     

    Z-Move Scripts:
    - Marcello

     

    Tilesets:
    - Pokemon Essentials
    - Crazyninjaguy
    - Magiscarf
    - Heckelgrande
    - Pokemon Dawn
    - PrincesPhoenix
    - PkmnAlexandrite
    - Alucus
    - Kyle Dove
    - Dewitty
    - CNC
    - zetavares852
    - The English Kiwi
    - LotusKing
    - JesusCarrasco
    - Kyle dove
    - Heavy-Metal-Lover
    - xDinky
    - Newtiteuf
    - Frma96
    - Hydrargirium
    - Poison-Master
    - Thedeadheroalistair
    - Shutwig
    - Asdsimone
    - Xxdevil
    - Steinnaples
    - Hek-el-grande
    - sylver1984
    - NikNak93
    - TeaAddiction
    - Cuddlethefatcat
    - Gigatom
    - The-Red-eX
    - ChaoticCherryCake
    - EVoLiNa
    - Phyromatical
    - Clara-WaH
    - ChaoticCherryCake
    - silverlime

     

    Animations:
    - Pokemon Essentials Team
    - Pokepoke12arceus
    - Amethyst and Pokemon Reborn Team
    - Mde2001
    - Smeargletail
    - Vulpes Draconis
    - andracass

    Other Art:
    - Jesse M
    - Deepzekrom
    - Midnitez-REMIX
    - Cecihoney
    - KaysCollapse
    - Pikachumazzinga

     

    Scripting:
    - Amethyst and Reborn Team
    - Marcello
    - Jan and Rejuvenation Team
    - MR. GELA
    - WolfPP
    - FL
    - Kurotsune
    - Golisopod User
    - HM100
    - Marin
    - CaysCollapse
    - silverlime

     

    PBS:
    - HM100
    - WolfPP
    - ardicoozer
    - silverlime

     

    Modular Title Screen:
    - Luka S.J.

     

    I'd love to hear any questions, thoughts, feedback, or suggestions, and I hope this can become a cool project!

    Field_Effect_Manual.txt

    • Like 2
    • Upvote 4
  9. I'm not sure if this is intended, but a lot of checks to do with moves/abilities/items that are new (as in not in default essentials) use isConst? for checking if a Pokemon has a certain ability or a certain item instead of hasWorkingAbility and hasWorkingItem. This allows for things like Gastro Acid not nullifying an ability and Magic Room/Klutz not nullifying the effects of an item. I'll give some examples in the code where this would be problematic:

    - A Tapu Fini with Misty Surge enters with an Amplifield Rock while under the effects of Magic Room, but the duration of Misty Terrain is extended nonetheless

    - A Greninja with Protean is under the effect of Gastro Acid still changes types when using moves

    - A Golurk with Klutz enters battle with a Synthetic Seed on the Short-Circuit Field but still gets the boost

    - A Lopunny with Klutz wants to use Switcheroo to give its Assault Vest to the opponent, but Lopunny is unable to use Switcheroo because Assault Vest ignores Klutz

    • Thanks 1
  10. 21 hours ago, Aeodyn said:

    Huh. Just made this fix into a mod, and I actually had to use `attacker.pbUseMoveSimple(move, -1, opponent.index)` instead. interesting.

    Did you test this out on Ashen Beach and Swamp, where it becomes Meditate and Muddy Water, respectively? Not sure if giving it a specific target would make it so Muddy Water only hits 1 opponent or Meditate would increase the target's attack. I think it would make most sense to just change the target to the user in the PBS so that it works like in the actual games (Essentials v17.2 does this I believe).

  11. In the AI, calls to "lastMoveUsed" aren't updated for rejuvenation's PBS and still use numbers from reborn (not sure why they don't just use PBMoves::MOVENAME). For example, in Crafty Shield's AI, this line is used: "if attacker.lastMoveUsed==565" (decreases the score if this is the case). In reborn's PBS, this is the move ID for crafty shield, but in rejuvenation's, it is the ID for the move Electric Terrain.

  12. There are a few things wrong with this code segment:

              if (thismove.id == PBMoves::LAVASURF || thismove.id == PBMoves::LAVAPLUME ||
                 thismove.id == PBMoves::ERUPTION)
                $febackup = 6
                $fefieldeffect = 6
                @battle.pbChangeBGSprite
                @battle.pbDisplay(_INTL("The flate ignited the cave!"))
              end

    If you can't tell, this changes the cave field to the Big Top Arena (6), when it should change it to Volcanic Field (7). There's also a typo with "flate".

     

    Also you guys seem to have coded in Field transformations doubly. The transformations under "# FIELD TRANSFORMATIONS 1" are for status moves and the transformations under "# FIELD TRANSFORMATIONS 2" are for damaging moves I believe (as discovered from my own testing and looking at how Reborn coded these), but you guys put all moves in both sections for the rejuvenation specific field transformations.

  13. I've found another thing that should probably be addressed in the AI, this time for Parting Shot. Here's the code for reference:

          when 0x13D # Parting Shot
            if (!opponent.pbCanReduceStatStage?(PBStats::ATTACK) && !opponent.pbCanReduceStatStage?(PBStats::SPATK)) || (opponent.stages[PBStats::ATTACK]==-6 && opponent.stages[PBStats::SPATK]==-6) || (opponent.stages[PBStats::ATTACK]>0 && opponent.stages[PBStats::SPATK]>0)
              score*=0
            else
              if attacker.pbNonActivePokemonCount==0
                if attacker.pbOwnSide.effects[PBEffects::StealthRock]
                  score*=0.7
                end
                if attacker.pbOwnSide.effects[PBEffects::StickyWeb]
                  score*=0.6
                end
                if attacker.pbOwnSide.effects[PBEffects::Spikes]>0
                  score*=0.9**attacker.pbOwnSide.effects[PBEffects::Spikes]
                end
                if attacker.pbOwnSide.effects[PBEffects::ToxicSpikes]>0
                  score*=0.9**attacker.pbOwnSide.effects[PBEffects::ToxicSpikes]
                end 
                if (attacker.pbSpeed>pbRoughStat(opponent,PBStats::SPEED,skill)) ^ (@trickroom!=0)
                  score*=1.1
                end
                sweepvar = false
                for i in pbParty(attacker.index)
                  next if i.nil?
                  temprole = pbGetMonRole(i,opponent,skill,count,pbParty(attacker.index))
                  if temprole.include?("Sweeper")
                    sweepvar = true
                  end
                end  
                if sweepvar 
                  score*=1.5
                end
                if roles.include?("Lead")
                  score*=1.1
                end
                if roles.include?("Pivot")
                  score*=1.2
                end
                loweredstats=0
                loweredstats+=attacker.stages[PBStats::ATTACK] if attacker.stages[PBStats::ATTACK]<0
                loweredstats+=attacker.stages[PBStats::DEFENSE] if attacker.stages[PBStats::DEFENSE]<0
                loweredstats+=attacker.stages[PBStats::SPEED] if attacker.stages[PBStats::SPEED]<0
                loweredstats+=attacker.stages[PBStats::SPATK] if attacker.stages[PBStats::SPATK]<0
                loweredstats+=attacker.stages[PBStats::SPDEF] if attacker.stages[PBStats::SPDEF]<0
                loweredstats+=attacker.stages[PBStats::EVASION] if attacker.stages[PBStats::EVASION]<0
                miniscore= (5)*loweredstats    
                miniscore+=100
                miniscore/=100.0
                score*=miniscore      
                raisedstats=0
                raisedstats+=attacker.stages[PBStats::ATTACK] if attacker.stages[PBStats::ATTACK]>0
                raisedstats+=attacker.stages[PBStats::DEFENSE] if attacker.stages[PBStats::DEFENSE]>0
                raisedstats+=attacker.stages[PBStats::SPEED] if attacker.stages[PBStats::SPEED]>0
                raisedstats+=attacker.stages[PBStats::SPATK] if attacker.stages[PBStats::SPATK]>0
                raisedstats+=attacker.stages[PBStats::SPDEF] if attacker.stages[PBStats::SPDEF]>0
                raisedstats+=attacker.stages[PBStats::EVASION] if attacker.stages[PBStats::EVASION]>0
                miniscore= (-5)*raisedstats
                miniscore+=100
                miniscore/=100.0
                score*=miniscore    
                if attacker.effects[PBEffects::Toxic]>0 || attacker.effects[PBEffects::Attract]>-1 || attacker.effects[PBEffects::Confusion]>0
                  score*=1.3
                end
                if attacker.effects[PBEffects::LeechSeed]>-1
                  score*=1.5
                end   
                miniscore=130
                if attacker.hasWorkingAbility(:SHADOWTAG) || attacker.hasWorkingAbility(:ARENATRAP) || opponent.effects[PBEffects::MeanLook]>=0 ||  opponent.pbNonActivePokemonCount==0
                  miniscore*=1.4
                end
                ministat=0          
                ministat+=opponent.stages[PBStats::ATTACK] if opponent.stages[PBStats::ATTACK]<0
                ministat+=opponent.stages[PBStats::DEFENSE] if opponent.stages[PBStats::DEFENSE]<0
                ministat+=opponent.stages[PBStats::SPEED] if opponent.stages[PBStats::SPEED]<0
                ministat+=opponent.stages[PBStats::SPATK] if opponent.stages[PBStats::SPATK]<0
                ministat+=opponent.stages[PBStats::SPDEF] if opponent.stages[PBStats::SPDEF]<0
                ministat+=opponent.stages[PBStats::EVASION] if opponent.stages[PBStats::EVASION]<0
                ministat*=(5)
                ministat+=100
                ministat/=100.0
                miniscore*=ministat  
                if opponent.hasWorkingAbility(:UNAWARE) || opponent.hasWorkingAbility(:DEFIANT) || opponent.hasWorkingAbility(:COMPETITIVE) || opponent.hasWorkingAbility(:CONTRARY)
                  miniscore*=0.1
                end
                miniscore/=100.0
                score*=miniscore
              end          
            end  

    There are 2 problems I see with this. First of all, the score increases if the user has Shadow Tag/Arena Trap, but this wouldn't matter because it's switching out anyway. Secondly, the score severely decreases if the opponent has Unaware, but Unaware only ignores stat changes on the opponent, so lowering the Pokemon's stats with Unaware would still work (and is arguably more helpful to lower them on than a regular Pokemon).

     

    EDIT: Also, the AI for Reflect and Light Screen, when increasing the score if the attacker has Sturdy or Focus Sash, it doesn't check if the attacker is at full HP (Aurora Veil does this though). Many checks with Sturdy also fail to check if the opponent/attacker has Mold Breaker as well, which is important to note, as this seems inconsistent. The AI also checks existing weather for sturdy in weather setting moves while it should assume the weather that would be set by the move

  14. I found a few more bugs recently (sorry, not sure if some of these have already been found):

    1. You can get all of Ren's Pokemon when you play as him if you send his to the PC when catching new ones

    2. Rage Powder doesn't seem to work properly, as it failed to redirect a Shadow Ball from a Palossand on Desert Field

    3. If you use a Revive on a Pokemon when you have only 1 left in doubles, this happens:

    Spoiler

    image.png.c8d7e946c35554bb4de9f8836f95e904.png

    4. You can trigger an event early in the Narcissa quest if you go to the house on past Route 5 and open the locked door even if you haven't started the quest yet. It also brings you back to Goldenleaf earlier than should be possible I believe.

  15. Tile priority error x2:

    Spoiler

    image.thumb.png.90e753020a4e57958577829843166c5c.png

    image.thumb.png.c54de5b266f8b824d2968f2d851e5f99.png

     

    Also I don't think this tree belongs here:

    Spoiler

    image.thumb.png.c05234adf054030391af91ae48fc4221.png

     

    Or this lamp:

    Spoiler

    image.thumb.png.6000b91d378cf10b7aa6fce6a90e8013.png

     

    I'm not sure that you're supposed to be able to walk on these tiles:

    Spoiler

    image.thumb.png.d018369d8e1c4b55232b1267ac3b0180.png

     

  16. Comparing the actual damage multiplier with the one the AI uses, it seems like there's a discrepancy.

     

    Actual:

    if attacker.hp<=(attacker.totalhp/3).floor
          if (attacker.hasWorkingAbility(:OVERGROW) && isConst?(type,PBTypes,:GRASS)) ||
           (attacker.hasWorkingAbility(:BLAZE) && isConst?(type,PBTypes,:FIRE)) ||
           (attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER)) ||
           (attacker.hasWorkingAbility(:SWARM) && isConst?(type,PBTypes,:BUG))
            atkmult=(atkmult*1.5).round
          end
        elsif $fefieldeffect == 7 && (attacker.hasWorkingAbility(:BLAZE) &&
          isConst?(type,PBTypes,:FIRE))
          atkmult=(atkmult*1.5).round
        elsif $fefieldeffect == 15 && (attacker.hasWorkingAbility(:OVERGROW) &&
          isConst?(type,PBTypes,:GRASS))
          atkmult=(atkmult*1.5).round
        elsif $fefieldeffect == 15 && (attacker.hasWorkingAbility(:SWARM) &&
          isConst?(type,PBTypes,:BUG))
          atkmult=(atkmult*1.5).round
        elsif ($fefieldeffect == 21 || $fefieldeffect == 22) &&
         (attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER))
          atkmult=(atkmult*1.5).round
        elsif $fefieldeffect == 33 && (attacker.hasWorkingAbility(:SWARM) &&
          isConst?(type,PBTypes,:BUG))
          atkmult=(atkmult*1.5).round if $fecounter == 0 || $fecounter == 1
          atkmult=(atkmult*2).round if $fecounter == 2 || $fecounter == 3
          atkmult=(atkmult*3).round if $fecounter == 4
        elsif $fefieldeffect == 33 && (attacker.hasWorkingAbility(:OVERGROW) &&
          isConst?(type,PBTypes,:GRASS))
          case $fecounter
            when 1
              if attacker.hp<=(attacker.totalhp*0.67).floor
                atkmult=(atkmult*1.5).round
              end
            when 2
                atkmult=(atkmult*1.5).round
            when 3
                atkmult=(atkmult*2).round
            when 4
                atkmult=(atkmult*3).round
          end
        end

     

    AI:

        # Pinch abilities
        if skill>=PBTrainerAI.mediumSkill
          if attacker.hp<=(attacker.totalhp/3).floor
            if (attacker.hasWorkingAbility(:OVERGROW) && isConst?(type,PBTypes,:GRASS)) ||
               (attacker.hasWorkingAbility(:BLAZE) && isConst?(type,PBTypes,:FIRE)) ||
               (attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER)) ||
               (attacker.hasWorkingAbility(:SWARM) && isConst?(type,PBTypes,:BUG))
              atk=(atk*1.5).round
            end
          end
        end
        if skill>=PBTrainerAI.bestSkill
          if $fefieldeffect == 7 && (attacker.hasWorkingAbility(:BLAZE) &&
            isConst?(type,PBTypes,:FIRE))
            atk=(atk*1.5).round
          elsif $fefieldeffect == 15 && (attacker.hasWorkingAbility(:OVERGROW) &&
            isConst?(type,PBTypes,:GRASS))
            atk=(atk*1.5).round
          elsif $fefieldeffect == 15 && (attacker.hasWorkingAbility(:SWARM) &&
            isConst?(type,PBTypes,:BUG))
            atk=(atk*1.5).round
          elsif ($fefieldeffect == 21 || $fefieldeffect == 22) &&
           (attacker.hasWorkingAbility(:TORRENT) && isConst?(type,PBTypes,:WATER))
            atk=(atk*1.5).round
          elsif $fefieldeffect == 33 && (attacker.hasWorkingAbility(:SWARM) &&
            isConst?(type,PBTypes,:BUG))
            atk=(atk*1.5).round if $fecounter == 0 || $fecounter == 1
            atk=(atk*2).round if $fecounter == 2 || $fecounter == 3
            atk=(atk*3).round if $fecounter == 4
          elsif $fefieldeffect == 33 && (attacker.hasWorkingAbility(:OVERGROW) &&
            isConst?(type,PBTypes,:GRASS))
            case $fecounter
              when 1
                if attacker.hp<=(attacker.totalhp*0.67).floor
                  atk=(atk*1.5).round
                end
              when 2
                  atk=(atk*1.5).round
              when 3
                  atk=(atk*2).round
              when 4
                  atk=(atk*3).round
            end
          end
        end    

     

    Notice how the AI (at best skill) will think there are 2 damage boosts if the user is at low HP and has a field that activates the ability (in actuality, only 1 damage boost can be applied even if both HP and field conditions are met)

  17. Tile error in the River's End Lab:

    Spoiler

    image.thumb.png.03208bac5074521fa2f9f03992294319.png

     

    Also, the Cofagrigus in the Saki housesitting quest doesn't make any moves at all.

     

    If you activate the dark crystal again in Darchlight Caves, Florin's speech about the mirror is repeated:

    Spoiler

    image.thumb.png.6fcdd5360fb25075ffeaa21e2c488044.png

     

  18. After this interaction, cinematic bars are permanently stuck on:

    Spoiler

    image.thumb.png.a802ee574136e743087303fff6f1d8b8.png

    image.thumb.png.53ba432eced98fde35825bca87bf19c8.png

     

    After these people tell you to go away when first encountering them, if you use Rock Climb to get up there, they don't say anything if you talk to them.

    Spoiler

    image.thumb.png.61a4be20a996a0f46c70456f8577dab4.png

     

    You can walk over this ledge below the player even though the stairs are to the left (both are passable):

    Spoiler

    image.thumb.png.4ec10eb5a01641ca26ca8b9863fa2b67.png

     

    Perhaps this sofa tile should appear over the player:

    Spoiler

    image.thumb.png.cdc805c8a7635e9d05e4382a46291a96.png

     

  19. PC Healing is inconsistent: When selecting "Store", the Pokemon will be healed, but when selecting "Move" and "Place", the Pokemon will not be healed.

     

    Also, Unnerve from my Houndoom didn't prevent an opposing Pelipper from eating its Wacan Berry when an electric move was used against it by Houndoom's partner.

     

    Also you might consider changing the priority on these door tiles to 3 so that the player always remains under them:

    image.thumb.png.301f8d6e2816a8c34305eb5afca31b7c.png

×
×
  • Create New...