Jump to content

How to mod Sacred 2 Dragon Magic


Synnworld

Recommended Posts

Hello there, since I have no clue how I want to go about this message; I'll just get to the point. I would like to know if there was a way to edit dragon magic so that dragon berserker/form were more viable as a primary sources of combat? Even if it is something as cheap as removing the timers on the forms (I would prefer not to do this, I do want balance, but I'd rather be a dragon first.) Through google I've found a few topics talking about multiple problems with the forms, they disable buffs, they lack physical defense late game, they're not altered by dragon magic lore. Yet I have not found any topics (through google) where anyone one has tried to fix or find ways around these problems via modding/file editting.

 

Anything would be appreciated, and thanks for your time.

  • Like! 1
Link to comment

 

Yet I have not found any topics (through google) where anyone one has tried to fix or find ways around these problems via modding/file editting.

 

Enhanced Spells Mod

 

If you don't want the whole mod there is a way to edit the Dragon Berserk Form yourself by just copying the changes I made into your spells.txt file (in <installation folder>/scripts/shared). Use a good text editor like Notepad++. Search for the name of the spell and replace the entry with my new one. Back up the file first to be able to revert.

 

mgr.defineSpell( "dm_dm_berserkerform", {
    eiStateName = "cSpellCast",
    fxTypeCast = "FX_DM_MORPH_BERSERKER_C",
    fxTypeSpell = "FX_DM_MORPH_BERSERKER",
    fxTypeCastSpecial = "",
    duration = 10.000000,
    animType = "ANIM_TYPE_SM17",
    animTypeApproach = "",
    animTypeRide = "",
    animTypeSpecial = "ANIM_TYPE_RIDESM17-SPECIAL",
    causesSpellDamage = 1,
    tokens = {
        entry0 = {"et_self_shapeshift", 1000, 2996, 0, 41 },
        entry1 = {"et_duration_sec", 2000, 10, 0, 8 },
        entry2 = {"et_life_leech", 75, 30, 0, 9 },
        entry3 = {"et_AWVW_rel", 0, 400, 0, 5 },
        entry4 = {"et_charge_shapeshift", 25, 3, 0, 5 },
        entry5 = {"et_weapondamage_physical", 0, 100, 0, 9 },
        entry6 = {"et_base_armor_phy", 100, 10, 0, 41 },
        entry7 = {"et_base_armor_fir", 100, 10, 0, 41 },
        entry8 = {"et_armor_any_rel", 0, 75, 0, 41 },
        entry9 = {"et_life_buff", 125, 325, 0, 9 },
        entry10 = {"et_damping_any", 15, 5, 0, 41 }, 
        entry11 = {"et_physical_to_magic", 250, 0, 0, 5 },
	entry12 = {"et_damage_any_rel", 0, 75, 0, 5 },
        entry13 = {"et_armor_any_rel", 0, 75, 1, 41 },
        entry14 = {"et_addAttackspeed", 250, 5, 2, 41 },
        entry15 = {"et_chance_surehit", 300, 2, 3, 5 },
        entry16 = {"et_life_leech", 40, 15, 4, 9 },
        entry17 = {"et_damage_any_rel", 0, 75, 5, 5 },
        entry18 = {"et_addspell_blutrausch", 1000, 0, 6, 5 },
    },
    fightDistance = 0.000000,
    aspect = "EA_DM_DRAGONMAGIC",
    cooldown = 60.000000,
    soundProfile = 0,
    cost_level = 250,
    cost_base = 500,
    focus_skill_name = "skill_DM_dragonmagic_focus",
    lore_skill_name = "skill_DM_dragonmagic_lore",
    spellClass = "cSpellDmMorph",
    spellcontroltype = "eCAtype_b_boost_self",
    sorting_rank = 1,
})

 

mgr.defineSpell( "dm_form_brsrk_blutrausch", {
    eiStateName = "cSpellCast",
    fxTypeCast = "",
    fxTypeSpell = "FX_GEN_BERSERKER",
    fxTypeCastSpecial = "",
    duration = 0.000000,
    animType = "ANIM_TYPE_MAGICA",
    animTypeApproach = "",
    animTypeRide = "",
    animTypeSpecial = "",
    causesSpellDamage = 1,
    tokens = {
        entry0 = {"et_duration_sec", 1285, 15, 0, 8 },
        entry1 = {"et_wounded_thold", 650, 0, 0, 37 },
        entry2 = {"et_wounded_rage", 1000, 50, 0, 37 },
        entry3 = {"et_addAttackspeed", 495, 5, 0, 41 },
	entry4 = {"et_chance_bypass_armor", 100, 5, 0, 5 },
	entry5 = {"et_chance_reflect_CC", 100, 8, 0, 41 },
    },
    fightDistance = 0.000000,
    aspect = "EA_DM_DRAGONMAGIC",
    cooldown = 30.000000,
    soundProfile = 0,
    cost_level = 100,
    cost_base = 200,
    focus_skill_name = "skill_DM_dragonmagic_focus",
    lore_skill_name = "skill_DM_dragonmagic_lore",
    spellClass = "cSpellGenericBoost",
    spellcontroltype = "eCAtype_b_boost_self",
    sorting_rank = 0,
})

 

mgr.defineSpell( "dm_form_brsrk_zerfetzen", {
    eiStateName = "cSMZealhit",
    fxTypeCast = "fx_berserker_zerfetzen_c",
    fxTypeSpell = "",
	fxTypeCastSpecial = "",
    duration = 0.000000,
    animType = "ANIM_TYPE_SM01",
    animTypeApproach = "",
    animTypeRide = "",
    animTypeSpecial = "",
    causesSpellDamage = 0,
    tokens = {
        entry0 = {"et_life_leech_rel", 15, 2, 0, 9 },
        entry1 = {"et_mult_weapondamage", 800, 5, 0, 9 },
        entry2 = {"et_baseAW", 200, 500, 0, 5 },
        entry3 = {"et_chance_bleeding", 300, 20, 0, 5 },
        entry4 = {"et_damage_any_rel", 100, 150, 0, 5 },
        entry5 = {"et_chance_deepwound", 80, 5, 0, 5 },
        entry6 = {"et_chance_doublehit", 95, 5, 0, 5 },
	entry7 = {"et_damage_areasplash", 745, 5, 0, 9 },
	entry8 = {"et_chance_stun", 97, 3, 0, 133 },
    },
    fightDistance = 45.000000,
    aspect = "EA_DM_DRAGONMAGIC",
    cooldown = 0.000000,
    soundProfile = 0,
    cost_level = 200,
    cost_base = 400,
    focus_skill_name = "skill_DM_dragonmagic_focus",
    lore_skill_name = "skill_DM_dragonmagic_lore",
    spellClass = "cSpellSMove",
    spellcontroltype = "eCAtype_a_weapon_attack",
    sorting_rank = 0,
})

 

I gave up on the Dragon Form and made it a summon instead for the Enhanced Spells Mod.

 

Another user talks about modding Dragon Berserk in this thread: Dragon Berserk Tweaks

Thanks for the reply, but what do I need to do to keep dragon form, I'd rather be the dragon then just summon one. Plus...thats actuallly the one I like best out of the two.

 

edit; nvm, beggers cant be choosersm I just installed the mod anyways.

Edited by Synnworld
Link to comment

Synnworld, there's one other thing I forgot to mention, and that's Llama's CM Patch Mod. In his mod, he removed Dragon Berserk, however he reworked Dragon Form to steadily scale in power and achieve more powerful forms through modifications.

 

Depending on how comfortable you are editing the scripts, you could probably copy over the changes to Dragon Form. There are new entries in spells.txt and creatures.txt.

 

This is the Dragon Form entry:

 

mgr.defineSpell( "dm_dm_drachenform", {
	eiStateName = "cSpellCast",
	fxTypeCast = "FX_DM_MORPH_DRAGON_C",
	fxTypeSpell = "FX_DM_MORPH_DRAGON",
	fxTypeCastSpecial = "",
	duration = 10.000000,
	animType = "ANIM_TYPE_SM17",
	animTypeApproach = "",
	animTypeRide = "",
	animTypeSpecial = "ANIM_TYPE_RIDESM17-SPECIAL",
	causesSpellDamage = 1,
	tokens = {
		entry0 = {"et_self_shapeshift", 1000, 1994, 0, 41 },
		entry1 = {"et_duration_sec", 3000, 5, 0, 8 },
		entry2 = {"et_armor_any_rel", 0, 50, 0, 41 },
		entry3 = {"et_weapondamage_fire", 0, 20, 0, 9 },
		entry4 = {"et_AWVW_rel", 0, 100, 0, 41 },
		entry5 = {"et_self_shapeshift", 1000, 1000, 1, 41 },
		entry6 = {"et_damage_any_rel", 0, 40, 2, 5 },
		entry7 = {"et_self_shapeshift", 1000, 1000, 3, 41 },
		entry8 = {"et_chance_bypass_armor", 50, 5, 4, 5 },
		entry9 = {"et_self_shapeshift", 1000, 1000, 5, 41 },
		entry10 = {"et_regThisCool", 450, 51, 6, 8 },
	},
	fightDistance = 0.000000,
	aspect = "EA_DM_DRAGONMAGIC",
	cooldown = 60.000000,
	soundProfile = 0,
	cost_level = 250,
	cost_base = 500,
	focus_skill_name = "skill_DM_dragonmagic_focus",
	lore_skill_name = "skill_DM_dragonmagic_lore",
	spellClass = "cSpellDmMorph",
	spellcontroltype = "eCAtype_b_boost_self",
	sorting_rank = 0,
})

 

And you'd need to copy these entries into creatures.txt, just before the list that starts with "if not mgr.addCreatureBonus then"

 

mgr.createCreature {
	id = 2994,
	itemtype_id = 6730,
	name = "spell_dm_dragon_shapeshift_boost_1",
	behaviour = "Invalid",
	dangerclass = 7,
	groupmaxcount = 1,
	elite_creature_id = 2994,
	probabilityforelite = 0.000000,
	rank = 0,
	tenergy_creature_id = 2994,
	livesremaining = 0,
	unconscioustime = 20,
	palettebits = "1111111111111111",
	monstertype = 0,
	faction_id = 1,
	modelscale = 1.200000,
	rise_from_ground = 0,
	has_corpse = 1,
	has_soul = 1,
	can_strafe = 0,
}

mgr.createCreature {
	id = 3994,
	itemtype_id = 12773,
	name = "spell_dm_dragon_shapeshift_boost_2",
	behaviour = "Invalid",
	dangerclass = 7,
	groupmaxcount = 1,
	elite_creature_id = 3994,
	probabilityforelite = 0.000000,
	rank = 0,
	tenergy_creature_id = 3994,
	livesremaining = 0,
	unconscioustime = 20,
	palettebits = "1111111111111111",
	monstertype = 0,
	faction_id = 1,
	modelscale = 0.150000,
	rise_from_ground = 0,
	has_corpse = 1,
	has_soul = 1,
	can_strafe = 0,
}

mgr.createCreature {
	id = 4994,
	itemtype_id = 8697, --970
	name = "spell_dm_dragon_shapeshift_boost_3",
	behaviour = "Invalid",
	dangerclass = 7,
	groupmaxcount = 1,
	elite_creature_id = 4994,
	probabilityforelite = 0.000000,
	rank = 0,
	tenergy_creature_id = 4994,
	livesremaining = 0,
	unconscioustime = 20,
	palettebits = "1111111111111111",
	monstertype = 0,
	faction_id = 1,
	modelscale = 0.300000,
	rise_from_ground = 0,
	has_corpse = 1,
	has_soul = 1,
	can_strafe = 0,
}

 

The modification tooltips would show the old (wrong) descriptions, but it would work. I'd say you could just install the mod, but it's not compatible with Enhanced Spells or the latest CM Patch for that matter.

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