historical/toontown-classic.git/toontown/pets/PetLeash.py
2024-01-16 11:20:27 -06:00

20 lines
625 B
Python

from panda3d.core import *
from otp.movement import Impulse
class PetLeash(Impulse.Impulse):
def __init__(self, origin, length):
Impulse.Impulse.__init__(self)
self.origin = origin
self.length = length
def _process(self, dt):
Impulse.Impulse._process(self, dt)
myPos = self.nodePath.getPos()
myDist = self.VecType(myPos - self.origin.getPos()).length()
if myDist > self.length:
excess = myDist - self.length
shove = self.VecType(myPos)
shove.normalize()
shove *= -excess
self.mover.addShove(shove)