def finishReload(self):
     newVolley = WeaponGlobals.getAttackVolley(self.skillId, self.getAmmoSkillId())
     if newVolley > self.numShots and not WeaponGlobals.isInfiniteAmmo(self.getAmmoSkillId()) and not WeaponGlobals.canUseInfiniteAmmo(localAvatar.getCurrentCharm(), self.getAmmoSkillId()):
         newVolley = self.numShots
     
     self.setVolley(newVolley)
     self.showCannonDressing()
 def finishReload(self):
     newVolley = WeaponGlobals.getAttackVolley(self.skillId, self.getAmmoSkillId())
     if newVolley > self.numShots and not WeaponGlobals.isInfiniteAmmo(self.getAmmoSkillId()) and not WeaponGlobals.canUseInfiniteAmmo(localAvatar.getCurrentCharm(), self.getAmmoSkillId()):
         newVolley = self.numShots
     
     self.setVolley(newVolley)
     self.showCannonDressing()
示例#3
0
 def __init__(self, cr):
     DistributedWeapon.DistributedWeapon.__init__(self, cr)
     self.ship = None
     self.tutorial = 0
     self.prop = None
     self.baseVel = Vec3(0)
     self.mouseX = 0
     self.mouseY = 0
     self.setPos(0, 0, 0)
     self.moveCannon = 0
     self.av = None
     self.ball = None
     self.ship = None
     self.shipId = None
     self.tubeNP = None
     self.cgui = None
     self.numShots = 0
     self.grapplingHook = None
     self.cannonDressingNode = NodePath(ModelNode('dressingNode'))
     self._cameraState = 'Cannon'
     self.collisionLists = {}
     self.listening = False
     self.skillId = InventoryType.CannonShoot
     self.reloadTime = 0
     self.rechargeTime = 0
     self.volley = WeaponGlobals.getAttackVolley(self.skillId,
                                                 self.getAmmoSkillId())
     self.modeFSM = ClassicFSM.ClassicFSM('modeFSM', [
         State.State('off', self.enterOff, self.exitOff),
         State.State('fireCannon', self.enterFireCannon,
                     self.exitFireCannon),
         State.State('tutorialCutscene', self.enterTutorialCutscene,
                     self.exitTutorialCutscene)
     ], 'off', 'off')
     self.modeFSM.enterInitialState()
     self.aimAITrack = None
     self.headingNode = NodePath('dummy')
     OTPRender.renderReflection(False, self, 'p_cannon', None)
     if not self.emptySound:
         DistributedPCCannon.emptySound = loadSfx(
             SoundGlobals.SFX_WEAPON_CANNON_EMPTY)
     self.fireSubframeCall = None
     self.__invRequest = None
     self.shotNum = -1
     return
 def __init__(self, cr):
     DistributedWeapon.DistributedWeapon.__init__(self, cr)
     self.ship = None
     self.tutorial = 0
     self.prop = None
     self.baseVel = Vec3(0)
     self.mouseX = 0
     self.mouseY = 0
     self.setPos(0, 0, 0)
     self.moveCannon = 0
     self.av = None
     self.ball = None
     self.ship = None
     self.shipId = None
     self.tubeNP = None
     self.cgui = None
     self.numShots = 0
     self.grapplingHook = None
     self.cannonDressingNode = NodePath(ModelNode('dressingNode'))
     self._cameraState = 'Cannon'
     self.collisionLists = { }
     self.listening = False
     self.skillId = InventoryType.CannonShoot
     self.reloadTime = 0
     self.rechargeTime = 0
     self.volley = WeaponGlobals.getAttackVolley(self.skillId, self.getAmmoSkillId())
     self.modeFSM = ClassicFSM.ClassicFSM('modeFSM', [
         State.State('off', self.enterOff, self.exitOff),
         State.State('fireCannon', self.enterFireCannon, self.exitFireCannon),
         State.State('tutorialCutscene', self.enterTutorialCutscene, self.exitTutorialCutscene)], 'off', 'off')
     self.modeFSM.enterInitialState()
     self.aimAITrack = None
     self.headingNode = NodePath('dummy')
     OTPRender.renderReflection(False, self, 'p_cannon', None)
     if not self.emptySound:
         DistributedPCCannon.emptySound = loadSfx(SoundGlobals.SFX_WEAPON_CANNON_EMPTY)
     
     self.fireSubframeCall = None
     self._DistributedPCCannon__invRequest = None
     self.shotNum = -1