Jump to content

Can You Change A Classes Skills Or Allowed Weapons


Because

Recommended Posts

Hi new user here. I've looked through the mods here but couldn't find an answer to the above.

Is there anything that can be done to allow you to change what skills rather than CAs a class has ie could you give Dragon Mage ranged or an Inquisitor the shield skill.

On a related note can you change what weapons a class can carry such as in the above examples allowing a Dragon Mage to use energy weapons or an Inquisitor a shield?

Link to comment

Hi new user here. I've looked through the mods here but couldn't find an answer to the above.

Is there anything that can be done to allow you to change what skills rather than CAs a class has ie could you give Dragon Mage ranged or an Inquisitor the shield skill.

On a related note can you change what weapons a class can carry such as in the above examples allowing a Dragon Mage to use energy weapons or an Inquisitor a shield?

 

Um, about giving an Inquisitor shield lore, you can! About a Dragon Mage's ranged weapons, yes there too! Now how to make them use Ranged Weapons or Shields I'm not too sure but here, look at this!

 

Hex Editing

Link to comment

Is there anything that can be done to allow you to change what skills rather than CAs a class has ie could you give Dragon Mage ranged or an Inquisitor the shield skill.

Yes you can without hex editing the save file.

 

However, before we get started.

The user interface has a limit on the number of skills that can be added to each of the 3 sections, so it would pay to look at the section you're going to add the skill to(the skills are fixed in the section they will appear in, so no combat skills in the general skill section for example), and see if there's enough room. If there isn't then you may need to modify the user interface so that there is enough room. The skill can be placed in the right hand column easily enough if there's room there, and not in the left hand column. I'll go over that down the page.

 

Open scripts\server\creatures.txt

You'll need the "id" of the class(es) you want to change. Note: Not the "item_id" though.

Using the inquisitor as an example, search for sc_in and you should arrive at:

mgr.createCreature {

id = 51,

itemtype_id = 4,

name = "SC_Inquisitor",

So the id is 51.

Now search for addCreatureSkill

It will take you to line 84678, where you'll see this:

if not mgr.addCreatureSkill then

mgr.addCreatureSkill = function(a,b) end

end

That's the start of the section, so we now need to find the correct addCreatureSkill.

Search for skill_shield_lore, and you should see this:

mgr.addCreatureSkill( 146, {

skill_id = 12,

advanced = 0,

skill_name = "skill_shield_lore",

})

That's the first shield lore skill. They are grouped together; all creatures with shield lore will be here, then the next skill will be after. As opposed to each creature having all of their skills together. If it makes it clearer, each skill is arranged by skill, not by creature.

 

Before moving on, I've found that you can put the addCreatureSkill entries where you like. You're not limited to having to put them at the end of the list, but I put them at the end of the list of the same skill. So for the shield lore, I'd go down to the end of them, and add the inquisitor's entry there. But that's just me.

So copy one of the shield lore entries like this:

mgr.addCreatureSkill( 146, {

skill_id = 12,

advanced = 0,

skill_name = "skill_shield_lore",

})

Paste it where you want, and then change it so it looks like this:

mgr.addCreatureSkill( 51, {

skill_id = 12,

advanced = 0,

skill_name = "skill_shield_lore",

})

Not a big change. Now here's where we change which column the skill appears in, in the user interface(if this is necessary).

advanced = 0,

This means that the skill will be in the left hand column, changing 0 to 1 will place it in the right column. And it will obviously require 5 skill points to be allocated to skills in the left column before you will be able to select it. But it means that you can use that if you don't have the room for it on the left and you don't want to change the user interface.

 

So that's giving a class a skill it doesn't already have.

Changing it so the class can then use the skill is a whole other story, which I haven't tried. But I hope this helps.

 

Disclaimer: I haven't done this in a while, so some things may not be completely accurate, but that is what I remember doing :)

  • Like! 1
Link to comment

Brilliant. The Hex editor worked like a charm. Thank you Sacred Guru for that! half way there and have been able to add the skills.

Again if any one can help determining what allows a character to use a particular weapon or item.

I've had a brief play around and even tried comparing the details of characters with access compared to those without, but there are just too many variables to narrow it down.

Anyone has any ideas they'd be much appreciated.

Thanks also to Malchador I'd already started the Hex editor way, but appreciate the additional suggestion. I'll look into it too as I'm still pretty new to modding so welcome the advice.

Edited by Because
Link to comment

Following on the Enferian post about modding two handed weapons as one handed I have managed to get a energy gun on a Dragon mage by switching the subfamily in itemtype to PRI_THROW_STAR Sadly this applies the animation for throwing stars (as well as putting a burning effect on the weapon) and so is less than ideal. Similar if you mod it to magestaff

I’ve gone through quite a few different options to try and see what determines what class is allowed access to what equipment, but am coming to the conclusion that itemtype isn’t the place to do it. I also assume that WEARGROUP_DRAGONMAGE refers only to armour and so creature isn’t going to help either. I also believe that equipset_id is just for starting equipment so no luck there.

Does anyone have any other ideas where to look for basic information about a class that might contain weapons allowed (would it be linked to creature ID?)

Link to comment

Hi. If I am wrong then I need to know so here is what I think to be true.

 

Who/What can or cannot use any item, irrespective of item type (armour, weapon, etc), is defined in "WEARGROUP_SERAPHIM" or whatever the weargroup is for your character. If you look though blueprint.txt (server folder) you will see four possible wearergroups = ? This file sets the properties for the item such as number of sockets, +3 all skills, blah blah blah

 

wearergroups = "WEARGROUP_INVALID" -- noone wears it

wearergroups = "WEARGROUP_TEMPLEGUARDIAN" -- name of any single class can go there of course

wearergroups = 'WEARGROUP_DEFAULT' -- everyone can wear it

wearergroups = 'WEARGROUP_SERAPHIM','WEARGROUP_CENTURIO','WEARGROUP_TEMPLEGUARDIAN','WEARGROUP_DRAGONMAGE' -- ie Seraphim, Shadow Warrior, Templeguardian, Dragon Mage but noone else.

 

There is a bit more, this time in the shared folder, contained in itemtype.txt. There you will find that every item has one Wearergroup, never more, but the names stay the same of course. This file sets out what the things looks like, which animations to use, what it is (leg armour, sword, silly hat, etc).

 

user = "WEARGROUP_INVALID" -- noone wears it

user = "WEARGROUP_TEMPLEGUARDIAN" -- name of any single class can go there of course

user = 'WEARGROUP_DEFAULT' -- everyone can wear it

 

Re equipset_id, yup and as far as I have been able to tell while messing about those files and therefore identifiers are used just once, when you make a new character, but I think you know that.

 

EDIT: Look below. This is from autoexec.txt and show which file is run in what order, as you can see the game gets ready to make gear using itemtype.txt but only after that does it use iteminfo.txt, material.txt and blueprint.txt. That's set up what it looks like and who wears it but only after that set properties, etc.

 

---------------------------------------------------------------------

-- Client & Server shared scripts

---------------------------------------------------------------------

 

for index,script in {

"shared/defines.txt", -- skripting helper

"shared/itemtype.txt", -- add itemtypes

"shared/creatureInfo.txt", -- add creature info

"shared/itemInfo.txt", -- add item info

"shared/staticInfo.txt", -- add static info

"shared/spells.txt", -- initialize spells/moves system

"shared/material.txt", -- initialize item system

"shared/typification.txt",

"server/blueprint.txt", -- item generating stuff

"server/balance.txt", -- set balance values

"server/creatures.txt", -- creaturemanager must exist on both server and client

"server/portals.txt", -- associate portals with worldobjects

"shared/books.txt", -- book definitions

} do

sys.execScript( script )

end

 

I will be working lots on blueprint.txt myself very soon so it would be nice to have confirmation before I start changing things and wasting time getting it wrong. I'm too tired to try it myself today. I have been editing armour but so only in itemtype.txt so that one chracter wears another chracters clothes (no, it's nothing weird) and I can tell you that file has nothing to do with item properties but only what it looks like.

 

Hmmm, so much writing has given me an idea for the perfect christmas pressie for everyone here. I know exactly what I will be doing tomorrow ... mwhaha mwhaha mwhaha

Edited by Gordius
Link to comment

Still not sure that WEARGROUP sets weapons as in itemtype all weapons are:

 

weargroup=WEARGROUP_INVALID

user="WEARGROUP_DEFAULT"

 

so I couldn't se what in that would specify who could and couldn't use a weapon, that said I'm pretty new to this so might be missing something.

If anyone can shed any light on this as always your help is much appreciated

Link to comment

I have been trying to sort this thing out all morning (more than 4 hours). Here is what I achieved ... no I don't have the answer. I was looking for a different way to change who can use what to make it possible for a Seraphim to use a weapon normally reserved for the Shadow Warrior, your character to use a gun and so on. I was able to make everything normally used by the SW available to all chracters but they still cannot use the SW weapons. Changing itemtypes.txt to to WEARGROUP_DEFAULT removes the words "Shadow Warrior" from the weapon so there is either something in another file to change or it is hard-coded.

 

There are entries for wearergroups=char class in BLUEPRINT.TXT as I said, for example

 

newBlueprint = {

id = 619,

name = "axe_2h_normal",

palettebits = "1111111111111111",

dmgvariation = 170,

minconstraints = {1,0,0},

lvljump = 1,

usability = 0,

allotment_pmfpi = {1000,0,0,0,0},

uniquename = "",

specialuseonly = 0,

bonusgroup0 = {283,1350,1,9,0},

bonusgroup1 = {282,1350,1,5,0},

bonusgroup2 = {281,1350,1,2,0},

itemtypes = {2467,2468,2471,2472,},

wearergroups = {'WEARGROUP_CENTURIO',},

}

mgr.createBlueprint(619, newBlueprint);

 

and looking at 2467 in ITEMTYPES.TXT you will see the user= thing with the SW named again

 

newItemType = {

-- standard info

renderfamily = "RENDERFAM_WEAPON",

family = "FAMILY_WEAPON",

subfamily = "SUBFAM_PRI_2H_AXE",

classification = "CLF_2H_AXE",

flags = "FLAG_HASPREVIEWIMAGE",

weargroup = "WEARGROUP_INVALID",

-- 3d model + animation info

model0Data = {

name = "models/weapons/2h/n_2haxe-02.GR2",

user = "WEARGROUP_CENTURIO",

},

-- logic bounding box

logicBox = {

minx=-9.331, miny=-28.072, minz=-1.625,

maxx=9.331, maxy=28.072, maxz=1.625,

},

dangerclass = 0,

}

mgr.typeCreate(2467, newItemType);

 

So, next it was back to what you did, subfamily. I could find nothing to help you despite spending so many hours chugging through many script files. I am not giving up quite yet but just in case someone else knows ....

 

BTW can't remember if I tried changing classification, I'll go do that now. Better twice than never. Didn't work

Edited by Gordius
Link to comment
  • 2 months later...

Lets see if I have this strait, basically you are saying that in this itemtype.txt file if I replace all the entries for example WEARGROUP_SERAPHIM with something like 'WEARGROUP_SERAPHIM','WEARGROUP_DRYADIN' then the Seraphim and the Dryad both could wear equipment that belongs only to seraphim but the dryad still could wear her default equipment that is for the dryad and the seraphim could not, except for weapons.

 

is that doable.. it seems like a lot of work I seen how many entry's there are for WEARGROUP_SERAPHIM. I want to change all three female characters to use all equipment that is available to all three of them. If so it will be a long and arguist task indeed.

 

Note: I don't care about the weapons.

Edited by Vampir
Link to comment

To save you some time, it cannot be changed that for example TG cannot use 2H equipment or the Seraphim cannot use 2H Axes (hafted). You can give them the lore and you can change classifiers so they use them as other items (botches up animations ofc.), but that is it.

 

Everything else is hardcoded for each character. (The toons mostly don't even have the corresponding animation files for the weaponclasses they cannot use.)

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