public void StartCast() { if (_targetInstanceId == 0) { _targetInstanceId = _client.character.instanceId; } IInstance target = _server.instances.GetInstance(_targetInstanceId); switch (target) // ToDO Do a hositilty check to make sure this is allowed { case NpcSpawn npcSpawn: _Logger.Debug($"Start casting Skill [{_skillId}] on NPCId: {npcSpawn.instanceId}"); break; case MonsterSpawn monsterSpawn: _Logger.Debug($"Start casting Skill [{_skillId}] on MonsterId: {monsterSpawn.instanceId}"); break; case Character character: _Logger.Debug($"Start casting Skill [{_skillId}] on CharacterId: {character.instanceId}"); break; default: _Logger.Error( $"Instance with InstanceId: {target.instanceId} does not exist. the ground is gettin blasted"); break; } if (!_server.settingRepository.skillBase.TryGetValue(_skillId, out SkillBaseSetting skillBaseSetting)) { _Logger.Error($"Could not get SkillBaseSetting for skillId : {_skillId}"); return; } float castTime = skillBaseSetting.castingTime; _Logger.Debug($"Start casting Skill [{_skillId}] cast time is [{castTime}]"); RecvSkillStartCastR spell = new RecvSkillStartCastR(0, castTime); _server.router.Send(spell, _client); List <PacketResponse> brList = new List <PacketResponse>(); RecvBattleReportStartNotify brStart = new RecvBattleReportStartNotify(_client.character.instanceId); RecvBattleReportEndNotify brEnd = new RecvBattleReportEndNotify(); RecvBattleReportActionSkillStartCast brStartCast = new RecvBattleReportActionSkillStartCast(_skillId); brList.Add(brStart); brList.Add(brStartCast); brList.Add(brEnd); _server.router.Send(_client.map, brList); }
public void StartCast() { Logger.Debug($"CastingTime : {_skillSetting.CastingTime}"); RecvSkillStartCastSelf startCast = new RecvSkillStartCastSelf(_skillid, _skillSetting.CastingTime); _server.Router.Send(_client.Map, startCast); List <PacketResponse> brList = new List <PacketResponse>(); RecvBattleReportStartNotify brStart = new RecvBattleReportStartNotify(_client.Character.InstanceId); RecvBattleReportEndNotify brEnd = new RecvBattleReportEndNotify(); RecvBattleReportActionSkillStartCast brStartCast = new RecvBattleReportActionSkillStartCast(_skillid); brList.Add(brStart); brList.Add(brStartCast); brList.Add(brEnd); _server.Router.Send(_client.Map, brList); }
public void StartCast() { _Logger.Debug($"CastingTime : {_skillSetting.castingTime}"); RecvSkillStartCastSelf startCast = new RecvSkillStartCastSelf(_skillid, _skillSetting.castingTime); _server.router.Send(_client, startCast.ToPacket()); //do not send "Self" recvs to map. that breaks things. List <PacketResponse> brList = new List <PacketResponse>(); RecvBattleReportStartNotify brStart = new RecvBattleReportStartNotify(_client.character.instanceId); RecvBattleReportEndNotify brEnd = new RecvBattleReportEndNotify(); RecvBattleReportActionSkillStartCast brStartCast = new RecvBattleReportActionSkillStartCast(_skillid); brList.Add(brStart); brList.Add(brStartCast); brList.Add(brEnd); _server.router.Send(_client.map, brList); }
public void StartCast(SkillBaseSetting skillBase) { Logger.Debug( $"Trap StartCast skillBase.Id [{skillBase.Id}] skillBase.CastingTime [{skillBase.CastingTime}]"); RecvSkillStartCastSelf startCast = new RecvSkillStartCastSelf(skillBase.Id, skillBase.CastingTime); _server.Router.Send(startCast, _client); List <PacketResponse> brList = new List <PacketResponse>(); RecvBattleReportStartNotify brStart = new RecvBattleReportStartNotify(_client.Character.InstanceId); RecvBattleReportEndNotify brEnd = new RecvBattleReportEndNotify(); RecvBattleReportActionSkillStartCast brStartCast = new RecvBattleReportActionSkillStartCast(skillBase.Id); brList.Add(brStart); brList.Add(brStartCast); brList.Add(brEnd); _server.Router.Send(_client.Map, brList); }