public static int DispatchAttackerConcealmentMissChance(this GameObject attacker) { var dispatcher = attacker.GetDispatcher(); if (dispatcher == null) { return(0); } DispIoObjBonus dispIo = DispIoObjBonus.Default; dispatcher.Process(DispatcherType.GetAttackerConcealmentMissChance, D20DispatcherKey.NONE, dispIo); return(dispIo.bonlist.HighestBonus); }
public static int DispatchGetLevel(this GameObject critter, int classOffset, BonusList bonlist, GameObject contextObj) { var dispatcher = critter.GetDispatcher(); if (dispatcher != null) { DispIoObjBonus dispIo = DispIoObjBonus.Default; dispIo.bonlist = bonlist; dispIo.obj = contextObj; dispatcher.Process(DispatcherType.GetLevel, (D20DispatcherKey.CL_Level + classOffset), dispIo); return(dispIo.bonOut.OverallBonus); } else { return(0); } }
public static int dispatch1ESkillLevel(this GameObject critter, SkillId skill, ref BonusList bonusList, GameObject opposingObj, SkillCheckFlags flag) { var dispatcher = critter.GetDispatcher(); if (dispatcher == null) { return(0); } DispIoObjBonus dispIO = DispIoObjBonus.Default; dispIO.flags = flag; dispIO.obj = opposingObj; dispIO.bonlist = bonusList; dispatcher.Process(DispatcherType.SkillLevel, (D20DispatcherKey)(skill + 20), dispIO); bonusList = dispIO.bonlist; return(dispIO.bonlist.OverallBonus); }