Fix hair, dick around with new game screen.
[18plus-7leafadventure.git] / src / org / sevenchan / dongs / bodyparts / Asshole.as
blob74f155af89ccf0e894363f2a423f3239691833cb
1 package org.sevenchan.dongs.bodyparts
3 import org.sevenchan.dongs.Creature;
4 import flash.net.registerClassAlias;
5 import org.sevenchan.dongs.creature.Player;
6 import org.sevenchan.dongs.enchantment.Enchantment;
7 import org.sevenchan.dongs.weapons.IWeapon;
8 import org.sevenchan.dongs.clothing.Clothing;
9 /**
10 * ...
11 * @author Harbinger
13 public class Asshole implements IBodyPart
15 registerClassAlias("P_Asshole", Asshole);
17 public var _name:String;
18 public var timesFucked:Number = 0;
19 public var volumeFilled:Number = 0;
20 public var capacity:Number = 1500;
21 public var filledWith:String = "";
22 public var pregCounter:Number = -1;
23 public var pregnantWith:Creature = null;
24 public var _location:String = "right where it should be";
25 public var _pen:Boolean = false;
27 public function Asshole(value:Number=0,name:String="")
29 _value = value;
30 _name = name;
33 private var _value:Number;
34 public function get value():Number {
35 return _value;
38 public function get category():String {
39 return "assholes";
42 public function get name():String {
43 return _name;
46 public function get location():String { return _location;}
48 public function impregnate(balls:Vector.<Testicle>):void {
49 var amtCum:Number = 0;
50 var enchTxt:String = "";
51 var semen:String = balls[0].semen;
52 var asshole:Boolean = true;
53 // Get values
54 for (var i:int = 0; i < balls.length; i++) {
55 var t:Testicle = balls[i];
56 amtCum+=t.loadMult * t.normalLoad;
59 timesFucked++;
60 volumeFilled = amtCum;
61 filledWith = semen;
64 public function get sellDesc():String { return getDescr(-1,null); }
66 public function getDescr(num:Number, host:Creature):String {
67 var tightness:String = "tight";
68 var filled:String = "";
69 var stretched:String = "";
70 if (timesFucked > 10)
71 tightness = "loose";
72 if (pregCounter > -1)
73 filled = ", "+pregnantWith.getTypeName()+"-impregnated"; // Oh god how do i describe this
74 else {
75 if (filledWith.length != 0)
76 filled = ", " + filledWith + "-filled";
78 if (volumeFilled > capacity && num>0)
79 stretched = " (<b>Your belly has swelled to accomodate the sheer volume.</b>)";
80 var o:String = "";
81 if (num > 0)
82 o += num + " ";
83 return o+tightness+filled+ " "+_name + " asshole"+((num>1)?"s":"")+", "+location+stretched;
87 public function getShortDescr(withModifier:Boolean = false):String {
88 var t:String = "asshole";
89 if(withModifier)
90 t = _name + " " + t;
91 return t;
93 public function onFailedAttack(from:Creature, to:Creature):void{}
94 public function onGoodAttack(from:Creature, to:Creature):void { }
96 public function isPenetrated():Boolean { return _pen; }
98 private var _weapon:IWeapon = null;
99 public function get weapon():IWeapon { return _weapon; }
100 public function tryEquip(weap:IWeapon):Boolean
102 return false;
105 public function isConcealedBy(host:Creature, clothing:Vector.<Clothing>):Boolean
107 return clothing.some(function(c_:Object, index:int, vector:Vector.<Clothing>):Boolean
109 var c:Clothing = Clothing(c_);
110 if (c != null)
111 return (c.type.obscures.indexOf(category) > -1);
112 else
113 return false;