void IBActionDef_FindPath::Define() { AddVariable("Start"); AddVariable("Target"); AddVariable("Path"); AddVariable("Dist"); AddPostCondition("IBFactDef_HasValidPath", "Path", "Start", "Target", "Dist"); }
void IBActionDef_PushProp::Define() { AddVariable("Obj"); // BLObject AddVariable("PushPos"); // IBVector2 AddVariable("ObjPos"); // IBVector2 AddVariable("DestPos"); // IBVector2 AddVariable("Dist"); // IBInt = 0 AddPreCondition("IBFactDef_PosIsFree", "DestPos"); AddPreCondition("IBFactDef_ObjectAtPos", "Obj", "ObjPos"); AddPreCondition("IBFactDef_PropIsMovable", "Obj"); AddPreCondition("IBFactDef_BotNearPos", "PushPos", "Dist"); AddPreCondition("IBFactDef_PosIsFree", "PushPos"); AddPostCondition("IBFactDef_ObjectAtPos", "Obj", "DestPos"); AddPostCondition("IBFactDef_PosIsFree", "ObjPos"); AddCounterPostCondition("IBFactDef_PosIsFree", "DestPos"); }
void IBActionDef_UnblockProp::Define() { AddVariable("Obj"); // BLObject AddVariable("ObjPos"); // IBVector2 AddVariable("Dist"); // IBInt = 1 AddPreCondition("IBFactDef_BotNearPos", "ObjPos", "Dist"); AddPreCondition("IBFactDef_PropIsBlock", "Obj"); AddPostCondition("IBFactDef_PropIsUnblock", "Obj"); }
void IBActionDef_BoolToBool::Define() { AddPreCondition("IBFactDef_Bool", true, "VarIn"); AddPostCondition("IBFactDef_Bool", true, "VarOut"); }