ID:143105
 
for some reason my pokemon dont evolve


this how i put the code

mob/proc/Evolve()
if(src.level==16)
if(src.icon_state=="Bulbasaur")
src.icon_state="Ivysaur"
world << "[src] evolved into Ivysaur!"
if(src.icon_state=="Charmander")
src.icon_state="Charmeleon"
world << "[src] evolved into Charmeleon!"
if(src.icon_state=="Cyndaquil")
src.icon_state="Quilava"
world << "[src] evolved into Quilava!"
if(src.level==36)
if(src.icon_state=="Ivysaur")
src.icon_state="Venosaur"
world << "[src] evolved into Venosaur!"
if(src.icon_state=="Charmeleon")
src.icon_state="Charizard"
world << "[src] evolved into Charizard!"
if(src.icon_state=="Quilava")
src.icon_state="Typhlosion"
world << "[src] evolved into Typhlosion!"
Did you call the Evolve() proc, and the Pokemon is the right level?
1) Place the snippet within the <DM></DM> tags, it is there for a reason.

2) As Kaio mentioned, did you called the procedure and are the levels correct (as well as the icon_state... case sensitive and all that)

3) == means specifically that number. What if someone had a Bulbasaur and wanted it to evolve at L18 not L16? They can't evolve after 16 ever again, with how it is written.

4) Instead of all those if(src.icon_state == X), you could have done switch()... faster and neater.

5) Instead of repeating (almost the same) statement after each evolution, keep it outside the switch()ed icon_state (or if() if you like that way), you can say "[src.name] has evolved into [src.icon_State]".

A basic overview of what I mentioned
Pokemon/proc/Evolve()
if(src.icon_level<=2)
switch(src.icon_state)
if("MissingNo") icon_state = "Rhyhorn"
if("Pikachu") icon_state = "Pichu"
world << "[src.name] has messed with Mew and turned into [src.icon_state]!"