How to train your dragon

    function MovieElement( type ) {
        this.type = type;
    };

    MovieElement.prototype.act = function() {
        console.log("Kill");
    };
   
    var viking = new MovieElement('viking'),
        dragon = new MovieElement('dragon');
       
    var confusedViking = new MovieElement('viking');
        confusedViking.act = function() {
            console.log("Befriend");
        }
        confusedViking.firstKiss = false;
       
    var cuteDragon = new MovieElement('dragon');
        cuteDragon.name = "Night-Fury";
        cuteDragon.teethVisible = false;
        cuteDragon.checkTeeth = function (){ return this.teethVisible; };
        cuteDragon.train = function (){ this.isTrained = true; };

    confusedViking.play = function() {
        cuteDragon.looseTail = true;
        cuteDragon.name = (cuteDragon.checkTeeth() === false) ? "Toothless" : "Toothless";
        cuteDragon.train();
       
        impress.apply(this, [  this.getFriends(), this.getFather(), this.getFather().getFriends() ] );
        confuse.call(this, vikingGirl);
        impress.call(this, vikingGirl);
       
        megaDragon.kill();
        MovieElement.prototype.act = this.act;
       
        this.looseLeg = true;
        this.firstKiss = vikingGirl.kissHero(); // true
        Movie.end.apply(this, ['.... ...we have... dragons', Subtitles, DragonCartoons] )
    }