ID:1516879
 
Codes:
mob
proc
SSJ_Hair_Apply()
if(src.hair == "Bald")
return
if(src.hair == "Goku")
src.overlays -= src.goku_hair
src.overlays -= src.goku_hair
src.overlays -= src.goku_hair
src.overlays += src.goku_hair_ssj
if(src.hair == "Adult Gohan")
src.overlays -= src.gohan_adult_hair
src.overlays -= src.gohan_adult_hair
src.overlays -= src.gohan_adult_hair
src.overlays += src.gohan_adult_hair_ssj
if(src.hair == "Teen Gohan")
src.overlays -= src.gohan_teen_hair
src.overlays -= src.gohan_teen_hair
src.overlays -= src.gohan_teen_hair
src.overlays += src.gohan_teen_hair_ssj
if(src.hair == "Future Gohan")
src.overlays -= src.future_gohan_hair
src.overlays -= src.future_gohan_hair
src.overlays -= src.future_gohan_hair
src.overlays += src.future_gohan_hair_ssj
if(src.hair == "Vegeta")
src.overlays -= src.vegeta_hair
src.overlays -= src.vegeta_hair
src.overlays -= src.vegeta_hair
src.overlays += src.vegeta_hair_ssj
if(src.hair == "Trunks Long")
src.overlays -= src.trunks_long_hair
src.overlays -= src.trunks_long_hair
src.overlays -= src.trunks_long_hair
src.overlays += src.trunks_long_hair_ssj
if(src.hair == "Raditz")
src.overlays -= src.raditz_hair
src.overlays -= src.raditz_hair
src.overlays -= src.raditz_hair
src.overlays += src.raditz_hair_ssj


mob/proc/Saiyan_Trans()
var/trans_time = 13


if(src.doing)
return
if(src.KO)
return
else
if(!src.form_1)
if(src.powerlevel_max >= 85000)
if(!src.ascended_ssj)
src.aura_on = 0

src.doing = 1
src.icon_state = "enrage"
src.frozen = 1
sleep(19)

src.powerlevel = src.powerlevel_max
src.ki = src.ki_max
src.strength = src.strength_max
src.defence = src.defence_max
src.critical = src.critical_max
src.dodge = src.dodge_max
src.reflect = src.reflect_max
src.block = src.block_max

src.powerlevel *= 13
src.ki *= 8
src.strength *= 10
src.defence *= 9

src.block += 2
src.dodge += 5
src.critical += 2
src.reflect += 2
src.counter += 5

src.speed = 3

src.overlays -= src.goku_hair
src.overlays -= src.gohan_adult_hair
src.overlays -= src.gohan_teen_hair
src.overlays -= src.future_gohan_hair
src.overlays -= src.vegeta_hair
src.overlays -= src.trunks_long_hair

src.underlays -= usr.aura
src.underlays -= /obj/Auras/aura1
src.underlays -= /obj/Auras/aura2
src.underlays -= /obj/Auras/aura3
src.underlays -= /obj/Auras/aura4
src.underlays -= /obj/Auras/aura5
usr.underlays += 'Auraamarilla.dmi'
usr.underlays += /obj/Auras/auraa1
usr.underlays += /obj/Auras/auraa2
usr.underlays += /obj/Auras/auraa3
usr.underlays += /obj/Auras/auraa4
usr.underlays += /obj/Auras/auraa5
spawn(25) usr.underlays -= 'Auraamarilla.dmi';usr.underlays -= /obj/Auras/auraa1
usr.underlays -= /obj/Auras/auraa2;usr.underlays -= /obj/Auras/auraa3
usr.underlays -= /obj/Auras/auraa4;usr.underlays -= /obj/Auras/auraa5

src.SSJ_Hair_Apply()
spawn(5) src.SSJ_EXP()


mob/NPC/

Barber
name = "{NPC} Barber"
icon = 'Barber.dmi'
density = 1
doing = 0
safe = 1

New()
src.CreateName()

verb/Talk()
set src in oview(1)
set category = null

if(usr.race == "Changling"||usr.race == "Tuffle"||usr.race == "Namek"||usr.race == "Bio-Android"||usr.race == "Demon"||usr.race == "Majin")
spawn() alert("Barber: I can only help people with hair.")
return
var/hair = input("Barber: Hair Cut?","Hair Cut") in list ("Yes","No")
switch(hair)

if("Yes")
/* usr.overlays -= usr.goku_hair
usr.overlays -= usr.vegeta_hair
usr.overlays -= usr.gohan_teen_hair
usr.overlays -= usr.gohan_adult_hair
usr.overlays -= usr.trunks_long_hair
usr.overlays -= usr.future_gohan_hair
usr.overlays -= usr.goku_hair_ssj
usr.overlays -= usr.raditz_hair
usr.overlays -= usr.raditz_hair_ssj
usr.overlays -= usr.vegeta_hair_ssj
usr.overlays -= usr.gohan_teen_hair_ssj
usr.overlays -= usr.gohan_adult_hair_ssj
usr.overlays -= usr.trunks_long_hair_ssj
usr.overlays -= usr.future_gohan_hair_ssj
usr.overlays -= usr.goku_hair_assj
usr.overlays -= usr.vegeta_hair_assj
usr.overlays -= usr.gohan_teen_hair_assj
usr.overlays -= usr.gohan_adult_hair_assj
usr.overlays -= usr.trunks_long_hair_assj
usr.overlays -= usr.future_gohan_hair_assj
usr.overlays -= usr.goku_hair_ussj
usr.overlays -= usr.vegeta_hair_ussj
usr.overlays -= usr.gohan_teen_hair_ussj
usr.overlays -= usr.gohan_adult_hair_ussj
usr.overlays -= usr.trunks_long_hair_ussj
usr.overlays -= usr.future_gohan_hair_ussj
usr.overlays -= src.hair_droid

goku_hair = null
gohan_adult_hair = null
gohan_teen_hair = null
vegeta_hair = null
trunks_long_hair = null
future_gohan_hair = null

usr.rhair = null
usr.ghair = null
usr.bhair = null
*/

usr.overlays-=usr.hair
usr.Hair_Decide()

if("No")
return

//----------------------------------------------------------------
mob
var
hairselected=0
hairred
Ohair
hairover

mob/proc/Colorpelo(hairover)
var/hairred = input("Que color?") as color
hairover += hairred
usr.rhair = hairred
usr.Ohair = hairover
usr.hair = usr.Ohair
usr.overlays += usr.hair
usr.hairselected=1


mob/proc/Hair_Decide()
var/hair = input("Choose your hair style.","Hair Styles") in list ("Goku","Vegeta","Adult Gohan","Teen Gohan","Future Gohan","Trunks Long","Raditz","Bald")
switch(hair)

if("Goku")
src.hair = "Goku"
var/hairover = 'Hair - Goku.dmi'
src.Colorpelo(hairover)
return

if("Raditz")
src.hair = "Raditz"
var/hairover = 'Hair - Raditz.dmi'
src.Colorpelo(hairover)
return

if("Vegeta")
// src.hair_icon = 'Hair - Vegeta.dmi'
src.hair = "Vegeta"
var/hairover = 'Hair - Vegeta.dmi'
src.Colorpelo(hairover)
return
// if(src.majin)
// src.overlays += majin_sign

if("Adult Gohan")
// src.hair_icon = 'Hair - Future Gohan.dmi'
src.hair = "Adult Gohan"
var/hairover = 'Hair - Adult Gohan.dmi'
src.Colorpelo(hairover)
return
// if(src.majin)
// src.overlays += majin_sign

if("Teen Gohan")
// src.hair_icon = 'Hair - Teen Gohaun.dmi'
src.hair = "Teen Gohan"
var/hairover = 'Hair - Teen Gohan.dmi'
src.Colorpelo(hairover)
return
// if(src.majin)
// src.overlays += majin_sign

if("Future Gohan")
// src.hair_icon = 'Hair - Future Gohan.dmi'
src.hair = "Future Gohan"
var/hairover = 'Hair - Future Gohan.dmi'
src.Colorpelo(hairover)
return
// if(src.majin)
// src.overlays += majin_sign

if("Trunks Long")
// src.hair_icon = 'Hair - Trunks Long.dmi'
src.hair = "Trunks Long"
var/hairover = 'Hair - Trunks Long.dmi'
src.Colorpelo(hairover)
return
// if(src.majin)
// src.overlays += majin_sign

if("Bald")
src.hair = "Bald"
src.hairselected=1
// if(src.majin)
// src.overlays += majin_sign
return


Problem description:
When transformed the hair should change but it does not.
What is the value of the hair variable?
You really have the worst hair code. I will post a more simplified and fluid example for you today so that you can understand all of the extra pointless logic you're doing to get this result.

This extra logic is what is causing your many problems. I believe in this case, you're not setting the variables for the transformed state.
mob
var
hairselected=0
hairred
Ohair
hairover

mob/proc/Colorpelo(hairover)
var/hairred = input("Que color?") as color
hairover += hairred
usr.rhair = hairred
usr.Ohair = hairover
usr.hair = usr.Ohair
usr.overlays += usr.hair
usr.hairselected=1


lol...

http://www.byond.com/forum/?post=1515678
What we I need is for to the move on to the phase of SSJ hair that has the mob becomes ssj and when it reverts to its normal form have returned the same hair.

Nose if I give you understand me :/
You could have global variables for special hair and simply apply that to their overlays any-time hair is checked/added/removed.

i.e.:
var/Speshl_Hair = image('Special Hair.dmi',layer=MOB_LAYER+0.01)


Or, add another var for back_up_hair and simply store it upon transformation and make the hair var the speshul hair until de-transformation.

This is assuming you use the second example/method in the thread I linked. That thread provides an alternative to a terrible hair system that you guys seem to be sharing with each other as your own work.

People on these forums will happily give you to the tools, and even show you how to use them but you have to start actually picking them up even if just to fail.
You must specify the variable in the process of hair where returns to being a Super Saiyan

src.overlays+= src.hair//this is the var of hair you had before becoming SS

I think it's here:
                    usr.underlays -= /obj/Auras/auraa2;usr.underlays -= /obj/Auras/auraa3
usr.underlays -= /obj/Auras/auraa4;usr.underlays -= /obj/Auras/auraa5
src.overlays+= src.hair//here
src.SSJ_Hair_Apply()
spawn(5) src.SSJ_EXP()

or in proc SSJ_Hair_Apply() ,and depends on where the user is specific if normal phase or not.