forums | blogs | polls | tutorials | downloads | rules | help

Error message

Deprecated function: The each() function is deprecated. This message will be suppressed on further calls in remember_me_form_alter() (line 78 of /var/www/siegetheday.org/sites/all/modules/contrib/remember_me/remember_me.module).

Ancient Gifts Mod Beta 1C




Description:

Current Version: 1C

Authors: HardLess, Mantella

Contact:

Summary:

With the cataclysm that put an end to the second age, many ancient knowledges were lost. Today as the earth shakes under army's march, the foundations of the second age reemerged from there ruins.

This mod provide a new "Soul of Iron" skill table (melee/combat magic) and 32 Dungeon siege 1 spells !





Details:
  • Single Player: Y
  • Multi-Player: Y
  • Difficulty Settings: N
  • New Graphics: Y
  • New Sounds / Music: N
  • New Weapons: Y
  • New Armor: Y
  • New Spells: Y
  • New Misc. Items (Rings, Amulets...): N
  • New Character(s): N
  • Modified GUI: Y
  • Modified Experience: N
  • Modified Custom Map: N
  • Modified Skill Tabs: Y
  • New Enemy Type(s): N
  • Modified Attribute System: Y
  • Modified Loot Drops: N
  • Modified Container: N
  • Modified Spells: Y
  • Modified Items Modifiers: Y
  • Next Improvements:
  • Powers for the current Tab
  • Skill Tab
  • Armors and Weapons
  • Spells
  • Other features
  • Know Issues:
  • Fist of stone level indicator hidden
  • Skill incrementing indicator not implemented
  • Skill points bonus display not implemented























  • Installation:
    Place Ancient_Gifts_Beta_1c.ds2res into the Dungeon Siege 2 Broken World Resources folder.

    Uninstall:
    Remove Ancient_Gifts_Beta_1c.ds2res from the Dungeon Siege 2 Broken World Resources directory.


    Links:

    You can find the english readme here.
    You can find the french readme here.
    Ancient Gifts Beta 1c: Download it

    Ancient Gifts Beta 1c for Aranna Legacy: Download it.

    Ancient Gifts Beta 1c for Adepts: Work in progress.

    Special thanks to KillerGremal, DarkElf, Bare-Elf, Dulac and Iryan.



    HardLess and Mantella

    __________________________

    HardLess's picture

    Dulac wrote:
    An alternative solution could be activating the skrit by using the spell that splits the melee and combat damage. That isn't the most desirable solution, but it wouldn't affect gameplay too terribly.

    I don't know if you tried the first version of the Ancient Gifts but this is basically how it was working.

    Because of the lack a new tab, I wasn't able to apply anything on the character. The only solution was to use spells, and apply enchantements if he had a skill point in for instance "devastation"

    I really don't want to do it this way, I really want the player to be free in his chooses. I want this skill tab to be like the other one, you don't have to get a spell to use it.

    I'll take a lot at the Energy Orb, but it seems that power are pretty much like spells just the cast isn't the same.

    See you.

    PS : I have a problem with this fubi.log, the DS2TK say something like "fubi dumped in 'fubi.log'" and the fubi.log is supposed to be in the same directory as the DS2TK but impossible to find it... Will try on a other computer.

    HardLess wrote:



    nice UI, may want to expand the rect of the specialties tab, so it lines up under the combat/melee tab, otherwise nice start, can also change text color for instance red = 00FF0000 etc.. http://www.colorpicker.com/ can be used to make it pretty lol

    Dulac wrote:

    The power Energy Orb stays active when the player is dead. Maybe it works like a summon as a separate entity. That may be helpful. I wonder if you could create a dummy entity that works like a summon or Energy Orb. An alternative solution could be activating the skrit by using the spell that splits the melee and combat damage. That isn't the most desirable solution, but it wouldn't affect gameplay too terribly.

    pretty sure Energy Orb and Summons stop when the character dies, they don't when player is unconscious. The skrits check to see if the character is valid or dead and if not then marks for deletion the effects.

    Opps! Yeah, I confused unconsciousness with dead. NM that.

    I take it u are using something similar to this?

    OnSwitchSoulOfIron$
    {

    OnSwitch$( "SoulOfIron" );
    SetUIWindowState$( "character_skills_tab", "text_skills_melee", false, false );
    SetUIWindowState$( "character_skills_tab", "text_skills_ranged", false, false );
    SetUIWindowState$( "character_skills_tab", "text_skills_nmagic", false, false );
    SetUIWindowState$( "character_skills_tab", "text_skills_cmagic", false, false );
    SetUIWindowState$( "character_skills_tab", "text_skills_blood_assassin", false, false );
    SetUIWindowState$( "character_skills_tab", "text_skills_fist_of_stone", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_melee", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_ranged", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_nmagic", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_cmagic", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_blood_assassin", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_fist_of_stone", false, false );
    SetUIWindowState$( "character_skills_tab", "text_powers_soul_of_iron", true, true );
    SetUIWindowState$( "character_skills_tab", "text_skills_soul_of_iron", true, true );

    ChangeLevelTextWindowColors$("Soul Of Iron");

    UIShell.ShowGroup( "alternate_powers", false, "character_skills_tab" );
    }

    HardLess's picture

    This is pretty much the first thing I tried, but it would have been too easy don't you think ?

    So no, in "OnSwitch" function there is this one "UISkillManager.SetCurrentSkillPage", and this one is hardcoded and it is supposed to do all the work to switch.

    And when I say all the work, it's "ALL". Because this function is supposed to do the switch, enabled every button of the page, make visible every new button and make invisible the others, place texture background, set the function to show the number of points you have in a skill on, the function to set the number of points you are adding in a skill, and also the one to darken each skill points you can't increment and a lot more (perhaps like every function needed).

    Basically, what you need to do, is tweak one of the existing skill tab. So your tab will switch on the fist of stone tab but will hide every fist of stone skills and you put yours over.

    HardLess's picture

    KillerGremal wrote:

    Such skills possibly could be handled in the [skill_manager] component of heroes

    [magic]
    {
       [echantments]
       { ... }
    }

    Does adding a [magic] component in the hero "template" is possible ? So with this I could apply enchantments by name from the hero Goid...

    I'll try but I don't think it could work. Wink

    Could be funny :P

    Drevin uses enchantment, assuming you mean a template gas file, but then if you do a hero template it's going to be pretty much a merc or global on all characters made.

    HardLess's picture

    Darkelf wrote:
    Drevin uses enchantment, assuming you mean a template gas file, but then if you do a hero template it's going to be pretty much a merc or global on all characters made.

    This is exactly what I want to do :).

    But there is a problem.

    I've just add this in the heroes_ds2.gas, in the hero template.

    [magic]
    	{
    		[enchantments]
    		{
    			[test_1]
    			{
    				alteration			= alter_strength;
    				value				= 500;
    				duration			= #infinite;
    				is_permanent		= true;
    				is_single_instance	= false;
    			}
    			[test_2]
    			{
    				alteration			= alter_dexterity;
    				value				= 500;
    				duration			= #infinite;
    				is_permanent		= true;
    				is_single_instance	= false;
    			}
    			[test_3]
    			{
    				alteration			= alter_intelligence;
    				value				= 500;
    				duration			= #infinite;
    				is_permanent		= true;
    				is_single_instance	= false;
    			}
    		}
    	}
    	[apply_enchantments_hard] { }
    

    And this is my "apply_enchantments_hard" component.

    owner = GoSkritComponent;
    
    property bool _server_only$ = false;
    
    startup state Go$
    {
    	trigger OnGoHandleMessage$( WE_CONSTRUCTED )
    	{
    		
    		/* This works fine my I dont want to apply all enchantments at ones.
    		owner.go.magic.ApplyEnchantments( "", owner.goid, owner.goid );
    		*/
    		// I just want to apply enchantment By name, One by one under condition.
    		owner.Go.Magic.SApplyEnchantmentsByName( owner.Goid, owner.Goid, "test_1");
    		owner.Go.Magic.SApplyEnchantmentsByName( owner.Goid, owner.Goid, "test_2");
    		owner.Go.Magic.SApplyEnchantmentsByName( owner.Goid, owner.Goid, "test_3");
    		
    		// But this "SApplyEnchantmentsByName" doesn't seems to work at all
    	}
    }
    

    If you have an idea, if this works my skill tab is close to be finished.

    will need to put

    apply_enchantments = true;

    above the [enchantments]

    to get it to work, but like you said that may apply all 3

    not sure SApplyEnchantmentsByName even exists.

    but I think u can also do

    owner.go.magic.ApplyEnchantments( "test_1", owner.goid, owner.goid );
    owner.go.magic.ApplyEnchantments( "test_2", owner.goid, owner.goid );
    owner.go.magic.ApplyEnchantments( "test_3", owner.goid, owner.goid );
    

    instead of
    owner.go.magic.ApplyEnchantments( "", owner.goid, owner.goid );

    but I may be wrong as usual

    but that's for u to test.

    HardLess's picture

    It seems that "apply_enchantments = true" doesn't change anything.

    "SApplyEnchantmentsByName" was used in Xaa's tutorial, so I think this function can still be used.

    owner.go.magic.ApplyEnchantments( "test_1", owner.goid, owner.goid );
    

    If I only try with this function it apply every enchantment, the first param must just be description or state_name.

    I tried (not everything without a doubt but mostly) and I can't make this "SApplyEnchantmentsByName" works.

    Thank you,

    See you

    Edit: If there is a way to add skill value in pcontent modifier template it would be nice, I have tried one or two ways to do it but it doesn't seems to work.

    PS: When my dungeon siege 2 mod launch he said that it created the fubi.log but there is no fubi.log on my whole computer, so if someone has it can he post it plz, I would be so nice.

    for the str, dex, and intel, may be easier in skrit,

    Goid hero$;
    float str$		= hero$.Go.GetActor()->GetSkillLevel( "strength" );
    	float intel$	= hero$.Go.GetActor()->GetSkillLevel( "intelligence" );
    	float dex$		= hero$.Go.GetActor()->GetSkillLevel( "dexterity" );
    float max$ = 500
    
    if( hero$.IsValid )
    {
    report.reportf("Heroes", "\tStrength: %.2f\n\tDexterity: %.2f\n\tIntelligence: %.2f\n",hero$.Go.Actor.GetSkillLevel("strength"),hero$.Go.Actor.GetSkillLevel("dexterity"),hero$.Go.Actor.GetSkillLevel("intelligence"));
    }
    

    then u would do something like ....

    newStr$ = 500
    newDex$ = 500
    newInt$ = 500
    hero$.Actor.RSSetSkillLevels( newStr$, newInt$, newDex$ );

    but I will leave that idea to u to figure out

    HardLess's picture

    Sorry, I think I have miss explain what I wanted to do,

    My example wasn't clear, my problem was to apply an enchantment with any type of alteration, it could be "chance when hit to cast a template" as well.

    Really sorry, my English isn't clear.

    What I want to do is create a list of enchantments in heroes_ds2.gas in the base hero template, in order to apply this enchantment when a skill is confirmed.

    So for instance I have a skill which increase the health regen of the character, so I want to have this alteration already on the character and apply it only if he has the skill, and I also have another skill which give some damage, so I don't want to apply all the list of enchantment at ones. I really need to apply each enchantment only if the character have the skill link to the enchantment.

    Particularly because I have an aura-skill, so when the character unlock this skill I want to apply the enchantment related to the skill and not the others.

    I hope I was clear this time.

    Sorry,

    See you.

    Skill bonuses are usually listed in the passive_skills.gas files, I think for the intentions here it should be exanded to get skill-point related variables like #iron_skill_test_1 into value forumla of enchantments.

    It seems magic:apply_enchantments does not work on actors - even if true.
    According to the components.gas file it should be false if a separate skrit component will handle the magic (as it happens for spells or mini-bosses).

    The ApplyEnchantments function often uses the magic:state_name as string parameter.
    I guess it could be any string, but most probably it's related to magic:require_state_check and corresponding AI/cast function whether or not to (re)apply the magic.

    SApplyEnchantmentsByName is not supported anymore in DS2.

    The fubi.log should be created in the same folder where the DungeonSiege2Mod.exe is.
    I could upload it, but more interesting could be the functions not listed in the fubi.log.

    In this context it's very useful to scan all skrit files to find examples or working code parts. Function names may be misinterpreted and even with the fubi.log it's often not clear how to use it.
    Also take care if there is only 1 example in the whole game. It may be a special case, not really tuned to be used in other sitations.

    HardLess's picture

    A little pic of the tab:

    The "Soul of Iron" skill tab is now fully fonctional and the design is partly finished.

    So this is just a little preview but also a way to say that we are planning a release this weekend.

    I want to thanks everybody who helped us to do this project : DarkElf, Iryan, Bare-Elf, KillerGremal and Dulac.

    But we won't stop at this tab, we want to add weapons, armor, sets, uniques, and also other tabs.

    I wish you'll all enjoy this mod.

    See you all this weekend for the release.

    And because this isn't really linked to the first release of the Ancient Gifts mod.
    This release will be name Beta1.0 as it should be.

    Some remarks:

    This mod isn't fully compatible with the ArranaLegacy so what I could do is:
    _Release the mod as is (not compatible with the ArranaLegacy).
    _Release the mod fully compatible with the ArranaLegacy (but I need KillerGremal's permissions)
    _Release the two versions (but I don't think I'll do that for every release)

    @HardLess: Your skill tab looks really promising, and thanks for considering to make your mod compatible with the Aranna Legacy mod. Smile
    It's always good to rethink about mod combatibilites issues already in the early state of a mod development, although I could immagine that compatibility considerations may slow down the progress a bit.

    However compatibility matters can sometimes be fundamental, and sometimes they can be easily fixed. To see on, please post or PM once which 'overlapping' files which would be affected.
    Maybe we can care about compatibility and update issues later too, and perhaps we even will find a way to keep the compatibility with other mods as large as possible.

    Great work Hardless. Don't worry about making it compatible yet like Gremal suggested. It shouldn't be hard to make compatible versions for Adepts and other mods. Keep up the good work! I'm glad you were able to find help at STD.

    HardLess's picture

    We have encountered some bugs in multiplayer tests, passive skills enchantments doesn't apply on the client but work only for the host.

    It's make us think about the multiplayer bugs in legendary pack and the description tab which doesn't display some information (health regeneration, gold dropped, miles...) added by the ArannaLegacy.

    Looks like multiplayer need special treatments, does anybody as an idea?

    It's look like the host is controlling every thing in the game and the client is too linked to the host, so the client can't really modify anything such as his own damage.

    EDIT: Problem pretty much solved but text value doesn't actualize yet.

    HardLess wrote:
    We have encountered some bugs in multiplayer tests, passive skills enchantments doesn't apply on the client but work only for the host.

    It's make us think about the multiplayer bugs in legendary pack and the description tab which doesn't display some information (health regeneration, gold dropped, miles...) added by the ArannaLegacy.

    Looks like multiplayer need special treatments, does anybody as an idea?

    It's look like the host is controlling every thing in the game and the client is too linked to the host, so the client can't really modify anything such as his own damage.

    EDIT: Problem pretty much solved but text value doesn't actualize yet.


    Does the host and the client computers have the same mods on them? If I recall correctly all the computers playing an on line game need to have the same mods of the same revisions.

    Elf

    HardLess's picture

    The host and the client had the exact same version of the mod.

    Everything is fine now just had some problems but I solved it, sorry for this post it's a mistake.

    But still wanted to say that there must be some problems in the multiplayer of DS2 and perhaps some of them couldn't be fixed, because of the host control over the client.

    I'll post in the ArannaLegacy and the LegendaryPack threads to show one or two things we've found during our run.

    Thank you, sorry again Smile

    See you.

    HardLess's picture

    Here is the first official beta of the mod with the new skill tab, with this a total rework of the topic.

    Just see above, thanks to every one.

    Have fun.

    HardLess

    That's fantastic work that you have managed to introduce a new skill tab for your mod. Really adds to the options for playing and replaying the game.

    Extra skillsets have been a much requested feature ever since DS2 was introduced and you're the first to achieve it. Congratulations.

    Really promising! Smile
    I'm looking forward to try this out when I'm back again.

    HardLess's picture

    I have successfully converted DS1 orbs in DS2


    In the next update of the Ancient Gifts mod, there will be all the DS1 orbs.

    See you,

    HardLess.

    HardLess wrote:
    I have successfully converted DS1 orbs in DS2

    In the next update of the Ancient Gifts mod, there will be all the DS1 orbs.

    See you,

    HardLess.


    Absolutely brilliant. They were always something I wanted to see in the game, why GPG didn't use something like them in DS2 is beyond me. You guys are really showing what is possible with modding this game.

    In DS2BW Adepts I tried to bring a lot of the old DS1 spells to the game with varying success as I don't understand very much about how spell effects work in DS2. So it uses a lot of third party work from Darkelf, etc.

    The spell repertoire in DS2 is very limited compared to DS1. Yes they added curses and buffs but the attack spells are severely limited and I never liked how they just arbitrarily divided one spell into four (Lesser, Great, etc) to give the impression that there were more spells than there actually is.

    Do you plan on trying to make more spell effects? I would think things like glyphs would fit into your mod quite fine.

    HardLess's picture

    I am trying to remake all DS1 spells as they were, especially spells which were very different from what there is currently in the game.

    _Glyphs
    _Orbs
    _Transformation

    This project will take me a lot of time, effects in particular. But I think that it's a real problem in DS2, the huge lack of spells.

    It was what you have done in Adpets that inspired me, it was a nice idea.

    So I'm working on it at the time, I wish everything can be redone, because DS1 spells were so cool.

    See you with so new stuff,

    HardLess.

    HardLess wrote:
    I am trying to remake all DS1 spells as they were, especially spells which were very different from what there is currently in the game.

    _Glyphs
    _Orbs
    _Transformation

    This project will take me a lot of time, effects in particular. But I think that it's a real problem in DS2, the huge lack of spells.

    It was what you have done in Adpets that inspired me, it was a nice idea.

    So I'm working on it at the time, I wish everything can be redone, because DS1 spells were so cool.

    See you with so new stuff,

    HardLess.


    Yes it will take a long time but the satisfaction of seeing your work in action and being appreciated by others will hopefully make it worthwhile. You are free to use anything from Adepts in your mod, it's all open source but of course give credit to other authors if it their components that are being used.

    Transformations would probably be the hardest thing to achieve but would be a very popular with players for sure.

    iryan wrote:
    HardLess wrote:
    I am trying to remake all DS1 spells as they were, especially spells which were very different from what there is currently in the game.

    _Glyphs
    _Orbs
    _Transformation

    This project will take me a lot of time, effects in particular. But I think that it's a real problem in DS2, the huge lack of spells.

    It was what you have done in Adpets that inspired me, it was a nice idea.

    So I'm working on it at the time, I wish everything can be redone, because DS1 spells were so cool.

    See you with so new stuff,

    HardLess.


    Yes it will take a long time but the satisfaction of seeing your work in action and being appreciated by others will hopefully make it worthwhile. You are free to use anything from Adepts in your mod, it's all open source but of course give credit to other authors if it their components that are being used.

    Transformations would probably be the hardest thing to achieve but would be a very popular with players for sure.

    good ideas, look forward to the future mod.
    would think the Transformations would be easiest, with the stone form (Fist of stone spell) code from broken world, as a base perhaps with a longer timer and looking at the transformation spells from ds1. Shame DSII didn't have the tools to make new spells, all effects have to be coded by hand with no way of testing without running the game. My mods aren't open source like iryan's we differ on that philosophy. Look forward to your awesome modding ideas and potential, keep at it and never give up!

    HardLess's picture

    I have a little problem over here,

    I just can't understand how to import sound file in a mod.

    I have my .wav files in the "sound/spells", then I have created a sed.gas file for each of them. But I just can't understand how I'm supposed to play them...

    I'm using the "PlayVoiceSound( string sound_name , float min_range, float max_range , bool loop )", my problem is the sound name parameter of this function. I tried with the sound file name but it doesn't work and it must have something between the sound file name and the sound name. Because I have notice that a sound file name could be "s_sp_cm_leechlife_charge" but the sound name is "spell_leechlife_charge".

    Does someone has the answer to solve my problem ? Laughing out loud

    Thanks,

    HardLess.

    HardLess wrote:
    I have a little problem over here,

    I just can't understand how to import sound file in a mod.

    I have my .wav files in the "sound/spells", then I have created a sed.gas file for each of them. But I just can't understand how I'm supposed to play them...

    I'm using the "PlayVoiceSound( string sound_name , float min_range, float max_range , bool loop )", my problem is the sound name parameter of this function. I tried with the sound file name but it doesn't work and it must have something between the sound file name and the sound name. Because I have notice that a sound file name could be "s_sp_cm_leechlife_charge" but the sound name is "spell_leechlife_charge".

    Does someone has the answer to solve my problem ? Laughing out loud

    Thanks,

    HardLess.

    Assumed you don't need to loop a sound, then it's probably easier to use the PlaySound() command (same syntax, without loop boolean).

    PlayVoiceSound() could enable sound looping though, but the files referenced must be listed and 'name-translated' in world/global/sounds/sounddb.gas - that's more work to do (and more vulnerable concerning mod compatibility).

    HardLess wrote:
    I have a little problem over here,

    I just can't understand how to import sound file in a mod.

    I have my .wav files in the "sound/spells", then I have created a sed.gas file for each of them. But I just can't understand how I'm supposed to play them...

    I'm using the "PlayVoiceSound( string sound_name , float min_range, float max_range , bool loop )", my problem is the sound name parameter of this function. I tried with the sound file name but it doesn't work and it must have something between the sound file name and the sound name. Because I have notice that a sound file name could be "s_sp_cm_leechlife_charge" but the sound name is "spell_leechlife_charge".

    Does someone has the answer to solve my problem ? Laughing out loud

    Thanks,

    HardLess.


    The s_sp_ before the spell name tells the engine where to look for the sound. This expands to sound\spells and then the name of the sound. This is the same for all sounds and art assets. Templates are a little more lenient.

    Also the wav file needs to be 8bit format. Something like 44100 sampling rate and 352bps will work. The game is very fickle in this respects, it supports 16bit mp3 for conversations, etc but won't support 16bit wav files called from templates.

    It just occurred to me that that's maybe why it won't play MP3 files from templates, because they are 16bit, maybe if they were changed to 8bit they may work.

    Pages