call(Object,Object::ProcName()() does not run the src's ProcName if the call is inside the child's proc definition
Code Snippet (if applicable) to Reproduce Problem:
world
fps = 25 // 25 frames per second
icon_size = 32 // 32x32 icon size by default
view = 6 // show up to 6 tiles outward from center (13x13 view)
mob = /mob/living/
mob
step_size = 8
obj
step_size = 8
/mob/New(var/desired_loc)
. = ..()
world.log << "New: You are a [src.type]."
cook()
/mob/proc/cook()
world.log << "Cook's type (PART A): [src.type]."
call(src,src::potato())()
/mob/living/cook()
. = ..()
world.log << "Cook's type (PART B): [src.type]."
/mob/proc/potato()
world.log << "First Potato"
/mob/living/potato()
. = ..()
world.log << "Second Potato"
Expected Results:
Connecting to file://testcase.dmb...connected
New: You are a /mob/living.
Cook's type (PART A): /mob/living.
First Potato
Cook's type (PART B): /mob/living.
Second Potato
Actual Results:
Connecting to file://testcase.dmb...connected
New: You are a /mob/living.
Cook's type (PART A): /mob/living.
First Potato
Cook's type (PART B): /mob/living.
(Second Potato is not printed as /mob/living/potato() did not run)
Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.
In other user accounts? Can't test.
On other computers? Can't test.
When does the problem NOT occur?
Putting the call proc inside /mob/living/cook() runs both potato() procs correctly.
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? Works fine in 514 with old call()() code
Workarounds:
Putting the call proc inside /mob/living/cook() runs both potato() procs correctly.