Exemple #1
0
        public override void Update(float deltaTime)
        {
            base.Update(deltaTime);

            if (!mRaceStatusRequested)
            {
                if (mLoader.loaded)
                {
                    mRaceStatusRequested = true;
                    mPlayer.application.updater.CallS2SMethod(NebulaCommon.ServerType.SelectCharacter, "RequestRaceStatus", new object[] { nebulaObject.Id, characterId });
                    mPlayer.application.updater.CallS2SMethod(NebulaCommon.ServerType.SelectCharacter, "RequestIcon", new object[] { nebulaObject.Id, characterId });
                    log.InfoFormat("requested race status of player {0}:{1}", nebulaObject.Id, characterId);
                }
            }

            if (!mGuildRequested)
            {
                if (mLoader.loaded)
                {
                    mGuildRequested = true;
                    mPlayer.application.updater.CallS2SMethod(NebulaCommon.ServerType.SelectCharacter, "RequestGuildInfo", new object[] { nebulaObject.Id, characterId });
                }
            }

            mUpdateRaceStatusBonusTimer -= deltaTime;
            if (mUpdateRaceStatusBonusTimer <= 0f)
            {
                mUpdateRaceStatusBonusTimer = RACE_STATUS_BONUS_UPDATE_INTERVAL;
                if (isCommanderOrAdmiral())
                {
                    mBonuses.SetBuff(new Buff("race_status", null, BonusType.increase_resist_on_cnt, RACE_STATUS_BONUS_UPDATE_INTERVAL * 2, 0.5f), nebulaObject);
                }
            }
        }
Exemple #2
0
        private void RecreateBonus(PlayerBonuses target)
        {
            float interval = expireTime - CommonUtils.SecondsFrom1970();

            if (interval < 0f)
            {
                interval = 0f;
            }

            Buff buff = new Buff("ExpTimedEffect", null, Common.BonusType.increase_exp_on_pc, interval, value);

            buff.SetTag(m_EffectTag);
            target.SetBuff(buff, buff.owner);
        }
Exemple #3
0
 public void OnInvisibilityChanged(bool invis)
 {
     if (invis)
     {
         log.InfoFormat("adding invisibility buff");
         Buff invisBuff = new Buff(BonusType.invisibility.ToString(), nebulaObject, BonusType.invisibility, -1, 1, () => { return(nebulaObject.invisible == true); }, -1, false);
         if (mBonuses != null)
         {
             mBonuses.SetBuff(invisBuff, nebulaObject);
         }
     }
     else
     {
         log.InfoFormat("removing invisibility buff");
         if (mBonuses != null)
         {
             mBonuses.RemoveBuffs(BonusType.invisibility);
         }
     }
 }