/// /// /// /// class FuckingUnit extends ContentUnit { private fucker : ContentDifferential = new ContentDifferential(Person); private fucked : ContentDifferential = new ContentDifferential(Person); private hole : ContentDifferential = new ContentDifferential(SexHole); private stick : ContentDifferential = new ContentDifferential(SexStick); private markers : ContentDifferential = new ContentDifferential(); public constructor () { super(); } public setFucker (it : Thing | typeof Thing) { this.fucker = new ContentDifferential(it); return this; } public setFucked (it : Thing | typeof Thing) { this.fucked = new ContentDifferential(it); return this; } public setHole (it : Thing | typeof Thing) { this.hole = new ContentDifferential(it); return this; } public setStick (it : Thing | typeof Thing) { this.stick = new ContentDifferential(it); return this; } public addMarker (marker : ContentMarker) { this.markers.addNoun(marker); return this; } public getScore () { return this.fucker.getScore() + this.fucked.getScore() + this.hole.getScore() + this.stick.getScore() + this.markers.getScore(); } public isMatch (fu : FuckingUnit) { if (fu instanceof FuckingUnit) { return this.fucker.isMatch(fu.fucker) && this.fucked.isMatch(fu.fucked) && this.hole.isMatch(fu.hole) && this.stick.isMatch(fu.stick) && this.markers.isMatch(fu.markers); } return false; } }