private void ActorMarkProcess(PoolObjHandle <ActorRoot> inActor, AreaCheck.ActorAction action) { if (inActor != 0) { OrganWrapper actorControl = inActor.handle.ActorControl as OrganWrapper; if (actorControl != null) { switch (action) { case AreaCheck.ActorAction.Enter: case AreaCheck.ActorAction.Hover: { long iMaxAttackDistance = (long)inActor.handle.SkillControl.GetSkillSlot(SkillSlotType.SLOT_SKILL_0).SkillObj.cfgData.iMaxAttackDistance; if (action != AreaCheck.ActorAction.Enter) { VInt3 num3 = inActor.handle.location - this._hostPlayer.Captain.handle.location; Place place = (num3.sqrMagnitudeLong2D < (iMaxAttackDistance * iMaxAttackDistance)) ? Place.In : Place.Near; bool flag = actorControl.myTarget == this._hostPlayer.Captain; actorControl.ShowAroundEffect((place != Place.Near) ? (!flag ? OrganAroundEffect.HostPlayerInNotHit : OrganAroundEffect.HostPlayerInAndHit) : OrganAroundEffect.HostPlayerNear, true, true, ((float)iMaxAttackDistance) / 10000f); break; } actorControl.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, true, true, ((float)iMaxAttackDistance) / 10000f); break; } case AreaCheck.ActorAction.Leave: actorControl.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, false, true, 1f); break; } } } }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action) { if (_inActor != 0) { if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster) { if (_action == AreaCheck.ActorAction.Enter) { if (++this._aroundEnemyMonsterCount == 1) { ValueDataInfo info = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT] - base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; info = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT] - base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if ((_action == AreaCheck.ActorAction.Leave) && (--this._aroundEnemyMonsterCount == 0)) { ValueDataInfo info2 = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT] + base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; info2 = base.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT] + base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) { if (_action == AreaCheck.ActorAction.Enter) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, 1); } else if (_action == AreaCheck.ActorAction.Leave) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, -1); } } } }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action) { if (_inActor != 0) { if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster) { if (_action == AreaCheck.ActorAction.Enter) { if (++this._aroundEnemyMonsterCount == 1) { int num = (int)(base.actor.ValueComponent.mActorValue[3] >> base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef); num = (int)(base.actor.ValueComponent.mActorValue[4] >> base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef); } } else if ((_action == AreaCheck.ActorAction.Leave) && (--this._aroundEnemyMonsterCount == 0)) { int num2 = (int)(base.actor.ValueComponent.mActorValue[3] << base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef); num2 = (int)(base.actor.ValueComponent.mActorValue[4] << base.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef); } } else if (_inActor.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) { if (_action == AreaCheck.ActorAction.Enter) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, 1); } else if (_action == AreaCheck.ActorAction.Leave) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Skill, -1); } } } }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action) { if (!_inActor) { return; } DebugHelper.Assert(this.actor.TheActorMeta.ActorCamp != COM_PLAYERCAMP.COM_PLAYERCAMP_MID); if (this.actor.TheActorMeta.ActorCamp == COM_PLAYERCAMP.COM_PLAYERCAMP_MID) { return; } ActorTypeDef actorType = _inActor.handle.TheActorMeta.ActorType; if (actorType == ActorTypeDef.Actor_Type_Monster && !(_inActor.handle.ActorControl as MonsterWrapper).isCalledMonster) { if (_action == AreaCheck.ActorAction.Enter) { if (++this._aroundEnemyMonsterCount == 1) { this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (_action == AreaCheck.ActorAction.Leave && --this._aroundEnemyMonsterCount == 0) { this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (actorType == ActorTypeDef.Actor_Type_Hero || actorType == ActorTypeDef.Actor_Type_EYE) { if (_action == AreaCheck.ActorAction.Enter) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, 1); } else if (_action == AreaCheck.ActorAction.Leave) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, -1); } } }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> inActor, AreaCheck.ActorAction action) { if (!inActor) { return; } OrganWrapper organWrapper = inActor.get_handle().ActorControl as OrganWrapper; if (organWrapper == null) { return; } switch (action) { case AreaCheck.ActorAction.Enter: case AreaCheck.ActorAction.Hover: { long num = inActor.get_handle().SkillControl.GetSkillSlot(SkillSlotType.SLOT_SKILL_0).SkillObj.cfgData.iMaxAttackDistance; if (action == AreaCheck.ActorAction.Enter) { organWrapper.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, true, true, (float)num / 10000f); } else { long sqrMagnitudeLong2D = (inActor.get_handle().location - this._hostPlayer.Captain.get_handle().location).get_sqrMagnitudeLong2D(); HostPlayerLogic.Place place = (sqrMagnitudeLong2D < num * num) ? HostPlayerLogic.Place.In : HostPlayerLogic.Place.Near; bool flag = organWrapper.myTarget == this._hostPlayer.Captain; organWrapper.ShowAroundEffect((place != HostPlayerLogic.Place.Near) ? ((!flag) ? OrganAroundEffect.HostPlayerInNotHit : OrganAroundEffect.HostPlayerInAndHit) : OrganAroundEffect.HostPlayerNear, true, true, (float)num / 10000f); if (place == HostPlayerLogic.Place.In && flag) { Singleton <EventRouter> .GetInstance().BroadCastEvent("NewbieHostPlayerInAndHitByTower"); } } break; } case AreaCheck.ActorAction.Leave: organWrapper.ShowAroundEffect(OrganAroundEffect.HostPlayerNear, false, true, 1f); break; } }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action) { if (!_inActor) { return; } ActorTypeDef actorType = _inActor.get_handle().TheActorMeta.ActorType; if (actorType == ActorTypeDef.Actor_Type_Monster) { if (_action == AreaCheck.ActorAction.Enter) { if (++this._aroundEnemyMonsterCount == 1) { ValueDataInfo valueDataInfo = this.actor.ValueComponent.mActorValue[3] - this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; valueDataInfo = this.actor.ValueComponent.mActorValue[4] - this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (_action == AreaCheck.ActorAction.Leave && --this._aroundEnemyMonsterCount == 0) { ValueDataInfo valueDataInfo2 = this.actor.ValueComponent.mActorValue[3] + this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; valueDataInfo2 = this.actor.ValueComponent.mActorValue[4] + this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (actorType == ActorTypeDef.Actor_Type_Hero || actorType == ActorTypeDef.Actor_Type_EYE) { if (_action == AreaCheck.ActorAction.Enter) { _inActor.get_handle().HorizonMarker.AddShowMark(3, HorizonConfig.ShowMark.Organ, 1); } else if (_action == AreaCheck.ActorAction.Leave) { _inActor.get_handle().HorizonMarker.AddShowMark(3, HorizonConfig.ShowMark.Organ, -1); } } }