Jump to content

DJ Mewdeon ft Dan Punk

Veterans
  • Posts

    805
  • Joined

  • Last visited

  • Days Won

    11

 Content Type 

Profiles

Forums

Events

Reborn Development Blog

Rejuvenation Development Blog

Starlight Divide Devblog

Desolation Dev Blog

Everything posted by DJ Mewdeon ft Dan Punk

  1. I actually picked up Oshawott as my starter the first time I played, as it was supposed to be a solid pick in BW2 and I wanted to try it out. ...not one of my better ideas. also it's misspelled in the poll.
  2. Whoa, 3 years? Give us some credit at least. Ouch.
  3. While AI is considered its own field, it builds off of both data structures and algorithms in their own rights so.. there's that. Don't sell yourself short, huh? Besides, if we work on it together we can patch each other's gaps and whatnot. It'll be a thing (a future thing, but still a thing nonetheless). Did I ever mention how much I enjoy your names for me? No? Okay..
  4. I'm sorry, what did you just say about Sigilyph?
  5. This is assuming Maruno doesn't release another update containing all of the things that we fixed + some gen 6 stuff.
  6. Mega evolutions aren't going to be out for awhile after gen 6 is released, but type changing and learnset changing is rather simple to do. Ame or I could do that without any trouble, and I suspect she'll do that as soon as we have the information.
  7. Not anymore since I fixed Magic Guard!I'm so sorry .,.please don't hate me
  8. Chip Away is useful as it ignores stat changes that the opponent may have, such as Clefable's Cosmic Powers.
  9. Good news everyone! Changed the way I was making the EV checker and managed to add it to the already-existing IV checker. And it works too! yaaaaay Like I said, making custom stall AI is very code heavy. Consider an AI that plays chess -- it has to think many moves in advance and use many different strategies and such, making 'predictions' is possible for it. In Pokemon, you have to consider that any Pokemon could be using any move in it's learnset and any using possible combination of them. It's definitely harder to predict and takes a ton of checks but isn't impossible. Thankfully we wouldn't have to make an AI of crazy high caliber and could make assumptions in several situations (ie limiting learnsets we consider in checks to 'viable' moves, considering various 'optimal' sets for certain Pokemon [ex. Garchomp/Scizor are likely physical attackers whereas Alakazam or Reuniclus are usually specially based]). Yeah, it's likely that early AI code will be cluuuunky. Luckily for us, we have existing AI to make a foundation on and while we'd need much code, I think it's doable. Er.. I dunno about 'too excessive'. I suppose the person with the final say on that is ... Ame eeeep NOW BACK TO YOUR REGULARLY SCHEDULED CODE DUMP: JudgeStats has been converted to accommodate for IVs OR EVs via a second input variable (where 0->IV and 1->EV) # Stats Judge(s) def pbJudgeStats(pkmn,switch) if switch == 0 # If it's the IV Judge, collect IVs health = pkmn.iv[PBStats::HP] attack = pkmn.iv[PBStats::ATTACK] defense = pkmn.iv[PBStats::DEFENSE] speed = pkmn.iv[PBStats::SPEED] spatk = pkmn.iv[PBStats::SPATK] spdef = pkmn.iv[PBStats::SPDEF] elsif switch == 1 # If it's the EV Judge, collect EVs health = pkmn.ev[PBStats::HP] attack = pkmn.ev[PBStats::ATTACK] defense = pkmn.ev[PBStats::DEFENSE] speed = pkmn.ev[PBStats::SPEED] spatk = pkmn.ev[PBStats::SPATK] spdef = pkmn.ev[PBStats::SPDEF] end # Sum the values of the IVs/EVs potential=0 potential=health + attack + defense + speed + spatk + spdef # Determine the potential from the sum of the IVs/EVs # First comes the IVs if switch == 0 if potential >= 0 && potential <= 90 overall = "decent. A persistent trainer may be able to bring the best out of this Pokemon." elsif potential >= 91 && potential <= 120 overall = "above average. With proper training, this Pokemon can be an excellent teammate." elsif potential >= 121 && potential <= 150 overall = "relatively superior! I am certain that this Pokemon can easily excel!" elsif potential >= 151 && potential <= 186 overall = "outstanding! This Pokemon has top marks across the board!" end end # EVs are next if switch == 1 if potential >= 0 && potential <= 125 overall = "average. There is much more training ahead of you." elsif potential >= 126 && potential <= 250 overall = "hearty. Your Pokemon shows signs of solid improvement, keep it up." elsif potential >= 251 && potential <= 376 overall = "robust. There is still room to grow, but your efforts continue to impress." elsif potential >= 377 && potential <= 509 overall = "excellent! This Pokemon is truly a hard worker and it shows with near perfect growth." elsif potential == 510 overall = "incredible!! Clearly this Pokemon's growth is at its peak!" end end # Determine the Pokemon's best IV or EV # (uses the same method as the characteristic determinant) bestiv=0 bestev=0 tiebreaker=pkmn.personalID%6 if switch == 0 # Checking for best IV for i in 0...6 if pkmn.iv[i] == pkmn.iv[bestiv] bestiv = i if i >= tiebreaker && bestiv < tiebreaker elsif pkmn.iv[i] > pkmn.iv[bestiv] bestiv=i end end end if switch == 1 # Checking for best EV for j in 0...6 if pkmn.ev[j] == pkmn.ev[bestev] bestev = j if j >= tiebreaker && bestev < tiebreaker elsif pkmn.ev[j] > pkmn.ev[bestev] bestev=j end end end # Determine the Pokemon's best IV/EV's statname statname = "" # Best IV statname if switch == 0 if bestiv == 0 statname = "Hit Points" elsif bestiv == 1 statname = "Attack" elsif bestiv == 2 statname = "Defense" elsif bestiv == 3 statname = "Speed" elsif bestiv == 4 statname = "Special Attack" elsif bestiv == 5 statname = "Special Defense" end end # Best EV statname if switch == 1 if bestev == 0 statname = "Hit Points" elsif bestev == 1 statname = "Attack" elsif bestev == 2 statname = "Defense" elsif bestev == 3 statname = "Speed" elsif bestev == 4 statname = "Special Attack" elsif bestev == 5 statname = "Special Defense" end end # Determine the Pokemon's best stat 'weight' if switch == 0 if pkmn.iv[bestiv] >= 0 && pkmn.iv[bestiv] <= 15 statweight = "relatively good." elsif pkmn.iv[bestiv] >= 16 && pkmn.iv[bestiv] <= 25 statweight = "very good." elsif pkmn.iv[bestiv] >= 26 && pkmn.iv[bestiv] <= 30 statweight = "fantastic!" elsif pkmn.iv[bestiv] == 31 statweight = "flawless!" end end if switch == 1 if pkmn.ev[bestev] >= 0 && pkmn.ev[bestev] <= 63 statweight = "average." elsif pkmn.ev[bestev] >= 64 && pkmn.ev[bestev] <= 127 statweight = "relatively good." elsif pkmn.ev[bestev] >= 128 && pkmn.ev[bestev] <= 191 statweight = "very good." elsif pkmn.ev[bestev] >= 192 && pkmn.ev[bestev] <= 254 statweight = "fantastic!" elsif pkmn.ev[bestev] == 255 statweight = "flawless!" end end ret = [overall,statname,statweight] return ret end I realize that it almost doubles the lines of code, but I can assure you that it works and works smooothly.back to the code for now for me!
  10. I'll admit that while my response may have been rather intense, my point still stands. Imposter is no different than normal use of Transform with the exception that it activates on the switch (unless the opponent has a Substitute out or has Illusion or Magic Guard as their ability), so each move that Imposter's user receives only has 5PP. I don't really have the time to setup a test in PO, but if it works like that in PO, then there's a bug in PO. Imposter definitely only gives its user 5PP in Showdown, I know that from some earlier Magic Guard testing (although that confused me about something else.. but I digress). Proof of its functionality here. The bit about Choice Scarf isn't about Reborn, it's merely citing experience with use of Imposter Ditto. ...Maybe if I get a decent amount of sleep tonight I'll be less snappy unprovoked. Technically, Sitrus is more effective than Leftovers if the Pokemon using it only survives <5 turns in battle sans other healing items (25% single use versus 6% per end of turn means Leftovers beats it on turn 5 @ 30% healing) so certain strategies can use it more effectively. A quick example could be some extra survivability for a Pokemon like Forretress where you setup a few hazards and then Explode on your enemies (Leftovers could still be used here for similar effectiveness, but this example is the first thing that comes to mind). There's also Harvest Tropius to consider (although Harvest isn't even coded in the game lol) or perhaps some unique strategy using Recycle? Plus Sitrus berries are more convenient to get, if that means anything.
  11. ?????? As someone who uses ImposterScarf Ditto in competitive play, this is not and has never been a 5th generation mechanic of Imposter. Imposter merely only executes the move Transform when the Pokemon who has it switches into battle rather than waiting for it to be selected as a move. I don't know where this is a mechanic, but it is not in the 5th generation of Pokemon. ..so please don't do this. As for other mechanics... Off to go stare at various flavors of code ( yay lisp ). Back later I guess?
  12. Oh wow, you asked me this two days ago and I hadn't even seen it yet! My bad, I've got a new job and have been pretty busy balancing school/job stuff. I will definitely set aside some time for this during downtime(s) at work although I'm sort of writing my own story? ...it's a thing. Hmm, I'm not sure that I remember one offhand, but I can look into this shortly. Let me go find my external with Reborn on it and I'll check this out in just a sec. I uh.. I'm not sure? I'll look for any 'wait' type commands, but I wasn't aware that it was any slower that console games are (unless you encounter lag for some unspecified reason)? ...unless you're asking me to make it faster than console games in which case I can see what I can do? The last thing I was working on was the EV checker, but I got completely caught up in my own devices and big splash of worldbuilding... I'll reel it all back in and see what I can do here though (as it appears as if I'm pretty behind on stuff). Edit1: Quickly checked over the PokeBattle_Battle file and I don't see any "wait" type commands. I do see a ton of raw processing that needs to be done in a battle, more than I had expected. Needless to say that much of it (likely all of it) is necessary in order for the game to run smoothly. I'm not even sure how I'd go about improving the battle's speed right now, but I can think about it overnight and see if I can come up with anything.. I guess. No promises though -- for the moment consider my answer to be that there is no way to increase the game's speed internally without seriously compromising it (via removal of many edge cases or something). Onto the 'currentMove' deal. Edit2: Initial estimate makes me think it's one of the following: attr_accessor :lastMoveUsed attr_accessor :lastMoveUsedSketch attr_accessor :lastMoveCalled Attempting to figure out the specifics of each at the moment (there's always tomorrow morning for database homework, right?)
  13. Any particular mechanics that you'd like to see fixed? I can try to look into them. This is indeed true, I should be finished with it shortly if it can hold my attention for long enough.
  14. Reborn's history test cites two passages about Corey and Shade respectively. One states that Heather is Corey's daughter. The other states that Shade gave Luna the idea to run away, which is a plot point that is probably going to be explored in episode 10.
  15. It is actually closer to the BW1 chart on that page, with Lucky Eggs still included.
  16. Yes, but it has to be two layers of toxic spikes to badly poison. One layer will only 'regular' poison them.
  17. Honestly, I'm with Khayoz on this one. ..Not as intensely of course. I end up grinding my Pokemon a little in between gyms anyway, so I might as well put in a little more effort to finding out which Pokemon would give me better stats to be more prepared to handle later gyms matches that are even harder. No one's saying you need to mindlessly grind until you have all your 510 EVs accounted for immediately [except Khayoz I guess] and gradually making your Pokemon more powerful and better suited to whatever roles you're having them do in your respective teams will definitely improve your experience playing the game.
  18. Little bit gloaty, but I wanted to share some news.
  19. I can probably script this if people want it.
  20. What do you mean by this? What exactly happened?
  21. I was merely offering suggestions mate, but it seems that you've got your own way to play and that's cool too.
×
×
  • Create New...