diff --git a/language.version b/language.version index f475d71f9..7a410922b 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r818 \cu(Sat 1 Jul 14:12:36 CEST 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r818 \cu(2023-07-01 14:12:36)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r819 \cu(Sat 1 Jul 14:18:38 CEST 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r819 \cu(2023-07-01 14:18:38)\c-"; diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index 5bc114ce0..ef8e0e69e 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -414,8 +414,13 @@ extend Class SWWMHandler } if ( amt > i.Amount ) amt = i.Amount; let drop = players[e.Args[0]].mo.DropInventory(i,amt); - // add some random velocity so multiple drops don't get bunched together - if ( drop ) drop.vel += (Actor.RotateVector((FRandom[Junk](-1.5,.5),FRandom[Junk](-2.5,2.5)),players[e.Args[0]].mo.angle),FRandom[Junk](2.,5.)); + // randomize movement direction so multiple drops don't get bunched together + if ( drop ) + { + Vector2 vel2d = drop.vel.xy; + drop.vel.xy = Actor.RotateVector(vel2d,FRandom[Junk](-15,15)); + drop.vel.xy *= FRandom[Junk](.9,1.1); + } if ( e.Args[0] == consoleplayer ) { let t = new("MenuTransaction");