I'm pretty sure all you have to do is just annotate in Pokemonforms.txt the typing of the Mega Evolution, and it should completely change its typing based on that. For example:
[MEW-1]
FormName=Mega Mew
MegaStone=Mewnite
Type1=???
BaseStats=100,100,100,100,100,100
Abilities=PRESSURE
This should replace its typing to ??? when mega evolved. Make sure to test it with another typing first just in case ??? is the issue. I just tested it with Gyarados so when Mega evolved, it loses its Water typing and simply changes it to pure Dark.
Maybe i'm using an old version but i'm familiar with it(how can i see which version i'm using?). I created the form from the script, i was able to change stats and ability and add type but i can't remove the psychic typeUh well you must be using an extremely old version of essentials unless the most recent update removed that .txt for some reason. I'm using the second newest version. Make sure it's not under a different name, because you cant really define an alternate form without some kind of PBS file unless you do it directly in the Pokemon_Forms scripts, which is usually only for defining certain conditions such as when a Pokemon will change form, not their stats or typing. I just don't see how you don't have some kind of form PBS file. Where are you defining the Mega forms?
EDIT: You don't need to delete a post and make a new one just to quote my post btw you can just use the edit function.
"type1"=>proc{|pokemon|
next if pokemon.form==0 # Normal Form
case pokemon.form
when 1; next getID(PBTypes,:FIRE) # Sunny Form
when 2; next getID(PBTypes,:WATER) # Rainy Form
when 3; next getID(PBTypes,:ICE) # Snowy Form
end
},
"type2"=>proc{|pokemon|
next if pokemon.form==0 # Normal Form
case pokemon.form
when 1; next getID(PBTypes,:FIRE) # Sunny Form
when 2; next getID(PBTypes,:WATER) # Rainy Form
when 3; next getID(PBTypes,:ICE) # Snowy Form
end
}
},
Thank you so much it worked.You are probably using version 16
You can change the type similar to what is used with Castform
Code:"type1"=>proc{|pokemon| next if pokemon.form==0 # Normal Form case pokemon.form when 1; next getID(PBTypes,:FIRE) # Sunny Form when 2; next getID(PBTypes,:WATER) # Rainy Form when 3; next getID(PBTypes,:ICE) # Snowy Form end }, "type2"=>proc{|pokemon| next if pokemon.form==0 # Normal Form case pokemon.form when 1; next getID(PBTypes,:FIRE) # Sunny Form when 2; next getID(PBTypes,:WATER) # Rainy Form when 3; next getID(PBTypes,:ICE) # Snowy Form end } },
The key here is that you need to set both types to the same, otherwise you end up with a dual type. This is because of how Essentials handles the typing. Technically speaking every Pokemon has two types in Essentials, but if they are both the same they will be displayed as being mono-typed.