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); } } }
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); }
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); } } }