ID:266370
 
Alright... I never got the blue book and from what I read in the reference...

This calls history
so if you have

A
usr <<"Hi!"
B
usr <<"Hi!"
..()


if B is called then it'll go back to A

so anyways I odn't know why you'd want to use it in

return..() it's saying stop the current proc and go back to the beginning? (Yes I know I should have learned this awhile ago)

Blah :)

but can someone explain it a little further for me? Any other things it does, etc.

It calls the same proc belonging to the next type down the tree.

so...

mob/superguy/megadude/PowerUp()
src << "You gain extra power!"
..()

The ..() will call the PowerUp() proc belonging to superguy:

mob/superguy/PowerUp()
FlyPower += 10
MovePlanets += 15
src << "You can now move planets!"

The end result would be:

src << "You gain extra power!"
FlyPower += 10
MovePlanets += 15
src << "You can now move planets!"


... To my knowledge, anyway.
In response to Foomer
Yep, that's a very good explanation.

..() means to "call the parent node". In other words, it runs what the proc used to do, either from the base definition (i.e. the time you create the proc), or from parent that the current object comes from (eg. a /obj/weapon/sword is from a /obj/weapon normally).

You can also use the return value from ..() if the original proc returned any value. Thus,

mob
proc/Blah() //parent
return 1

mob/child
Blah() //child node
usr << ..() //will output "1"
return 1


This probably needlessly complicated things, though. =)