-
-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Gremlin buff with added Cult Items (No Bomb) (#1694)
Changed Cursed items to Broken Items in the Files. New Cult Items Armor: when broken, the attacker is given Insanity Crystal ball: Reveals the selected player as Cultist Key: Cult Actions are not blocked. Knife: Converts instead of killing. Whiskey: Does the Mind Rot roleblock instead (Only to non-Cult) Bread: Cannibal's poison soup thing Orange: Same as Bread Candle: Shows random players if no one visits. Shows no one visited if players did visit. Falcon: Shows a random visit if the player didn't visit. Shows no visits if the player did visit. Tract: If the player is converted, They will be converted to a random Cult role instead. Syringe: Resurrects the player and Converts to Cultist. Envelope: The Envelope's message is made Insane Rifle: Converts instead of killing (Target Only) Stake: Does not work on Cult. New Broken items Key: Blocks no one Envelope: Doesn't send a message. Syringe: Doesn't revive player Candle: Same as Cult Item (Gives False info) Falcon: Same as Cult Item (Gives False info) Stake: Switches target to user. Fabricator can give out the new Broken Items. (Excluding Stake) Trickster Items have a 25% chance to be Magic. (Because It's Funny) Gremlin now has the worst looking description. --------- Co-authored-by: SawJester <[email protected]>
- Loading branch information
Showing
99 changed files
with
1,284 additions
and
817 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
const Effect = require("../Effect"); | ||
const Action = require("../Action"); | ||
|
||
module.exports = class BleedingCult extends Effect { | ||
constructor(killer) { | ||
super("BleedingCult"); | ||
this.killer = killer; | ||
} | ||
|
||
apply(player) { | ||
if (player.hasEffect("BleedingCult")) { | ||
return; | ||
} | ||
|
||
super.apply(player); | ||
player.queueAlert("You start to bleed…"); | ||
|
||
this.action = new Action({ | ||
actor: this.killer, | ||
target: player, | ||
game: this.killer.game, | ||
labels: ["convert", "bleed", "hidden", "absolute", "uncontrollable"], | ||
delay: 1, | ||
effect: this, | ||
run: function () { | ||
if (this.dominates()) { | ||
if (this.target.role.alignment == "Cult") return; | ||
this.target.setRole("Cultist"); | ||
} | ||
|
||
this.effect.remove(); | ||
}, | ||
}); | ||
|
||
this.game.queueAction(this.action); | ||
} | ||
|
||
remove() { | ||
super.remove(); | ||
this.action.cancel(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
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,35 @@ | ||
const Effect = require("../Effect"); | ||
const Action = require("../Action"); | ||
const { PRIORITY_NIGHT_ROLE_BLOCKER } = require("../const/Priority"); | ||
|
||
module.exports = class SedateMindRot extends Effect { | ||
constructor(doer) { | ||
super("SedateMindRot"); | ||
this.doer = doer; | ||
} | ||
|
||
apply(player) { | ||
super.apply(player); | ||
|
||
this.action = new Action({ | ||
actor: this.doer, | ||
target: player, | ||
labels: ["block"], | ||
priority: PRIORITY_NIGHT_ROLE_BLOCKER, | ||
delay: 1, | ||
effect: this, | ||
game: this.game, | ||
run: function () { | ||
this.blockWithMindRot(); | ||
this.effect.remove(); | ||
}, | ||
}); | ||
|
||
this.game.queueAction(this.action); | ||
} | ||
|
||
remove() { | ||
super.remove(); | ||
this.action.cancel(); | ||
} | ||
}; |
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 |
---|---|---|
@@ -1,9 +1,39 @@ | ||
const Item = require("../Item"); | ||
const Action = require("../Action"); | ||
const { PRIORITY_EFFECT_GIVER_DEFAULT } = require("../const/Priority"); | ||
|
||
module.exports = class Bread extends Item { | ||
constructor(options) { | ||
super("Bread"); | ||
|
||
this.cursed = options?.cursed; | ||
this.broken = options?.broken; | ||
this.magicCult = options?.magicCult; | ||
} | ||
eat() { | ||
if (this.magicCult == true && this.holder.role.alignment != "Cult") { | ||
let action = new Action({ | ||
actor: this.holder, | ||
target: this.holder, | ||
game: this.game, | ||
labels: [ | ||
"giveEffect", | ||
"poison", | ||
"hidden", | ||
"absolute", | ||
"uncontrollable", | ||
], | ||
priority: PRIORITY_EFFECT_GIVER_DEFAULT, | ||
run: function () { | ||
if (this.dominates()) { | ||
this.target.queueAlert( | ||
"You have been poisoned by the Cult's Magic Food!" | ||
); | ||
this.target.giveEffect("poison", this.actor); | ||
} | ||
}, | ||
}); | ||
|
||
action.do(); | ||
} | ||
} | ||
}; |
Oops, something went wrong.