OnMissionFailed
OxideCarbonMissionCalled when a mission fails.
void OnMissionFailed(BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason)Works — the game method in this build is the one the hook was written for.
Parameters
- baseMission
- BaseMission
- instance
- BaseMission.MissionInstance
- assignee
- BasePlayer
- failReason
- BaseMission.MissionFailReason
Return value
voidThe return value is ignored — the hook only notifies.
Example
private void OnMissionFailed(BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason)
{
Puts("OnMissionFailed");
}Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.
Injection point
Rust.opj (Oxide)
void BaseMission.MissionFailed(BaseMission.MissionInstance, BasePlayer, BaseMission.MissionFailReason, bool)
Passes: BaseMission baseMission, BaseMission.MissionInstance instance, BasePlayer assignee, BaseMission.MissionFailReason failReason
WorksReturnBehavior: ContinueArgumentBehavior: UseArgumentString (this,a0,a1,a2)Assembly-CSharp.dll
Where it is called (this branch's game code)
// …
if (failReason != MissionFailReason.ResetPlayerState)
{
DoMissionEffect(failedEffect.resourcePath, assignee);
}
}
Analytics.Azure.OnMissionComplete(assignee, this, failReason);
instance.status = MissionStatus.Failed;
MissionEnded(instance, assignee);
Interface.CallHook("OnMissionFailed", this, instance, assignee, failReason);
assignee.MissionsDirty(saveImmediately);
}Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.