public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (MySession.Static.CreativeMode) return; base.Shoot(action, direction, gunAction); if (action == MyShootActionEnum.PrimaryAction && !m_firstShot) { if ((MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastKeyPress) >= 500) { //MyRenderProxy.DebugDrawText2D(new Vector2(50.0f, 50.0f), "Holding cube placer", Color.Red, 1.0f); // CH:TODO: This should probably be done only locally var block = GetTargetBlock(); if (block != null) { MyDefinitionId welderDefinition = new MyDefinitionId(typeof(MyObjectBuilder_Welder)); if (Owner.CanSwitchToWeapon(welderDefinition)) { Owner.SetupAutoswitch(new MyDefinitionId(typeof(MyObjectBuilder_Welder)), new MyDefinitionId(typeof(MyObjectBuilder_CubePlacer))); } } } } }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (action != MyShootActionEnum.PrimaryAction) return; m_gunBase.Shoot(Parent.Physics.LinearVelocity); }
public override void Shoot(MyShootActionEnum action, Vector3 direction) { if (action != MyShootActionEnum.PrimaryAction) return; m_barrel.StartShooting(); }
public override void Shoot(MyShootActionEnum action, Vector3 direction) { if (action != MyShootActionEnum.PrimaryAction) return; m_gunBase.Shoot(Vector3.Zero); }
public override void EndShoot(MyShootActionEnum action) { if (m_activated) { MyAnalyticsHelper.ReportActivityEnd(this.Owner, "Welding"); } m_playedFailSound = false; base.EndShoot(action); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D?overrideWeaponPos, string gunAction) { if (action != MyShootActionEnum.PrimaryAction) { return; } m_gunBase.Shoot(Parent.Physics.LinearVelocity); }
public void EndShoot(MyShootActionEnum action = MyShootActionEnum.PrimaryAction) { if (MyFakes.SIMULATE_QUICK_TRIGGER) { return; } EndShootInternal(action); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (action != MyShootActionEnum.PrimaryAction) { return; } m_gunBase.Shoot(Vector3.Zero); }
public virtual void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { m_shoot = true; m_shootDirection = direction; m_lastTimeShoot = MySandboxGame.TotalGamePlayTimeInMilliseconds; m_gunBase.ConsumeAmmo(); NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; }
public override void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D?overrideWeaponPos, string gunAction) { if (action != MyShootActionEnum.PrimaryAction) { return; } m_barrel.StartShooting(); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { base.Shoot(action, direction, gunAction); if (action == MyShootActionEnum.PrimaryAction && IsPreheated && Sync.IsServer && m_activated) { Grind(); } return; }
public void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (action != MyShootActionEnum.PrimaryAction && action != MyShootActionEnum.SecondaryAction) return; WantsToDrill = true; m_wantsToCollect = action == MyShootActionEnum.PrimaryAction; ShakeAmount = 2.5f; ResourceSink.Update(); }
public virtual void EndShoot(MyShootActionEnum action) { if (m_shotToolAction.HasValue) { if (m_shotToolAction.Value.HitDuration == 0) { m_shotToolAction = null; } } }
private void EndShootInternal(MyShootActionEnum action = MyShootActionEnum.PrimaryAction) { ShootEndMsg msg = new ShootEndMsg(); msg.EntityId = SyncedEntityId; msg.Action = action; MySession.Static.SyncLayer.SendMessageToServer(ref msg); StopShooting(action); }
public void EndShoot(MyShootActionEnum action) { if (action == MyShootActionEnum.PrimaryAction) { IsShooting = false; } else if (action == MyShootActionEnum.SecondaryAction) { m_canZoom = true; } }
public override bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { status = MyGunStatusEnum.OK; if (action != MyShootActionEnum.PrimaryAction) { status = MyGunStatusEnum.Failed; return(false); } if (!m_gunBase.HasAmmoMagazines) { status = MyGunStatusEnum.Failed; return(false); } if ((MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastTimeShoot) < m_gunBase.ShootIntervalInMiliseconds) { status = MyGunStatusEnum.Cooldown; return(false); } if (!HasPlayerAccess(shooter)) { status = MyGunStatusEnum.AccessDenied; return(false); } if (!PowerReceiver.IsPowered) { status = MyGunStatusEnum.OutOfPower; return(false); } if (!IsFunctional) { status = MyGunStatusEnum.NotFunctional; return(false); } if (!Enabled) { status = MyGunStatusEnum.Disabled; return(false); } if (!MySession.Static.CreativeMode && !m_gunBase.HasEnoughAmmunition()) //m_ammoInventory.GetItemAmount(m_currentAmmoMagazineId) < m_ammoPerShotConsumption) { status = MyGunStatusEnum.OutOfAmmo; return(false); } return(true); }
public void EndShoot(MyShootActionEnum action) { if (action != MyShootActionEnum.PrimaryAction) { return; } if (!Enabled) { StopShooting(); } }
public void EndShoot(MyShootActionEnum action) { /*if ((int)action < 2) * { * if (m_leftWeapon != null) * m_leftWeapon.EndShoot(action); * } * else * if (m_rightWeapon != null) * m_rightWeapon.EndShoot((MyShootActionEnum)((int)action - 2)); */ }
public void BeginFailReaction(MyShootActionEnum action, MyGunStatusEnum status) { if (status == MyGunStatusEnum.OutOfAmmo && !MySession.Static.CreativeMode) { MyFixedPoint newAmount = m_ammoInventory.GetItemAmount(m_gunBase.CurrentAmmoMagazineId); if (newAmount < MyGunBase.AMMO_PER_SHOOT) { StartNoAmmoSound(); } } }
public void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D?overrideWeaponPos, string gunAction) { if (action != MyShootActionEnum.PrimaryAction && action != MyShootActionEnum.SecondaryAction) { return; } WantsToDrill = true; //NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME | MyEntityUpdateEnum.EACH_10TH_FRAME; m_wantsToCollect = action == MyShootActionEnum.PrimaryAction; ShakeAmount = 1.25f; }
public bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { if (m_enabled) { status = MyGunStatusEnum.OK; } else { status = MyGunStatusEnum.Cooldown; } return(status == MyGunStatusEnum.OK); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { MyAnalyticsHelper.ReportActivityStartIf(!m_activated, this.Owner, "Grinding", "Character", "HandTools", "AngleGrinder", true); base.Shoot(action, direction, gunAction); if (action == MyShootActionEnum.PrimaryAction && IsPreheated && Sync.IsServer && m_activated) { Grind(); } return; }
public void Shoot(MyShootActionEnum action, Vector3 direction) { if (action != MyShootActionEnum.PrimaryAction && action != MyShootActionEnum.SecondaryAction) { return; } m_wantsToDrill = true; m_wantsToCollect = action == MyShootActionEnum.PrimaryAction; ShakeAmount = 2.5f; PowerReceiver.Update(); }
public override bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { bool retval = base.CanShoot(action, shooter, out status); // No need for cooldown for the first shot if (status == MyGunStatusEnum.Cooldown && action == MyShootActionEnum.PrimaryAction && m_firstShot == true) { status = MyGunStatusEnum.OK; retval = true; } return(retval); }
public void EndShoot(MyShootActionEnum action) { if (action == MyShootActionEnum.PrimaryAction) { IsShooting = false; m_shotsFiredInBurst = 0; m_gunBase.StopShoot(); } else if (action == MyShootActionEnum.SecondaryAction) { m_canZoom = true; } }
public override bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { bool retval = base.CanShoot(action, shooter, out status); // No need for cooldown for the first shot if (status == MyGunStatusEnum.Cooldown && action == MyShootActionEnum.PrimaryAction && m_firstShot == true) { status = MyGunStatusEnum.OK; retval = true; } return retval; }
public virtual void EndShoot(MyShootActionEnum action) { if (action == MyShootActionEnum.PrimaryAction) { CurrentEffect = 0; StopLoopSound(); ShakeAmount = 0.0f; m_tryingToShoot = false; SinkComp.Update(); m_activated = false; m_shootFrameCounter = 0; } }
public virtual void Shoot(MyShootActionEnum action, Vector3 direction) { m_shoot = true; m_shootDirection = direction; m_lastTimeShoot = MySandboxGame.TotalGamePlayTimeInMilliseconds; if (Sync.IsServer && !MySession.Static.CreativeMode) { m_gunBase.ConsumeAmmo(); } NeedsUpdate |= MyEntityUpdateEnum.EACH_FRAME; }
internal void EndShoot(MyShootActionEnum action) { foreach (var weapon in m_currentGuns) { if (!weapon.EnabledInWorldRules) { MyHud.Notifications.Add(MyNotificationSingletons.WeaponDisabledInWorldSettings); continue; } weapon.EndShoot(action); } }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (MySession.Static.CreativeMode) { return; } m_closeAfterBuild = false; base.Shoot(action, direction, gunAction); ShakeAmount = 0.0f; if (action == MyShootActionEnum.PrimaryAction && m_firstShot) { m_firstShot = false; m_lastKeyPress = MySandboxGame.TotalGamePlayTimeInMilliseconds; var definition = MyCubeBuilder.Static.HudBlockDefinition; if (definition == null) { return; } if (!Owner.ControllerInfo.IsLocallyControlled()) { var val = Owner.IsUsing as MyCockpit; if (val != null && !val.ControllerInfo.IsLocallyControlled()) { return; } } // Must have first component to start building if (MyCubeBuilder.Static.CanStartConstruction(Owner)) { bool placingGrid = MyCubeBuilder.Static.ShipCreationClipboard.IsActive; m_closeAfterBuild = MyCubeBuilder.Static.AddConstruction(Owner) && placingGrid; return; } else { if (!MySession.Static.Battle && MySession.Static.IsAdminModeEnabled == false) { OnMissingComponents(definition); } } } }
public override void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D?overrideWeaponPos, string gunAction) { //small reloadable launcher have cooldown if ((BurstFireRate == m_numRocketsShot) && (MySandboxGame.TotalGamePlayTimeInMilliseconds < m_nextShootTime)) { return; } if (BurstFireRate == m_numRocketsShot) { m_numRocketsShot = 0; } m_numRocketsShot++; base.Shoot(action, direction, overrideWeaponPos, gunAction); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D? overrideWeaponPos, string gunAction) { //small reloadable launcher have cooldown if ((BurstFireRate == m_numRocketsShot) && (MySandboxGame.TotalGamePlayTimeInMilliseconds < m_nextShootTime)) { return; } if (BurstFireRate == m_numRocketsShot) { m_numRocketsShot = 0; } m_numRocketsShot++; base.Shoot(action, direction, overrideWeaponPos, gunAction); }
public override bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { status = MyGunStatusEnum.OK; if (action != MyShootActionEnum.PrimaryAction) { status = MyGunStatusEnum.Failed; return(false); } if (!m_gunBase.HasAmmoMagazines) { status = MyGunStatusEnum.Failed; return(false); } if ((MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastTimeShoot) < m_gunBase.ShootIntervalInMiliseconds / (CubeGrid.GridSizeEnum == MyCubeSize.Small ? 1 : 4)) { status = MyGunStatusEnum.Cooldown; return(false); } if (!HasPlayerAccess(shooter)) { status = MyGunStatusEnum.AccessDenied; return(false); } if (!PowerReceiver.IsPowered) { status = MyGunStatusEnum.OutOfPower; return(false); } if (!IsFunctional) { status = MyGunStatusEnum.NotFunctional; return(false); } if (!Enabled) { status = MyGunStatusEnum.Disabled; return(false); } if (!MySession.Static.CreativeMode && !m_gunBase.HasEnoughAmmunition()) { status = MyGunStatusEnum.OutOfAmmo; return(false); } return(true); }
public override void Shoot(MyShootActionEnum action, Vector3 direction) { if (MySession.Static.CreativeMode) { return; } m_closeAfterBuild = false; base.Shoot(action, direction); ShakeAmount = 0.0f; if (action == MyShootActionEnum.PrimaryAction && m_firstShot) { m_firstShot = false; m_lastKeyPress = MySandboxGame.TotalGamePlayTimeInMilliseconds; var definition = MyCubeBuilder.Static.HudBlockDefinition; if (definition == null) { return; } MyCharacter character = CharacterInventory.Owner as MyCharacter; Debug.Assert(character != null, "Character inventory was not owned by a character"); if (character.ControllerInfo.IsRemotelyControlled()) { return; } // Must have first component to start building if (MyCubeBuilder.Static.CanStartConstruction(character)) { bool placingGrid = MyCubeBuilder.Static.ShipCreationClipboard.IsActive; m_closeAfterBuild = MyCubeBuilder.Static.AddConstruction(character) && placingGrid; return; } else { if (!MySession.Static.Battle) { OnMissingComponents(definition); } } } }
public void Shoot(MyShootActionEnum action, Vector3 direction, Vector3D?overrideWeaponPos, string gunAction) { if (action == MyShootActionEnum.PrimaryAction) { Shoot(direction, overrideWeaponPos); IsShooting = true; } else if (action == MyShootActionEnum.SecondaryAction) { if (MySession.Static.ControlledEntity == m_owner) { m_owner.Zoom(true); m_canZoom = false; } } }
public virtual bool CanShoot(MyShootActionEnum action, long shooter, out MyGunStatusEnum status) { if (action == MyShootActionEnum.PrimaryAction) { if (MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastTimeShoot < ToolCooldownMs) { status = MyGunStatusEnum.Cooldown; return(false); } status = MyGunStatusEnum.OK; return(true); } status = MyGunStatusEnum.Failed; return(false); }
public override void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { if (MySession.Static.CreativeMode) return; m_closeAfterBuild = false; base.Shoot(action, direction, gunAction); ShakeAmount = 0.0f; if (action == MyShootActionEnum.PrimaryAction && m_firstShot) { m_firstShot = false; m_lastKeyPress = MySandboxGame.TotalGamePlayTimeInMilliseconds; var definition = MyCubeBuilder.Static.HudBlockDefinition; if (definition == null) { return; } if (!Owner.ControllerInfo.IsLocallyControlled()) { var val = Owner.IsUsing as MyCockpit; if (val != null && !val.ControllerInfo.IsLocallyControlled()) return; } // Must have first component to start building if (MyCubeBuilder.Static.CanStartConstruction(Owner)) { bool placingGrid = MyCubeBuilder.Static.ShipCreationClipboard.IsActive; m_closeAfterBuild = MyCubeBuilder.Static.AddConstruction(Owner) && placingGrid; return; } else { if (!MySession.Static.Battle && MySession.Static.IsAdminModeEnabled==false) OnMissingComponents(definition); } } }
public override void Shoot(MyShootActionEnum action, Vector3 direction) { if (MySession.Static.CreativeMode) return; m_closeAfterBuild = false; base.Shoot(action, direction); ShakeAmount = 0.0f; if (action == MyShootActionEnum.PrimaryAction && m_firstShot) { m_firstShot = false; m_lastKeyPress = MySandboxGame.TotalGamePlayTimeInMilliseconds; var definition = MyCubeBuilder.Static.HudBlockDefinition; if (definition == null) { return; } MyCharacter character = CharacterInventory.Owner as MyCharacter; Debug.Assert(character != null, "Character inventory was not owned by a character"); if (character.ControllerInfo.IsRemotelyControlled()) return; // Must have first component to start building if (MyCubeBuilder.Static.CanStartConstruction(character)) { bool placingGrid = MyCubeBuilder.Static.ShipCreationClipboard.IsActive; m_closeAfterBuild = MyCubeBuilder.Static.AddConstruction(character) && placingGrid; return; } else { if (!MySession.Static.Battle) OnMissingComponents(definition); } } }
override public void Shoot(MyShootActionEnum action, Vector3 direction, string gunAction) { //small reloadable launcher have cooldown if ((NUM_ROCKETS_TO_COOLDOWN == m_numRocketsShot) && (COOLDOWN_TIME_MILISECONDS > MySandboxGame.TotalGamePlayTimeInMilliseconds - m_lastTimeShoot)) { return; } if (NUM_ROCKETS_TO_COOLDOWN == m_numRocketsShot) { m_numRocketsShot = 0; } m_numRocketsShot++; base.Shoot(action, direction, gunAction); if (m_numRocketsShot == NUM_ROCKETS_TO_COOLDOWN) { MyHud.Notifications.Add(MISSILE_RELOAD_NOTIFICATION); } }
public void EndShoot(MyShootActionEnum action) { SyncObject.EndShoot(action); }
public void OnBeginShoot(MyShootActionEnum action) { if (ControllerInfo == null) return; if (m_currentWeapon == null) return; MyGunStatusEnum status = MyGunStatusEnum.OK; m_currentWeapon.CanShoot(action, ControllerInfo.ControllingIdentityId, out status); if (status == MyGunStatusEnum.OutOfAmmo) { // mw:TODO should auto change be implemented or not (uncomment code below) //if (m_currentWeapon.GunBase.SwitchAmmoMagazineToFirstAvailable()) // status = MyGunStatusEnum.OK; } if (status != MyGunStatusEnum.OK && status != MyGunStatusEnum.Cooldown) { ShootBeginFailed(action, status); } }
void ShootEndCallback(MyShootActionEnum action) { bool wouldCallStopTwice = Sync.IsServer && MyEventContext.Current.IsLocallyInvoked; if (!wouldCallStopTwice) { StopShooting(action); } }
public override void Shoot(MyShootActionEnum action, Vector3 direction) { base.Shoot(action, direction); if (action == MyShootActionEnum.PrimaryAction && IsPreheated && Sync.IsServer && m_activated) { Grind(); } return; }
public void EndShootSync(MyShootActionEnum action = MyShootActionEnum.PrimaryAction) { if (MyFakes.SIMULATE_QUICK_TRIGGER) return; EndShootInternal(action); }
private void EndShootInternal(MyShootActionEnum action = MyShootActionEnum.PrimaryAction) { MyMultiplayer.RaiseEvent(this, x => x.ShootEndCallback, action); StopShooting(action); }
public void BeginShoot(MyShootActionEnum action) { if (m_currentWeapon == null || m_currentMovementState == MyCharacterMovementEnum.Died) return; if (!m_currentWeapon.EnabledInWorldRules) { MyHud.Notifications.Add(MyNotificationSingletons.WeaponDisabledInWorldSettings); return; } BeginShootSync(m_currentWeapon.DirectionToTarget(m_aimedPoint), action); }
private void ShootSuccessfulLocal(MyShootActionEnum action) { m_currentShotTime = SHOT_TIME; // moved to weapons/tools //m_currentCameraShakePower = Math.Max(m_currentCameraShakePower, MyUtils.GetRandomFloat(1.5f, m_currentWeapon.ShakeAmount)); WeaponPosition.AddBackkick(m_currentWeapon.BackkickForcePerSecond * MyEngineConstants.UPDATE_STEP_SIZE_IN_SECONDS); var jetpack = JetpackComp; if (m_currentWeapon.BackkickForcePerSecond > 0 && ((jetpack != null && jetpack.Running) || m_isFalling)) { Physics.AddForce(MyPhysicsForceType.APPLY_WORLD_IMPULSE_AND_WORLD_ANGULAR_IMPULSE, -m_currentWeapon.BackkickForcePerSecond * (Vector3)(m_currentWeapon as MyEntity).WorldMatrix.Forward, (Vector3)PositionComp.GetPosition(), null); } }
public void BeginShoot(MyShootActionEnum action) { if (!SyncObject.IsWaitingForWeaponSwitch) { MyGunStatusEnum status = MyGunStatusEnum.OK; IMyGunObject<MyDeviceBase> gun = null; bool canShoot = GridSelectionSystem.CanShoot(action, out status, out gun); if (status != MyGunStatusEnum.OK) { ShowShootNotification(status, gun); } SyncObject.BeginShoot((Vector3)PositionComp.WorldMatrix.Forward, action); } }
private void ShootFailedLocal(MyShootActionEnum action, MyGunStatusEnum status) { if (status == MyGunStatusEnum.OutOfAmmo) { ShowOutOfAmmoNotification(); } m_currentWeapon.ShootFailReactionLocal(action, status); }
public bool IsShooting(MyShootActionEnum action) { return m_isShooting[(int)action]; }
public void OnEndShoot(MyShootActionEnum action) { if (m_currentMovementState != MyCharacterMovementEnum.Died && m_currentWeapon != null) { m_currentWeapon.EndShoot(action); // CH:TODO: End on which shoot? Primary or secondary? if (m_endShootAutoswitch != null) { SwitchToWeapon(m_endShootAutoswitch); m_endShootAutoswitch = null; } } }
public void EndShoot(MyShootActionEnum action) { if (m_currentMovementState != MyCharacterMovementEnum.Died && m_currentWeapon != null) { EndShootSync(action); } }
public void OnBeginShoot(MyShootActionEnum action) { MyGunStatusEnum status = MyGunStatusEnum.OK; IMyGunObject<MyDeviceBase> gun = null; bool canShoot = GridSelectionSystem.CanShoot(action, out status, out gun); if (canShoot == false && status != MyGunStatusEnum.OK && status != MyGunStatusEnum.Cooldown) { ShootBeginFailed(action, status, gun); } }
private void StopShooting(MyShootActionEnum action) { m_isShooting[(int)action] = false; OnEndShoot(action); }
public void OnEndShoot(MyShootActionEnum action) { GridSelectionSystem.EndShoot(action); }
private void ShootBeginFailed(MyShootActionEnum action, MyGunStatusEnum status) { m_currentWeapon.BeginFailReaction(action, status); if (MySession.Static.ControlledEntity == this) { m_currentWeapon.BeginFailReactionLocal(action, status); } }
private void StartShooting(Vector3 direction, MyShootActionEnum action) { ShootDirection = direction; m_isShooting[(int)action] = true; OnBeginShoot(action); }
void ShootBeginCallback(Vector3 direction, MyShootActionEnum action) { bool wouldCallStartTwice = Sync.IsServer && MyEventContext.Current.IsLocallyInvoked; if (!wouldCallStartTwice) { StartShooting(direction, action); } }
public void BeginShootSync(Vector3 direction, MyShootActionEnum action = MyShootActionEnum.PrimaryAction) { StartShooting(direction, action); MyMultiplayer.RaiseEvent(this, x => x.ShootBeginCallback, direction, action); if (MyFakes.SIMULATE_QUICK_TRIGGER) EndShootInternal(action); }
private void ShootBeginFailed(MyShootActionEnum action, MyGunStatusEnum status, IMyGunObject<MyDeviceBase> failedGun) { failedGun.BeginFailReaction(action, status); }