Пример #1
0
        public override void CreateReferences()
        {
            base.CreateReferences();

            this.m_swf              = this.GetValue("SWF", 0);
            this.m_exportName       = this.GetValue("ExportName", 0);
            this.m_shadowSWF        = this.GetValue("ShadowSWF", 0);
            this.m_shadowExportName = this.GetValue("ShadowExportName", 0);

            this.m_startHeight       = this.GetIntegerValue("StartHeight", 0);
            this.m_startOffset       = this.GetIntegerValue("StartOffset", 0);
            this.m_randomHitPosition = this.GetBooleanValue("RandomHitPosition", 0);

            string particleEmiter = this.GetValue("ParticleEmitter", 0);

            if (particleEmiter.Length > 0)
            {
                this.m_particleEmiterData = LogicDataTables.GetParticleEmitterByName(particleEmiter, this);
            }

            this.m_ballistic   = this.GetBooleanValue("IsBallistic", 0);
            this.m_speed       = (this.GetIntegerValue("Speed", 0) << 9) / 100;
            this.m_playOnce    = this.GetBooleanValue("PlayOnce", 0);
            this.m_useRotate   = this.GetBooleanValue("UseRotate", 0);
            this.m_useTopLayer = this.GetBooleanValue("UseTopLayer", 0);
            this.m_scale       = this.GetIntegerValue("Scale", 0);

            if (this.m_scale == 0)
            {
                this.m_scale = 100;
            }


            this.m_slowdownDefensePercent = this.GetIntegerValue("SlowdownDefencePercent", 0);
            this.m_hitSpellData           = LogicDataTables.GetSpellByName(this.GetValue("HitSpell", 0), this);
            this.m_hitSpellLevel          = this.GetIntegerValue("HitSpellLevel", 0);
            this.m_trackTarget            = this.GetBooleanValue("DontTrackTarget", 0) ^ true;
            this.m_ballisticHeight        = this.GetIntegerValue("BallisticHeight", 0);
            this.m_trajectoryStyle        = this.GetIntegerValue("TrajectoryStyle", 0);
            this.m_fixedTravelTime        = this.GetIntegerValue("FixedTravelTime", 0);
            this.m_damageDelay            = this.GetIntegerValue("DamageDelay", 0);
            this.m_useDirection           = this.GetBooleanValue("UseDirections", 0);
            this.m_scaleTimeline          = this.GetBooleanValue("ScaleTimeline", 0);
            this.m_targetPosRandomRadius  = this.GetIntegerValue("TargetPosRandomRadius", 0);
            this.m_directionFrame         = this.GetBooleanValue("DirectionFrame", 0);
            this.m_effectData             = LogicDataTables.GetEffectByName(this.GetValue("Effect", 0), this);
            this.m_destroyedEffectData    = LogicDataTables.GetEffectByName(this.GetValue("DestroyedEffect", 0), this);
            this.m_bounceEffectData       = LogicDataTables.GetEffectByName(this.GetValue("BounceEffect", 0), this);
        }