1 package org
.sevenchan
.dongs
.creature
3 import org
.sevenchan
.dongs
.Creature
;
4 import org
.sevenchan
.dongs
.bodyparts
.*;
5 import flash
.net
.registerClassAlias
;
6 import org
.sevenchan
.dongs
.Item
;
7 import org
.sevenchan
.dongs
.ItemRegistry
;
8 import org
.sevenchan
.dongs
.items
.HarpyTincture
;
9 import org
.sevenchan
.dongs
.screens
.HarpyEncounterScreen
;
11 * Two versions for our purposes.
14 * Light-hearted, kind inhabitants of the world. Only a few left.
15 * Not hostile, open to sex.
16 * Human upperbody, digitigrade, human-length birdlegs with human thighs and big talons
19 * Dark Harpy (Corrupted)
20 * "Zeus, angry that Phineas revealed too much, punished him by blinding him and
21 * putting him on an island with a buffet of food which he could never eat. The
22 * harpies always arrived and stole the food out of his hands before he could
23 * satisfy his hunger, and befouled the remains of his food." - (Wikipedia:Harpy)
24 * tl;dr zeus got made at some faggot and made birds shit in his soup.
28 public class Harpy
extends Creature
30 registerClassAlias
("EHarpy", Human
);
32 public static var SKIN
:Skin
= new Skin
("human", "light", "smooth");
34 public var dark
:Boolean;
35 public function Harpy
(corrupt
:Boolean=false)
38 trace
("Harpy.init()");
40 height
= Math.random
()*1.5 + 5;
42 this.gender
= Gender
.FEMALE
;
43 this.sexualPreference
= SexualPreference
.BISEXUAL
;
44 this.build
= Build
.AVG
;
46 BodyPartRegistry
.arms
.human
,
47 BodyPartRegistry
.arms
.human
,
50 BodyPartRegistry
.legs
.harpy
,
51 BodyPartRegistry
.legs
.harpy
53 this._vaginas
= [BodyPartRegistry
.vaginas
.human
];
54 this.assholes
= [BodyPartRegistry
.assholes
.human
];
56 this.hair
= new Hair
("short, straight brown hair");
57 this.eyes
= [BodyPartRegistry
.eyes
.harpy_light
, BodyPartRegistry
.eyes
.harpy_light
];
58 this.wings
= [BodyPartRegistry
.wings
.harpy_light
, BodyPartRegistry
.wings
.harpy_light
];
59 this.skin
= new Skin
("human");
61 this.hair
= new Hair
("short, straight black hair");
62 this.eyes
= [BodyPartRegistry
.eyes
.harpy_dark
,BodyPartRegistry
.eyes
.harpy_dark
];
63 this.wings
= [BodyPartRegistry
.wings
.harpy_dark
, BodyPartRegistry
.wings
.harpy_dark
];
64 this.skin
= new Skin
("human", "pale");
65 this.inventory
.push
(ItemRegistry
.DARK_HARPY_EGG
);
72 override public function onEncounter
(ply
:Creature
):Boolean
75 HarpyEncounterScreen
.push
();
80 override public function getHostile
(subj
:Creature
):Boolean
85 override public function getTypeName
():String
87 return (dark
?"Dark ":"") + "Harpy";
90 override public function onLose
(ply
:Creature
):Boolean
92 return super.onLose
(ply
);
95 override public function onWin
(ply
:Creature
):Boolean {