Advertisement
Guest User

PotionOfInvisibility.smali

a guest
Oct 6th, 2013
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .class public Lcom/watabou/pixeldungeon/items/potions/PotionOfInvisibility;
  2. .super Lcom/watabou/pixeldungeon/items/potions/Potion;
  3. .source "PotionOfInvisibility.java"
  4.  
  5.  
  6. # static fields
  7. .field private static final ALPHA:F = 0.4f
  8.  
  9.  
  10. # direct methods
  11. .method public constructor <init>()V
  12.     .locals 1
  13.  
  14.     .prologue
  15.     .line 12
  16.     invoke-direct {p0}, Lcom/watabou/pixeldungeon/items/potions/Potion;-><init>()V
  17.  
  18.     .line 17
  19.     const-string v0, "Potion of Invisibility"
  20.  
  21.     iput-object v0, p0, Lcom/watabou/pixeldungeon/items/potions/PotionOfInvisibility;->name:Ljava/lang/String;
  22.  
  23.     .line 12
  24.     return-void
  25. .end method
  26.  
  27. .method public static melt(Lcom/watabou/pixeldungeon/actors/Char;)V
  28.     .locals 4
  29.     .parameter "ch"
  30.  
  31.     .prologue
  32.     const v3, 0x3ecccccd
  33.  
  34.     .line 42
  35.     iget-object v0, p0, Lcom/watabou/pixeldungeon/actors/Char;->sprite:Lcom/watabou/pixeldungeon/sprites/CharSprite;
  36.  
  37.     iget-object v0, v0, Lcom/watabou/pixeldungeon/sprites/CharSprite;->parent:Lcom/watabou/noosa/Group;
  38.  
  39.     if-eqz v0, :cond_0
  40.  
  41.     .line 43
  42.     iget-object v0, p0, Lcom/watabou/pixeldungeon/actors/Char;->sprite:Lcom/watabou/pixeldungeon/sprites/CharSprite;
  43.  
  44.     iget-object v0, v0, Lcom/watabou/pixeldungeon/sprites/CharSprite;->parent:Lcom/watabou/noosa/Group;
  45.  
  46.     new-instance v1, Lcom/watabou/noosa/tweeners/AlphaTweener;
  47.  
  48.     iget-object v2, p0, Lcom/watabou/pixeldungeon/actors/Char;->sprite:Lcom/watabou/pixeldungeon/sprites/CharSprite;
  49.  
  50.     invoke-direct {v1, v2, v3, v3}, Lcom/watabou/noosa/tweeners/AlphaTweener;-><init>(Lcom/watabou/noosa/Visual;FF)V
  51.  
  52.     invoke-virtual {v0, v1}, Lcom/watabou/noosa/Group;->add(Lcom/watabou/noosa/Gizmo;)Lcom/watabou/noosa/Gizmo;
  53.  
  54.     .line 47
  55.     :goto_0
  56.     return-void
  57.  
  58.     .line 45
  59.     :cond_0
  60.     iget-object v0, p0, Lcom/watabou/pixeldungeon/actors/Char;->sprite:Lcom/watabou/pixeldungeon/sprites/CharSprite;
  61.  
  62.     invoke-virtual {v0, v3}, Lcom/watabou/pixeldungeon/sprites/CharSprite;->alpha(F)V
  63.  
  64.     goto :goto_0
  65. .end method
  66.  
  67.  
  68. # virtual methods
  69. .method protected apply(Lcom/watabou/pixeldungeon/actors/hero/Hero;)V
  70.     .locals 2
  71.     .parameter "hero"
  72.  
  73.     .prologue
  74.     .line 22
  75.     invoke-virtual {p0}, Lcom/watabou/pixeldungeon/items/potions/PotionOfInvisibility;->setKnown()V
  76.  
  77.     .line 23
  78.     const-class v0, Lcom/watabou/pixeldungeon/actors/buffs/Invisibility;
  79.  
  80.     const/high16 v1, 0x4170
  81.  
  82.     invoke-static {p1, v0, v1}, Lcom/watabou/pixeldungeon/actors/buffs/Buff;->affect(Lcom/watabou/pixeldungeon/actors/Char;Ljava/lang/Class;F)Lcom/watabou/pixeldungeon/actors/buffs/FlavourBuff;
  83.  
  84.     .line 24
  85.     const-string v0, "You see your hands turn invisible!"
  86.  
  87.     const/4 v1, 0x0
  88.  
  89.     new-array v1, v1, [Ljava/lang/Object;
  90.  
  91.     invoke-static {v0, v1}, Lcom/watabou/pixeldungeon/utils/GLog;->i(Ljava/lang/String;[Ljava/lang/Object;)V
  92.  
  93.     .line 25
  94.     sget-object v0, Lcom/watabou/noosa/audio/Sample;->INSTANCE:Lcom/watabou/noosa/audio/Sample;
  95.  
  96.     const-string v1, "snd_meld.mp3"
  97.  
  98.     invoke-virtual {v0, v1}, Lcom/watabou/noosa/audio/Sample;->play(Ljava/lang/Object;)I
  99.  
  100.     .line 26
  101.     return-void
  102. .end method
  103.  
  104. .method public desc()Ljava/lang/String;
  105.     .locals 1
  106.  
  107.     .prologue
  108.     .line 31
  109.     const-string v0, "Drinking this potion will render you temporarily invisible. While invisible, enemies will be unable to see you. Attacking an enemy, as well as using a wand or a scroll before enemy\'s eyes, will dispel the effect."
  110.  
  111.     .line 30
  112.     return-object v0
  113. .end method
  114.  
  115. .method public price()I
  116.     .locals 1
  117.  
  118.     .prologue
  119.     .line 38
  120.     invoke-virtual {p0}, Lcom/watabou/pixeldungeon/items/potions/PotionOfInvisibility;->isKnown()Z
  121.  
  122.     move-result v0
  123.  
  124.     if-eqz v0, :cond_0
  125.  
  126.     iget v0, p0, Lcom/watabou/pixeldungeon/items/potions/PotionOfInvisibility;->quantity:I
  127.  
  128.     mul-int/lit8 v0, v0, 0x0
  129.  
  130.     :goto_0
  131.     return v0
  132.  
  133.     :cond_0
  134.     invoke-super {p0}, Lcom/watabou/pixeldungeon/items/potions/Potion;->price()I
  135.  
  136.     move-result v0
  137.  
  138.     goto :goto_0
  139. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement