Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mumra/fix macos build #1

Closed
wants to merge 176 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
e202e49
Rename obsolete tile refs to Poisonous Vapours.
pooka109 Mar 29, 2024
59262bd
Cut Permafrost Eruption damage by 20%
PleasingFungus Mar 29, 2024
3df4fa4
Fix typo.
pooka109 Mar 30, 2024
d694a16
Fix an issue with randart staves in local tiles
SentientSupper Mar 16, 2024
23b751d
Refactored randart staves tile fix (Ge0ff)
SentientSupper Mar 18, 2024
cfddb08
Fix reference to Margery in Maggie's speech.
pooka109 Mar 31, 2024
730d122
Add another flower name to artefacts.
pooka109 Apr 1, 2024
4be4bdc
Remove Piledriver -move, rescale damage, lower to level 3
DracoOmega Apr 1, 2024
a013996
Try harder not to give ghosts Gell's Gravitas
DracoOmega Apr 1, 2024
6f7e3dd
Don't apply Gell's Gavotte to the other side of glass
DracoOmega Apr 1, 2024
6619738
Don't let prefer_ranged enemies rarely swap to melee weapons in melee
DracoOmega Apr 1, 2024
55d883d
Make Dispersal Darts better at blinking things away from the thrower
DracoOmega Apr 1, 2024
00f4254
Prevent the player from self-targeting ranged weapons
DracoOmega Apr 1, 2024
3c71851
Replace a couple uses of Blink Away with Blink Ranged
DracoOmega Apr 1, 2024
90097df
Nudge Thunderhulk Blink Ranged cast rate down slightly
DracoOmega Apr 1, 2024
41c5271
Make Teleport Other try to teleport the affected monster out of LoS
DracoOmega Apr 1, 2024
7c90f28
add cardinal to rand_wpn
yrdzrfxndfvh Apr 2, 2024
8ce7b1e
Fix: bring stray lajatangs back to the fold (Ge0ff)
PleasingFungus Apr 2, 2024
7cf571d
Add misc colours as an option for Blork dialogue.
pooka109 Apr 2, 2024
59293ed
Fix: catch a few more strays (Ge0ff)
PleasingFungus Apr 2, 2024
c41d803
Rename gui/spells/poison to gui/spells/alchemy.
pooka109 Apr 2, 2024
40b700c
Limit Ignis' artefact weapons to flaming brand.
pooka109 Apr 3, 2024
f85d74f
Ban Zin's artefacts from having the chaos brand.
pooka109 Apr 3, 2024
e5cd51f
Fix red draconians in dragon form having two breath abilities (#3750)
wheals Apr 3, 2024
c89641f
Don't show MPRegen line on % screen for djinn
NormalPerson7 Apr 2, 2024
686ce31
Make Gell's Gravitambourine a little noisier (ge0ff)
DracoOmega Apr 3, 2024
90b412c
Prompt the player before Piledriving into an ally (Monkooky)
DracoOmega Apr 3, 2024
7811c86
Don't let bound or constricted monsters follow the player through stairs
DracoOmega Apr 3, 2024
eb5ba95
build: fix macos ci
rawlins Apr 2, 2024
30fb1b0
Don't let Coglins equip jewellery when polymorphed (ragingrage)
DracoOmega Apr 5, 2024
99e313a
fix: disable requirejs timeout altogether (mumra, ge0ff)
rawlins Apr 5, 2024
b4fc452
fix: lazy load webtiles title images (mumra, ge0ff)
rawlins Apr 5, 2024
36d3288
Remove unused areaprops
Monkooky Apr 5, 2024
d9e1bd7
Adjust a comment.
pooka109 Apr 5, 2024
2ec9e35
Fix underline.
pooka109 Apr 5, 2024
ab96632
Fix foul flame colour in monster info bot.
pooka109 Apr 5, 2024
8f8f606
fix: further tweaks to webtiles lazy image loading
rawlins Apr 5, 2024
8e5f33b
fix: sanitize sanity check
rawlins Apr 5, 2024
c671339
Fix info leak w/unID'd shop artefacts (#3756).
pooka109 Apr 5, 2024
d49a5c6
Fix a confusing message (Silurio)
PleasingFungus Apr 6, 2024
4a80058
Fix the description of walls with unseen changes (take two)
robertxgray May 16, 2023
30c33eb
Add a gizmo adjective and noun.
pooka109 Apr 7, 2024
739538a
Fix comment.
pooka109 Apr 7, 2024
9e1d0c6
Instruments shouldn't jingle when silenced
chucksellick Apr 8, 2024
7506e13
Musical instruments shouldn't work silenced
chucksellick Apr 8, 2024
093061d
Remove unneeded space.
pooka109 Apr 9, 2024
ff2ca24
Revert "Musical instruments shouldn't work silenced"
pooka109 Apr 9, 2024
0f22ef8
Remove unneeded blank line.
pooka109 Apr 9, 2024
cc1024d
Fix misspelled amulet type in tiles.
pooka109 Apr 10, 2024
eafeab6
Give unrand amulet of invisibility its own tile.
pooka109 Apr 10, 2024
04a7ad8
Fix various bad interactions between Gavotte and allies (RBrandon)
DracoOmega Apr 11, 2024
a7055e1
Don't let broodmothers abjure (hellmonk)
PleasingFungus Apr 11, 2024
f54f9d2
New Yred Recall tile (meckryl)
PleasingFungus Apr 12, 2024
f9495cf
Add meckryl to the CREDITS
PleasingFungus Apr 12, 2024
8b09de8
Fix typo.
pooka109 Apr 12, 2024
b82d5c5
Add more modern mythical animals to artefacts.
pooka109 Apr 12, 2024
1d8594b
Fix spacing.
pooka109 Apr 12, 2024
1cae6b7
Fix spelling.
pooka109 Apr 12, 2024
5c35ed9
Add another unlikely hybrid to artefacts.
pooka109 Apr 12, 2024
3b45f6b
Add another Xom esteem entry to artefacts.
pooka109 Apr 12, 2024
5a2cda0
Add blank line.
pooka109 Apr 12, 2024
5467873
Fix: destroy the power of imagination (CuriousUB)
PleasingFungus Apr 13, 2024
a8fa363
Fix wording.
pooka109 Apr 14, 2024
5a1759d
Fix wanderer evoker starts from allowing duplicate evokers
NormalPerson7 Apr 11, 2024
6cb2a80
Allow wanderers with shapeshifting skill.
pooka109 Apr 13, 2024
ade3313
Remove remnants of stationary boulders.
pooka109 Apr 14, 2024
d7206a2
Fix wording.
pooka109 Apr 14, 2024
40ac7a0
Clarify foul flame brand description.
pooka109 Apr 14, 2024
f7567ba
Add more misc colours for Blork dialogue.
pooka109 Apr 15, 2024
8c197d9
Add one more colour for Blork's dialogue.
pooka109 Apr 15, 2024
697f7be
Fulsome Fusillade: level 8 Conjurations/Alchemy
DracoOmega Apr 7, 2024
7e35013
Rimeblight: New Level 7 Ice/Necromancy spell
DracoOmega Apr 10, 2024
2429629
Seismic Cannonade (level 7 Alchemy/Earth)
DracoOmega Apr 13, 2024
a627dd3
Magnavolt (level 7 Air/Earth spell)
DracoOmega Apr 6, 2024
4722b9c
Some tweaks to auto-aiming to make Magnavolt work sanely with autofight
DracoOmega Apr 15, 2024
b27d4a0
Shuffle new spells into spellbooks, add 3 new books in the process
DracoOmega Apr 15, 2024
1366db7
Fix typos, wording, and spelling.
pooka109 Apr 15, 2024
a1d19d5
Fix missorted Blork colour entry.
pooka109 Apr 15, 2024
6b026da
Fix spellbook name typo.
pooka109 Apr 15, 2024
82205d5
Make Killer Klown rare speech actually rare
chucksellick Apr 16, 2024
fd48ac3
Make Dissolution/tormentor rare speech be rare.
pooka109 Apr 16, 2024
002fc65
Don't let Fusillade hit targets through glass (mumra)
DracoOmega Apr 16, 2024
5080204
Add abandoned chaos spawn temple overflow vault.
pooka109 Apr 14, 2024
d68e888
Count foul stench as a retaliatory DS mutation.
pooka109 Apr 16, 2024
871480c
Fix capitalisation in monster message (Ge0ff).
pooka109 Apr 16, 2024
0afd68c
Fix typo.
pooka109 Apr 16, 2024
1362d29
Don't turn seismic cannons hostile when you hit them (ge0ff)
DracoOmega Apr 16, 2024
2842808
Improve seismic cannon shot damage at higher spellpower a little
DracoOmega Apr 16, 2024
f626242
Fix more rare caps issues in speech
chucksellick Apr 16, 2024
3814254
Add two nouns and one modifier to gizmos.
pooka109 Apr 16, 2024
d60f5e5
Fix rimeblight double-kills (Ge0ff)
PleasingFungus Apr 17, 2024
9044fd6
Don't let the player cast Seismic Cannonade while worshipping Okawaru
DracoOmega Apr 17, 2024
999f1de
Fix Fusillade usability tracer caring about line-of-fire (ragingrage)
DracoOmega Apr 17, 2024
222fab4
Fix Fusillade maintaince cost not working properly for djinn (ragingr…
DracoOmega Apr 17, 2024
23bc409
Tweak Fulsome Fusillade animation
DracoOmega Apr 17, 2024
1450d63
Don't let allies reduce damage enemies take from Ozocubu's Refrigeration
DracoOmega Apr 17, 2024
b2c533c
Fix spelling.
pooka109 Apr 17, 2024
61e5eb5
Adjust Donald's Yred dialogue.
pooka109 Apr 17, 2024
95e3b1b
Don't poof summons when you Gavotte without hurting them (Drazool)
DracoOmega Apr 17, 2024
80a8511
Make -move and stasis block the self-move portion of Gavotte
DracoOmega Apr 17, 2024
b20137a
Don't double-miscast when miscasting Seismic Shockwave (NormalPerson7)
DracoOmega Apr 17, 2024
c73bb6f
Let Gavotte ignore -move when moving the player again
DracoOmega Apr 17, 2024
4cb0429
Alert stabbed monsters Ely wrath heals (#3759).
pooka109 Apr 17, 2024
881aff7
Set killer properly for Ely wrath heals (oops).
pooka109 Apr 17, 2024
85d4e5b
Add a time name to artefacts.
pooka109 Apr 17, 2024
7161d33
Add Rimeblight to Kiku gift list (NormalPerson7).
pooka109 Apr 19, 2024
ee455d8
Fix spelling.
pooka109 Apr 19, 2024
b208e08
Mark the faith mutation as good instead of bad.
pooka109 Apr 19, 2024
345e16b
fix: comment an obscure number (hellmonk)
rawlins Apr 20, 2024
f09306a
fix: typo
rawlins Apr 20, 2024
384da2c
Fix typo.
pooka109 Apr 20, 2024
1b2d3e2
fix some lua docstrings (FBV)
rawlins Apr 20, 2024
e909cc9
Fix a few things about wanderer
NormalPerson7 Apr 15, 2024
b8cfe57
New tiles for gravitambourine / box of beasts by meckryl
DracoOmega Apr 20, 2024
35e66b3
Move old box of beasts tile to UNUSED.
pooka109 Apr 21, 2024
a09f62f
Fix missing Recall Apostle description (due to typo)
DracoOmega Apr 21, 2024
d922fe9
Properly apostrophise rimeblight message.
pooka109 Apr 21, 2024
d927fbf
Add another colour for Blork's dialogue.
pooka109 Apr 21, 2024
d272cc4
Fix corpse naming of the mad acolyte of Lugonu.
pooka109 Apr 21, 2024
1f0809d
Fix now-inaccurate comment.
pooka109 Apr 21, 2024
7117bd9
Fix a silly use of mon_is_object
PleasingFungus Apr 21, 2024
a3b3661
Allow rain to create deep water in sprint
PleasingFungus Apr 21, 2024
5bea24b
Don't allow rain to create deep water anywhere
PleasingFungus Apr 21, 2024
abb26cb
Fix spelling.
pooka109 Apr 21, 2024
b4a5920
Fix Hurl Torchlight description.
pooka109 Apr 21, 2024
b3226c2
Make god protection work with cleaving/reaching.
pooka109 Apr 22, 2024
cfd66e3
Make class-specific orc names work with apostles.
pooka109 Apr 23, 2024
15e7c00
Fix the build?
pooka109 Apr 23, 2024
fa1cc04
Fix punctuation.
pooka109 Apr 24, 2024
183d00d
Refactor / unify how monster passive enchantment auras work
DracoOmega Apr 22, 2024
b277726
Make Aura of Brilliance no longer an aura
DracoOmega Apr 26, 2024
d62b0c6
Don't let tracers think Might Other benefits monsters without attacks
DracoOmega Apr 22, 2024
096cba5
Add Polterguardians
DracoOmega Apr 23, 2024
9bf8402
Don't make stationary monsters immune to Slowing
DracoOmega Apr 23, 2024
0aa0afc
Add marrowcudas to pre-Lair D
DracoOmega Apr 24, 2024
6ba1bb0
Make Ophans Mark the player as long as they remain in LoS (regret-index)
DracoOmega Apr 24, 2024
3c4af0e
Don't let !cancellation attempt to dispel aura effects
DracoOmega Apr 24, 2024
bf5259e
Make abomination randomization more interesting and obvious (regret-i…
DracoOmega Apr 24, 2024
8286d04
Make xv less misleading about enemies with a regeneration buff
DracoOmega Apr 24, 2024
7b5b3b7
Slightly tweak early 5s
DracoOmega Apr 24, 2024
5f1a5ef
Replace Arcanist Force Lance with Searing Ray
DracoOmega Apr 24, 2024
9a1d0e6
Add Undying Armouries, a Vaults out-of-depth monster (regret-index)
DracoOmega Apr 25, 2024
c072c2f
Remove a couple unused function definitions
DracoOmega Apr 25, 2024
27c0888
Exile Arachne from Spider, replace with a new formicid unique
DracoOmega Apr 26, 2024
5e5f045
Remove lorocyprocas from vaults and level generation
regret-index Apr 25, 2024
44a4d61
Fold Lorocyprocas into Hell Beasts and rename/tweak (regret-index)
DracoOmega Apr 26, 2024
cb48baa
Fix accidentally using a removed ranged brand for Bestow Arms
DracoOmega Apr 26, 2024
b024fe6
Fix tag upgrade build
DracoOmega Apr 26, 2024
55a6d9f
Fix typos.
pooka109 Apr 26, 2024
9de2d02
Fix punctuation.
pooka109 Apr 26, 2024
52f7614
Make Cigotuvi's Monster's constriction less absurd
DracoOmega Apr 26, 2024
0e4aabf
Fix spelling.
pooka109 Apr 26, 2024
9cce121
Fix capitalisation.
pooka109 Apr 26, 2024
e4ad002
Don't Bestow Arms to monsters wielding unrandarts
DracoOmega Apr 26, 2024
eaffa77
Don't let AF_SWARM trigger from attacking firewood (riverfiend)
DracoOmega Apr 26, 2024
2369512
Add another pasta type to unrands.
pooka109 Apr 26, 2024
15cee8b
Vault review, mostly for new monster / revisions
regret-index Apr 26, 2024
f613fa2
Fix a crash with casting Metabolic Englaciation against the player
DracoOmega Apr 27, 2024
232a111
Fix a rare Gozag crash
DracoOmega Apr 27, 2024
7194ef5
Add fish name to artefacts.
pooka109 Apr 27, 2024
f039ace
Add Zin vs. Nemelex temple overflow vault.
pooka109 Apr 26, 2024
98c967e
add mon-aura.cc to Android project
geekosaur Apr 26, 2024
08be3ee
Make the temple's chaos spawn generate awake.
pooka109 Apr 29, 2024
caa3975
Put proper opacity masks in a new overflow altar vault
regret-index Apr 30, 2024
53ce97c
Fix typo.
pooka109 Apr 30, 2024
a794c8f
Fix spelling.
pooka109 Apr 30, 2024
490276c
Fix typo.
pooka109 Apr 30, 2024
a127011
Add another adjective to artefacts.
pooka109 Apr 30, 2024
e526281
Fix spelling.
pooka109 May 2, 2024
55e9565
Add goblin sharper lines for renaining Nem cards.
pooka109 May 2, 2024
0624dd8
Adjust a goblin sharper line.
pooka109 May 2, 2024
e50fcab
Fix spelling.
pooka109 May 2, 2024
eb237df
Add other oddities cards to goblin sharper lines.
pooka109 May 2, 2024
348a825
Remove low weight from misplaced card message.
pooka109 May 2, 2024
8129f21
Move Nem's oddities cards into their own entry.
pooka109 May 2, 2024
bf53647
Break system packages
chucksellick May 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 28 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -310,13 +310,39 @@ jobs:
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
git submodule sync --recursive
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
- name: Python install bug workaround # https://github.com/actions/setup-python/issues/577
# Some extremely messy interactions between default runner setup and what
# brew may or may not do here. Many closed issues around this, here's one
# where a github actions contributor more or less says they won't fix it:
# https://github.com/actions/runner-images/issues/9471. The issues comes
# and goes depending on runner image versions. I believe I originally
# found the workaround step below somewhere in:
# https://github.com/actions/setup-python/issues/577
# We have the problem because libpng has python as a dep.
# * Scenario 1: libpng forces brew to install python in `/usr/local/bin`.
# Then we need to clear out the pre-provided symlinks or brew will fail.
# Further steps use newly installed python.
# * Scenario 2: libpng is up-to-date in the current runner. For this case,
# clearing out the links is safe because the runner's default path
# should still include
# `/Library/Frameworks/Python.framework/Versions/Current/bin/python`
# (with a lower priority than `/usr/local/bin`) and pre-installed
# python remains available.
# * For both scenarios, we should install pyyaml via pip, not brew, so
# that it is installed for the correct python version. Installing it
# via `brew` doesn't work right in scenario 2.
- name: Python install bug workaround
run: |
find /usr/local/bin -type l -exec sh -c 'readlink -f "$1" \
| grep -q ^/Library/Frameworks/Python.framework/Versions/' _ {} \; -exec rm -v {} \;
- name: Install Dependencies
run: |
brew install pkg-config libpng pyyaml
brew install pkg-config libpng
- name: Install pyyaml
run: pip3 install pyyaml --break-system-packages
- name: diagnostic
run: |
echo $PATH
which python
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
Expand Down
1 change: 1 addition & 0 deletions crawl-ref/CREDITS.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@
István Markó
Gabriel Marks
Jean Martel
meckryl
James 'Eronarn' Meickle
Jacob Meigs
mgdelmonte
Expand Down
2 changes: 1 addition & 1 deletion crawl-ref/docs/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Stone Soup 0.31 (20240119)
-------------------------
--------------------------

Highlights
----------
Expand Down
2 changes: 1 addition & 1 deletion crawl-ref/docs/crawl_manual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1634,7 +1634,7 @@ Deep Elves (DE)
Armataurs (At)
The Armataurs are a large, scaled mammalian species, walking on four feet
and swinging a powerful tail behind them. Their elephant-back armies
terrorize the lands outside the Dungeon.
terrorise the lands outside the Dungeon.

Armataurs instinctively roll when moving toward foes, getting a free move and
regenerating magic. They have great aptitudes with armour and shields, though
Expand Down
2 changes: 1 addition & 1 deletion crawl-ref/docs/develop/levels/syntax.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1411,7 +1411,7 @@ KMASK: Z = no_monster_gen
* "no_wall_fixup": Prevents (rock) walls from being converted to
the level's default wall type, such as in Vaults.
* "opaque": Overrides the "transparent" tag for this particular
symbol. The symbol is considered impassible for level-building
symbol. The symbol is considered impassable for level-building
purposes. A "transparent" vault with a deliberately disconnected
region must use this mask on the disconnected part.

Expand Down
4 changes: 2 additions & 2 deletions crawl-ref/docs/develop/spells.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ via portals.
This includes partial or complete movement of the caster's body, usually in
short distances compared to consumables (Blink, Vhi's Electric Charge); the
creation of loose or controlled portals (Malign Gateway, Passage of Golubria);
and moving others entirely, whether short distances (Gell's Gravitas) or far
(Teleport Other).
and moving others entirely, whether short distances (Maxwell's Portable
Piledriver) or far (Teleport Other).

This also includes spells which cause items to be moved from one location to
another, such as Apportation or Dimensional Bullseye.
Expand Down
1 change: 1 addition & 0 deletions crawl-ref/source/Makefile.obj
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ message.o \
misc.o \
mon-abil.o \
mon-act.o \
mon-aura.o \
mon-behv.o \
mon-cast.o \
mon-clone.o \
Expand Down
3 changes: 1 addition & 2 deletions crawl-ref/source/ability.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3905,9 +3905,8 @@ bool player_has_ability(ability_type abil, bool include_unusable)
&& !you.vampire_alive
&& you.form != transformation::bat;
case ABIL_BREATHE_FIRE:
// red draconian handled before the switch
return you.form == transformation::dragon
&& species::dragon_form(you.species) == MONS_FIRE_DRAGON;
&& !species::is_draconian(you.species);
case ABIL_BLINKBOLT:
return you.form == transformation::storm;
case ABIL_SIPHON_ESSENCE:
Expand Down
27 changes: 0 additions & 27 deletions crawl-ref/source/actor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -935,33 +935,6 @@ string actor::describe_props() const
return oss.str();
}

/**
* Is the actor currently being slowed by a torpor snail?
*/
bool actor::torpor_slowed() const
{
if (!props.exists(TORPOR_SLOWED_KEY) || is_sanctuary(pos())
|| is_stationary()
|| stasis())
{
return false;
}

for (monster_near_iterator ri(pos(), LOS_SOLID_SEE); ri; ++ri)
{
const monster *mons = *ri;
if (mons && mons->type == MONS_TORPOR_SNAIL
&& !is_sanctuary(mons->pos())
&& !mons_aligned(mons, this)
&& !mons->props.exists(KIKU_WRETCH_KEY))
{
return true;
}
}

return false;
}

string actor::resist_margin_phrase(int margin) const
{
if (willpower() == WILL_INVULN)
Expand Down
3 changes: 0 additions & 3 deletions crawl-ref/source/actor.h
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,6 @@ class actor
bool temp = true) const = 0;
int skill_rdiv(skill_type sk, int mult = 1, int div = 1) const;

#define TORPOR_SLOWED_KEY "torpor_slowed"
bool torpor_slowed() const;

virtual int heads() const = 0;

virtual int stat_hp() const = 0;
Expand Down
1 change: 1 addition & 0 deletions crawl-ref/source/android-project/jni/src/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.c \
$(CRAWL_PATH)/misc.cc \
$(CRAWL_PATH)/mon-abil.cc \
$(CRAWL_PATH)/mon-act.cc \
$(CRAWL_PATH)/mon-aura.cc \
$(CRAWL_PATH)/mon-behv.cc \
$(CRAWL_PATH)/mon-cast.cc \
$(CRAWL_PATH)/mon-clone.cc \
Expand Down
11 changes: 3 additions & 8 deletions crawl-ref/source/areas.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,10 @@
#include "traps.h"
#include "travel.h"

/// Bitmasks for area properties
/// Bitmasks for area properties that center on actors
enum class areaprop
{
sanctuary_1 = (1 << 0),
sanctuary_2 = (1 << 1),
// 0 and 1 were sanctuary, now unused
silence = (1 << 2),
halo = (1 << 3),
liquified = (1 << 4),
Expand All @@ -42,7 +41,7 @@ enum class areaprop
umbra = (1 << 7),
quad = (1 << 8),
disjunction = (1 << 9),
soul_aura = (1 << 10),
// 10 was lost soul aura, now unused
};
/// Bit field for the area properties
DEF_BITFIELD(areaprops, areaprop);
Expand Down Expand Up @@ -237,10 +236,6 @@ static void _update_agrid()
static area_centre_type _get_first_area(const coord_def& f)
{
areaprops a = _agrid(f);
if (a & areaprop::sanctuary_1)
return area_centre_type::sanctuary;
if (a & areaprop::sanctuary_2)
return area_centre_type::sanctuary;
if (a & areaprop::silence)
return area_centre_type::silence;
if (a & areaprop::halo)
Expand Down
2 changes: 1 addition & 1 deletion crawl-ref/source/art-data.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1531,7 +1531,7 @@ DBRAND: Omnireflect: It can block and reflect piercing ranged attacks and
NAME: amulet of invisibility
OBJ: OBJ_JEWELLERY/AMU_NOTHING
COLOUR: WHITE
TILE: urand_cekugob
TILE: urand_amulet_invisibility
BOOL: inv, nogen

ENUM: THERMIC_ENGINE
Expand Down
11 changes: 10 additions & 1 deletion crawl-ref/source/artefact.cc
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,10 @@ static bool _god_fits_artefact(const god_type which_god, const item_def &item,
switch (which_god)
{
case GOD_ZIN:
// Lawful god: no mutagenics.
// Lawful god: no chaos or mutagenics.
if (brand == SPWPN_CHAOS)
return false;

if (artefact_property(item, ARTP_CONTAM))
return false;
break;
Expand Down Expand Up @@ -150,6 +153,12 @@ static bool _god_fits_artefact(const god_type which_god, const item_def &item,
return false;
break;

case GOD_IGNIS:
// Fire god.
if (item.base_type == OBJ_WEAPONS && brand != SPWPN_FLAMING)
return false;
break;

default:
break;
}
Expand Down
3 changes: 2 additions & 1 deletion crawl-ref/source/beam-type.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@ enum beam_type // bolt::flavour
BEAM_VITRIFYING_GAZE,
BEAM_WEAKNESS,
BEAM_CURSE_OF_AGONY,
BEAM_LAST_ENCHANTMENT = BEAM_CURSE_OF_AGONY,
BEAM_RIMEBLIGHT,
BEAM_LAST_ENCHANTMENT = BEAM_RIMEBLIGHT,

BEAM_MEPHITIC,
BEAM_AIR,
Expand Down
77 changes: 75 additions & 2 deletions crawl-ref/source/beam.cc
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,12 @@ bool bolt::can_affect_actor(const actor *act) const
{
return false;
}
// Xak'krixis' prisms are smart enough not to affect friendlies
else if (origin_spell == SPELL_FULMINANT_PRISM && thrower == KILL_MON
&& act->temp_attitude() == attitude)
{
return false;
}
auto cnt = hit_count.find(act->mid);
if (cnt != hit_count.end() && cnt->second >= 2)
{
Expand Down Expand Up @@ -2629,6 +2635,31 @@ void bolt::affect_endpoint()
}
break;

case SPELL_FLASHING_BALESTRA:
{
coord_def spot;
int num_found = 0;
for (adjacent_iterator ai(pos()); ai; ++ai)
{
if (feat_is_solid(env.grid(*ai)) || actor_at(*ai))
continue;

if (one_chance_in(++num_found))
spot = *ai;
}

if (!spot.origin())
{
create_monster(mgen_data(MONS_DANCING_WEAPON,
SAME_ATTITUDE(agent(true)->as_monster()),
spot,
agent(true)->as_monster()->foe,
MG_FORCE_PLACE)
.set_summoned(agent(true), 1, SPELL_FLASHING_BALESTRA, GOD_NO_GOD));
}
}
break;

default:
break;
}
Expand Down Expand Up @@ -3099,7 +3130,8 @@ bool bolt::harmless_to_player() const
return true;

if (origin_spell == SPELL_COMBUSTION_BREATH
|| origin_spell == SPELL_NULLIFYING_BREATH)
|| origin_spell == SPELL_NULLIFYING_BREATH
|| origin_spell == SPELL_RIMEBLIGHT)
{
return true;
}
Expand Down Expand Up @@ -4302,7 +4334,8 @@ bool bolt::ignores_player() const
return true;

if (origin_spell == SPELL_COMBUSTION_BREATH
|| origin_spell == SPELL_NULLIFYING_BREATH)
|| origin_spell == SPELL_NULLIFYING_BREATH
|| origin_spell == SPELL_RIMEBLIGHT)
{
return true;
}
Expand Down Expand Up @@ -5046,6 +5079,20 @@ void bolt::monster_post_hit(monster* mon, int dmg)
mon->speed_increment += 10;
simple_monster_message(*mon, " is empowered.");
}

// Give electroferric vorticies a little more life if the player is shooting them
if (origin_spell == SPELL_MAGNAVOLT && mon->type == MONS_ELECTROFERRIC_VORTEX)
mon->add_ench(mon_enchant(ENCH_SLOWLY_DYING, 0, nullptr, BASELINE_DELAY * 2));

if (origin_spell == SPELL_RIMEBLIGHT)
{
if (mon->holiness() & (MH_NATURAL | MH_DEMONIC | MH_HOLY)
&& !mon->has_ench(ENCH_RIMEBLIGHT)
&& one_chance_in(2))
{
apply_rimeblight(*mon, ench_power);
}
}
}

static int _knockback_dist(spell_type origin, int pow)
Expand Down Expand Up @@ -5540,6 +5587,15 @@ bool bolt::ignores_monster(const monster* mon) const
if (flavour == BEAM_WATER && mon->type == MONS_WATER_ELEMENTAL)
return true;

// Rimeblight explosions won't hurt allies OR the monster that is exploding
if (origin_spell == SPELL_RIMEBLIGHT)
return mon->friendly() || mon->pos() == source;

// Casting this destroys the cannon anyway, but this prevents misleading
// targeter prompts.
if (origin_spell == SPELL_SEISMIC_SHOCKWAVE && mon->type == MONS_SEISMIC_CANNON)
return true;

int summon_type = 0;
mon->is_summoned(nullptr, &summon_type);
if (flavour == BEAM_QAZLAL && summon_type == MON_SUMM_AID)
Expand Down Expand Up @@ -5591,6 +5647,7 @@ bool bolt::has_saving_throw() const
case BEAM_CONCENTRATE_VENOM:
case BEAM_ENFEEBLE:
case BEAM_VITRIFYING_GAZE:
case BEAM_RIMEBLIGHT:
return false;
case BEAM_VULNERABILITY:
return !one_chance_in(3); // Ignores will 1/3 of the time
Expand Down Expand Up @@ -5713,6 +5770,11 @@ bool ench_flavour_affects_monster(actor *agent, beam_type flavour,
|| !mons_invuln_will(*mon);
break;

case BEAM_RIMEBLIGHT:
rc = !mon->has_ench(ENCH_RIMEBLIGHT)
&& mon->holiness() & (MH_NATURAL | MH_DEMONIC | MH_HOLY);
break;

default:
break;
}
Expand Down Expand Up @@ -6401,6 +6463,15 @@ mon_resist_type bolt::apply_enchantment_to_monster(monster* mon)
obvious_effect = true;
return MON_AFFECTED;

case BEAM_RIMEBLIGHT:
if (apply_rimeblight(*mon, ench_power, true))
{
mprf("A stygian plague fills %s body.",
apostrophise(mon->name(DESC_THE)).c_str());
obvious_effect = true;
}
return MON_AFFECTED;

default:
break;
}
Expand Down Expand Up @@ -6962,6 +7033,7 @@ bool bolt::nasty_to(const monster* mon) const
case BEAM_MINDBURST:
case BEAM_VAMPIRIC_DRAINING:
case BEAM_ENFEEBLE:
case BEAM_RIMEBLIGHT:
return ench_flavour_affects_monster(agent(), flavour, mon);
case BEAM_TUKIMAS_DANCE:
return tukima_affects(*mon); // XXX: move to ench_flavour_affects?
Expand Down Expand Up @@ -7257,6 +7329,7 @@ static string _beam_type_name(beam_type type)
case BEAM_CRYSTALLIZING: return "crystallizing";
case BEAM_WARPING: return "spatial disruption";
case BEAM_QAZLAL: return "upheaval targetter";
case BEAM_RIMEBLIGHT: return "rimeblight";

case NUM_BEAMS: die("invalid beam type");
}
Expand Down
Loading
Loading