Changeset 927


Ignore:
Timestamp:
02/07/2011 10:31:31 AM (10 years ago)
Author:
dave
Message:

emotional blending, fatima tweaks, new spirit graphics

Location:
scenarios/GerminationX
Files:
15 added
16 deleted
12 edited

Legend:

Unmodified
Added
Removed
  • scenarios/GerminationX/fungi/src/Fungi.hx

    r925 r927  
    6868    var State:String; 
    6969    var Seeds:Array<Sprite>; 
     70    var Layer:String; 
    7071 
    7172        public function new(world:World, owner:String, pos, type:String, state:String) 
     
    7980        Seeds=[]; 
    8081 
     82        Layer="none"; 
     83        if (type=="plant-001") Layer="cover"; 
     84        if (type=="plant-002") Layer="canopy"; 
     85        if (type=="plant-003") Layer="vertical"; 
     86 
    8187        Spr.Hide(false); 
    8288         
    8389        var tf = new flash.text.TextField(); 
    84         tf.text = Owner + " planted this."; 
     90        tf.text = "This plant belongs to the "+type+" species, part of the "+  
     91            Layer+" layer. "+Owner+" planted this."; 
    8592        tf.x=Spr.Pos.x-50; 
    8693        tf.y=Spr.Pos.y-30-Spr.Height*Spr.MyScale.y; 
     
    158165    var Debug:flash.text.TextField; 
    159166        var BG:Graphics; 
     167    var RawEmotions:Dynamic; 
    160168    var Emotions:Dynamic; 
    161  
     169    var DesiredPos:Vec2; 
     170     
    162171        public function new(world:World, name:String, pos) 
    163172        { 
     
    167176        UpdateFreq=5; 
    168177        Hide(true); 
    169         Emotions={Love:0}; 
     178        DesiredPos=new Vec2(LogicalPos.x,LogicalPos.y); 
     179        RawEmotions={Love:0,Hate:0,Hope:0,Fear:0,Satisfaction:0, 
     180                     Relief:0,Fears_Confirmed:0,Disappointment:0, 
     181                     Joy:0,Distress:0,Happy_For:0,Pitty:0, 
     182                     Resentment:0,Gloating:0,Pride:0,Shame:0, 
     183                     Gratification:0,Remorse:0,Admiration:0, 
     184                     Reproach:0,Gratitude:0,Anger:0}; 
     185        Emotions={Love:0,Hate:0,Hope:0,Fear:0,Satisfaction:0, 
     186                  Relief:0,Fears_Confirmed:0,Disappointment:0, 
     187                  Joy:0,Distress:0,Happy_For:0,Pitty:0, 
     188                  Resentment:0,Gloating:0,Pride:0,Shame:0, 
     189                  Gratification:0,Remorse:0,Admiration:0, 
     190                  Reproach:0,Gratitude:0,Anger:0}; 
    170191    } 
    171192 
     
    208229        } 
    209230 
    210     public function UpdateEmotions(e:Dynamic) 
     231    public function UpdateEmotions(e:Dynamic,world:World) 
    211232    { 
    212233        SetTilePos(new Vec2(Std.parseInt(e.tile.x), 
    213234                            Std.parseInt(e.tile.y))); 
    214235 
    215  
    216         LogicalPos = new Vec3(Std.parseInt(e.emotionalloc.x), 
    217                               Std.parseInt(e.emotionalloc.y), 
    218                               4); 
    219  
    220         Emotions = e.emotions; 
     236         
     237        var dst = new Vec2(Std.parseInt(e.emotionalloc.x), 
     238                              Std.parseInt(e.emotionalloc.y)); 
     239 
     240        if (dst.x!=DesiredPos.x || dst.y!=DesiredPos.y) 
     241        { 
     242            DesiredPos = dst; 
     243            while (world.Get("Spirit",dst)!=null) 
     244            { 
     245                dst = dst.Add(new Vec2(world.MyRndGen.Choose([-2,0,2]), 
     246                                       world.MyRndGen.Choose([-2,0,2]))); 
     247            } 
     248            LogicalPos = new Vec3(dst.x,dst.y,4); 
     249        } 
     250 
     251        RawEmotions = e.emotions; 
    221252 
    222253        var ee = e.fatemotions.content; 
     
    258289    override function Update(frame:Int, world:World) 
    259290    { 
    260         if (Emotions!=null) 
    261         { 
    262             //Draw(cast(world,truffle.World)); 
    263             var c=this; 
    264             Root.Recurse(function(b:Bone,depth:Int)  
    265             { 
    266                 b.SetRotate(15*Math.sin( 
    267                     (((10-depth)+frame*0.04)*c.Emotions.Love) + 
    268                     (world.MyRndGen.RndFlt()*45*c.Emotions.Hate) 
    269                 ));                 
    270             }); 
    271         } 
     291        for (f in Reflect.fields(Emotions)) 
     292        { 
     293            // do a linear blend to smooth out changes in emotions 
     294            Reflect.setField(Emotions,f, 
     295            Reflect.field(Emotions,f)*0.95+Reflect.field(RawEmotions,f)*0.05); 
     296            //trace(f); 
     297        } 
     298 
     299        //Draw(cast(world,truffle.World)); 
     300        var c=this; 
     301        Root.Recurse(function(b:Bone,depth:Int)  
     302        { 
     303            b.SetRotate((c.Emotions.Love+ 
     304                         c.Emotions.Admiration)*5*Math.sin( 
     305                             (((10-depth)+frame*0.04+c.Emotions.Gratitude*0.01)+ 
     306                             c.Emotions.Joy*0.1)) + 
     307            ((world.MyRndGen.RndFlt()-0.5)*10*(c.Emotions.Hate+ 
     308                    c.Emotions.Distress))); 
     309            
     310        }); 
     311 
    272312        super.Update(frame,world); 
    273313    } 
     
    528568                if (g.Name==t[i].name) 
    529569                { 
    530                     g.UpdateEmotions(t[i]); 
     570                    g.UpdateEmotions(t[i],this); 
    531571                } 
    532572            } 
  • scenarios/GerminationX/oak/data/characters/minds/roles/CanopySpirit/CanopySpirit.xml

    r921 r927  
    4545                <!-- General emotional reactions used in more than one episode --> 
    4646         
    47                 <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
     47                <EmotionalReaction desirability="3" desirabilityForOther="1" praiseworthiness="5">  
    4848                        <Event subject="*" action="flower"/> 
    4949                </EmotionalReaction> 
    5050 
    51                 <EmotionalReaction desirability="-6" desirabilityForOther="-1" praiseworthiness="-2">  
     51                <EmotionalReaction desirability="-3" desirabilityForOther="-1" praiseworthiness="-2">  
    5252                        <Event subject="*" action="drop-leaves"/> 
    5353                </EmotionalReaction> 
     
    6161                        <Preconditions> 
    6262            </Preconditions> 
    63                         <ElicitingEmotion type="Love" minIntensity="2"> 
     63                        <ElicitingEmotion type="Love" minIntensity="4"> 
    6464                                <CauseEvent/> 
    6565                        </ElicitingEmotion> 
     
    6969                        <Preconditions> 
    7070            </Preconditions> 
    71                         <ElicitingEmotion type="Hate" minIntensity="1"> 
     71                        <ElicitingEmotion type="Hate" minIntensity="4"> 
    7272                                <CauseEvent/> 
    7373                        </ElicitingEmotion> 
  • scenarios/GerminationX/oak/data/characters/minds/roles/CoverSpirit/CoverSpirit.xml

    r921 r927  
    3636        <Relation target="cover-fruit-b" like="3" respect="1"/> 
    3737        <Relation target="cover-fruit-c" like="6" respect="1"/> 
    38         <Relation target="cover-ill-a" like="-1" respect="1"/> 
    39         <Relation target="cover-ill-b" like="-2" respect="1"/> 
    40         <Relation target="cover-ill-c" like="-3" respect="1"/> 
     38        <Relation target="cover-ill-a" like="-4" respect="1"/> 
     39        <Relation target="cover-ill-b" like="-8" respect="1"/> 
     40        <Relation target="cover-ill-c" like="-16" respect="1"/> 
    4141        </InterpersonalRelations> 
    4242         
     
    4444 
    4545                <!-- General emotional reactions used in more than one episode --> 
    46                 <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
     46                <EmotionalReaction desirability="3" desirabilityForOther="1" praiseworthiness="5">  
    4747                        <Event subject="*" action="flower"/> 
    4848                </EmotionalReaction> 
    4949 
    50                 <EmotionalReaction desirability="-6" desirabilityForOther="-1" praiseworthiness="-2">  
     50                <EmotionalReaction desirability="-3" desirabilityForOther="-1" praiseworthiness="-2">  
    5151                        <Event subject="*" action="drop-leaves"/> 
    5252                </EmotionalReaction> 
     
    5959                        <Preconditions> 
    6060            </Preconditions> 
    61                         <ElicitingEmotion type="Love" minIntensity="2"> 
     61                        <ElicitingEmotion type="Love" minIntensity="4"> 
    6262                                <CauseEvent/> 
    6363                        </ElicitingEmotion> 
  • scenarios/GerminationX/oak/data/characters/minds/roles/VerticalSpirit/VerticalSpirit.xml

    r921 r927  
    3636        <Relation target="vertical-fruit-b" like="4" respect="1"/> 
    3737        <Relation target="vertical-fruit-c" like="6" respect="1"/> 
    38         <Relation target="vertical-ill-a" like="-1" respect="1"/> 
    39         <Relation target="vertical-ill-b" like="-2" respect="1"/> 
    40         <Relation target="vertical-ill-c" like="-3" respect="1"/> 
     38        <Relation target="vertical-ill-a" like="-4" respect="1"/> 
     39        <Relation target="vertical-ill-b" like="-7" respect="1"/> 
     40        <Relation target="vertical-ill-c" like="-10" respect="1"/> 
    4141        </InterpersonalRelations> 
    4242         
    4343        <EventReactions> 
    4444                 
    45                 <EmotionalReaction desirability="6" desirabilityForOther="1" praiseworthiness="5">  
     45                <EmotionalReaction desirability="3" desirabilityForOther="1" praiseworthiness="5">  
    4646                        <Event subject="*" action="flower"/> 
    4747                </EmotionalReaction> 
    4848 
    49                 <EmotionalReaction desirability="-6" desirabilityForOther="-1" praiseworthiness="-2">  
     49                <EmotionalReaction desirability="-3" desirabilityForOther="-1" praiseworthiness="-2">  
    5050                        <Event subject="*" action="drop-leaves"/> 
    5151                </EmotionalReaction> 
     
    6060                        <Preconditions> 
    6161            </Preconditions> 
    62                         <ElicitingEmotion type="Love" minIntensity="3"> 
     62                        <ElicitingEmotion type="Love" minIntensity="4"> 
    6363                                <CauseEvent/> 
    6464                        </ElicitingEmotion> 
  • scenarios/GerminationX/oak/src/oak/plant.clj

    r905 r927  
    4949(defn plant-type->layer [type] 
    5050  (cond 
    51    (= type "plant-001") "canopy" 
    52    (= type "plant-002") "vertical" 
    53    (= type "plant-003") "cover")) 
     51   (= type "plant-001") "cover" 
     52   (= type "plant-002") "canopy" 
     53   (= type "plant-003") "vertical")) 
    5454   
    5555(defn make-plant [pos type owner size] 
Note: See TracChangeset for help on using the changeset viewer.