@@ -324,8 +324,8 @@ Player.prototype.endturn = function(discard) {
324
324
}
325
325
}
326
326
if ( this . shield ) {
327
- if ( this . shield . active . auto ) this . shield . active ( ) ;
328
327
this . shield . usedactive = false ;
328
+ if ( this . shield . active . auto ) this . shield . active . auto ( this . shield ) ;
329
329
}
330
330
if ( this . weapon ) this . weapon . attack ( ) ;
331
331
if ( this . sosa > 0 ) {
@@ -600,8 +600,8 @@ Creature.prototype.calcEclipse = function(){
600
600
}
601
601
Weapon . prototype . trueatk = Creature . prototype . trueatk = function ( adrenaline ) {
602
602
var dmg = this . atk ;
603
- if ( this . steamatk ) dmg += this . steamatk ;
604
- if ( this . dive ) dmg += this . dive ;
603
+ if ( this . status . steamatk ) dmg += this . status . steamatk ;
604
+ if ( this . status . dive ) dmg += this . status . dive ;
605
605
if ( this . active . buff ) dmg += this . active . buff ( this ) ;
606
606
if ( this . status . burrowed ) dmg = Math . ceil ( dmg / 2 ) ;
607
607
if ( this instanceof Creature ) {
@@ -696,7 +696,7 @@ Weapon.prototype.attack = Creature.prototype.attack = function(stasis, freedomCh
696
696
if ( this . active . hit && ( ! this . status . adrenaline || this . status . adrenaline < 3 ) ) {
697
697
this . active . hit ( this , target . gpull , dmg ) ;
698
698
}
699
- } else if ( ! target . shield || ( trueatk > ( truedr = target . shield . truedr ( ) ) && ( ! target . shield . active . shield || ! target . shield . active . shield ( target . shield , this ) ) ) ) {
699
+ } else if ( ! target . shield || ( ( trueatk > ( truedr = target . shield . truedr ( ) ) && ( ! target . shield . active . shield || ! target . shield . active . shield ( target . shield , this ) ) ) ) ) {
700
700
var dmg = trueatk - truedr ;
701
701
target . dmg ( dmg ) ;
702
702
if ( this . active . hit && ( ! this . status . adrenaline || this . status . adrenaline < 3 ) ) {
@@ -805,7 +805,7 @@ var TargetFilters = {
805
805
return t . isMaterialInstance ( Pillar ) ;
806
806
} ,
807
807
weap :function ( c , t ) {
808
- return t . card . type == WeaponEnum && ! t . status . immaterial && ! t . status . burrowed ;
808
+ return ! ( t instanceof Player ) && t . card . type == WeaponEnum && ! t . status . immaterial && ! t . status . burrowed ;
809
809
} ,
810
810
perm :function ( c , t ) {
811
811
return t . isMaterialInstance ( Permanent ) ;
@@ -829,7 +829,7 @@ var TargetFilters = {
829
829
return c . owner != t . owner && t . isMaterialInstance ( Permanent ) ;
830
830
} ,
831
831
butterfly :function ( c , t ) {
832
- return ( t . trueatk && t . trueatk ( ) < 3 ) || ( t . truehp && t . truehp ( ) < 3 ) ;
832
+ return ! t . status . immaterial && ! t . status . burrowed && ( ( t . trueatk && t . trueatk ( ) < 3 ) || ( t . truehp && t . truehp ( ) < 3 ) ) ;
833
833
} ,
834
834
devour :function ( c , t ) {
835
835
return t . isMaterialInstance ( Creature ) && t . truehp ( ) < c . truehp ( ) ;
0 commit comments