def startRoastingPig(self): if not self.pigModel: self.pigModel = loader.loadModel('models/props/pir_m_prp_foo_barbecuepig') self.pigModel.setTransparency(1) self.pigModel.reparentTo(self) self.pigInterval = LerpColorScaleInterval(self.pigModel, 2.0, Vec4(1, 1, 1, 1), startColorScale=Vec4(1, 1, 1, 0)) self.fireEffect = SmallFire() if self.fireEffect: self.fireEffect.reparentTo(self) self.fireEffect.setScale(Vec3(1.5, 1, 1)) self.fireEffect.startLoop() self.pigInterval.start()
def enterBeginFeast(self, extraArgs=[]): self.torch = loader.loadModel('models/props/torch') self.torch.reparentTo(self.av.rightHandNode) self.torch.setPos(0.2, -0.2, -0.1) self.torch.setHpr(0, -110, 0) self.torch.setScale(0.6) from pirates.effects.SmallFire import SmallFire self.fireEffect = SmallFire() if self.fireEffect: self.fireEffect.reparentTo(self.torch.find('**/torch_effect_*')) self.fireEffect.startLoop() self.av.motionFSM.off(lock=True) self.animationTrack = Sequence(self.av.actorInterval('wand_cast_start', blendOutT=0), Func(self.av.loop, 'wand_cast_idle', blendT=0), Wait(3.0), self.av.actorInterval('wand_cast_fire', playRate=0.75)) self.animationTrack.start()