Forum index VCMI Project - Heroes 3: WoG recreated
Forum of the project aiming to recreate best turn-based strategy ever!

FAQFAQ  SearchSearch  MemberlistMemberlist  UsergroupsUsergroups  StatisticsStatistics
RegisterRegister  Log inLog in  AlbumAlbum  DownloadDownload

Previous topic :: Next topic
Help with mods - questions
Author Message
Warmonger 
VCMI programmer


Age: 28
Joined: 07 Jun 2008
Posts: 1537
Location: Warsaw, Poland
Posted: 2014-11-24, 16:53   

I think you don't understand what "Limiter" is in first place. Limiter, as the name suggests, limits propagation of boonuses over bonus system tree to some specific cases. It defines no additional behavior for anything.
_________________
Think twice if you really need to send me private message. Use public forum for general questions.
DJ Warmonger blog
beegee wrote:
Warmonger, you are the best!
 
 
     
AVS 

Joined: 25 Feb 2011
Posts: 553
Location: Russia
Posted: 2014-11-24, 16:55   

Macron1 wrote:
Or another way i suggested long time ago.
We have DRAGON_NATURE, UNDEAD, NON_LIVING types of bonuses served as limiters.
I suggested adding customized type of limiters.
Like i will add something like
...


I`m afraid U don`t understand what Limiter is.
What U suggest should be called Bonus (of Ability) Preset. However, I like the idea and will implement it in next version of "BonusType config".
 
     
Macron1
Guest
Posted: 2014-11-24, 16:56   

Warmonger wrote:
I think you don't understand what "Limiter" is in first place. Limiter, as the name suggests, limits propagation of boonuses over bonus system tree to some specific cases. It defines no additional behavior for anything.

Maybe it's so. It's more about template for creature abilities in my post.
For example, user may want to add custom limiter "IS_DEMON". Then he describes "DEMON" template of abilities.
 
     
Macron1 

Joined: 02 Apr 2013
Posts: 576
Posted: 2014-12-29, 20:27   

Want to brag.
Made VCMI to change appearances for Castle Town depending on terrains (http://www.forum.acidcave.net/topic.php?TID=2393, Sower work).
It is easy, you must only not forget to replace original templates (village,fort,citadel,castle,capitol) by new only grass templates.

Code:

{
    "core:castle" : {
        "town" : {
            "mapObject" : {
                "filters" : {
                    "village_dirt": ["noneOf", [ "fort" ]  ],
                    "fort_dirt" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_dirt" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_dirt" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],
                    "capitol_dirt" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                   
                    "village": ["noneOf", [ "fort" ]  ],
                    "fort" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],
                    "capitol" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_lava": ["noneOf", [ "fort" ]  ],
                    "fort_lava" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_lava" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_lava" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],
                    "capitol_lava" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_rough": ["noneOf", [ "fort" ]  ],
                    "fort_rough" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_rough" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_rough" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],
                    "capitol_rough" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_sand": ["noneOf", [ "fort" ]  ],
                    "fort_sand" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_sand" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_sand" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],                   
                    "capitol_sand" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_snow": ["noneOf", [ "fort" ]  ],
                    "fort_snow" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_snow" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_snow" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],       
                    "capitol_snow" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_subterra": ["noneOf", [ "fort" ]  ],
                    "fort_subterra" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_subterra" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_subterra" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],   
                    "capitol_subterra" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                   
                    "village_swamp": ["noneOf", [ "fort" ]  ],
                    "fort_swamp" : [ "allOf", [ "fort" ], [ "noneOf", [ "citadel" ] ] ],
                    "citadel_swamp" : [ "allOf", [ "citadel" ], [ "noneOf", [ "castle" ] ] ],
                    "castle_swamp" : [ "allOf", [ "castle" ], [ "noneOf", [ "capitol" ] ] ],                       
                    "capitol_swamp" : [ "allOf", [ "castle"  ], [ "capitol"  ] ],
                    },
                "templates" : {
                    "village_dirt": {"allowedTerrains":["dirt"], "animation" : "newlook_castle/CastleDirtHall.def"},
                    "fort_dirt" : {"allowedTerrains":["dirt"], "animation" : "newlook_castle/CastleDirtCastle1.def"},
                    "citadel_dirt" : {"allowedTerrains":["dirt"], "animation" : "newlook_castle/CastleDirtCastle2.def"},
                    "castle_dirt" : {"allowedTerrains":["dirt"], "animation" : "newlook_castle/CastleDirtCastle3.def"},
                    "capitol_dirt" : {"allowedTerrains":["dirt"], "animation" : "newlook_castle/CastleDirtCastle3F.def"},

                    "village": {"allowedTerrains":["grass"], "animation" : "newlook_castle/CastleGrassHall.def"},
                    "fort" : {"allowedTerrains":["grass"], "animation" : "newlook_castle/CastleGrassCastle1.def"},
                    "citadel" : {"allowedTerrains":["grass"], "animation" : "newlook_castle/CastleGrassCastle2.def"},
                    "castle" : {"allowedTerrains":["grass"], "animation" : "newlook_castle/CastleGrassCastle3.def"},
                    "capitol" : {"allowedTerrains":["grass"], "animation" : "newlook_castle/CastleGrassCastle3F.def"},

                    "village_lava": {"allowedTerrains":["lava"], "animation" : "newlook_castle/CastleLavaHall.def"},
                    "fort_lava" : {"allowedTerrains":["lava"], "animation" : "newlook_castle/CastleLavaCastle1.def"},
                    "citadel_lava" : {"allowedTerrains":["lava"], "animation" : "newlook_castle/CastleLavaCastle2.def"},
                    "castle_lava" : {"allowedTerrains":["lava"], "animation" : "newlook_castle/CastleLavaCastle3.def"},
                    "capitol_lava" : {"allowedTerrains":["lava"], "animation" : "newlook_castle/CastleLavaCastle3F.def"},

                    "village_rough": {"allowedTerrains":["rough"], "animation" : "newlook_castle/CastleRoughHall.def"},
                    "fort_rough" : {"allowedTerrains":["rough"], "animation" : "newlook_castle/CastleRoughCastle1.def"},
                    "citadel_rough" : {"allowedTerrains":["rough"], "animation" : "newlook_castle/CastleRoughCastle2.def"},
                    "castle_rough" : {"allowedTerrains":["rough"], "animation" : "newlook_castle/CastleRoughCastle3.def"},
                    "capitol_rough" : {"allowedTerrains":["rough"], "animation" : "newlook_castle/CastleRoughCastle3F.def"},

                    "village_sand": {"allowedTerrains":["sand"], "animation" : "newlook_castle/CastleSandHall.def"},
                    "fort_sand" : {"allowedTerrains":["sand"], "animation" : "newlook_castle/CastleSandCastle1.def"},
                    "citadel_sand" : {"allowedTerrains":["sand"], "animation" : "newlook_castle/CastleSandCastle2.def"},
                    "castle_sand" : {"allowedTerrains":["sand"], "animation" : "newlook_castle/CastleSandCastle3.def"},
                    "capitol_sand" : {"allowedTerrains":["sand"], "animation" : "newlook_castle/CastleSandCastle3F.def"},

                    "village_snow": {"allowedTerrains":["snow"], "animation" : "newlook_castle/CastleSnowHall.def"},
                    "fort_snow" : {"allowedTerrains":["snow"], "animation" : "newlook_castle/CastleSnowCastle1.def"},
                    "citadel_snow" : {"allowedTerrains":["snow"], "animation" : "newlook_castle/CastleSnowCastle2.def"},
                    "castle_snow" : {"allowedTerrains":["snow"], "animation" : "newlook_castle/CastleSnowCastle3.def"},
                    "capitol_snow" : {"allowedTerrains":["snow"], "animation" : "newlook_castle/CastleSnowCastle3F.def"},

                    "village_swamp": {"allowedTerrains":["swamp"], "animation" : "newlook_castle/CastleSwampHall.def"},
                    "fort_swamp" : {"allowedTerrains":["swamp"], "animation" : "newlook_castle/CastleSwampCastle1.def"},
                    "citadel_swamp" : {"allowedTerrains":["swamp"], "animation" : "newlook_castle/CastleSwampCastle2.def"},
                    "castle_swamp" : {"allowedTerrains":["swamp"], "animation" : "newlook_castle/CastleSwampCastle3.def"},
                    "capitol_swamp" : {"allowedTerrains":["swamp"], "animation" : "newlook_castle/CastleSwampCastle3F.def"},

                    "village_subterra": {"allowedTerrains":["subterra"], "animation" : "newlook_castle/CastleSubterraHall.def"},
                    "fort_subterra" : {"allowedTerrains":["subterra"], "animation" : "newlook_castle/CastleSubterraCastle1.def"},
                    "citadel_subterra" : {"allowedTerrains":["subterra"], "animation" : "newlook_castle/CastleSubterraCastle2.def"},
                    "castle_subterra" : {"allowedTerrains":["subterra"], "animation" : "newlook_castle/CastleSubterraCastle3.def"},
                    "capitol_subterra" : {"allowedTerrains":["subterra"], "animation" : "newlook_castle/CastleSubterraCastle3F.def"},                   
                }
            }
        }
    }
}

Some color disruption of castle looks is some bug in VCMI (common to HOTA mod - they used system colors for graphics)


seasons.jpg
69 Time(s) 277.07 KB

_________________
I'm not a member of VCMI developer group and my posts are not official. I'm just a fan.
 
     
Andruids 
Ancient Droid

Joined: 27 Oct 2015
Posts: 5
Posted: 2015-10-27, 13:26   

Hello everyone.

I tried to make an ability that could effectively jam the spellcasting of other creatures. Problem is, it affects only the maximum casts of the stack, not its current one so it's practically useless.

E.g. Fairy Dragon has a line displaying "Spells: 5". After being hit with this effect it changes to "Spells: 2 (5)". So it decreased his maximum casts and nothing else. He will still doll out all 5 of his magical beatings like nothing happened.

Here's how it's written:
Code:
    "jammer":
    {
    "type" : "CASTS",
    "val" : -3,
    "valueType" : "ADDITIVE_VALUE",
    "duration" : "N_TURNS",
    },


Any suggestions?
 
     
Warmonger 
VCMI programmer


Age: 28
Joined: 07 Jun 2008
Posts: 1537
Location: Warsaw, Poland
Posted: 2015-10-27, 13:56   

Currently impossible, spell counter is separate from CASTS bonus and can't be modified by Bonus system at all. Same is true for shots, conunterstrikes and possibly more.
_________________
Think twice if you really need to send me private message. Use public forum for general questions.
DJ Warmonger blog
beegee wrote:
Warmonger, you are the best!
 
 
     
Macron1 

Joined: 02 Apr 2013
Posts: 576
Posted: 2015-10-27, 14:55   

Andruids wrote:

E.g. Fairy Dragon has a line displaying "Spells: 5". After being hit with this effect it changes to "Spells: 2 (5)". So it decreased his maximum casts and nothing else. He will still doll out all 5 of his magical beatings like nothing happened.

Any suggestions?


yes, i also tried to play "type" : "CASTS" and get nothing.
You can also try
Code:
{"type":"CASTS",
"valueType":"BASE_NUMBER",
"val":0,
"duration":"N_TURNS"
}


Or
Code:
{"type":"CASTS",
"valueType":"PERCENT_TO_ALL",
"val":-100,
"duration":"N_TURNS"
}
_________________
I'm not a member of VCMI developer group and my posts are not official. I'm just a fan.
 
     
Andruids 
Ancient Droid

Joined: 27 Oct 2015
Posts: 5
Posted: 2015-10-27, 15:59   

Thanks for quick reply!

Shame it can't properly work right now, but if it will in future, it could be very useful and unique ability.

I'll try not to bugger you too often but I have one last concern. I can't make ADDITIVE_VALUE work as intended. Be it with afore-mentioned ability or some other one, all I can achieve is reducing creature's statistic by defined value and not one point further. On older version of VCMI Disrupting Ray didn't work at all, but it does after updating to 0.98d and it was written just like in my code (just with different "type"). Am I missing something obvious?
 
     
Macron1 

Joined: 02 Apr 2013
Posts: 576
Posted: 2015-10-27, 17:03   

Andruids wrote:
Thanks for quick reply!

Shame it can't properly work right now, but if it will in future, it could be very useful and unique ability.

I'll try not to bugger you too often but I have one last concern. I can't make ADDITIVE_VALUE work as intended. Be it with afore-mentioned ability or some other one, all I can achieve is reducing creature's statistic by defined value and not one point further. On older version of VCMI Disrupting Ray didn't work at all, but it does after updating to 0.98d and it was written just like in my code (just with different "type"). Am I missing something obvious?


?
ADDITIVE_VALUE should work as you say - is it summed with parameter value. If you want to make -2 to defence (val:-2,"valueType":"ADDITIVE_VALUE"), it will make -2 to defence (don't remember but it will be lowered to 0 as there are no negative stat params allowed.

PS On primary params on older versions PERCENT_TO_ALL doesnt work. On most recent version didnt tested it yet. I tried to make artefact with bonus
Code:
{
"type":"PRIMARY_SKILL",
"subtype":2,
"val":100,
"valueType":"PERCENT_TO_ALL"
}

and it didnt icrease spell power by 100% :evil:
_________________
I'm not a member of VCMI developer group and my posts are not official. I'm just a fan.
 
     
Andruids 
Ancient Droid

Joined: 27 Oct 2015
Posts: 5
Posted: 2016-04-03, 04:09   

Hi everyone.

Opening my experimental town in a map editor got me excited, so I played around with some new ideas. One of them is an ability to turn foes to ice. That's just a "stone gaze"/"paralysis" but with a twist. Attacking frozen unit would shatter it and make it lose its top stack, not unlike the Mighty Gorgon's DEATH_STARE. I think it's doable, but I lack some kind of limiter.
When I tried wishful thinking, I got a yellow message "Adding new bonuses not implemented" (shoot), so I thought I'll ask here. What would I need to do to change the list of standard bonuses? I thought this shouldn't be too hard, it wouldn't even do anything, just be there and serve as a flag.
_________________
Code:
"description" : "My test mod that add a lot of useless stuff into the game"

Wow, rude...
 
     
Warmonger 
VCMI programmer


Age: 28
Joined: 07 Jun 2008
Posts: 1537
Location: Warsaw, Poland
Posted: 2016-04-03, 12:05   

Well, every bonus effect is handled in C++ code. You are free to add new bonuses as long as it make sense. But we don't need more "flags" with no functionality while so many WoG bonuses are still missing.
_________________
Think twice if you really need to send me private message. Use public forum for general questions.
DJ Warmonger blog
beegee wrote:
Warmonger, you are the best!
 
 
     
Andruids 
Ancient Droid

Joined: 27 Oct 2015
Posts: 5
Posted: 2016-04-04, 15:56   

I though this one will be a piece of cake to make, but it turned out to be a tough cookie instead. I wanted to make a simple bonus, activated only at specific type of terrain. Am I doing something wrong, is it not yet implemented or did I misinterpret the use of "sourceType" determinant? NATIVE_TERRAIN doesn't work as well. Bonus appears at all times regardless of terrain type.
Code:
            "Snow Stealth" :
            {
                "type" : "BLOCKS_RETALIATION",
                "sourceType" : "TERRAIN_OVERLAY",   
                "sourceID" : 4
            }
_________________
Code:
"description" : "My test mod that add a lot of useless stuff into the game"

Wow, rude...
 
     
Warmonger 
VCMI programmer


Age: 28
Joined: 07 Jun 2008
Posts: 1537
Location: Warsaw, Poland
Posted: 2016-06-01, 06:34   

Andruids wrote:
I though this one will be a piece of cake to make, but it turned out to be a tough cookie instead. I wanted to make a simple bonus, activated only at specific type of terrain. Am I doing something wrong, is it not yet implemented or did I misinterpret the use of "sourceType" determinant? NATIVE_TERRAIN doesn't work as well. Bonus appears at all times regardless of terrain type.
Code:
            "Snow Stealth" :
            {
                "type" : "BLOCKS_RETALIATION",
                "sourceType" : "TERRAIN_OVERLAY",   
                "sourceID" : 4
            }

This won't work. You can't force source type for bonus. The bonus as you described is static and "TERRAIN OVERLAY" is just additional indicator with no effect.
_________________
Think twice if you really need to send me private message. Use public forum for general questions.
DJ Warmonger blog
beegee wrote:
Warmonger, you are the best!
 
 
     
misiokles 

Joined: 12 Nov 2015
Posts: 162
Posted: 2016-09-06, 15:45   

I want to make VCMI port of ERA2 mod called A Song of Ice and Fire. This mod brings 20+ map designed to suit Westeros geography, new heroes portraits, new music, new splash screens and loadgame pics.
Not everything can be ported to VCMI, but some of it features yes. So I've made such port, but encountered some problems. I've noticed that in vcmi mod New-menu there's a code:

Code:
{
    "game-select" :
    [
        "new-menu/Scenario Selection 1.png",
        "new-menu/Scenario Selection 2.png",
        "new-menu/Scenario Selection 3.png"
    ],

    "loading" :
    [
        "new-menu/LoadingScreen 1.png",
        "new-menu/LoadingScreen 2.png",
        "new-menu/LoadingScreen 3.png"
    ],


So we have three random scenario selection screens and three loadgame screens. So I've tried to do same thing in mod, but game crashes every time and I don't know why :cry: Could someone wants to look into into json files and tell what I did wrong?
Here's link to the lite vesrsion:
http://www108.zippyshare.com/v/LqGfs02q/file.html

Important: for now, game crashes at the first four time. Fifth time game launch normally without errors. :shock:
 
     
Draeganfire 

Age: 45
Joined: 15 Sep 2016
Posts: 46
Posted: 2016-12-06, 16:20   

I have been trying to work on editing some descriptions and names on some of my heroes for Fairy Town, and some others, but when I try to update names it crashes it. I have a feeling it's because there are other files that don't recognize the names when I update them......can someone give me some idea on what all I need to change for one individual hero to make my changes work (Just description wise, not changing any pictures at this point)
 
     
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
Add this topic to your bookmarks
Printable version

Jump to:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

Hosting provided by DigitalOcean
Page generated in 0.05 second. SQL queries: 15