Jump to content
Ind

Introducing Hercules' Map Zone Database

Recommended Posts

this is great +1 but i some little problems

previously on skill_nocast_db i can restrict clones to use skills with bitmask "16 = Cannot be cloned (clones will not copy this skill)"
i can't seem to see it here in the new implementation now, is it possible?

 

also; can i use item ID/skill ID for disabled_items & disabled_skills?

Share this post


Link to post
Share on other sites

Thank you all for the feedback,


I've mistakenly mentioned @mapflag instead of @mapinfo in the notes, modified post to reflect that.


previously on skill_nocast_db i can restrict clones to use skills with bitmask "16 = Cannot be cloned (clones will not copy this skill)"

whops o.o looks like I missed that, thanks for bringing it up. I'll add it back but as a skill_db inf2 flag.


also; can i use item ID/skill ID for disabled_items & disabled_skills?

unfortunately not, libconfig does not allow setting keys to consist only of numbers.

Share this post


Link to post
Share on other sites

I've mistakenly mentioned @mapflag instead of @mapinfo in the notes, modified post to reflect that.

 

 

 

Very good. Ind I missed these skills do not seem to be added in the new model, txt format looks very old would it not be better to do in conf?

3013,3  //KO_KYOUGAKU//Clone Forbidden/pointless skills77,16  //PR_TURNUNDEAD79,16  //PR_MAGNUS 
Edited by Beret

Share this post


Link to post
Share on other sites

previously on skill_nocast_db i can restrict clones to use skills with bitmask "16 = Cannot be cloned (clones will not copy this skill)"

i can't seem to see it here in the new implementation now, is it possible?

 

 

I've mistakenly mentioned @mapflag instead of @mapinfo in the notes, modified post to reflect that.

 

 

 

Very good. Ind I missed these skills do not seem to be added in the new model, txt format looks very old would it not be better to do in conf?

3013,3  //KO_KYOUGAKU//Clone Forbidden/pointless skills77,16  //PR_TURNUNDEAD79,16  //PR_MAGNUS 

 

 

There we go: https://github.com/HerculesWS/Hercules/commit/cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b


By the way the

3013,3  //KO_KYOUGAKU
was a flag used to normal and pvp maps, it is present in the map_zone_db.txt

Share this post


Link to post
Share on other sites

 

previously on skill_nocast_db i can restrict clones to use skills with bitmask "16 = Cannot be cloned (clones will not copy this skill)"

i can't seem to see it here in the new implementation now, is it possible?

I've mistakenly mentioned @mapflag instead of @mapinfo in the notes, modified post to reflect that.

 

 

 

Very good. Ind I missed these skills do not seem to be added in the new model, txt format looks very old would it not be better to do in conf?

3013,3  //KO_KYOUGAKU//Clone Forbidden/pointless skills77,16  //PR_TURNUNDEAD79,16  //PR_MAGNUS 
There we go: https://github.com/HerculesWS/Hercules/commit/cfd2bdb06048c17decaafd0f5a3c04e3f0ac6a3b


By the way the

3013,3  //KO_KYOUGAKU
was a flag used to normal and pvp maps, it is present in the map_zone_db.txt

 

 

Thanks Ind. and as the file be a conf, wouldn't it be more logical ?

Share this post


Link to post
Share on other sites

Updated first reply, added support for unit-type-based skill restrictions, new sample and descriptions are now available in the first reply of this topic.

In disabled_skills the var following the name (: "PLAYER | MONSTER | HOMUN | MERCENARY | ELEMENTAL") is what allows a zone to know what unit types should have this skill disabled. In the sample above, for example, in My Zone, player, monster and elemental unit types are unable to cast heal, while only monsters are unable to cast teleport. this variable may also be used to ignore skills from inheritance, for example if My Other Zone disabled a number of skills, including MG_FIREBOLT, in My Zone all of them will be disabled as well, except for MG_FIREBOLT since it is set as NONE.

Special Thanks

    [*]to Muad_Dib <3.

    [*]to lighta for discussing the feature with me and helping design the unit-based restrictions on skills

Links~!

Share this post


Link to post
Share on other sites

so the possible inputs for disable skills are: PLAYER | MONSTER | HOMUN | MERCENARY | ELEMENTAL

 

if i put MONSTER then that does that include SUMMONS (like alchemist's flora,hydra) & CLONES?

maybe you can also include CLONE/SUMMON Type monster as possible inputs (i think i'ts handled better here than in the skill_db)

i think also PET? since they can also cast skill

Share this post


Link to post
Share on other sites

good point pets should also be a available option. clones/summons however are not their own unit types (since they're monsters), adding clones/summon option would slow down the processing to all the other types... i don't think its worth it/fair (since the option is already available through a different mean, as you said yourself, skill_db.txt)

Share this post


Link to post
Share on other sites

I've identified a issue that makes swapping zones that have mapflags (uses the mapflag:( ) param) during runtime (e.g. by setmapflag) troublesome. I'm already working on designing a solution to this and it should be out soon. I apologise for the trouble. here is a temporary fix that will make gvg/bg/gvg2 zones work smoothly in the meantime: https://github.com/HerculesWS/Hercules/commit/e702cc0ab6dccfd0a10b5a1881841452c326affc

Share this post


Link to post
Share on other sites

one thing i do not like w/ the option of setting restrictions on clone skill usage handled on skill_db is that it is always global

i envy the capability of other unit types of having the the advantage/option to choose zones for disable skills (i love playing with clones :P ) but as you said it'll slow down the processing to all the other types so i think its not worth adding if it'll just degrade the performance

 

keep up the good job Ind :meow:

Edited by frenzmu06

Share this post


Link to post
Share on other sites

Can you enlighten me with adjust_skill_damage?

 

Say for example I want to adjust its damage in all maps (this includes damage done to monster, players, boss, everything)..

 

Do I need to set first at disabled skills like this..

 

RK_HUNDREDSPEAR: "NONE"

 

then..

 

mapflags: ("adjust_skill_damage RK_HUNDREDSPEAR    250")

 

if yes.. This is just what I did and I'm receiving lots of warnings. Thanky ou.

Share this post


Link to post
Share on other sites

Can you enlighten me with adjust_skill_damage?

 

Say for example I want to adjust its damage in all maps (this includes damage done to monster, players, boss, everything)..

 

Do I need to set first at disabled skills like this..

 

RK_HUNDREDSPEAR: "NONE"

 

then..

 

mapflags: ("adjust_skill_damage RK_HUNDREDSPEAR    250")

 

if yes.. This is just what I did and I'm receiving lots of warnings. Thanky ou.

 

Have you remembered to put correct tabulation spaces? Just like this:

mapflags: ("adjust_skill_damage	RK_HUNDREDSPEAR	250")

And try to check if you haven't mis-typed the map zone mapflag if you declared a new zone or applied mapflags to any map. It'd also be better if you tell us what's the warning you're getting because that will help us to help you.

Share this post


Link to post
Share on other sites

That first tabulation space is not needed and I think that's what make you get all those errors. Ind used a space there, but you may decide not to use anything.

Share this post


Link to post
Share on other sites

Okay here's what I did.. Just used normal mapflags set to it. just added the hundred and the warning shows up.

 

 

 

{
/* Normal zone is applied to all maps that are not pkable (where players cant fight each other)  */
/* However, it wont be applied to maps with its own zones (specified thru mapflag) */
name: "Normal" /* changing this name requires MAP_ZONE_NORMAL_NAME to also be changed in src/map/map.h file */
disabled_skills: {
WM_LULLABY_DEEPSLEEP: "PLAYER"
WM_SIRCLEOFNATURE: "PLAYER"
WM_SATURDAY_NIGHT_FEVER: "PLAYER"
SO_ARRULLO: "PLAYER"
CG_HERMODE: "PLAYER"
}
disabled_items: {
}
mapflags: ("adjust_skill_damage RK_HUNDREDSPEAR 250")
},

 

 

 

removing flag from 1@xm_d (file '', line '1').[Warning]: npc_parse_mapflag: Missing 5th param for 'adjust_skill_damage' flag!removing flag from 1@eom (file '', line '1').[Warning]: npc_parse_mapflag: Missing 5th param for 'adjust_skill_damage' flag!removing flag from 1@jtb (file '', line '1').[Status]: Event 'OnInit' executed with '1640' NPCs.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.