ID:272712
 
mob/TaiSpec/verb
CelestialGates()
set category = "Taijutsu"
set name = "Chakra Gates"
switch(CelestialGates)
if(0)
CelestialGates = 1
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Opening! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat),1)
while(CelestialGates == 1)
Health -= 5
Death(usr)
if(CelestialGates != 1) break
sleep(TaiMas*10)
if(1)
CelestialGates = 2
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Rest! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+0.5),1)
while(CelestialGates == 2)
Health -= 25
if(CelestialGates != 2) break
sleep(TaiMas*10)
if(2)
CelestialGates = 3
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Life! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+1),1)
while(CelestialGates == 3)
Health -= 125
if(CelestialGates != 3) break
sleep(TaiMas*10)
if(3)
CelestialGates = 4
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Pain! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+1.5),1)
while(CelestialGates == 4)
Health -= 625
if(CelestialGates != 4) break
sleep(TaiMas*10)
if(4)
CelestialGates = 5
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Limit! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+2),1)
while(CelestialGates == 5)
Health -= 3125
if(CelestialGates != 5) break
sleep(TaiMas*10)
if(5)
CelestialGates = 6
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of View! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+2.5),1)
while(CelestialGates == 6)
Health -= 15625
if(CelestialGates != 6) break
sleep(TaiMas*10)
if(6)
CelestialGates = 7
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Wonder! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+3),1)
while(CelestialGates == 7)
Health -= 78125
if(CelestialGates != 7) break
sleep(TaiMas*10)
if(7)
CelestialGates = 8
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Death! Release!"
Taijutsu = round(Taijutsu*(TaiMas+CelGat+3.5),1)
while(CelestialGates == 8)
Health -= 390625
if(CelestialGates != 8) break
sleep(TaiMas*10)
It's not. You could relatively easily compress that to something like...

CelestialGates++
Taijutsu = round(Taijutsu*(TaiMas+CelGat+(CelestialGates/2)),1)
while(CelestialGates)
Health -= 5**CelestialGates
Death(usr)
if(!CelestialGates) break
sleep(TaiMas*10)

Obviously, you would still need to output the correct message depending on the variable CelestialGates. But other than that, there is really no reason you would need to copy and paste the same piece of code (with minor edits) 8 times.
If the limit to CelestialGates is 8 then obviously you'd need to prevent it from raising above 8 as well.
In response to The Magic Man (#1)
Better?

mob/TaiSpec/verb
CelestialGates()
set category = "Taijutsu"
set name = "Chakra Gates"
if(CelestialGates==8) return
CelestialGates++
if(CelestialGates==1)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Opening! Release!"
else if(CelestialGates==2)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Rest! Release!"
else if(CelestialGates==3)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Life! Release!"
else if(CelestialGates==4)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Pain! Release!"
else if(CelestialGates==5)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Limit! Release!"
else if(CelestialGates==6)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of View! Release!"
else if(CelestialGates==7)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Wonder! Release!"
else if(CelestialGates==8)
view()<<"<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of Death! Release!"
Taijutsu = round(BaseTai*(TaiMas+CelGat),1)
while(CelestialGates)
Health -= 5**CelestialGates
Death(usr)
if(!CelestialGates) break
sleep(TaiMas*10)
In response to Mizukouken Ketsu (#2)
mob/TaiSpec/verb
CelestialGates()
set category = "Taijutsu"
set name = "Chakra Gates"
if(CelestialGates==8) return
CelestialGates++
view(,src) << GATE_TEXT(CelestialGates)
Taijutsu = round(BaseTai*(TaiMas+CelGat),1)
while(CelestialGates)
Health -= 5**CelestialGates
Death(usr)
if(!CelestialGates) break
sleep(TaiMas*10)

mob/proc/GATE_TEXT(n)
. = "<b><font color=silver>[usr]:</font></b> <font color=#8fbc8f>Gate of " //set the default return value to that
switch(n) //a typical switch
if(1) . += "Opening" //add the proper word
if(2) . += "Rest"
if(3) . += "Life"
if(4) . += "Pain"
if(5) . += "Limit"
if(6) . += "View"
if(7) . += "Wonder"
if(8) . += "Death"
. += "! Release!" //add ! Release!, the common ending text
In response to Jeff8500 (#3)
I don't think I would've even come close to thinking of making a proc like that o.O Thanks for the added new info Jeff :D And thanks again for helping out ^-^