local cv_althammerjump = CV_RegisterVar({ name = "althammerjump", PossibleValue = CV_OnOff, defaultvalue = "Off", }) local Angel = function(p) if (p.pflags & PF_ANALOGMODE) return p.mo.angle else return p.cmd.angleturn<<16 + R_PointToAngle2(0, 0, p.cmd.forwardmove*FRACUNIT, -p.cmd.sidemove*FRACUNIT) end end addHook("PlayerThink", function(p) if p.mo.skin == "amy" if not (p.cmd.buttons & BT_JUMP) p.jumptapready = true p.jumptapping = false elseif p.jumptapready then p.jumptapping = true p.jumptapready = false else p.jumptapping = false end if p.mo.state == S_PLAY_MELEE_LANDING if p.jumptapping P_DoJump(p) p.mo.momz = $ + $ / 2 if not cv_althammerjump.value p.mo.state = S_PLAY_TWINSPIN p.pflags = $|PF_THOKKED else p.mo.state = S_PLAY_ROLL p.pflags = $1|PF_SPINNING|PF_THOKKED end end end if not (p.cmd.buttons & BT_CUSTOM1) p.tapready = true p.tapping = false elseif p.tapready then p.tapping = true p.tapready = false else p.tapping = false end if p.tapping and P_IsObjectOnGround(p.mo) A_ZThrust(p.mo, 5, 0) P_InstaThrust(p.mo, Angel(p), skins.amy.normalspeed) p.mo.state = 1 p.drawangle = Angel(p) end if p.mo.state == 1 p.mo.sprite = SPR_PLAY p.mo.sprite2 = SPR2_RUN_ end end end)