@quenty/ragdoll 9.19.0 → 9.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [9.20.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ragdoll@9.19.0...@quenty/ragdoll@9.20.0) (2023-04-06)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Ragdoll would jolt in weird ways when ragdolling while jumping (root part offset). This solves this issue. ([6f2f7c8](https://github.com/Quenty/NevermoreEngine/commit/6f2f7c83201918f4ea88bb638c5736d12768a7c4))
12
+
13
+
14
+
15
+
16
+
6
17
  # [9.19.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/ragdoll@9.18.0...@quenty/ragdoll@9.19.0) (2023-04-03)
7
18
 
8
19
  **Note:** Version bump only for package @quenty/ragdoll
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/ragdoll",
3
- "version": "9.19.0",
3
+ "version": "9.20.0",
4
4
  "description": "Quenty's Ragdoll system for Roblox - Floppy fun ragdolls",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -25,33 +25,33 @@
25
25
  "Quenty"
26
26
  ],
27
27
  "dependencies": {
28
- "@quenty/attributeutils": "^8.10.0",
28
+ "@quenty/attributeutils": "^8.11.0",
29
29
  "@quenty/baseobject": "^6.2.0",
30
- "@quenty/binder": "^8.12.0",
31
- "@quenty/brio": "^8.9.0",
30
+ "@quenty/binder": "^8.13.0",
31
+ "@quenty/brio": "^8.10.0",
32
32
  "@quenty/camera": "^9.10.0",
33
33
  "@quenty/cancellabledelay": "^3.4.0",
34
34
  "@quenty/characterutils": "^6.4.0",
35
35
  "@quenty/draw": "^4.2.0",
36
36
  "@quenty/enumutils": "^3.1.0",
37
37
  "@quenty/hapticfeedbackutils": "^3.1.0",
38
- "@quenty/instanceutils": "^7.10.0",
38
+ "@quenty/instanceutils": "^7.11.0",
39
39
  "@quenty/loader": "^6.2.0",
40
40
  "@quenty/maid": "^2.5.0",
41
- "@quenty/motor6d": "^1.17.0",
42
- "@quenty/playerhumanoidbinder": "^8.12.0",
41
+ "@quenty/motor6d": "^1.18.0",
42
+ "@quenty/playerhumanoidbinder": "^8.13.0",
43
43
  "@quenty/promise": "^6.4.0",
44
44
  "@quenty/qframe": "^6.5.0",
45
- "@quenty/r15utils": "^7.11.0",
45
+ "@quenty/r15utils": "^7.12.0",
46
46
  "@quenty/remoting": "^6.4.0",
47
47
  "@quenty/rx": "^7.9.0",
48
48
  "@quenty/spring": "^6.2.0",
49
49
  "@quenty/steputils": "^3.2.0",
50
50
  "@quenty/table": "^3.2.0",
51
- "@quenty/valuebaseutils": "^7.10.0"
51
+ "@quenty/valuebaseutils": "^7.11.0"
52
52
  },
53
53
  "publishConfig": {
54
54
  "access": "public"
55
55
  },
56
- "gitHead": "fa7c7edfd754cf18fd808466121310f9bfff6271"
56
+ "gitHead": "d26d804d1f96e9a0f3f5687f8e024ec9d476172d"
57
57
  }
@@ -177,6 +177,11 @@ function RagdollMotorUtils.setupRagdollRootPartMotor(motor, part0, part1)
177
177
  local lastTransformSpring = Spring.new(QFrame.fromCFrameClosestTo(motor.Transform, QFrame.new()))
178
178
  lastTransformSpring.t = QFrame.new()
179
179
 
180
+ -- transform changed event doesn't fire, so let's use this to proxy it
181
+ local transformValue = Instance.new("CFrameValue")
182
+ transformValue.Value = motor.Transform
183
+ maid:GiveTask(transformValue)
184
+
180
185
  -- replacing this weld ensures interpolation for some reason
181
186
  local weldContainer = Instance.new("Camera")
182
187
  weldContainer.Name = "TempWeldContainer"
@@ -195,10 +200,18 @@ function RagdollMotorUtils.setupRagdollRootPartMotor(motor, part0, part1)
195
200
  -- Inserted C1/C0 here
196
201
  weldMaid:GiveTask(Rx.combineLatest({
197
202
  C0 = RxInstanceUtils.observeProperty(motor, "C0");
198
- Transform = RxInstanceUtils.observeProperty(motor, "Transform");
203
+ Transform = RxInstanceUtils.observeProperty(transformValue, "Value");
199
204
  }):Subscribe(function(innerState)
200
205
  weld.C0 = innerState.C0 * innerState.Transform
201
206
  end))
207
+
208
+ if weld:IsA("Motor6D") then
209
+ -- Suppress animations on any weld connection
210
+ weldMaid:GiveTask(RunService.Stepped:Connect(function()
211
+ weld.Transform = CFrame.new()
212
+ end))
213
+ end
214
+
202
215
  weldMaid:GiveTask(RxInstanceUtils.observeProperty(motor, "C1"):Subscribe(function(c1)
203
216
  weld.C1 = c1
204
217
  end))
@@ -227,6 +240,7 @@ function RagdollMotorUtils.setupRagdollRootPartMotor(motor, part0, part1)
227
240
  maid:GiveTask(RunService.Stepped:Connect(function()
228
241
  local target = QFrame.toCFrame(lastTransformSpring.p)
229
242
  if target then
243
+ transformValue.Value = target
230
244
  motor.Transform = target
231
245
  end
232
246
  end))