Skip to content

Commit

Permalink
nerf skeleton axe rush potential
Browse files Browse the repository at this point in the history
  • Loading branch information
serprex committed Aug 7, 2024
1 parent 4586550 commit e3cf99f
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 11 deletions.
8 changes: 4 additions & 4 deletions src/cards.csv
Original file line number Diff line number Diff line change
Expand Up @@ -180,8 +180,8 @@
7227|Plague Mask|2|1|2|3||2|hp=poisondr+1:7=doctor|
5228|Frailty|2|3|1|1|||frail|
7228|Frailty|2|3|1|1|||frail2|
5229|Skeleton Axe|2|0|3|3|7|3|1=bonesharpen|
7229|Skeleton Axe|2|0|3|3|9|3|1=bonesharpen|
5229|Skeleton Axe|2|0|3|3|2|4|1=bonesharpen+buff=skeletoncount|
7229|Skeleton Axe|2|0|3|3|4|4|1=bonesharpen+buff=skeletoncount|
5230|Shard of Sacrifice|2|3|3|2|||sosa|
7230|Shard of Sacrifice|2|3|3|2|||sosa|
5250|Death Pendulum|2|2|0|0|||pend|pillar+stackable+additive+charges=1
Expand Down Expand Up @@ -564,8 +564,8 @@
7827|Byakko|8|4|3|7|9|3|blocked=virtue|
5828|Dispersion|8|3|3|7|||dispersion|
7828|Dispersion|8|3|3|5|||dispersion|
5829|Bo Staff|8|0|3|3|5|5|2:4=protect+buff=buffdr+hit=boreset|
7829|Bo Staff|8|0|3|3|5|5|1:4=protect+buff=buffdr+hit=boreset|
5829|Bo Staff|8|0|3|3|5|5|2=protect+buff=buffdr+hit=boreset|
7829|Bo Staff|8|0|3|3|5|5|1=protect+buff=buffdr+hit=boreset|
5830|Shard of Divinity|8|3|3|3|||divinity|
7830|Shard of Divinity|8|3|3|2|||divinity|
5850|Light Pendulum|8|2|0|0|||pend|pillar+stackable+additive+charges=1
Expand Down
43 changes: 37 additions & 6 deletions src/rs/src/skill.rs
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,7 @@ pub enum Skill {
siphonactive,
siphonstrength,
skeleton,
skeletoncount,
skull,
skyblitz,
slime,
Expand Down Expand Up @@ -1230,6 +1231,7 @@ impl<'a> Display for SkillName<'a> {
Skill::siphonactive => f.write_str("siphonactive"),
Skill::siphonstrength => f.write_str("siphonstrength"),
Skill::skeleton => Ok(()),
Skill::skeletoncount => Ok(()),
Skill::skull => f.write_str("skull"),
Skill::skyblitz => f.write_str("skyblitz"),
Skill::slime => f.write_str("slime"),
Expand Down Expand Up @@ -1346,7 +1348,8 @@ impl Skill {
| Self::deepdiveproc2
| Self::dshieldoff
| Self::elf | Self::firebrand
| Self::hauntatk(..) | Self::haunthp(..)
| Self::hauntatk(..)
| Self::haunthp(..)
| Self::martyr | Self::mummy
| Self::obsession
| Self::predatoroff
Expand Down Expand Up @@ -1626,8 +1629,9 @@ impl Skill {
}
}
Skill::bugpoison => {
if c != t && ctx.get(t, Flag::bug) {
ctx.poison(ctx.get_foe(ctx.get_owner(c)), 1)
let owner = ctx.get_owner(c);
if c != t && ctx.get(t, Flag::bug) && owner == ctx.get_owner(t) {
ctx.poison(ctx.get_foe(owner), 1)
}
}
Skill::databloat => {
Expand Down Expand Up @@ -1703,6 +1707,7 @@ impl Skill {
ctx.addskills(shield, Event::Hp, &[Skill::v_swarmhp]);
}
ctx.incrStatus(shield, Stat::swarmhp, 1);
ctx.incrStatus(c, Stat::swarmhp, 1);
}
}
Skill::fish => {
Expand All @@ -1729,7 +1734,9 @@ impl Skill {
}
}
let upped = card::Upped(ctx.get(c, Stat::card));
if let Some(card) = ctx.choose_iter(ctx.get_cards().filter(upped).iter().filter(|card| (card.flag & Flag::token) != 0)) {
if let Some(card) = ctx.choose_iter(
ctx.get_cards().filter(upped).iter().filter(|card| (card.flag & Flag::token) != 0),
) {
let id = ctx.new_thing(card.code, owner);
ctx.addCard(owner, id);
}
Expand Down Expand Up @@ -1999,7 +2006,15 @@ impl Skill {
Self::boreset => {
let shield = ctx.get_shield(ctx.get_owner(c));
if shield != 0 {
ctx.set(shield, Stat::swarmhp, 0);
if let Some(stored) = ctx.get_thing_mut(c).status.get_mut(Stat::swarmhp) {
let limit = core::mem::replace(stored, 0);
let sswarm = ctx.get(shield, Stat::swarmhp);
if limit >= sswarm {
ctx.set(shield, Stat::swarmhp, 0);
} else {
ctx.set(shield, Stat::swarmhp, sswarm - limit);
}
}
}
}
Self::bounce => {
Expand Down Expand Up @@ -3591,7 +3606,10 @@ impl Skill {
}
}
Self::maul => {
if ctx.get_player(ctx.get_owner(c)).shield != 0 && ctx.get_kind(c) == ctx.get_kind(t) && ctx.getIndex(c) == ctx.getIndex(t) {
if ctx.get_player(ctx.get_owner(c)).shield != 0
&& ctx.get_kind(c) == ctx.get_kind(t)
&& ctx.getIndex(c) == ctx.getIndex(t)
{
data.flags |= ProcData::stasis;
}
}
Expand Down Expand Up @@ -5630,6 +5648,7 @@ impl Skill {
| Self::hauntatk(..)
| Self::hope
| Self::poisondr
| Self::skeletoncount
| Self::staff
| Self::stonewall
| Self::swarm
Expand Down Expand Up @@ -5734,6 +5753,18 @@ impl Skill {
}
}
}
Self::skeletoncount => {
let mut dmg = 0;
for cr in ctx.get_player(ctx.get_owner(c)).creatures {
if cr != 0 {
let crcard = ctx.get(cr, Stat::card);
if card::IsOf(crcard, card::Skeleton) {
dmg += 1;
}
}
}
dmg
}
Self::staff => {
let mark = ctx.get_player(ctx.get_owner(c)).mark as i16;
(mark == etg::Life || mark == etg::Water) as i16
Expand Down
3 changes: 2 additions & 1 deletion src/rs/src/text.rs
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,7 @@ impl<'a> SkillThing<'a> {
Cow::from("Reveal opponent's hand until the end of their turn. Draw a card"),
Skill::predator =>
Cow::from("If opponent has more than four cards in their hand, this card attacks a second time & opponent discards the last card in their hand"),
Skill::protect => Cow::from("Increase your shield's damage reduction by 1, delaying this card. Remove damage reduction when this attacks"),
Skill::protect => Cow::from("Increase your shield's damage reduction by 1, delaying this card. Increment stored counter. Remove bonus damage reduction by stored when this attacks, resetting stored value"),
Skill::protectall =>
Cow::from("All your creatures, permanents, weapon, & shield gain a bubble. Bubbles nullify the next spell, ability, or spell damage used by opponent that targets or damages affected card"),
Skill::protectonce =>
Expand Down Expand Up @@ -700,6 +700,7 @@ impl<'a> SkillThing<'a> {
Skill::siphonstrength => Cow::from("Target creature loses 1|0. Gain 1|0"),
Skill::skeleton =>
Cow::from("If this creature is targeted by Rewind, it becomes a random creature"),
Skill::skeletoncount => Cow::from("Increase attack by number of skeletons you own"),
Skill::skull => Cow::from(if self.set() == CardSet::Open {
"Attacking non-ranged creatures may randomly die (1 in HP chance) & are replaced by Skeletons"
} else {
Expand Down

0 comments on commit e3cf99f

Please sign in to comment.