Add new clothing system
[18plus-7leafadventure.git] / src / org / sevenchan / dongs / creature / Harpy.as
blob9777bc3d2861c0d700007b45052a34143be625d9
1 package org.sevenchan.dongs.creature
3 import flash.net.registerClassAlias;
4 import org.sevenchan.dongs.bodyparts.*;
5 import org.sevenchan.dongs.Creature;
6 import org.sevenchan.dongs.items.HarpyTincture;
7 import org.sevenchan.dongs.items.WhiteBerries;
8 import org.sevenchan.dongs.screens.encounters.HarpyEncounterScreen;
9 /**
10 * Two versions for our purposes.
12 * Harpy
13 * Light-hearted, kind inhabitants of the world. Only a few left.
14 * Not hostile, open to sex.
15 * Human upperbody, digitigrade, human-length birdlegs with human thighs and big talons
18 * Dark Harpy (Corrupted)
19 * "Zeus, angry that Phineas revealed too much, punished him by blinding him and
20 * putting him on an island with a buffet of food which he could never eat. The
21 * harpies always arrived and stole the food out of his hands before he could
22 * satisfy his hunger, and befouled the remains of his food." - (Wikipedia:Harpy)
23 * tl;dr zeus got mad at some faggot and made birds shit in his soup.
25 * @author Harbinger
27 public class Harpy extends Creature
29 registerClassAlias("EHarpy", Human);
31 public static var SKIN:Skin = new Skin("human", "light", "smooth");
33 public var dark:Boolean;
34 public function Harpy(corrupt:Boolean=false)
36 this.dark = corrupt;
37 trace("Harpy.init()");
38 super();
39 height = Math.random()*1.5 + 5;
41 this.gender = Gender.FEMALE;
42 this.sexualPreference = SexualPreference.BISEXUAL;
43 this.build = Build.AVG;
44 this.arms.push(
45 BodyPartRegistry.human_arm,
46 BodyPartRegistry.human_arm
48 this.legs.push(
49 BodyPartRegistry.harpy_leg,
50 BodyPartRegistry.harpy_leg
52 this._vaginas.push(BodyPartRegistry.human_vagina);
53 this.assholes.push(BodyPartRegistry.human_anus);
54 if(!dark) {
55 this.hair = new Hair("short, straight brown hair");
56 this.eyes.push(BodyPartRegistry.harpy_light_eye, BodyPartRegistry.harpy_light_eye);
57 this.wings.push(BodyPartRegistry.harpy_wing, BodyPartRegistry.harpy_wing);
58 this.skin = new Skin("human");
59 } else {
60 this.hair = new Hair("short, straight black hair");
61 this.eyes.push(BodyPartRegistry.harpy_dark_eye,BodyPartRegistry.harpy_dark_eye);
62 this.wings.push(BodyPartRegistry.harpy_dark_wing, BodyPartRegistry.harpy_dark_wing);
63 this.skin = new Skin("human", "pale");
64 this.inventory.push(ItemRegistry.DARK_HARPY_EGG);
66 this.inventory.push(
67 new HarpyTincture(1)
71 override public function onEncounter(ply:Creature):Boolean
73 if (ply!=null && !dark) {
74 HarpyEncounterScreen.push();
76 return !dark;
79 override public function getHostile(subj:Creature):Boolean
81 return dark;
84 override public function getTypeName():String
86 return (dark?"Dark ":"") + "Harpy";
89 override public function onLose(ply:Creature):Boolean
91 // Remove all white berries.
92 for (var i:int = 0; i < ply.inventory.length; i++) {
93 if (ply.inventory[i] is WhiteBerries)
94 ply.inventory.splice(i, 1);
96 return super.onLose(ply);
99 override public function onWin(ply:Creature):Boolean {
100 return false;