001 002 import java.util.List; 003 import java.util.Random; 004 005 public abstract class hl extends mj { 006 007 public ji an = new ji(this); 008 public ei ao; 009 public ei ap; 010 public byte aq = 0; 011 public int ar = 0; 012 public float as; 013 public float at; 014 public boolean au = false; 015 public int av = 0; 016 public String aw; 017 public int ax; 018 public double ay; 019 public double az; 020 public double aA; 021 public double aB; 022 public double aC; 023 public double aD; 024 private int a = 0; 025 public mq aE = null; 026 027 public hl(fv paramfv) { 028 super(paramfv); 029 030 ao = new ae(an, !paramfv.z); 031 032 ap = ao; 033 034 H = 1.62F; 035 c(paramfv.m + 0.5D, paramfv.n + 1, paramfv.o + 0.5D, 0.0F, 0.0F); 036 037 aZ = 20; 038 aS = "humanoid"; 039 aR = 180.0F; 040 Y = 20; 041 042 aP = "/mob/char.png"; 043 } 044 045 public void b_() { 046 super.b_(); 047 048 if ((!l.z) 049 && (ap != null) && (!ap.b(this))) { 050 L(); 051 ap = ao; 052 } 053 054 ay = aB; 055 az = aC; 056 aA = aD; 057 058 double d1 = p - aB; 059 double d2 = q - aC; 060 double d3 = r - aD; 061 062 double d4 = 10.0D; 063 if (d1 > d4) { 064 ay = (this.aB = p); 065 } 066 if (d3 > d4) { 067 aA = (this.aD = r); 068 } 069 if (d2 > d4) { 070 az = (this.aC = q); 071 } 072 if (d1 < -d4) { 073 ay = (this.aB = p); 074 } 075 if (d3 < -d4) { 076 aA = (this.aD = r); 077 } 078 if (d2 < -d4) { 079 az = (this.aC = q); 080 } 081 082 aB += d1 * 0.25D; 083 aD += d3 * 0.25D; 084 aC += d2 * 0.25D; 085 } 086 087 protected void L() { 088 ap = ao; 089 } 090 091 public void D() { 092 super.D(); 093 as = at; 094 at = 0.0F; 095 } 096 097 protected void d() { 098 if (au) { 099 av += 1; 100 if (av == 8) { 101 av = 0; 102 au = false; 103 } 104 } else { 105 av = 0; 106 } 107 108 aY = (av / 8.0F); 109 } 110 111 public void o() { 112 // hMod: adjust 'healing over time' independent of monster-spawn=true/false (nice notchup!) 113 PluginLoader.HookResult autoHeal = etc.getInstance().autoHeal(); 114 if ((l.k == 0) && (autoHeal == PluginLoader.HookResult.DEFAULT_ACTION) || autoHeal == PluginLoader.HookResult.ALLOW_ACTION) { 115 if ((aZ < 20) && (X % 20 * 12 == 0)) { 116 d(1); 117 } 118 } 119 120 an.f(); 121 as = at; 122 123 super.o(); 124 125 float f1 = iz.a(s * s + u * u); 126 float f2 = (float) Math.atan(-t * 0.2000000029802322D) * 15.0F; 127 if (f1 > 0.1F) { 128 f1 = 0.1F; 129 } 130 if ((!A) || (aZ <= 0)) { 131 f1 = 0.0F; 132 } 133 if ((A) || (aZ <= 0)) { 134 f2 = 0.0F; 135 } 136 at += (f1 - at) * 0.4F; 137 bh += (f2 - bh) * 0.8F; 138 139 if (aZ > 0) { 140 List localList = l.b(this, z.b(1.0D, 0.0D, 1.0D)); 141 if (localList != null) { 142 for (int i = 0; i < localList.size(); i++) { 143 fe localfe = (fe) localList.get(i); 144 if (!localfe.G) { 145 j(localfe); 146 } 147 } 148 } 149 } 150 } 151 152 private void j(fe paramfe) { 153 paramfe.b(this); 154 } 155 156 public void f(fe paramfe) { 157 super.f(paramfe); 158 a(0.2F, 0.2F); 159 a(p, q, r); 160 t = 0.1000000014901161D; 161 // gives player with name "Notch" an free apple; god may know why. 162 if (aw.equals("Notch")) { 163 a(new jl(hg.h, 1), true); 164 } 165 an.h(); 166 167 if (paramfe != null) { 168 s = (-iz.b((bd + v) * 3.141593F / 180.0F) * 0.1F); 169 u = (-iz.a((bd + v) * 3.141593F / 180.0F) * 0.1F); 170 } else { 171 s = (this.u = 0.0D); 172 } 173 H = 0.1F; 174 } 175 176 public void b(fe paramfe, int paramInt) { 177 ar += paramInt; 178 } 179 180 public void O() { 181 a(an.b(an.c, 1), false); 182 } 183 184 public void b(jl paramjl) { 185 a(paramjl, false); 186 } 187 188 public void a(jl paramjl, boolean paramBoolean) { 189 if (paramjl == null) { 190 return; 191 } 192 193 ic localic = new ic(l, p, q - 0.300000011920929D + w(), r, paramjl); 194 localic.c = 40; 195 196 float f1 = 0.1F; 197 float f2; 198 if (paramBoolean) { 199 f2 = W.nextFloat() * 0.5F; 200 float f3 = W.nextFloat() * 3.141593F * 2.0F; 201 localic.s = (-iz.a(f3) * f2); 202 localic.u = (iz.b(f3) * f2); 203 localic.t = 0.2000000029802322D; 204 } else { 205 f1 = 0.3F; 206 localic.s = (-iz.a(v / 180.0F * 3.141593F) * iz.b(w / 180.0F * 3.141593F) * f1); 207 localic.u = (iz.b(v / 180.0F * 3.141593F) * iz.b(w / 180.0F * 3.141593F) * f1); 208 localic.t = (-iz.a(w / 180.0F * 3.141593F) * f1 + 0.1F); 209 f1 = 0.02F; 210 211 f2 = W.nextFloat() * 3.141593F * 2.0F; 212 f1 *= W.nextFloat(); 213 localic.s += Math.cos(f2) * f1; 214 localic.t += (W.nextFloat() - W.nextFloat()) * 0.1F; 215 localic.u += Math.sin(f2) * f1; 216 } 217 218 a(localic); 219 } 220 221 protected void a(ic paramic) { 222 l.a(paramic); 223 } 224 225 public float a(hr paramhr) { 226 float f = an.a(paramhr); 227 if (a(mh.f)) { 228 f /= 5.0F; 229 } 230 if (!A) { 231 f /= 5.0F; 232 } 233 234 return f; 235 } 236 237 public boolean b(hr paramhr) { 238 return an.b(paramhr); 239 } 240 241 public void b(ah paramah) { 242 super.b(paramah); 243 fh localfh = paramah.k("Inventory"); 244 an.b(localfh); 245 ax = paramah.d("Dimension"); 246 } 247 248 public void a(ah paramah) { 249 super.a(paramah); 250 paramah.a("Inventory", an.a(new fh())); 251 paramah.a("Dimension", ax); 252 } 253 254 public void a(mn parammn) { 255 } 256 257 public void a(int paramInt1, int paramInt2, int paramInt3) { 258 } 259 260 public void c(fe paramfe, int paramInt) { 261 } 262 263 public float w() { 264 return 0.12F; 265 } 266 267 public boolean a(fe paramfe, int paramInt) { 268 bw = 0; 269 if (aZ <= 0) { 270 return false; 271 } 272 273 if (((paramfe instanceof hq)) || ((paramfe instanceof fc))) { 274 if (l.k == 0) { 275 paramInt = 0; 276 } 277 if (l.k == 1) { 278 paramInt = paramInt / 3 + 1; 279 } 280 if (l.k == 3) { 281 paramInt = paramInt * 3 / 2; 282 } 283 } 284 285 if (paramInt == 0) { 286 return false; 287 } 288 289 return super.a(paramfe, paramInt); 290 } 291 292 protected void e(int paramInt) { 293 int i = 25 - an.g(); 294 int j = paramInt * i + a; 295 an.c(paramInt); 296 paramInt = j / 25; 297 a = (j % 25); 298 super.e(paramInt); 299 } 300 301 public void a(ez paramez) { 302 } 303 304 public void a(bf parambf) { 305 } 306 307 public void a(lv paramlv) { 308 } 309 310 public void g(fe paramfe) { 311 if (paramfe.a(this)) { 312 return; 313 } 314 jl localjl = P(); 315 if ((localjl != null) && ((paramfe instanceof mj))) { 316 localjl.b((mj) paramfe); 317 if (localjl.a <= 0) { 318 localjl.a(this); 319 Q(); 320 } 321 } 322 } 323 324 public jl P() { 325 return an.e(); 326 } 327 328 public void Q() { 329 an.a(an.c, null); 330 } 331 332 public double F() { 333 return H - 0.5F; 334 } 335 336 public void K() { 337 av = -1; 338 au = true; 339 } 340 341 public void h(fe paramfe) { 342 int i = an.a(paramfe); 343 if (i > 0) { 344 paramfe.a(this, i); 345 jl localjl = P(); 346 if ((localjl != null) && ((paramfe instanceof mj))) { 347 localjl.a((mj) paramfe); 348 if (localjl.a <= 0) { 349 localjl.a(this); 350 Q(); 351 } 352 } 353 } 354 } 355 356 public void a(jl paramjl) { 357 } 358 359 public void q() { 360 super.q(); 361 ao.a(this); 362 if (ap != null) { 363 ap.a(this); 364 } 365 } 366 }