| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using System;
- public class NpcActorData : ActorData
- {
- protected NpcBaseData mNpcBaseData = null;
- public NpcActorData(int id) : base(id)
- {
- mActorType = ActorType.Monster;
- mNpcDifRateData = new NpcDifRateAttr();
- }
- public override NpcBaseData NpcData
- {
- get
- {
- return mNpcBaseData;
- }
- }
- private NpcDifRateAttr mNpcDifRateData;
- public NpcDifRateAttr NpcDifRateData
- {
- get
- {
- return mNpcDifRateData;
- }
- }
- public override string SkillFrameEventName
- {
- get { return mNpcBaseData.frameEventName; }
- }
- public override int BornEffectId
- {
- get { return mNpcBaseData.bornEffectId; }
- }
- public override bool IsNpc
- {
- get { return true; }
- }
- public override bool ShowHpBar
- {
- get { return mNpcBaseData.showHpBar; }
- }
- private SFloat life = 0;
- public override SFloat LocalLife
- {
- get
- {
- life = (NpcData.life * (1 + (mLevel - 1) * mNpcBaseData.hpRate))* (1 + mNpcDifRateData.Attr_Life);
- return life;
- }
- }
- public override SFloat Life
- {
- get
- {
- return LocalLife;
- }
- }
- private SFloat sp = 0;
- public override SFloat LocalSp
- {
- get { return NpcData.sp * (1 + (mLevel - 1) * mNpcBaseData.spRate); }
- }
- public override SFloat Sp
- {
- get { return LocalSp; }
- }
- public override SFloat MinAttack
- {
- get { return NpcData.minAttack * (1 +(mLevel -1) * mNpcBaseData.atkRate) * (1 + mNpcDifRateData.Attr_Attack); }
- }
- public override SFloat LocalAttack
- {
- get
- {
- return NpcData.attack * (1 + (mLevel - 1) * mNpcBaseData.atkRate)*(1 + mNpcDifRateData.Attr_Attack);
- }
- }
- public override SFloat Attack
- {
- get
- {
- return LocalAttack;
- }
- }
- public override SFloat MinMagicAttack
- {
- get { return NpcData.minMagicAttack * (1 + (mLevel - 1) * mNpcBaseData.matkRate) * (1 + mNpcDifRateData.Attr_MagicAttack); }
- }
- public override SFloat LocalMagicAttack
- {
- get { return NpcData.magicAttack * (1 + (mLevel - 1) * mNpcBaseData.matkRate) * (1 + mNpcDifRateData.Attr_MagicAttack); }
- }
- public override SFloat MagicAttack
- {
- get { return LocalMagicAttack; }
- }
- public override SFloat LocalDefense
- {
- get
- {
- return NpcData.defense * (1 + (mLevel - 1) * mNpcBaseData.defRate)* (1 + mNpcDifRateData.Attr_Defense);
- }
- }
- public override SFloat Defense
- {
- get
- {
- return LocalDefense;
- }
- }
- public override SFloat LocalMagicDefense
- {
- get
- {
- return NpcData.magicDefense * (1 + (mLevel - 1) * mNpcBaseData.mdefRate)*(1 + mNpcDifRateData.Attr_MagicDefense);
- }
- }
- public override SFloat MagicDefense
- {
- get
- {
- return LocalMagicDefense;
- }
- }
- public override SFloat LocalCrit
- {
- get
- {
- return NpcData.crit * (1 + (mLevel - 1) * mNpcBaseData.critRate)*(1 + mNpcDifRateData.Attr_Crit);
- }
- }
- public override SFloat Crit
- {
- get
- {
- return LocalCrit;
- }
- }
- public override SFloat LocalDodge
- {
- get
- {
- return NpcData.dodge * (1 + (mLevel - 1) * mNpcBaseData.dodgeRate)*(1 + mNpcDifRateData.Attr_Dodge);
- }
- }
- public override SFloat Dodge
- {
- get
- {
- return LocalDodge;
- }
- }
- public override SFloat LocalAttackSpeed
- {
- get { return NpcData.attackSpeed; }
- }
- public override SFloat AttackSpeed
- {
- get { return LocalAttackSpeed; }
- }
- public override SFloat CritDamagePercent
- {
- get { return 0; }
- }
- public override SFloat LocalHit
- {
- get { return NpcData.hit * (1 + (mLevel - 1) * mNpcBaseData.hitRate)*(1 + mNpcDifRateData.Attr_Hit); }
- }
- public override SFloat Hit
- {
- get { return LocalHit; }
- }
- public override SFloat LocalGodPower
- {
- get { return NpcData.GodPower * (1 + (mLevel - 1) * mNpcBaseData.GodPowerRate); }
- }
- //神威值
- public override SFloat GodPower
- {
- get { return LocalGodPower; }
- }
- public override SFloat LocalTen
- {
- get { return NpcData.ten * (1 + (mLevel - 1) * mNpcBaseData.tenRate)*(1 + mNpcDifRateData.Attr_Ten); }
- }
- public override SFloat Ten
- {
- get { return LocalTen; }
- }
- public override int AvatarID
- {
- get
- {
- return mNpcBaseData.avatarId;
- }
- }
- public override int NatureId
- {
- get { return mNpcBaseData.natureId; }
- }
- private string mName;
- public override string Name
- {
- get { return mName; }
- }
- public override string Description
- {
- get { return ""; }
- }
- public override string HeadIcon
- {
- get { return mNpcBaseData.headIcon; }
- }
- public override ProfessionType Profession
- {
- get { return (ProfessionType)mNpcBaseData.professionType; }
- }
- private int position;
- public override int PositionValue
- {
- get { return position; }
- set { position = value; }
- }
- private bool mIgnoreLife = false;
- public override bool IgnoreLife
- {
- get { return mIgnoreLife; }
- set { mIgnoreLife = value; }
- }
- public override void Dispose()
- {
- if (mNpcBaseData != null)
- {
- mNpcBaseData.Dispose();
- mNpcBaseData = null;
- }
- base.Dispose();
- }
- public override void Initialize(int id, int level, SkillParam[] usedSkills)
- {
- base.Initialize(id, level, usedSkills);
- Gender = (int)Role_Gender.Male;
- mNpcBaseData = new NpcBaseData(id);
- mAvatarData = new AvatarData(AvatarID);
- mName = I18N.T(mNpcBaseData.npcName);
- if (mSkillMgr == null)
- {
- mSkillMgr = new SkillManager(this);
- mSkillMgr.InitializeSkill(mNpcBaseData.normalSkillIds,mNpcBaseData.skillIds);
- mSkillMgr.InitAlternativeSkills(mNpcBaseData.alternativeSkills);
- mSkillMgr.InitPassiveSkills(mNpcBaseData.PassiveSkills);
- }
-
- position = mNpcBaseData.position;
- valid = mNpcBaseData.valid && mAvatarData.valid;
- ResetFirstSkill();
- }
- public override void SetLevel(int lv)
- {
- base.SetLevel(lv);
- }
- }
|