diff --git a/FCData/bhaptics/vest/Burning.tact b/FCData/bhaptics/vest/Burning.tact new file mode 100644 index 0000000..17eaf69 --- /dev/null +++ b/FCData/bhaptics/vest/Burning.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1593684408437,"description":"","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":3,"name":"Flame4","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.5,"time":0,"x":0,"y":0.951},{"intensity":0.5,"time":166,"x":0.218,"y":0.803},{"intensity":0.5,"time":333,"x":0.404,"y":0.964},{"intensity":0.5,"time":500,"x":0.649,"y":0.812},{"intensity":0.5,"time":666,"x":0.761,"y":0.981},{"intensity":0.5,"time":833,"x":0.921,"y":0.823},{"intensity":0.5,"time":1000,"x":0.992,"y":0.978}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.5,"time":0,"x":0,"y":0.96},{"intensity":0.5,"time":166,"x":0.22,"y":0.791},{"intensity":0.5,"time":333,"x":0.384,"y":0.947},{"intensity":0.5,"time":500,"x":0.643,"y":0.809},{"intensity":0.5,"time":666,"x":0.761,"y":0.967},{"intensity":0.5,"time":833,"x":0.92,"y":0.826},{"intensity":0.5,"time":1000,"x":1,"y":0.957}],"visible":true}]}}},"name":"path","offsetTime":1000,"startTime":0},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.951},{"intensity":0.3,"time":166,"x":0.218,"y":0.803},{"intensity":0.3,"time":333,"x":0.404,"y":0.964},{"intensity":0.3,"time":500,"x":0.649,"y":0.812},{"intensity":0.3,"time":666,"x":0.761,"y":0.981},{"intensity":0.3,"time":833,"x":0.921,"y":0.823},{"intensity":0.3,"time":1000,"x":0.992,"y":0.978}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.96},{"intensity":0.3,"time":166,"x":0.22,"y":0.791},{"intensity":0.3,"time":333,"x":0.384,"y":0.947},{"intensity":0.3,"time":500,"x":0.643,"y":0.809},{"intensity":0.3,"time":666,"x":0.761,"y":0.967},{"intensity":0.3,"time":833,"x":0.92,"y":0.826},{"intensity":0.3,"time":1000,"x":1,"y":0.957}],"visible":true}]}}},"name":"path","offsetTime":1000,"startTime":1448}],"enable":true},{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.951},{"intensity":0.3,"time":166,"x":0.218,"y":0.803},{"intensity":0.3,"time":333,"x":0.404,"y":0.964},{"intensity":0.3,"time":500,"x":0.649,"y":0.812},{"intensity":0.3,"time":666,"x":0.761,"y":0.981},{"intensity":0.3,"time":833,"x":0.921,"y":0.823},{"intensity":0.3,"time":1000,"x":0.992,"y":0.978}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":1000,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.96},{"intensity":0.3,"time":166,"x":0.22,"y":0.791},{"intensity":0.3,"time":333,"x":0.384,"y":0.947},{"intensity":0.3,"time":500,"x":0.643,"y":0.809},{"intensity":0.3,"time":666,"x":0.761,"y":0.967},{"intensity":0.3,"time":833,"x":0.92,"y":0.826},{"intensity":0.3,"time":1000,"x":1,"y":0.957}],"visible":true}]}}},"name":"path","offsetTime":1000,"startTime":535},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.951},{"intensity":0.3,"time":166,"x":0.218,"y":0.803},{"intensity":0.3,"time":333,"x":0.404,"y":0.964},{"intensity":0.3,"time":499,"x":0.649,"y":0.812},{"intensity":0.3,"time":666,"x":0.761,"y":0.981},{"intensity":0.3,"time":832,"x":0.921,"y":0.823},{"intensity":0.3,"time":999,"x":0.992,"y":0.978}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":999,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_TDM","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":0.96},{"intensity":0.3,"time":166,"x":0.22,"y":0.791},{"intensity":0.3,"time":333,"x":0.384,"y":0.947},{"intensity":0.3,"time":499,"x":0.643,"y":0.809},{"intensity":0.3,"time":666,"x":0.761,"y":0.967},{"intensity":0.3,"time":832,"x":0.92,"y":0.826},{"intensity":0.3,"time":999,"x":1,"y":0.957}],"visible":true}]}}},"name":"path","offsetTime":999,"startTime":2001}],"enable":true}],"updatedAt":1593684408437},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/bhaptics/vest/Drowning.tact b/FCData/bhaptics/vest/Drowning.tact new file mode 100644 index 0000000..8583882 --- /dev/null +++ b/FCData/bhaptics/vest/Drowning.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1619753538592,"description":"","id":"-MZVpO7EQfqkus-msEBD","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":1,"name":"Heal_T1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":800,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":1,"y":1},{"intensity":0.3,"time":800,"x":1,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0.671,"y":1},{"intensity":0.3,"time":800,"x":0.667,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0.329,"y":0.999},{"intensity":0.3,"time":800,"x":0.331,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":1},{"intensity":0.3,"time":800,"x":0,"y":0}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":800,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0,"y":1},{"intensity":0.3,"time":800,"x":0,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0.327,"y":1},{"intensity":0.3,"time":800,"x":0.337,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":0.665,"y":1},{"intensity":0.3,"time":800,"x":0.671,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"FADE_OUT","pointList":[{"intensity":0.3,"time":0,"x":1,"y":1},{"intensity":0.3,"time":800,"x":1,"y":0}],"visible":true}]}}},"name":"path","offsetTime":800,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1619761540842},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/bhaptics/vest/HitByBuckshot.tact b/FCData/bhaptics/vest/HitByBuckshot.tact new file mode 100644 index 0000000..6ef8364 --- /dev/null +++ b/FCData/bhaptics/vest/HitByBuckshot.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1619685475665,"description":"","id":"-MZRlkPnKQdMePxgFxOn","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":0.2,"name":"Shotgun_Hit_T1","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.8,"time":0,"x":1,"y":0.25}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.4,"time":0,"x":0.67,"y":0.75}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.7,"time":0,"x":0,"y":0.75}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.4,"time":0,"x":0.33,"y":0.25}],"visible":true}]}}},"name":"path","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1619685511162},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/bhaptics/vest/HitBySniper.tact b/FCData/bhaptics/vest/HitBySniper.tact new file mode 100644 index 0000000..33ef481 --- /dev/null +++ b/FCData/bhaptics/vest/HitBySniper.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1593684408440,"description":"","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":0.2,"name":"Impact2","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":200,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.499,"y":0.494}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.571,"y":0.5}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.426,"y":0.5}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.498,"y":0.435}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":1,"time":0,"x":0.49,"y":0.555}],"visible":true}]}}},"name":"path","offsetTime":200,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1593684408440},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/bhaptics/vest/Jumping.tact b/FCData/bhaptics/vest/Jumping.tact new file mode 100644 index 0000000..fef965d --- /dev/null +++ b/FCData/bhaptics/vest/Jumping.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1619437106336,"description":"","id":"-MZCyHvPRD4WPW-58Z6J","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":0.673,"name":"Jump","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":0,"y":1},{"intensity":0.2,"time":150,"x":0,"y":0.51}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":0.34,"y":1},{"intensity":0.2,"time":150,"x":0.33,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":0.67,"y":1},{"intensity":0.2,"time":150,"x":0.65,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":1,"y":0.99},{"intensity":0.2,"time":150,"x":1,"y":0.51}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":150,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":0,"y":1},{"intensity":0.2,"time":150,"x":0,"y":0.51}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.3,"time":0,"x":0.34,"y":1},{"intensity":0.3,"time":150,"x":0.33,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.3,"time":0,"x":0.67,"y":1},{"intensity":0.3,"time":150,"x":0.65,"y":0}],"visible":true},{"movingPattern":"CONST_SPEED","playbackType":"NONE","pointList":[{"intensity":0.2,"time":0,"x":1,"y":0.99},{"intensity":0.2,"time":150,"x":1,"y":0.51}],"visible":true}]}}},"name":"Effect 1","offsetTime":150,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1619437189008},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/bhaptics/vest/Landing.tact b/FCData/bhaptics/vest/Landing.tact new file mode 100644 index 0000000..2f0e1ec --- /dev/null +++ b/FCData/bhaptics/vest/Landing.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1619437115154,"description":"","id":"-MZCyK49x2aiTX0RRziH","layout":{"layouts":{"VestBack":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}],"VestFront":[{"index":0,"x":0,"y":0},{"index":1,"x":0.333,"y":0},{"index":2,"x":0.667,"y":0},{"index":3,"x":1,"y":0},{"index":4,"x":0,"y":0.25},{"index":5,"x":0.333,"y":0.25},{"index":6,"x":0.667,"y":0.25},{"index":7,"x":1,"y":0.25},{"index":8,"x":0,"y":0.5},{"index":9,"x":0.333,"y":0.5},{"index":10,"x":0.667,"y":0.5},{"index":11,"x":1,"y":0.5},{"index":12,"x":0,"y":0.75},{"index":13,"x":0.333,"y":0.75},{"index":14,"x":0.667,"y":0.75},{"index":15,"x":1,"y":0.75},{"index":16,"x":0,"y":1},{"index":17,"x":0.333,"y":1},{"index":18,"x":0.667,"y":1},{"index":19,"x":1,"y":1}]},"name":"Tactot","type":"Tactot"},"mediaFileDuration":0.673,"name":"Landing","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":90,"playbackType":"NONE","pointList":[{"index":16,"intensity":0.2},{"index":17,"intensity":0.2},{"index":18,"intensity":0.2},{"index":19,"intensity":0.2}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":90,"playbackType":"NONE","pointList":[{"index":16,"intensity":0.2},{"index":17,"intensity":0.2},{"index":18,"intensity":0.2},{"index":19,"intensity":0.2}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[]}}},"name":"Effect 1","offsetTime":90,"startTime":0}],"enable":true},{"enable":true,"effects":[]}],"updatedAt":1619437204960},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file diff --git a/FCData/scripts/Default/Entities/Player/BasicPlayer.lua b/FCData/scripts/Default/Entities/Player/BasicPlayer.lua index 9fe53fd..662e64b 100644 --- a/FCData/scripts/Default/Entities/Player/BasicPlayer.lua +++ b/FCData/scripts/Default/Entities/Player/BasicPlayer.lua @@ -572,6 +572,12 @@ function BasicPlayer:Client_OnInit() Game:RegisterBHapticsEffect("hit_by_bullet", "bhaptics/vest/HitByBullet.tact"); Game:RegisterBHapticsEffect("hit_by_melee", "bhaptics/vest/HitByMelee.tact"); Game:RegisterBHapticsEffect("hit_by_explosion", "bhaptics/vest/HitByExplosion.tact"); + Game:RegisterBHapticsEffect("hit_by_sniper", "bhaptics/vest/HitBySniper.tact"); + Game:RegisterBHapticsEffect("hit_by_shotgun", "bhaptics/vest/HitByBuckshot.tact"); + Game:RegisterBHapticsEffect("damage_fall", "bhaptics/vest/Landing.tact"); + Game:RegisterBHapticsEffect("damage_fire", "bhaptics/vest/Burning.tact"); + Game:RegisterBHapticsEffect("damage_drowning", "bhaptics/vest/Drowning.tact"); + Game:RegisterBHapticsEffect("jump", "bhaptics/vest/Jumping.tact"); self:RegisterStates(); @@ -1423,6 +1429,7 @@ function BasicPlayer:Client_OnDamage( hit ) if(hit.falling) then Hud.dmgindicator = bor( Hud.dmgindicator, 16 ); self.cnt:TriggerHapticEffect("damage_fall", amplitude); + self.cnt:TriggerBHapticsEffect("damage_fall", "damage_fall", 1.2 + amplitude); end if(hit.explosion) then @@ -1434,10 +1441,12 @@ function BasicPlayer:Client_OnDamage( hit ) Hud:OnMiscDamage(hit.damage); Hud:SetScreenDamageColor(0.6, 0.7, 0.9); self.cnt:TriggerHapticEffect("damage_drowning", amplitude); + self.cnt:TriggerBHapticsEffect("damage_drowning", "damage_drowning", 0.1); elseif (hit.fire) then Hud:OnMiscDamage(hit.damage*10); Hud:SetScreenDamageColor(0.9, 0.8, 0.8); self.cnt:TriggerHapticEffect("damage_fire", amplitude); + self.cnt:TriggerBHapticsEffect("damage_fire", "damage_fire", 0.6); elseif (Hud.meleeDamageType=="MeleeDamageNormal") then Hud.meleeDamageType=nil; Hud:OnMiscDamage(hit.damage); @@ -1454,7 +1463,14 @@ function BasicPlayer:Client_OnDamage( hit ) Hud:SetScreenDamageColor(0.9, 0.8, 0.8); self.cnt:TriggerHapticEffect("damage", amplitude); if (hit.weapon ~= nil) then - self.cnt:TriggerBHapticsEffect("hit_by_bullet", "hit_by_bullet", amplitude, hit.pos, hit.dir); + local effect = "hit_by_bullet"; + if (hit.weapon.name == "SniperRifle") then + effect = "hit_by_sniper"; + end + if (hit.weapon.name == "Shotgun") then + effect = "hit_by_shotgun"; + end + self.cnt:TriggerBHapticsEffect(effect, effect, amplitude, hit.pos, hit.dir); end end end @@ -3079,7 +3095,6 @@ BasicPlayer.Client_EventHandler={ BasicPlayer.PlayLandDamageSound(self,onfalldamage); end, [ScriptEvent_Jump]= function(self,Params) - BasicPlayer.OnPlayerJump(self,Params); end, }; @@ -3377,6 +3392,8 @@ function BasicPlayer:PlayLandDamageSound(onfalldamage) self:PlaySound(landsounds[random(1, getn(landsounds))],1); end + self.cnt:TriggerBHapticsEffect("damage_fall", "damage_fall", 0.6); + -- if (timedelta>=2 and landhardsounds) then -- self:PlaySound(landhardsounds[random(1, getn(landhardsounds))],1); -- elseif (timedelta>=1 and landsounds) then diff --git a/Sources/CryGame C++/Solution1/CryGame/VRHaptics.cpp b/Sources/CryGame C++/Solution1/CryGame/VRHaptics.cpp index 3003920..4e21e21 100644 --- a/Sources/CryGame C++/Solution1/CryGame/VRHaptics.cpp +++ b/Sources/CryGame C++/Solution1/CryGame/VRHaptics.cpp @@ -53,7 +53,6 @@ void VRHaptics::RegisterBHapticsEffect(const char* key, const char* file) { if (IsFeedbackRegistered(key)) { - CryLogAlways("BHaptics effect already registered: %s", key); return; } @@ -96,6 +95,7 @@ void VRHaptics::TriggerEffect(int hand, const char* effectName, float amplitudeM void VRHaptics::TriggerBHapticsEffect(const char* key, float intensity, float offsetAngleX, float offsetY) { + CryLogAlways("Playing bHaptics effect %s at intensity %.2f", key, intensity); SubmitRegisteredWithOption(key, key, intensity, 1.0f, offsetAngleX, offsetY); } diff --git a/Sources/CryGame C++/Solution1/CryGame/XPlayer.cpp b/Sources/CryGame C++/Solution1/CryGame/XPlayer.cpp index 7237ea2..b1b555a 100644 --- a/Sources/CryGame C++/Solution1/CryGame/XPlayer.cpp +++ b/Sources/CryGame C++/Solution1/CryGame/XPlayer.cpp @@ -2187,6 +2187,7 @@ void CPlayer::ProcessMovements(CXEntityProcessingCmd &cmd, bool bScheduled) m_stats.stamina = 0; m_bHasJumped = true; + TriggerBHapticsEffect("jump", "jump", 0.4f); } else {