Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
42f8314
Cleanse (cont.)
AdamPlenty Nov 30, 2025
62c4d3d
Update magic.cfg
AdamPlenty Nov 30, 2025
d6fdf20
Update creature.cfg
AdamPlenty Nov 30, 2025
7e69b91
Update creature.cfg
AdamPlenty Nov 30, 2025
dc526e5
Update creature.cfg
AdamPlenty Nov 30, 2025
63452bf
Update thing_creature.c
AdamPlenty Nov 30, 2025
a8f1f8b
Update magic.cfg
AdamPlenty Nov 30, 2025
bfb8e0b
Update magic.cfg
AdamPlenty Nov 30, 2025
f738daf
Not needed.
AdamPlenty Nov 30, 2025
84a9213
Update magic.cfg
AdamPlenty Nov 30, 2025
b3a1e09
Does this help?
AdamPlenty Nov 30, 2025
e4b1ce8
Update creature.cfg
AdamPlenty Nov 30, 2025
7f2d06e
Now it works!
AdamPlenty Nov 30, 2025
b5de5da
Set Spell Block flags.
AdamPlenty Nov 30, 2025
a066fc9
Not needed.
AdamPlenty Nov 30, 2025
76e70e9
Update thing_creature.c
AdamPlenty Nov 30, 2025
e306d89
Fixed immediate termination
AdamPlenty Nov 30, 2025
2f396b1
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Nov 30, 2025
d5bb9a0
Block spells
AdamPlenty Nov 30, 2025
bcfc8fa
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Nov 30, 2025
d214e82
Take spell from instance info
AdamPlenty Nov 30, 2025
c76fa1d
User param1 for validation spell id
AdamPlenty Nov 30, 2025
4991e53
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 1, 2025
2491866
cleanse_flags creature control field
AdamPlenty Dec 1, 2025
cab24e6
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 1, 2025
c555929
Don't cure or block MAD_KILLING or TIMEBOMB
AdamPlenty Dec 1, 2025
1014206
Fixed icon positioning.
AdamPlenty Dec 2, 2025
7b7de8b
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 3, 2025
152c121
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 4, 2025
a18b676
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 8, 2025
876dcda
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 10, 2025
833a329
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 10, 2025
f378774
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 11, 2025
a389514
Merge branch 'master' into pr/4381
Loobinex Dec 11, 2025
0684839
Creatures self-Cleanse for Freeze
AdamPlenty Dec 12, 2025
3ef74aa
Make it configurable
AdamPlenty Dec 12, 2025
09dae08
Update creature.cfg
AdamPlenty Dec 12, 2025
6c25992
Update creature.cfg
AdamPlenty Dec 12, 2025
edbff96
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 12, 2025
3be44c5
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 13, 2025
2c4000d
Merge branch 'master' into pr/4381
Loobinex Dec 13, 2025
038ee65
Configurable effect
AdamPlenty Dec 13, 2025
ad60ec1
Purple stars effect
AdamPlenty Dec 13, 2025
0ebae48
Update effects.toml
AdamPlenty Dec 13, 2025
803e7e4
Update magic.cfg
AdamPlenty Dec 13, 2025
81ebe35
Update effects.toml
AdamPlenty Dec 13, 2025
b5b1d6c
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 14, 2025
96c4989
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 16, 2025
7d4fb35
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 16, 2025
ecaadca
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 18, 2025
afabdf2
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 20, 2025
864dc71
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 24, 2025
714ba09
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 27, 2025
e2e322e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 29, 2025
2691f9e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 29, 2025
7398c92
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 30, 2025
34e7b5e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 31, 2025
f699abd
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Dec 31, 2025
1015c9f
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 2, 2026
f234077
Blue sparkles
AdamPlenty Jan 3, 2026
576d5b3
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 4, 2026
06cdbe9
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 5, 2026
ba549e8
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 5, 2026
7ae23e5
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 7, 2026
83585aa
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 8, 2026
4c4ad17
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 8, 2026
395cd49
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 8, 2026
df46f2f
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 9, 2026
602c63a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 10, 2026
01266a4
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 10, 2026
5e07f60
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 11, 2026
288a4b1
Update configs
AdamPlenty Jan 11, 2026
a9bf1cd
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 13, 2026
84f7216
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 13, 2026
729f617
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 16, 2026
08e5112
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 17, 2026
4a9797d
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 18, 2026
a93cc5a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 21, 2026
fe813b7
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 21, 2026
66821de
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 22, 2026
1a68617
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 23, 2026
62a8653
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 24, 2026
af1f082
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 26, 2026
8cd2156
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 26, 2026
9dc7cf0
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 26, 2026
9805204
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 28, 2026
438c66e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 28, 2026
d211d42
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Jan 31, 2026
aaad36c
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 2, 2026
a97b7c4
Use own validation function instead
AdamPlenty Feb 3, 2026
93ab4f7
Ranged Cleanse instance and shot
Loobinex Feb 4, 2026
78825f7
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 4, 2026
4e048ef
Instead use param1 in validate_source_generic
AdamPlenty Feb 4, 2026
8bd93ae
No casting animation for frozen creatures
AdamPlenty Feb 4, 2026
3caf84e
Is this better?
AdamPlenty Feb 5, 2026
ba4c08b
No cleansing others when frozen
AdamPlenty Feb 5, 2026
bd5d4ee
Revert "Is this better?"
AdamPlenty Feb 5, 2026
105a3ea
Update comment
AdamPlenty Feb 5, 2026
8c76a47
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 5, 2026
619cd54
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 5, 2026
c79cf9c
Be able to self-cleanse in possession
Loobinex Feb 6, 2026
a5fe4a5
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 7, 2026
62b5237
Allow non-instant-cast self-cleansing while frozen in possession
AdamPlenty Feb 7, 2026
754683d
Fixed accidentally-reintroduced first-person camera/movement bug
AdamPlenty Feb 7, 2026
73b03d5
Perhaps this is better?
AdamPlenty Feb 7, 2026
563e878
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 7, 2026
4ba4f6a
creature.chicken console command
AdamPlenty Feb 7, 2026
c314911
Update console_cmd.c
AdamPlenty Feb 7, 2026
07b6e82
Allow while Chickened in possession
AdamPlenty Feb 7, 2026
652c8cd
Optimise
AdamPlenty Feb 7, 2026
6bb16b8
Block cleansing others whilst Chickened.
AdamPlenty Feb 7, 2026
58b44cc
Redundant assignment
AdamPlenty Feb 8, 2026
0c3ff11
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 8, 2026
e01f0a7
Allow cleansing of own accord whilst Chickened
AdamPlenty Feb 8, 2026
895368a
Ranged too
AdamPlenty Feb 8, 2026
941a64d
Added FPAllowWhenChicken config field
AdamPlenty Feb 8, 2026
47b60b6
Update creature.cfg
AdamPlenty Feb 8, 2026
fb40eef
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 8, 2026
13f038f
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 12, 2026
5b2c566
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 13, 2026
69be250
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 14, 2026
0a384b1
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 15, 2026
8cb9a7d
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 15, 2026
44c4881
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 15, 2026
63660e5
Update creature_instances.h
AdamPlenty Feb 15, 2026
420a9cd
Workaround for Cleanse resetting when de-Chickening in possession
AdamPlenty Feb 15, 2026
30ca738
Revert "Workaround for Cleanse resetting when de-Chickening in posses…
Loobinex Feb 15, 2026
0371547
Alternative approach
Loobinex Feb 15, 2026
f52aa5a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 18, 2026
3a04968
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 18, 2026
2e5864d
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 19, 2026
c6855b5
Explanatory comments
AdamPlenty Feb 19, 2026
efd5bb0
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 20, 2026
1765d9b
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 20, 2026
f60d812
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 23, 2026
9b8224e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 23, 2026
fa4424b
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 24, 2026
a973dbf
Reduce cleanse duration
Loobinex Feb 24, 2026
0871027
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 24, 2026
d621a2a
initial setup for keeper power version
Spatulade Feb 25, 2026
3e6f628
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 26, 2026
90a3121
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 27, 2026
5885dc3
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 28, 2026
4ba8786
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 28, 2026
efdb2a2
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 28, 2026
3a0e2b3
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Feb 28, 2026
7614604
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 1, 2026
6df3afe
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 1, 2026
6f8f57a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 1, 2026
ccbcb1b
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 2, 2026
8819f01
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 3, 2026
ac54316
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 4, 2026
e8e4e7a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 4, 2026
d7ac6ad
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 8, 2026
e8a3ce2
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 9, 2026
63bcc08
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 9, 2026
9240175
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 10, 2026
7b46316
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 12, 2026
11b98be
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 13, 2026
671046b
Also do tingle when creature gets hit with cleanse
Loobinex Mar 14, 2026
970d16f
Revert "initial setup for keeper power version"
Loobinex Mar 14, 2026
db89060
Create shot starts with random animation frame
Loobinex Mar 14, 2026
8c2202a
Use custom animation
Loobinex Mar 14, 2026
1b40de9
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 14, 2026
c688669
Set target for firelogic 3 (ShFL_Hail)
Loobinex Mar 14, 2026
2373916
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 15, 2026
5d85749
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 16, 2026
997cd5a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 16, 2026
d3d56b1
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 16, 2026
0ab9f4e
Merge branch 'master' into pr/4381
Loobinex Mar 19, 2026
0420516
Stopped creature hurt sound on cleanse
Loobinex Mar 19, 2026
fceb4b4
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 20, 2026
c8c3b5c
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 27, 2026
545883a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 28, 2026
7246c98
Exclude instances that are allowed while frozen from being suspended …
AdamPlenty Mar 28, 2026
39c403e
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 29, 2026
ce363b8
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 29, 2026
9a912ee
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Mar 30, 2026
42dc0c5
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 3, 2026
312e0b4
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 5, 2026
7eda037
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 6, 2026
2b7f286
Merge branch 'master' into pr/4381
Loobinex Apr 7, 2026
946c403
Removed all the = 0 lines
Loobinex Apr 7, 2026
163fb14
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 8, 2026
f18db5c
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 8, 2026
10045cb
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 10, 2026
6414239
Renamed FPAllowWhileFrozen to AllowWhileFrozen
AdamPlenty Apr 10, 2026
b217533
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 11, 2026
bbf8094
Pushed doing this over ValidateSourceFunc
Loobinex Apr 11, 2026
3ff76db
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 12, 2026
ad57ea4
Revert "Pushed doing this over ValidateSourceFunc"
Loobinex Apr 12, 2026
5b7b9ed
Revert "Renamed FPAllowWhileFrozen to AllowWhileFrozen"
Loobinex Apr 12, 2026
4b0c3f8
Revert Freeze tortured creatures
Loobinex Apr 12, 2026
2f8d50e
Update creature_instances.c
AdamPlenty Apr 12, 2026
6106207
Re-fix casting animation when self-cleansing Freeze
AdamPlenty Apr 12, 2026
b7bfa02
Refix frozen torture anim
Loobinex Apr 12, 2026
c9b6f8f
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 13, 2026
bfea53a
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 15, 2026
28b35f2
Make sure you cannot target others while chickened
Loobinex Apr 15, 2026
ad25d7d
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 16, 2026
cc5040d
Merge remote-tracking branch 'upstream/master' into Cleanse
AdamPlenty Apr 16, 2026
0caf072
French tweak snuck in
Loobinex Apr 17, 2026
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
62 changes: 62 additions & 0 deletions config/fxdata/creature.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ FPActionTime = 0
FPResetTime = 0
; Instance is activated as soon as it's selected.
FPInstantCast = 0
; Instance can be used when frozen in possession. Only works when targetting self.
FPAllowSelfCastWhileFrozen = 0
; Instance can be used when under the Chicken spell in possession. Only works when targetting self.
FPAllowSelfCastWhenChicken = 0
; How many game turns after using the instance creature can be spotted even if invisible.
ForceVisibility = 0
; Tooltip string ID, explaining what the instance does.
Expand Down Expand Up @@ -256,6 +260,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 250
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 10
TooltipTextID = 228
SymbolSprites = 408
Expand Down Expand Up @@ -295,6 +300,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 250
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 10
TooltipTextID = 230
SymbolSprites = 412
Expand All @@ -314,6 +320,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 250
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 1
TooltipTextID = 248
SymbolSprites = 414
Expand Down Expand Up @@ -353,6 +360,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 200
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 1
TooltipTextID = 239
SymbolSprites = 418
Expand All @@ -372,6 +380,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 3
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 10
TooltipTextID = 240
SymbolSprites = 420
Expand All @@ -389,6 +398,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 500
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 3
TooltipTextID = 236
SymbolSprites = 422
Expand Down Expand Up @@ -544,6 +554,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 300
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 100
TooltipTextID = 242
SymbolSprites = 434
Expand All @@ -561,6 +572,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 250
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 1
TooltipTextID = 243
SymbolSprites = 436
Expand All @@ -580,6 +592,7 @@ FPTime = 5
FPActionTime = 3
FPResetTime = 150
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 0
TooltipTextID = 232
SymbolSprites = 438
Expand Down Expand Up @@ -978,6 +991,7 @@ FPTime = 6
FPActionTime = 5
FPResetTime = 600
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 30
TooltipTextID = 1080
SymbolSprites = BIRD_SPELL
Expand All @@ -997,6 +1011,7 @@ FPTime = 6
FPActionTime = 5
FPResetTime = 190
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
ForceVisibility = 30
TooltipTextID = 1081
SymbolSprites = SPIDERLING_SPELL
Expand Down Expand Up @@ -1114,6 +1129,53 @@ PrimaryTarget = 3
Properties = DESTRUCTIVE MELEE_ATTACK DISPLAY_SWIPE
Function = creature_fire_shot SHOT_CRIPPLE 0

[instance55]
Name = CLEANSE
Time = 10
ActionTime = 6
ResetTime = 375
FPTime = 5
FPActionTime = 3
FPResetTime = 300
FPInstantCast = 1
FPAllowSelfCastWhileFrozen = 1
FPAllowSelfCastWhenChicken = 1
ForceVisibility = 10
TooltipTextID = 1067
SymbolSprites = 798
Graphics = CASTSPELL
Properties = SELF_BUFF
PrimaryTarget = 6
Function = creature_cast_spell SPELL_CLEANSE 0
;param 1 - spell flags under which the instance is allowed
ValidateSourceFunc = validate_source_even_in_prison 2560 0
;param 1 - spell kind from which to take CleanseFlags
ValidateTargetFunc = validate_target_requires_cleansing 32 0

[instance56]
Name = RANGED_CLEANSE
Time = 10
ActionTime = 6
ResetTime = 375
FPTime = 5
FPActionTime = 3
FPResetTime = 300
FPInstantCast = 0
FPAllowSelfCastWhileFrozen = 1
FPAllowSelfCastWhenChicken = 1
ForceVisibility = 30
TooltipTextID = 1068
SymbolSprites = 794
Graphics = CASTSPELL
RangeMin = MIN
RangeMax = 3072
Properties = RANGED_BUFF SELF_BUFF NEEDS_TARGET
PrimaryTarget = 6
Function = creature_cast_spell SPELL_CLEANSE 0
ValidateSourceFunc = validate_source_generic 2560 0
ValidateTargetFunc = validate_target_requires_cleansing 32 0
SearchTargetsFunc = search_target_generic 0 0

[job0]
; Empty job, indicates no job assigned.
Name = NULL
Expand Down
76 changes: 75 additions & 1 deletion config/fxdata/effects.toml
Original file line number Diff line number Diff line change
Expand Up @@ -1514,6 +1514,24 @@ LightFlags = 1
ElementsCount = 3
AlwaysGenerate = 0

[effect83]
Name = "EFFECT_CLEANSE"
Health = 8
GenerationType = 1
GenerationAccelXYRange = [16,16]
GenerationAccelZRange = [64,256]
GenerationKindRange = [124,124]
AreaAffectType = 0
HitType = 0
SpellEffect = 0
Sound = 0
AffectedByWind = 0
LightRadius = 0
LightIntensity = 0
LightFlags = 0
ElementsCount = 1
AlwaysGenerate = 0

# EffectGenerators.

[effectGenerator0]
Expand Down Expand Up @@ -5301,4 +5319,60 @@ TransformModel = 0
LightRadius = 1
LightIntensity = 0
LightFlags = 0
AffectedByWind = 1
AffectedByWind = 1

[effectElement124]
Name = "EFFECTELEMENT_CLEANSE"
DrawClass = 2
MoveType = 2
Unanimated = 0
Lifespan = [-1,-1]
AnimationId = 119
SpriteSize = [96,150]
AnimateOnce = 0
SpriteSpeed = [384,512]
AnimateOnFloor = true
Unshaded = true
Transparent = 3
ThroughWalls = 0
SizeChange = 0
FallAcceleration = 0
InertiaFloor = 0
InertiaAir = 0
SubeffectModel = 0
SubeffectDelay = 0
Movable = false
Impacts = false
TransformModel = 125
LightRadius = 0
LightIntensity = 0
LightFlags = 0
AffectedByWind = 0

[effectElement125]
Name = "EFFECTELEMENT_CLEANSE_DURATION"
DrawClass = 2
MoveType = 2
Unanimated = 0
Lifespan = [10,15]
AnimationId = 850
SpriteSize = [12,24]
AnimateOnce = 0
SpriteSpeed = [384,512]
AnimateOnFloor = true
Unshaded = true
Transparent = 3
ThroughWalls = 0
SizeChange = 0
FallAcceleration = 0
InertiaFloor = 0
InertiaAir = 0
SubeffectModel = 0
SubeffectDelay = 0
Movable = false
Impacts = false
TransformModel = 0
LightRadius = 0
LightIntensity = 0
LightFlags = 0
AffectedByWind = 0
43 changes: 43 additions & 0 deletions config/fxdata/magic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ SpellPower = NOPOWER
; 32768: TELEPORT - If self-cast, jumps to its next objective or place to fulfill its needs. If cast on a target, jumps it to its lair or flee point.
; 65536: TIMEBOMB - Sets a countdown on the target, making it move toward enemies to explode on impact, dealing damage from the linked shot.
; 131072: WIND - Not functional on spells, exists only for immunity.
; 262144: CLEANSE - Cures effects specified in 'CleanseFlags'.
Comment thread
walt253 marked this conversation as resolved.
; 524288: SPELL_BLOCKS - Prevents effects from affecting the creature. Must be combined with 'CleanseFlags' to function, has no effect on its own.
SpellFlags = 0
; Spell effects to remove from the target. Use the same list as 'SpellFlags'. Accepts both names and numbers.
CleanseFlags = 0
Expand Down Expand Up @@ -357,6 +359,21 @@ Duration = 160
SelfCasted = 1 978 1
SymbolSprites = 768 770

[spell32]
; Cures all negative effect and blocks them for a short duration.
Name = SPELL_CLEANSE
CastAtThing = 1
ShotModel = SHOT_RANGED_CLEANSE
SpellPower = NOPOWER
SpellFlags = SPELL_BLOCKS
AuraEffect = EFFECT_CLEANSE
AuraFrequency = 0
AuraDuration = 10
CleanseFlags = SLOW DISEASE CHICKEN FREEZE FEAR
Duration = 30
SelfCasted = 1 162 1
SymbolSprites = 796 798

; Shots types.

[shot0]
Expand Down Expand Up @@ -1586,6 +1603,32 @@ FrozenEffect = EFFECT_HIT_FROZEN_UNIT
Properties = CAN_COLLIDE NEVER_BLOCK WIND_IMMUNE
UpdateLogic = SmokeWhenFired

[shot41]
Name = SHOT_RANGED_CLEANSE
Animation = SPARKLE_CLEANSE
AnimationSize = 128
AnimationTransparency = 3
Size_XY = 64
Size_Z = 64
Health = 30
Damage = 0
HitType = 11
SpellEffect = SPELL_CLEANSE
Speed = 128
BaseExperienceGain = 256
DestroyOnHit = 1
TargetHitstopTurns = 6
FiringSound = 161
ShotSound = 0
ShotSoundPriority = 1
HitWaterEffect = EFFECT_DRIP_1
HitWaterSound = 21 1
Properties = NAVIGABLE REBOUND_IMMUNE
FireLogic = 3
EffectAmount = 3
Spread_XY = 50
Spread_Z = 50

; Powers types.

[power0]
Expand Down
6 changes: 3 additions & 3 deletions lang/gtext_fre.po
Original file line number Diff line number Diff line change
Expand Up @@ -2766,10 +2766,10 @@ msgid ""
"can be rotated. Disable the warp effect for clean lines. Forced perspective "
"can only be rotated 90 degrees and changes the viewing angle. LMB toggle."
msgstr ""
"Type d'affichage: Alterne entre deux types de vue de la perspective. La vue "
"par défaut a des murs tordus et permet la rotation libre. Désactivez l'effet "
"Type d'affichage: Alterne entre les vues en perspective. La vue "
"par défaut a des murs tordus et permet une rotation libre. Désactivez l'effet "
"de torsion pour des lignes droites. La vue forcée change l'angle de vision "
"et ne peut faire que des rotations à 90 degrés. Alterner avec le bouton "
"et ne peut pivoter que par rotations de 90 degrés. Alterner avec le bouton "
"gauche de la souris."

#: guitext:315
Expand Down
30 changes: 30 additions & 0 deletions src/config_creature.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ const struct NamedCommand creaturetype_instance_commands[] = {
{"SearchTargetsFunc", 20},
{"PostalPriority", 21},
{"NoAnimationLoop", 22},
{"FPAllowSelfCastWhileFrozen", 23},
{"FPAllowSelfCastWhenChicken", 24},
{NULL, 0},
};

Expand Down Expand Up @@ -1014,6 +1016,8 @@ TbBool parse_creaturetype_instance_blocks(char *buf, long len, const char *confi
inst_inf->validate_target_func_params[0] = 0;
inst_inf->validate_target_func_params[1] = 0;
inst_inf->postal_priority = 0;
inst_inf->fp_allow_self_cast_while_frozen = 0;
inst_inf->fp_allow_self_cast_when_chicken = 0;
}
}
instance_desc[INSTANCE_TYPES_MAX - 1].name = NULL; // must be null for get_id
Expand Down Expand Up @@ -1411,6 +1415,32 @@ TbBool parse_creaturetype_instance_blocks(char *buf, long len, const char *confi
COMMAND_TEXT(cmd_num), blocknamelen, blockname, config_textname);
}
break;
case 23: // FPALLOWSELFCASTWHILEFROZEN
if (get_conf_parameter_single(buf,&pos,len,word_buf,sizeof(word_buf)) > 0)
{
k = atoi(word_buf);
inst_inf->fp_allow_self_cast_while_frozen = (TbBool)k;
n++;
}
if (n < 1)
{
CONFWRNLOG("Couldn't read \"%s\" parameter in [%.*s] block of %s file.",
COMMAND_TEXT(cmd_num), blocknamelen, blockname, config_textname);
}
break;
case 24: // FPALLOWSELFCASTWHENCHICKEN
if (get_conf_parameter_single(buf,&pos,len,word_buf,sizeof(word_buf)) > 0)
{
k = atoi(word_buf);
inst_inf->fp_allow_self_cast_when_chicken = (TbBool)k;
n++;
}
if (n < 1)
{
CONFWRNLOG("Couldn't read \"%s\" parameter in [%.*s] block of %s file.",
COMMAND_TEXT(cmd_num), blocknamelen, blockname, config_textname);
}
break;
case ccr_comment:
break;
case ccr_endOfFile:
Expand Down
1 change: 1 addition & 0 deletions src/config_magic.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ const struct NamedCommand spell_effect_flags[] = {
{"TELEPORT", CSAfF_Teleport},
{"TIMEBOMB", CSAfF_Timebomb},
{"WIND", CSAfF_Wind},
{"SPELL_BLOCKS", CSAfF_SpellBlocks},
{NULL, 0},
};

Expand Down
1 change: 1 addition & 0 deletions src/config_magic.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ enum CreatureSpellAffectedFlags {
CSAfF_Teleport = 0x008000,
CSAfF_Timebomb = 0x010000,
CSAfF_Wind = 0x020000,
CSAfF_SpellBlocks = 0x040000,
};

enum SpellPropertiesFlags {
Expand Down
Loading