private static HitResponse _Miss(RequsetFishData fish_data, RequestWeaponData weapon_data) { return(new HitResponse { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.SURVIVAL, FeedbackWeapons = new[] { WEAPON_TYPE.INVALID }, WeaponBet = 0, OddsResult = 0 }); }
private HitResponse _Die(RequsetFishData fish_data, RequestWeaponData weapon_data) { return(new HitResponse { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.DEATH, FeedbackWeapons = new[] { (WEAPON_TYPE)_WeaponChancesTable.Dice(Random.Instance.NextFloat(0, 1)) }, WeaponBet = weapon_data.WeaponBet, OddsResult = _ScoreOddsTable.Dice(Random.Instance.NextFloat(0, 1)) }); }
private void _Miss(RequsetFishData fish_data, RequestWeaponData weapon_data, long die_rate) { _HitResponses.Add( new HitResponse() { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.SURVIVAL, FeedbackWeapons = new[] { WEAPON_TYPE.INVALID }, WeaponBet = weapon_data.WeaponBet, OddsResult = 0, DieRate = die_rate }); }
private void _Die(RequsetFishData fish_data, RequestWeaponData weapon_data, long die_rate) { var bufferData = _Visitor.Farm.FindBuffer( _Visitor.FocusBufferBlock, FarmBuffer.BUFFER_TYPE.NORMAL); _HitResponses.Add( new HitResponse() { WepId = weapon_data.BulletId, FishId = fish_data.FishId, DieResult = FISH_DETERMINATION.DEATH, FeedbackWeapons = _Visitor.GotTreasures.ToArray(), WeaponBet = weapon_data.WeaponBet, DieRate = die_rate, OddsResult = new OddsRuler(_Visitor, fish_data, bufferData).RuleResult() }); }
Value <int> IPlayer.Hit(int bullet_id, int[] fishids) { var hasBullet = _PopBullet(bullet_id); if (hasBullet == false) { return(0); } var logFishs = string.Empty; var count = 0; foreach (var fishid in fishids) { if (_PopFish(fishid) == false) { continue; } if (_Requests.ContainsKey(fishid)) { continue; } count++; var fishs = new List <RequsetFishData> { new RequsetFishData { FishId = fishid, FishOdds = 1, FishStatus = FISH_STATUS.NORMAL, FishType = FISH_TYPE.TROPICAL_FISH } }; var weapon = new RequestWeaponData { TotalHits = fishids.Length, WeaponBet = _WeaponBet, BulletId = bullet_id, WeaponOdds = 1, WeaponType = _WeaponType }; var request = new HitRequest(fishs.ToArray(), weapon); _Requests.Add(fishid, request); _FishStage.Hit(request); logFishs += fishid + ","; } if (count == 0) { _PushBullet(bullet_id); } Singleton <Log> .Instance.WriteInfo( string.Format( "all WEAPON_TYPE:{0} , targets:{1} , count:{2}", bullet_id, string.Join(",", (from id in fishids select id.ToString()).ToArray()), fishids.Length)); Singleton <Log> .Instance.WriteInfo( string.Format("requested WEAPON_TYPE:{0} , targets:{1} , count:{2}", bullet_id, logFishs, count)); Singleton <Log> .Instance.WriteInfo( string.Format( "request fishs:{0} count:{1} ", string.Join(",", (from id in _Requests.Keys select id.ToString()).ToArray()), _Requests.Count)); return(count); }