@@ -354,11 +354,15 @@ static func build_mod_hook_string(
354354 var async_string := "_async" if is_async else ""
355355 var return_var := "var %s = " % "return_var" if not method_type .is_empty () or return_prop_usage == 131072 else ""
356356 var method_return := "return " if not method_type .is_empty () or return_prop_usage == 131072 else ""
357- var hook_check := 'if ModLoaderStore.get("any_mod_hooked") and ModLoaderStore.any_mod_hooked:\n\t\t ' if enable_hook_check else ""
357+ var hook_check := "if ModLoaderStore.any_mod_hooked:\n\t\t " if enable_hook_check else ""
358+ var hook_check_else := get_hook_check_else_string (
359+ method_return , await_string , method_prefix , method_name , method_arg_string_names_only
360+ ) if enable_hook_check else ""
361+
358362
359363 return """
360364{STATIC} func {METHOD_NAME} ({METHOD_PARAMS} ){RETURN_TYPE_STRING} :
361- {HOOK_CHECK}{METHOD_RETURN}{AWAIT} _ModLoaderHooks.call_hooks{ASYNC} ({METHOD_PREFIX} _{METHOD_NAME} , [{METHOD_ARGS} ], {HOOK_ID} )
365+ {HOOK_CHECK}{METHOD_RETURN}{AWAIT} _ModLoaderHooks.call_hooks{ASYNC} ({METHOD_PREFIX} _{METHOD_NAME} , [{METHOD_ARGS} ], {HOOK_ID} ){HOOK_CHECK_ELSE}
362366""" .format ({
363367 "METHOD_PREFIX" : method_prefix ,
364368 "METHOD_NAME" : method_name ,
@@ -372,6 +376,7 @@ static func build_mod_hook_string(
372376 "ASYNC" : async_string ,
373377 "HOOK_ID" : hook_id ,
374378 "HOOK_CHECK" : hook_check ,
379+ "HOOK_CHECK_ELSE" : hook_check_else
375380 })
376381
377382
@@ -459,3 +464,21 @@ func collect_getters_and_setters(text: String) -> Dictionary:
459464 result [mat .get_string (4 )] = true
460465
461466 return result
467+
468+
469+ static func get_hook_check_else_string (
470+ method_return : String ,
471+ await_string : String ,
472+ method_prefix : String ,
473+ method_name : String ,
474+ method_arg_string_names_only : String
475+ ) -> String :
476+ return "\n\t else:\n\t\t {METHOD_RETURN}{AWAIT}{METHOD_PREFIX} _{METHOD_NAME} ({METHOD_ARGS} )" .format (
477+ {
478+ "METHOD_RETURN" : method_return ,
479+ "AWAIT" : await_string ,
480+ "METHOD_PREFIX" : method_prefix ,
481+ "METHOD_NAME" : method_name ,
482+ "METHOD_ARGS" : method_arg_string_names_only
483+ }
484+ )
0 commit comments