protected override bool TryCastShot() { if (!done) { compAmmo = ownerEquipment.GetComp <CompReloader>(); done = true; } if (compAmmo == null) { Log.ErrorOnce("No compAmmo found!", 12423); return(base.TryCastShot()); } if (compAmmo.needReload) { compAmmo.StartReload(); return(false); } if (!base.TryCastShot()) { return(false); } compAmmo.count--; if (compAmmo.count <= 0) { compAmmo.StartReload(); } return(true); }
protected override bool TryCastShot() { if ( !done ) { compAmmo = ownerEquipment.GetComp< CompReloader >(); done = true; } if ( compAmmo == null ) { Log.ErrorOnce( "No compAmmo found!", 12423 ); return base.TryCastShot(); } if ( compAmmo.needReload || compAmmo.count <= 0) { compAmmo.StartReload(); return false; } if ( !base.TryCastShot() ) { return false; } compAmmo.count--; if ( compAmmo.count <= 0 ) { compAmmo.StartReload(); } return true; }