diff --git a/language.version b/language.version index f9e5cde49..69bcca10c 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r422 \cu(Wed 31 Mar 21:11:17 CEST 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r422 \cu(2021-03-31 21:11:17)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r423 \cu(Thu 1 Apr 15:20:39 CEST 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r423 \cu(2021-04-01 15:20:39)\c-"; diff --git a/zscript/items/swwm_funstuff.zsc b/zscript/items/swwm_funstuff.zsc index 31e703a84..c000f94cb 100644 --- a/zscript/items/swwm_funstuff.zsc +++ b/zscript/items/swwm_funstuff.zsc @@ -24,8 +24,9 @@ Class FroggyChair : Actor if ( !carrier ) return; SWWMLoreLibrary.Add(carrier.player,"FroggyChair"); carrier.A_StartSound("demolitionist/handsup",CHAN_ITEM,CHANF_OVERLAP); + if ( carrier is 'Demolitionist' ) Demolitionist(carrier).froggy = self; A_SetRenderStyle(.5,STYLE_Translucent); - A_SetSize(32,32); // easier to deselect + A_SetSize(default.radius,32); // full body blocks carried = true; bSOLID = false; bNOGRAVITY = true; @@ -36,6 +37,7 @@ Class FroggyChair : Actor private void EndCarry() { if ( master ) master.A_StartSound("demolitionist/handsdown",CHAN_ITEM,CHANF_OVERLAP); + if ( master is 'Demolitionist' ) Demolitionist(master).froggy = null; A_SetRenderStyle(1.,STYLE_Normal); A_SetSize(default.radius,default.height); carried = false; @@ -87,8 +89,9 @@ Class FroggyChair : Actor if ( carried ) { if ( user != master ) return false; - if ( TestMobjLocation() && level.IsPointInLevel(pos) ) - EndCarry(); + A_SetSize(default.radius,default.height); + if ( TestMobjLocation() && level.IsPointInLevel(pos) ) EndCarry(); + else A_SetSize(default.radius,32); } else { @@ -139,7 +142,7 @@ Class FroggyChair : Actor else dirto /= lento; vel = (dirto+(0,0,.1))*vsize*.3; Spawn("SWWMItemFog",pos); - other.DamageMobj(self,tracer,int(10*vsize),'Melee',DMG_THRUSTLESS); + other.DamageMobj(self,tracer,int(2.5*vsize),'Melee',DMG_THRUSTLESS); A_StartSound("squeak",CHAN_WEAPON); return false; } diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index 651705342..91e2d7dea 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -66,6 +66,7 @@ Class Demolitionist : PlayerPawn int healcooldown, healtimer, oldhealth; bool scriptedinvul; bool hitactivate; + Actor froggy; transient int lastuse, failcounter, failcooldown; @@ -720,6 +721,8 @@ Class Demolitionist : PlayerPawn { if ( !player.usedown ) lastuse = gametic; CheckDefaceTexture(); + if ( !player.usedown && froggy ) + player.usedown = froggy.Used(self); } Super.PlayerThink(); if ( (gametic == lastuse) && IsActorPlayingSound(CHAN_VOICE,"*usefail") )