Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PixelCrushers.LoveHate.DeedTemplate"/> struct.
 /// </summary>
 /// <param name="tag">Tag unique to the type of deed (e.g., "attack").</param>
 /// <param name="impact">Impact of the deed to targets (e.g., attack might be -3, heal +1).</param>
 /// <param name="aggression">Aggressiveness of the deed [-100,+100].</param>
 /// <param name="traits">Objective traits of the deed.</param>
 /// <param name="mustSee">If set to <c>true</c> must be seen to be witnessed.</param>
 /// <param name="radius">Maximum radius at which the deed can be witnessed.</param>
 /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param>
 public DeedTemplate(string tag, string description, float impact, float aggression,
                     float[] traits, bool requiresSight, float radius, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone)
 {
     this.tag                 = tag;
     this.description         = description;
     this.impact              = impact;
     this.aggression          = aggression;
     this.traits              = traits;
     this.requiresSight       = requiresSight;
     this.radius              = radius;
     this.permittedEvaluators = permittedEvaluators;
 }
Esempio n. 2
0
 public void AssignDeed(Deed deed)
 {
     Clear();
     deedGuid        = deed.guid;
     tag             = deed.tag;
     actorFactionID  = deed.actorFactionID;
     targetFactionID = deed.targetFactionID;
     impact          = deed.impact;
     aggression      = deed.aggression;
     actorPowerLevel = deed.actorPowerLevel;
     Traits.Copy(deed.traits, ref traits);
     permittedEvaluators = deed.permittedEvaluators;
 }
Esempio n. 3
0
 /// <summary>
 /// Assigns content to a deed object.
 /// </summary>
 /// <param name="tag">The deed tag (e.g., "attack", "compliment").</param>
 /// <param name="actorFactionID">Faction ID of the actor that committed the deed.</param>
 /// <param name="targetFactionID">Faction ID of the target that the action was done to.</param>
 /// <param name="impact">Impact to the target, where -100 is worst and +100 is best.</param>
 /// <param name="aggression">Aggressiveness of the deed [-100,+100].</param>
 /// <param name="actorPowerLevel">The actor's power level.</param>
 /// <param name="traits">Traits associated with the action.</param>
 /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param>
 public void Assign(string tag, int actorFactionID, int targetFactionID, float impact,
                    float aggression, float actorPowerLevel, float[] traits, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone)
 {
     this.guid                = Guid.NewGuid();
     this.tag                 = tag;
     this.actorFactionID      = actorFactionID;
     this.targetFactionID     = targetFactionID;
     this.impact              = impact;
     this.aggression          = aggression;
     this.actorPowerLevel     = actorPowerLevel;
     this.permittedEvaluators = permittedEvaluators;
     this.refCount            = 1;
     Traits.Copy(traits, ref this.traits);
 }
Esempio n. 4
0
 public void AssignRumor(Rumor rumor)
 {
     Clear();
     deedGuid        = rumor.deedGuid;
     tag             = rumor.tag;
     actorFactionID  = rumor.actorFactionID;
     targetFactionID = rumor.targetFactionID;
     impact          = rumor.impact;
     aggression      = rumor.aggression;
     actorPowerLevel = rumor.actorPowerLevel;
     confidence      = rumor.confidence;
     pleasure        = rumor.pleasure;
     arousal         = rumor.arousal;
     dominance       = rumor.dominance;
     Traits.Copy(rumor.traits, ref traits);
     permittedEvaluators = rumor.permittedEvaluators;
 }
Esempio n. 5
0
 public void Clear()
 {
     deedGuid            = Guid.Empty;
     tag                 = string.Empty;
     actorFactionID      = 0;
     targetFactionID     = 0;
     impact              = 0;
     aggression          = 0;
     actorPowerLevel     = 0;
     confidence          = 0;
     pleasure            = 0;
     arousal             = 0;
     dominance           = 0;
     permittedEvaluators = PermittedEvaluators.Everyone;
     shortTermExpiration = 0;
     longTermExpiration  = 0;
     customData          = null;
 }
Esempio n. 6
0
        /// <summary>
        /// Gets a new deed object from the pool.
        /// </summary>
        /// <returns>The new.</returns>
        /// <param name="tag">Tag.</param>
        /// <param name="actorFactionID">Actor faction ID.</param>
        /// <param name="targetFactionID">Target faction ID.</param>
        /// <param name="impact">Impact.</param>
        /// <param name="traits">Traits.</param>
        /// <param name="permittedEvaluators">Who is allowed to evaluate the deed.</param>
        public static Deed GetNew(string tag, int actorFactionID, int targetFactionID, float impact,
                                  float aggression, float actorPowerLevel, float[] traits, PermittedEvaluators permittedEvaluators = PermittedEvaluators.Everyone)
        {
            var deed = pool.Get();

            deed.Assign(tag, actorFactionID, targetFactionID, impact, aggression, actorPowerLevel, traits, permittedEvaluators);
            return(deed);
        }