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

Add new Creature spell - Ranged Heal #3463

Merged
merged 28 commits into from
Sep 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9185c22
Merge pull request #1 from dkfans/master
Linvail Sep 15, 2024
11bdf24
Add new Creature spell - Ranged Heal
Sep 9, 2024
2395f52
Merge branch 'master' into pr/3463
Loobinex Sep 16, 2024
f51085b
Merge branch 'dkfans:master' into feature/ranged-heal
Linvail Sep 17, 2024
31d9793
Add new Creature spell - Ranged Heal
Sep 9, 2024
8e82b74
Add ranged buff handling and remove duplicated code
Linvail Sep 19, 2024
d956bb1
Merge branch 'master' into pr/3463
Loobinex Sep 19, 2024
1ac6a0d
Improve ranged buff handling
Linvail Sep 20, 2024
39bc597
Merge branch 'master' into pr/3463
Loobinex Sep 20, 2024
b1a8240
Fixed errors related to recent keeperfx change
Loobinex Sep 20, 2024
c0fda7a
Fixed recent bug with final instance in list not working
Loobinex Sep 20, 2024
37af458
Fix ranged creature cannot start a fight
Linvail Sep 21, 2024
2bb3665
Use game.conf.crtr_conf.instances_count instead of CrInst_LISTEND
Linvail Sep 21, 2024
8e967c1
Add RANGED_SPEED instance to show how to add ranged buff
Linvail Sep 22, 2024
62b9231
Remove RANGED_SPEED and its shot.
Linvail Sep 22, 2024
384f2f8
Merge branch 'master' into feature/ranged-heal
Loobinex Sep 23, 2024
1fe86aa
restore heal spell
Loobinex Sep 23, 2024
69f0078
Temporary set a basic string until we have a name for all ranged spells
Loobinex Sep 23, 2024
a71a72e
Increase force visibility to more normal value
Loobinex Sep 23, 2024
697ac7f
Remove it from druid for time being
Loobinex Sep 23, 2024
ae6d29f
Allow ranged buff can be cast on the caster itself
Linvail Sep 27, 2024
6a4ba2d
Merge branch 'master' into pr/3463
Loobinex Sep 27, 2024
21ea100
use the new string
Loobinex Sep 27, 2024
a0ac992
Fix Heal in the Possession mode
Linvail Sep 28, 2024
4b5cda9
Merge branch 'master' into pr/3463
Loobinex Sep 28, 2024
b4f8c24
documentation tweak
Loobinex Sep 28, 2024
d227fa2
fixed typo in comment
Loobinex Sep 28, 2024
12172a3
unrelated typo fix I found during testing
Loobinex Sep 28, 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
34 changes: 30 additions & 4 deletions config/fxdata/creature.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ TooltipTextID = 201
SymbolSprites = 0
; Graphics animation used to display creature during the instance
Graphics = STAND
; Minimum distance the enemy can be to cast the offensive spell.
; Minimum distance the target can be to cast the spell.
RangeMin = 0
; Maximal distance the enemy can be to cast the offensive spell.
; Maximal distance the target can be to cast the spell.
RangeMax = 0
; Type of thing the aim assist will target first. Full meaning unknown, range 1~8.
; 8 targets anything, creatures targetted by all.
Expand All @@ -69,17 +69,22 @@ RangeMax = 0
; 7 will target traps.
PrimaryTarget = 0
; Instance property flags:
; RANGED_DEBUFF will be used in battle, but does not count as an attack
; RANGED_DEBUFF will be used on enemy creatures, but does not count as an attack
; DANGEROUS will be avoided when attacking Doors and Hearts
; DESTRUCTIVE is required when attacking Doors and Hearts
; SELF_BUFF does not do anything
; SELF_BUFF can be applied to caster.
; RANGED_BUFF can be applied to another friendly creature.
; REPEAT_TRIGGER allows player to hold down the mouse button to cast
; QUICK ranged attacks will be used by units going postal
; DISARMING allows instance to be used against traps
; DISPLAY_SWIPE Shows the swipe in possession loaded from the creatures PossessSwipeIndex
Properties =
; Function used as the instance action, and its parameters
Function = none 0 0
; Functions used validate the source and the target of the spell.
ValidateFunc = validate_source_generic validate_target_generic
; Functions used search targets of the spell.
SearchTargetsFunc = search_target_generic

[instance1]
Name = SWING_WEAPON_SWORD
Expand Down Expand Up @@ -946,6 +951,27 @@ Properties = SELF_BUFF
PrimaryTarget = 8
Function = creature_cast_spell SPELL_SUMMON_CREATURE 0

[instance50]
Name = RANGED_HEAL
Time = 10
ActionTime = 6
ResetTime = 400
FPTime = 5
FPActionTime = 3
FPResetTime = 250
FPInstantCast = 0
ForceVisibility = 10
TooltipTextID = 1066
SymbolSprites = 414
Graphics = ATTACK
RangeMin = MIN
RangeMax = 5120
PrimaryTarget = 6
Properties = RANGED_BUFF SELF_BUFF
Function = creature_cast_spell SPELL_HEAL 0
ValidateFunc = validate_source_ranged_heal validate_target_ranged_heal
SearchTargetsFunc = search_target_ranged_heal

[job0]
; Empty job, indicates no job assigned
Name = NULL
Expand Down
2 changes: 1 addition & 1 deletion config/fxdata/crstates.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Name = ImpDigsDirt
Name = ImpMinesGold

[state6]
Name = Null6
Name = CreatureCastingPreparation

[state7]
Name = ImpDropsGold
Expand Down
40 changes: 40 additions & 0 deletions config/fxdata/effects.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5017,3 +5017,43 @@ LightRadius = 0
LightIntensity = 0
LightFlags = 0
AffectedByWind = 1

[effectElement119]
Name = "EFFECTELEMENT_HEAL_BEAM"
DrawClass = 2
MoveType = 1
Unanimated = 0
Lifespan = [0,2]
AnimationId = 802
SpriteSize = [122,142]
RenderFlags = 0
SpriteSpeed = [192,256]
AnimateOnFloor = false
Unshaded = true
Transparent = 3
MovementFlags = 0
SizeChange = 0
FallAcceleration = 10
InertiaFloor = 102
InertiaAir = 0
SubeffectModel = 0
SubeffectDelay = 0
Movable = true
Impacts = true
SolidGroundEffmodel = 0
SolidGroundSoundId = 0
SolidGroundLoudness = 256
SolidGroundDestroyOnImpact = false
WaterEffmodel = 19
WaterSoundId = 36
WaterLoudness = 80
WaterDestroyOnImpact = false
LavaEffmodel = 0
LavaSoundId = 0
LavaLoudness = 256
LavaDestroyOnImpact = false
TransformModel = 0
LightRadius = 0
LightIntensity = 0
LightFlags = 0
AffectedByWind = 1
26 changes: 24 additions & 2 deletions config/fxdata/magic.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,8 @@ SymbolSprites = 355 412

[spell7]
Name = SPELL_HEAL
CastAtThing = 0
ShotModel = NOSHOT
CastAtThing = 1
ShotModel = SHOT_RANGED_HEAL
SpellPower = POWER_HEAL_CREATURE
Duration = 50
AuraEffect = -45
Expand Down Expand Up @@ -1329,6 +1329,28 @@ WithstandHitAgainst = WALL DOOR
Properties = NO_HIT REBOUND_IMMUNE WIND_IMMUNE EXPLODE_FLESH NO_STUN
UpdateLogic = 7

[shot33]
Name = SHOT_RANGED_HEAL
Animation = 0
AnimationSize = 0
AnimationTransparency = 0
Size_XY = 128
Size_Z = 128
Health = 2
Damage = 0
DamageType =
HitType = 11
Speed = 256
MaxRange = 5120
BaseExperienceGain = 0
DestroyOnHit = 0
TargetHitstopTurns = 0
SpellEffect = 7
Properties = REBOUND_IMMUNE WIND_IMMUNE HIDDEN_PROJECTILE
FireLogic = 1
EffectModel = EFFECTELEMENT_HEAL_BEAM
EffectSpacing = 96

; Powers types.

[power0]
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_chi.po
Original file line number Diff line number Diff line change
Expand Up @@ -1658,7 +1658,7 @@ msgstr "冰雹术: 发射密集的冰雹块。"

#: guitext:245
msgctxt "Creature spell"
msgid "Slow: Slows down the target creature, making it attacks and movement delayed."
msgid "Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "缓慢术: 降低目标怪物的速度,使它的行动和攻击变得迟缓。"

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_cht.po
Original file line number Diff line number Diff line change
Expand Up @@ -2105,7 +2105,7 @@ msgstr "冰雹术: [26.10]"
#, fuzzy
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "缓慢术: [26.19]"

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_cze.po
Original file line number Diff line number Diff line change
Expand Up @@ -2240,7 +2240,7 @@ msgstr "Krupobiti:"
#: guitext:245
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Zpomaleni:"

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_dut.po
Original file line number Diff line number Diff line change
Expand Up @@ -2249,7 +2249,7 @@ msgstr "Hagelstorm: [26.10]"
#, fuzzy
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Vertragen: [26.19]"

#: guitext:246
Expand Down
48 changes: 24 additions & 24 deletions lang/gtext_eng.pot
Original file line number Diff line number Diff line change
Expand Up @@ -1503,7 +1503,7 @@ msgstr ""

#: guitext:245
msgctxt "Creature spell"
msgid "Slow: Slows down the target creature, making it attacks and movement delayed."
msgid "Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr ""

#: guitext:246
Expand Down Expand Up @@ -5388,117 +5388,117 @@ msgid "Moo4"
msgstr ""

#: guitext:1011
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Dungeon Keeper - Original Campaign"
msgstr ""

#: guitext:1012
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Assmist Isle"
msgstr ""

#: guitext:1013
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Ancient Keeper campaign"
msgstr ""

#: guitext:1014
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Burdened Imps' Level Pack"
msgstr ""

#: guitext:1015
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Conquest of the Arctic"
msgstr ""

#: guitext:1016
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "The Destiny of Ninja"
msgstr ""

#: guitext:1017
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "DzjeeAr's 6-level campaign"
msgstr ""

#: guitext:1018
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "DzjeeAr's 10-level campaign"
msgstr ""

#: guitext:1019
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "DzjeeAr's 25-level campaign"
msgstr ""

#: guitext:1020
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Evil Keeper campaign"
msgstr ""

#: guitext:1021
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Grinics' KReign campaign"
msgstr ""

#: guitext:1022
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Japanese DKMaps8 pack"
msgstr ""

#: guitext:1023
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "KDK Levels"
msgstr ""

#: guitext:1024
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Good Campaign"
msgstr ""

#: guitext:1025
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Lord Vexer campaign"
msgstr ""

#: guitext:1026
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Nikolai's Castles campaign"
msgstr ""

#: guitext:1027
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Dungeon Keeper - NG+"
msgstr ""

#: guitext:1028
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Post Ancient Keeper campaign"
msgstr ""

#: guitext:1029
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Post Undead Keeper campaign"
msgstr ""

#: guitext:1030
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Quest for the Hero campaign"
msgstr ""

#: guitext:1031
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Revenge of the Lord"
msgstr ""

#: guitext:1032
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Twin Keepers Campaign"
msgstr ""

#: guitext:1033
msgctxt "Menu interface item\""
msgctxt "Menu interface item"
msgid "Undead Keeper campaign"
msgstr ""

Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_fre.po
Original file line number Diff line number Diff line change
Expand Up @@ -2284,7 +2284,7 @@ msgstr "Grêle : Crée une pluie de grêlons partout où le sort s'abat.[26.10]"
#: guitext:245
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr ""
"Lenteur : Ralentit la créature cible, ce qui ralentit ses attaques et "
"ses mouvements."
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_ger.po
Original file line number Diff line number Diff line change
Expand Up @@ -2308,7 +2308,7 @@ msgstr "Hagelsturm: Entfesselt einen Sturm aus Hagelkörnern. [26.10]"
#: guitext:245
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Verlangsamen: Bremst die Angriffe und Bewegungen der Zielkreatur erheblich. [26.19]"

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_ita.po
Original file line number Diff line number Diff line change
Expand Up @@ -2275,7 +2275,7 @@ msgstr "Tempesta di Grandine: [26.10]"
#, fuzzy
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Rallentamento: [26.19]"

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_kor.po
Original file line number Diff line number Diff line change
Expand Up @@ -2223,7 +2223,7 @@ msgstr "우박 폭풍: 우박이 맹위를 떨칩니다."
#: guitext:245
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "느려림: 대상 피조물의 속도가 느려져 공격 및 이동이 지연됩니다."

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_lat.po
Original file line number Diff line number Diff line change
Expand Up @@ -1650,7 +1650,7 @@ msgstr "Tempestas Grandinis: Pluviam grandinis creat ubicumque incantatio iacitu

#: guitext:245
msgctxt "Creature spell"
msgid "Slow: Slows down the target creature, making it attacks and movement delayed."
msgid "Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Lentitudo: Altera creatura lenta fit, quod efficit se aggredi et movere lentius."

#: guitext:246
Expand Down
2 changes: 1 addition & 1 deletion lang/gtext_pol.po
Original file line number Diff line number Diff line change
Expand Up @@ -2309,7 +2309,7 @@ msgstr "Burza gradowa: Tworzy opad wielkiego gradu w miejscu rzucenia czaru."
#: guitext:245
msgctxt "Creature spell"
msgid ""
"Slow: Slows down the target creature, making it attacks and movement delayed."
"Slow: Slows down the target creature, making its attacks and movement delayed."
msgstr "Spowolnienie: Spowalnia stwora, opóźniając jego ruch i ataki."

#: guitext:246
Expand Down
Loading