com.megacrit.cardcrawl.actions.utility.SFXAction Java Examples
The following examples show how to use
com.megacrit.cardcrawl.actions.utility.SFXAction.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: PlasmaWaveAction.java From FruityMod-StS with MIT License | 6 votes |
@Override public void update() { int effect = EnergyPanel.totalCount; if (this.energyOnUse != -1) { effect = this.energyOnUse; } if (this.p.hasRelic("Chemical X")) { effect += 2; this.p.getRelic("Chemical X").flash(); } if (effect > 0) { for (int i = 0; i < effect; ++i) { AbstractDungeon.actionManager.addToBottom(new SFXAction("ATTACK_HEAVY")); AbstractDungeon.actionManager.addToBottom(new VFXAction(this.p, new CleaveEffect(), 0.0f)); AbstractDungeon.actionManager.addToBottom(new DamageAllEnemiesAction(p, this.multiDamage, this.damageType, AbstractGameAction.AttackEffect.NONE, true)); } if (!this.freeToPlayOnce) { this.p.energy.use(EnergyPanel.totalCount); } } this.isDone = true; }
Example #2
Source File: ScorchingRayAction.java From jorbs-spire-mod with MIT License | 5 votes |
@Override public void update() { AbstractDungeon.actionManager.addToBottom(new SFXAction("ATTACK_MAGIC_BEAM_SHORT", 0.5F)); AbstractDungeon.actionManager.addToBottom(new VFXAction(new BorderFlashEffect(Color.GOLDENROD.cpy()))); AbstractDungeon.actionManager.addToBottom(new VFXAction( new ScalingLaserEffect(source.hb.cX, source.hb.cY, target.hb.cX, target.hb.cY, Color.ORANGE.cpy(), Color.RED.cpy(), amount), 0.1F)); AbstractDungeon.actionManager.addToBottom(new ApplyPowerAction(target, source, new BurningPower(target, source, amount))); isDone = true; }
Example #3
Source File: ForceRippleAction.java From FruityMod-StS with MIT License | 5 votes |
@Override public void update() { int effect = EnergyPanel.totalCount; if (this.energyOnUse != -1) { effect = this.energyOnUse; } if (this.p.hasRelic("Chemical X")) { effect += 2; this.p.getRelic("Chemical X").flash(); } if (effect > 0) { for (int i = 0; i < effect; i++) { AbstractDungeon.actionManager.addToBottom(new SFXAction("ATTACK_HEAVY")); AbstractDungeon.actionManager.addToBottom(new VFXAction(this.p, new CleaveEffect(), 0.0f)); AbstractDungeon.actionManager.addToBottom(new DamageAction(this.m, new DamageInfo(p, this.damage, this.damageType), AbstractGameAction.AttackEffect.SLASH_DIAGONAL)); } AbstractDungeon.actionManager.addToBottom( new ApplyPowerAction(p, p, new VulnerablePower(p, this.energyOnUse, false), this.energyOnUse, true, AbstractGameAction.AttackEffect.NONE)); AbstractDungeon.actionManager.addToBottom( new ApplyPowerAction(p, p, new WeakPower(p, this.energyOnUse, false), this.energyOnUse, true, AbstractGameAction.AttackEffect.NONE)); AbstractDungeon.actionManager.addToBottom( new ApplyPowerAction(p, p, new FrailPower(p, this.energyOnUse, false), this.energyOnUse, true, AbstractGameAction.AttackEffect.NONE)); if (!this.freeToPlayOnce) { this.p.energy.use(EnergyPanel.totalCount); } } this.isDone = true; }
Example #4
Source File: NullStorm.java From FruityMod-StS with MIT License | 5 votes |
@Override public void use(AbstractPlayer p, AbstractMonster m) { AbstractDungeon.actionManager.addToBottom(new SFXAction("THUNDERCLAP", 0.05f)); for (AbstractMonster mo : AbstractDungeon.getCurrRoom().monsters.monsters) { if (mo.isDeadOrEscaped()) continue; AbstractDungeon.actionManager.addToBottom(new VFXAction(new LightningEffect(mo.drawX, mo.drawY), 0.05f)); } AbstractDungeon.actionManager.addToBottom(new DamageAllEnemiesAction(p, this.multiDamage, this.damageTypeForTurn, AbstractGameAction.AttackEffect.NONE)); AbstractDungeon.actionManager.addToBottom(new MakeTempCardInDrawPileAction(new Dazed(), 1, true, true)); }
Example #5
Source File: DefaultClickableRelic.java From StS-DefaultModBase with MIT License | 5 votes |
@Override public void onRightClick() {// On right click if (!isObtained || usedThisTurn || !isPlayerTurn) { // If it has been used this turn, the player doesn't actually have the relic (i.e. it's on display in the shop room), or it's the enemy's turn return; // Don't do anything. } if (AbstractDungeon.getCurrRoom() != null && AbstractDungeon.getCurrRoom().phase == AbstractRoom.RoomPhase.COMBAT) { // Only if you're in combat usedThisTurn = true; // Set relic as "Used this turn" flash(); // Flash stopPulse(); // And stop the pulsing animation (which is started in atPreBattle() below) AbstractDungeon.actionManager.addToBottom(new TalkAction(true, DESCRIPTIONS[1], 4.0f, 2.0f)); // Player speech bubble saying "YOU ARE MINE!" (See relic strings) AbstractDungeon.actionManager.addToBottom(new SFXAction("MONSTER_COLLECTOR_DEBUFF")); // Sound Effect Action of The Collector Nails AbstractDungeon.actionManager.addToBottom(new VFXAction( // Visual Effect Action of the nails applies on a random monster's position. new CollectorCurseEffect(AbstractDungeon.getRandomMonster().hb.cX, AbstractDungeon.getRandomMonster().hb.cY), 2.0F)); AbstractDungeon.actionManager.addToBottom(new EvokeOrbAction(1)); // Evoke your rightmost orb } // See that talk action? It has DESCRIPTIONS[1] instead of just hard-coding "You are mine" inside. // DO NOT HARDCODE YOUR STRINGS ANYWHERE, it's really bad practice to have "Strings" in your code: /* * 1. It's bad for if somebody likes your mod enough (or if you decide) to translate it. * Having only the JSON files for translation rather than 15 different instances of "Dexterity" in some random cards is A LOT easier. * * 2. You don't have a centralised file for all strings for easy proof-reading. If you ever want to change a string * you don't have to go through all your files individually/pray that a mass-replace doesn't screw something up. * * 3. Without hardcoded strings, editing a string doesn't require a compile, saving you time (unless you clean+package). * */ }
Example #6
Source File: ChainLightning.java From jorbs-spire-mod with MIT License | 4 votes |
private void addLightningEffect(AbstractMonster monster, int multiplier) { float duration = (0.05F * multiplier); AbstractDungeon.actionManager.addToBottom(new SFXAction("THUNDERCLAP", duration)); AbstractDungeon.actionManager.addToBottom(new VFXAction(new LightningEffect(monster.drawX, monster.drawY), duration)); }
Example #7
Source File: DefaultOrb.java From StS-DefaultModBase with MIT License | 3 votes |
@Override public void onEvoke() { // 1.On Orb Evoke AbstractDungeon.actionManager.addToBottom( // 2.Damage all enemies new DamageAllEnemiesAction(AbstractDungeon.player, DamageInfo.createDamageMatrix(evokeAmount, true, true), DamageInfo.DamageType.THORNS, AbstractGameAction.AttackEffect.NONE)); // The damage matrix is how orb damage all enemies actions have to be assigned. For regular cards that do damage to everyone, check out cleave or whirlwind - they are a bit simpler. AbstractDungeon.actionManager.addToBottom(new SFXAction("TINGSHA")); // 3.And play a Jingle Sound. // For a list of sound effects you can use, look under com.megacrit.cardcrawl.audio.SoundMaster - you can see the list of keys you can use there. As far as previewing what they sound like, open desktop-1.0.jar with something like 7-Zip and go to audio. Reference the file names provided. (Thanks fiiiiilth) }