diff --git a/Projects/Android/jni/gzdoom-g3.3mgw_mobile/src/p_interaction.cpp b/Projects/Android/jni/gzdoom-g3.3mgw_mobile/src/p_interaction.cpp index c3cfc7f..f425e3a 100644 --- a/Projects/Android/jni/gzdoom-g3.3mgw_mobile/src/p_interaction.cpp +++ b/Projects/Android/jni/gzdoom-g3.3mgw_mobile/src/p_interaction.cpp @@ -1357,11 +1357,11 @@ static int DamageMobj (AActor *target, AActor *inflictor, AActor *source, int da QzDoom_Vibrate(200, 0, level); // left QzDoom_Vibrate(200, 1, level); // right - DAngle attackAngle = player->mo->Angles.Yaw - target->AngleTo(source); + DAngle attackAngle = (source != NULL) ? (target->AngleTo(source) - player->mo->Angles.Yaw) : angle; if (mod == NAME_None) { - if (damage >= 12) { + if (damage >= 15) { QzDoom_HapticEvent("shotgun", 0, 100, attackAngle.Normalized360().Degrees, 0); } else { diff --git a/assets/bHaptics/Damage/Body_Shield_Break.tact b/assets/bHaptics/Damage/Body_Shield_Break.tact new file mode 100644 index 0000000..541afad --- /dev/null +++ b/assets/bHaptics/Damage/Body_Shield_Break.tact @@ -0,0 +1 @@ +{"project":{"createdAt":1614045521035,"description":"","id":"-MUBb1XwebFcZSwo-mcn","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":"Body_Shield_Break","tracks":[{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":178,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.51,"y":0.49},{"intensity":0.6,"time":178,"x":0,"y":0}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":178,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.51,"y":0.49},{"intensity":0.6,"time":178,"x":0,"y":0}],"visible":true}]}}},"name":"Effect 2","offsetTime":178,"startTime":95},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":171,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.5},{"intensity":0.6,"time":171,"x":0,"y":1}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":171,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.5},{"intensity":0.6,"time":171,"x":0,"y":1}],"visible":true}]}}},"name":"Effect 3","offsetTime":171,"startTime":113},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":173,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.5},{"intensity":0.6,"time":173,"x":1,"y":1}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":173,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.5},{"intensity":0.6,"time":173,"x":1,"y":1}],"visible":true}]}}},"name":"Effect 4","offsetTime":173,"startTime":86},{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":160,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.49},{"intensity":0.6,"time":160,"x":1,"y":0}],"visible":true}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":160,"playbackType":"NONE","startTime":0,"pointList":[]}]},"mode":"PATH_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"FADE_IN","pointList":[{"intensity":0.6,"time":0,"x":0.5,"y":0.49},{"intensity":0.6,"time":160,"x":1,"y":0}],"visible":true}]}}},"name":"Effect 5","offsetTime":160,"startTime":61}],"enable":true},{"effects":[{"modes":{"VestBack":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":53,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":0.5},{"index":4,"intensity":0.5},{"index":8,"intensity":0.5},{"index":12,"intensity":0.5},{"index":16,"intensity":0.5},{"index":13,"intensity":0.5},{"index":9,"intensity":0.5},{"index":5,"intensity":0.5},{"index":17,"intensity":0.5},{"index":1,"intensity":0.5},{"index":2,"intensity":0.5},{"index":6,"intensity":0.5},{"index":10,"intensity":0.5},{"index":14,"intensity":0.5},{"index":18,"intensity":0.5},{"index":19,"intensity":0.5},{"index":15,"intensity":0.5},{"index":11,"intensity":0.5},{"index":3,"intensity":0.5},{"index":7,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}},"VestFront":{"dotMode":{"dotConnected":false,"feedback":[{"endTime":53,"playbackType":"FADE_OUT","pointList":[{"index":0,"intensity":0.5},{"index":4,"intensity":0.5},{"index":8,"intensity":0.5},{"index":12,"intensity":0.5},{"index":16,"intensity":0.5},{"index":13,"intensity":0.5},{"index":9,"intensity":0.5},{"index":5,"intensity":0.5},{"index":17,"intensity":0.5},{"index":1,"intensity":0.5},{"index":2,"intensity":0.5},{"index":6,"intensity":0.5},{"index":10,"intensity":0.5},{"index":14,"intensity":0.5},{"index":18,"intensity":0.5},{"index":19,"intensity":0.5},{"index":15,"intensity":0.5},{"index":11,"intensity":0.5},{"index":3,"intensity":0.5},{"index":7,"intensity":0.5}],"startTime":0}]},"mode":"DOT_MODE","pathMode":{"feedback":[{"movingPattern":"CONST_SPEED","playbackType":"NONE","visible":true,"pointList":[]}]}}},"name":"Effect 1","offsetTime":53,"startTime":2}],"enable":true}],"updatedAt":1614047103263},"durationMillis":0,"intervalMillis":20,"size":20} \ No newline at end of file