Jump to content

Moving Bronce, Silver, Gold modifications


Recommended Posts

Hey Guys,
not sure if there are still people out there who are playing or modding sacred 2. Its my first ever post here.
So I just startet playing the old goodie a month ago. I figured that you can modify some spells inside the txt. data. I managed to switch combat arts to different characters but I still don't know how to switch out or modify the combat art mods. For example I would like to switch the  gold mod of baneful smite "Electrocute" with the bronce mod "Disarm"

Would be glad for any direct help or a point in the right direction.

Stay safe lads

Link to comment

Hey rolf0815:bye:

We have a very active modding community, like a good wine the game gets better and better with the years because of us.

For your goal you need to understand how scripts/shared/spells.txt works. First you need to find the spell you're looking for. There are different methods, I prefer this one:

Baneful smite is a seraphim spell, all seraphim spells start with '"se_'. The next is the aspect, baneful smite is celestial magic and all of those spells follow with 'cm_'. Last but not least, the sorting rank determines where the spell appears in the aspect, baneful smite is the first spell of the aspect, so we're searching for an '"se_cm_' spell with the 'sorting_rank = 1,' line. This is the one:

mgr.defineSpell( "se_cm_blitz", {
	eiStateName = "cSpellCast",
	fxTypeCast = "FX_GHOSTSHOCK_C",
	fxTypeSpell = "FX_GHOSTSHOCK",
	fxTypeCastSpecial = "FX_SE_CAST_K",
	duration = 0.050000,
	animType = "ANIM_TYPE_SM12",
	animTypeApproach = "ANIM_TYPE_INVALID",
	animTypeRide = "ANIM_TYPE_INVALID",
	animTypeSpecial = "ANIM_TYPE_RIDESM05-SPECIAL",
	causesSpellDamage = 1,
	tokens = {
		entry0 = {"et_duration_sec", 500, 0, 0, 8 },
		entry1 = {"et_damage_any_rel", 0, 50, 0, 5 },
		entry2 = {"et_spelldamage_magic", 490, 245, 0, 133 },
		entry3 = {"et_spelldamage_physical", 490, 245, 0, 133 },
		entry4 = {"et_debuff_movespeed", 300, 2, 1, 42 },
		entry5 = {"et_chance_disarm", 1000, 0, 2, 5 },
		entry6 = {"et_chance_electrify", 297, 3, 3, 5 },
		entry7 = {"et_debuff_EAW", 150, 2, 4, 133 },
		entry8 = {"et_dotdamage_magic", 490, 245, 5, 42 },
		entry9 = {"et_chance_chain_nr", 800, 5, 6, 4 },
		entry10 = {"et_hurl_enemy", 1, 0, 0, 9 },
	},
	fightDistance = 525.000000,
	aspect = "EA_SE_CELESTIALMAGIC",
	cooldown = 0.000000,
	soundProfile = 0,
	cost_level = 210,
	cost_base = 420,
	focus_skill_name = "skill_SE_celestialmagic_focus",
	lore_skill_name = "skill_SE_celestialmagic_lore",
	spellClass = "cSpellSeBlitz",
	spellcontroltype = "eCAtype_a_effect_attack_ray",
	sorting_rank = 1,
})

The entries under tokens are the spell effects. The first entry, the string, e.g. "et_chance_disarm", determines the effect, the second entry / first number determines the amount, the second number determines the scaling amount with level increase, the third number determines for what modification this entry is and the final parameter is complicated, it determines how the effect is applied and is generally good but not fully understood yet.

What is important for you is the 3d number then. 0 means it's active for the effect by default and 1-6 are the modifications in order. So you just need to swap the 5 with the 2:

mgr.defineSpell( "se_cm_blitz", {
	eiStateName = "cSpellCast",
	fxTypeCast = "FX_GHOSTSHOCK_C",
	fxTypeSpell = "FX_GHOSTSHOCK",
	fxTypeCastSpecial = "FX_SE_CAST_K",
	duration = 0.050000,
	animType = "ANIM_TYPE_SM12",
	animTypeApproach = "ANIM_TYPE_INVALID",
	animTypeRide = "ANIM_TYPE_INVALID",
	animTypeSpecial = "ANIM_TYPE_RIDESM05-SPECIAL",
	causesSpellDamage = 1,
	tokens = {
		entry0 = {"et_duration_sec", 500, 0, 0, 8 },
		entry1 = {"et_damage_any_rel", 0, 50, 0, 5 },
		entry2 = {"et_spelldamage_magic", 490, 245, 0, 133 },
		entry3 = {"et_spelldamage_physical", 490, 245, 0, 133 },
		entry4 = {"et_debuff_movespeed", 300, 2, 1, 42 },
		entry5 = {"et_chance_disarm", 1000, 0, 5, 5 },
		entry6 = {"et_chance_electrify", 297, 3, 3, 5 },
		entry7 = {"et_debuff_EAW", 150, 2, 4, 133 },
		entry8 = {"et_dotdamage_magic", 490, 245, 2, 42 },
		entry9 = {"et_chance_chain_nr", 800, 5, 6, 4 },
		entry10 = {"et_hurl_enemy", 1, 0, 0, 9 },
	},
	fightDistance = 525.000000,
	aspect = "EA_SE_CELESTIALMAGIC",
	cooldown = 0.000000,
	soundProfile = 0,
	cost_level = 210,
	cost_base = 420,
	focus_skill_name = "skill_SE_celestialmagic_focus",
	lore_skill_name = "skill_SE_celestialmagic_lore",
	spellClass = "cSpellSeBlitz",
	spellcontroltype = "eCAtype_a_effect_attack_ray",
	sorting_rank = 1,
})

If you want to, you can also sort them by the 3d parameter again, but the order of the entries has no further meaning as you can also see with entry10, this one came with EE.

For the 4th parameter meaning you can start with reading through This Thread and for tokens This wiki page. It's also possible to change the effects of tokens, but it's not possible to add new tokens or rename tokens.

 

Have fun and welcome again :)

Edited by Lindor
Reason: Spelling mistake
Link to comment
30 minutes ago, Lindor said:

Hey rolf0815:bye:

We have a very active modding community, like a good wine the game gets better and better with the years because of us.

For your goal you need to understand how scripts/shared/spells.txt works. First you need to find the spell you're looking for. There are different methods, I prefer this one:

Baneful smite is a seraphim spell, all seraphim spells start with '"se_'. The next is the aspect, baneful smite is celestial magic and all of those spells follow with 'cm_'. Last but not least, the sorting rank determines where the spell appears in the aspect, baneful smite is the first spell of the aspect, so we're searching for an '"se_cm_' spell with the 'sorting_rank = 1,' line. This is the one:

mgr.defineSpell( "se_cm_blitz", {
	eiStateName = "cSpellCast",
	fxTypeCast = "FX_GHOSTSHOCK_C",
	fxTypeSpell = "FX_GHOSTSHOCK",
	fxTypeCastSpecial = "FX_SE_CAST_K",
	duration = 0.050000,
	animType = "ANIM_TYPE_SM12",
	animTypeApproach = "ANIM_TYPE_INVALID",
	animTypeRide = "ANIM_TYPE_INVALID",
	animTypeSpecial = "ANIM_TYPE_RIDESM05-SPECIAL",
	causesSpellDamage = 1,
	tokens = {
		entry0 = {"et_duration_sec", 500, 0, 0, 8 },
		entry1 = {"et_damage_any_rel", 0, 50, 0, 5 },
		entry2 = {"et_spelldamage_magic", 490, 245, 0, 133 },
		entry3 = {"et_spelldamage_physical", 490, 245, 0, 133 },
		entry4 = {"et_debuff_movespeed", 300, 2, 1, 42 },
		entry5 = {"et_chance_disarm", 1000, 0, 2, 5 },
		entry6 = {"et_chance_electrify", 297, 3, 3, 5 },
		entry7 = {"et_debuff_EAW", 150, 2, 4, 133 },
		entry8 = {"et_dotdamage_magic", 490, 245, 5, 42 },
		entry9 = {"et_chance_chain_nr", 800, 5, 6, 4 },
		entry10 = {"et_hurl_enemy", 1, 0, 0, 9 },
	},
	fightDistance = 525.000000,
	aspect = "EA_SE_CELESTIALMAGIC",
	cooldown = 0.000000,
	soundProfile = 0,
	cost_level = 210,
	cost_base = 420,
	focus_skill_name = "skill_SE_celestialmagic_focus",
	lore_skill_name = "skill_SE_celestialmagic_lore",
	spellClass = "cSpellSeBlitz",
	spellcontroltype = "eCAtype_a_effect_attack_ray",
	sorting_rank = 1,
})

The entries under tokens are the spell effects. The first entry, the string, e.g. "et_chance_disarm", determines the effect, the second entry / first number determines the amount, the second number determines the scaling amount with level increase, the third number determines for what modification this entry is and the final parameter is complicated, it determines how the effect is applied and is generally good but not fully understood yet.

What is important for you is the 3d number then. 0 means it's active for the effect by default and 1-6 are the modifications in order. So you just need to swap the 5 with the 2:

mgr.defineSpell( "se_cm_blitz", {
	eiStateName = "cSpellCast",
	fxTypeCast = "FX_GHOSTSHOCK_C",
	fxTypeSpell = "FX_GHOSTSHOCK",
	fxTypeCastSpecial = "FX_SE_CAST_K",
	duration = 0.050000,
	animType = "ANIM_TYPE_SM12",
	animTypeApproach = "ANIM_TYPE_INVALID",
	animTypeRide = "ANIM_TYPE_INVALID",
	animTypeSpecial = "ANIM_TYPE_RIDESM05-SPECIAL",
	causesSpellDamage = 1,
	tokens = {
		entry0 = {"et_duration_sec", 500, 0, 0, 8 },
		entry1 = {"et_damage_any_rel", 0, 50, 0, 5 },
		entry2 = {"et_spelldamage_magic", 490, 245, 0, 133 },
		entry3 = {"et_spelldamage_physical", 490, 245, 0, 133 },
		entry4 = {"et_debuff_movespeed", 300, 2, 1, 42 },
		entry5 = {"et_chance_disarm", 1000, 0, 5, 5 },
		entry6 = {"et_chance_electrify", 297, 3, 3, 5 },
		entry7 = {"et_debuff_EAW", 150, 2, 4, 133 },
		entry8 = {"et_dotdamage_magic", 490, 245, 2, 42 },
		entry9 = {"et_chance_chain_nr", 800, 5, 6, 4 },
		entry10 = {"et_hurl_enemy", 1, 0, 0, 9 },
	},
	fightDistance = 525.000000,
	aspect = "EA_SE_CELESTIALMAGIC",
	cooldown = 0.000000,
	soundProfile = 0,
	cost_level = 210,
	cost_base = 420,
	focus_skill_name = "skill_SE_celestialmagic_focus",
	lore_skill_name = "skill_SE_celestialmagic_lore",
	spellClass = "cSpellSeBlitz",
	spellcontroltype = "eCAtype_a_effect_attack_ray",
	sorting_rank = 1,
})

If you want to, you can also sort them by the 3d parameter again, but the order of the entries has no further meaning as you can also see with entry10, this one came with EE.

For the 4th parameter meaning you can start with reading through This Thread and for tokens This wiki page. It's also possible to change the effects of tokens, but it's not possible to add new tokens or rename tokens.

 

Have fun and welcome again :)

Wow. Thanks a lot. Thats really helpful. Thx again for the fast reply and the warm welcome. =)

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
Please Sign In or Sign Up