-
Notifications
You must be signed in to change notification settings - Fork 407
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4a3ad3a
commit 97f2c37
Showing
18 changed files
with
228 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* OwO Bot for Discord | ||
* Copyright (C) 2023 Christopher Thai | ||
* This software is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International | ||
* For more information, see README.md and LICENSE | ||
*/ | ||
|
||
const BuffInterface = require('../BuffInterface.js'); | ||
const WeaponInterface = require('../WeaponInterface.js'); | ||
const Logs = require('../util/logUtil.js'); | ||
|
||
module.exports = class Stinky extends BuffInterface { | ||
init() { | ||
this.id = 12; | ||
this.name = 'Stinky'; | ||
this.debuff = true; | ||
this.emoji = '<:stinky:1154636430937698364>'; | ||
this.statDesc = `Prevents any future buffs *AND* debuffs to be applied to this animal. On success, deal **?%** ${WeaponInterface.magEmoji}MAG to the animal.`; | ||
this.qualityList = [[20, 50]]; | ||
} | ||
|
||
// Override | ||
preBind(animal, duration, tags, buffToAdd) { | ||
if (tags.has('stinky', this.from)) return; | ||
|
||
let logs = new Logs(); | ||
|
||
let damage = WeaponInterface.getDamage(this.from.stats.mag, this.stats[0] / 100); | ||
const tagsCopy = tags.copyAdd('stinky', this.from); | ||
damage = WeaponInterface.inflictDamage( | ||
this.from, | ||
animal, | ||
damage, | ||
WeaponInterface.MAGICAL, | ||
tagsCopy | ||
); | ||
logs.push( | ||
`[STINK] Prevented ${buffToAdd.name} ${buffToAdd.debuff ? 'de' : ''}buff and damaged ${ | ||
animal.nickname | ||
} for ${damage.amount} HP`, | ||
damage.logs | ||
); | ||
|
||
return { | ||
logs: logs, | ||
dontBind: true, | ||
}; | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
/* | ||
* OwO Bot for Discord | ||
* Copyright (C) 2023 Christopher Thai | ||
* This software is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International | ||
* For more information, see README.md and LICENSE | ||
*/ | ||
|
||
const PassiveInterface = require('../PassiveInterface.js'); | ||
|
||
module.exports = class Snail extends PassiveInterface { | ||
init() { | ||
this.id = 21; | ||
this.name = 'Knowledge'; | ||
this.basicDesc = ''; | ||
this.emojis = [ | ||
'<:ckno:1155427304663691294>', | ||
'<:ukno:1155427316000886794>', | ||
'<:rkno:1155427313857605652>', | ||
'<:ekno:1155427306437873848>', | ||
'<:mkno:1155427312234418236>', | ||
'<:lkno:1155427310355353610>', | ||
'<:fkno:1155427308480503808>', | ||
]; | ||
this.statDesc = | ||
'This passive does not do anything in battle. However, it will give this animal **?%** extra xp after each battle.'; | ||
this.qualityList = [[5, 15]]; | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
/* | ||
* OwO Bot for Discord | ||
* Copyright (C) 2023 Christopher Thai | ||
* This software is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International | ||
* For more information, see README.md and LICENSE | ||
*/ | ||
|
||
const WeaponInterface = require('../WeaponInterface.js'); | ||
const Logs = require('../util/logUtil.js'); | ||
|
||
module.exports = class FoulFish extends WeaponInterface { | ||
init() { | ||
this.id = 21; | ||
this.name = 'Foul Fish'; | ||
this.basicDesc = ''; | ||
this.emojis = [ | ||
'<:cffish:1154635938270564403>', | ||
'<:uffish:1154635970637987841>', | ||
'<:rffish:1154635969518129172>', | ||
'<:effish:1154635940535472198>', | ||
'<:mffish:1154635947984552076>', | ||
'<:lffish:1154635946571079770>', | ||
'<:fffish:1154635942397747211>', | ||
]; | ||
this.pristineEmojis = [ | ||
'<:pcffish:1154635949305778196>', | ||
'<:puffish:1154635967907495946>', | ||
'<:prffish:1154635966007496784>', | ||
'<:peffish:1154635951386153040>', | ||
'<:pmffish:1154635964577234974>', | ||
'<:plffish:1154635961284710410>', | ||
'<:pfffish:1154635953051287642>', | ||
]; | ||
this.defaultEmoji = '<:ffish:1154635943685394433>'; | ||
this.statDesc = `Deal **?%** of your ${WeaponInterface.strEmoji}STR to a random enemy and apply **Stinky** for 2 turns.`; | ||
this.availablePassives = 'all'; | ||
this.passiveCount = 1; | ||
this.qualityList = [[50, 80]]; | ||
this.manaRange = [280, 180]; | ||
this.buffList = [12]; | ||
} | ||
|
||
attackWeapon(me, team, enemy) { | ||
if (me.stats.hp[0] <= 0) return; | ||
/* No mana */ | ||
if (me.stats.wp[0] < this.manaCost) return this.attackPhysical(me, team, enemy); | ||
|
||
let logs = new Logs(); | ||
|
||
/* Grab an enemy that I'm attacking */ | ||
let attacking = WeaponInterface.getAttacking(me, team, enemy); | ||
if (!attacking) return; | ||
|
||
/* deplete weapon points*/ | ||
let mana = WeaponInterface.useMana(me, this.manaCost, me, { | ||
me, | ||
allies: team, | ||
enemies: enemy, | ||
}); | ||
let manaLogs = new Logs(); | ||
manaLogs.push(`[FFISH] ${me.nickname} used ${mana.amount} WP`, mana.logs); | ||
|
||
/* Calculate damage */ | ||
let damage = WeaponInterface.getDamage(me.stats.att, this.stats[0] / 100); | ||
|
||
/* Deal damage */ | ||
damage = WeaponInterface.inflictDamage(me, attacking, damage, WeaponInterface.PHYSICAL, { | ||
me, | ||
allies: team, | ||
enemies: enemy, | ||
}); | ||
let buff = this.getBuffs(me)[0]; | ||
let buffLogs = buff.attemptBind(attacking, 2, { | ||
me, | ||
allies: team, | ||
enemies: enemy, | ||
}); | ||
|
||
logs.push( | ||
`[FFISH] ${me.nickname} damaged ${attacking.nickname} for ${damage.amount} HP and applied Stinky`, | ||
damage.logs | ||
); | ||
logs.addSubLogs(buffLogs); | ||
|
||
logs.addSubLogs(manaLogs); | ||
|
||
return logs; | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.