ID:2229306
 
(See the best response by Kaiochao.)
I'm getting spammed with this error. In my game players can build turfs. The root turf/New() has an arg called do_auto_gen that spruces up the appearance of turfs. But certain turfs have their own New() proc that doesn't have that arg but yet uses ..() to still call turf/New(). So when a player tries to build one of those turfs that get this error. What do I do to fix this? Thanks.
turf
New(loc, do_auto_gen = 1)
//do whatever
if(do_auto_gen) AutoGenTurf()

SpecialDirt
New()
//do whatever
..()

So if a player builds NormalGrass which does not override New(), it works fine, if they build SpecialDirt, ERROR.
Tens of DU wrote:
I'm getting spammed with this error.

Posting the actual error information might help.
Best response
You're getting an error when you try to pass a named argument to a proc that doesn't have that named argument. The child type's New() can be considered a completely different proc from its parent's New().

One way to fix it would be to simply not use named arguments.
Another would be to make sure to declare the arguments in every override of turf/New().