[New Town Mod] Refugee

I will let Yuya share her point of view. Meanwhile, I think that this is not a bug but a feature. I think that this is intended. I suppose that the rogues have been chosen not to have to render new creatures and, as a consequence, Yuya decided to use the theme of refugee to make it all consistent.

I completely understand this might be a feature, specially since I can “upgrade” the neutral rogues to the refugee ones. But since I cannot do the other way around it gets frustrating in these specific cases.

I do understand that keeping them as neutral is probably not viable since they would not receive the bonus morale from same faction army for example or native terrain bonus…

I’m assuming changing the witch hut’s quest is also not a good option (probably too difficult), so I’d say a button to “toggle” between neutral and refugee could work (neutral to refugee already works, only need to be able to do it the other way around)

Also, changing from neutral to refugee shouldn’t cost gold I believe, might be something that was overlooked.

Thanks you for playing and enjoying the mod.

I made the choice to avoid modifying un-modded neutral and this is what is creating your issue. As this can soft-lock your game, this is something that need to be fixed. I will work on this feature for the upcoming v0.9.

I imagine this could solve a potential issue if your army is full and you would want to recruit creatures using a vanilla neutral dwelling. I don’t think that downgrading unit will costs you something, but re-upgrading will.

That said, I wasn’t able to free some time to work on my mod this month and I don’t know if December will allows me to do so. So I have no release date to that day.

@ftiercel I merged community changes (v0.8.1~v0.8.3) but I wasn’t able to find your fixes for the sorceress shadow fix and idle animation upgrade. Can you send me the files you used so I can add them back to the next release ?

@Shadow54 I added a “reversion” feature that only works for neutral creatures. I haven’t managed to successfully add it for WoG-related units. However, I might make it a submod for later release because it creates an issue with Hill Fort upgrade feature (upgrade to neutral is used by default instead of the real upgrade).

Quick update : I’ve been working on my mod again for few days. I need to fix the animated visual for one building to finish completely the new townscreen. I’ve been testing my mod with HoTA only since v0.8 so I’m now working on the WoG support submod but I need help.



Basically, in my “wog” sub-mod I want to add the stack experience config to the main mod units.

Main mod - creature config folder path

RefugeeTown / content / config / creatures / *.json

Sub mod - additional config files path

RefugeeTown / mods / wog / content / *.json

How should I proceed to apply changes to the main mod ? I’ve tested a lot of possible combinaisons for the ID but none of them is working. So far, I’ve tested :

[mod.submod] attempt edit on [mod]:[object]
"refugeetown:rfgcRogue" 				: Mod "refugeetown.wog" attempts to edit object "rfgcRogue"						from mod "refugeetown" but no such object exist!
"refugeetown:creatures.rfgcVagabond"	: Mod "refugeetown.wog" attempts to edit object "creatures.rfgcVagabond"		from mod "refugeetown" but no such object exist!
"refugeetown:creature.rfgcRogue" 		: Mod "refugeetown.wog" attempts to edit object "creature.rfgcRogue"			from mod "refugeetown" but no such object exist!
										
"core:refugeetown.rfgcRogue"			: Mod "refugeetown.wog" attempts to edit object "refugeetown.rfgcRogue"			from mod "core" but no such object exist!
"core:refugeetown:rfgcSpy"				: Mod "refugeetown.wog" attempts to edit object "refugeetown:rfgcSpy"			from mod "core" but no such object exist!
"core:creatures.refugeetown.rfgcSpy"	: Mod "refugeetown.wog" attempts to edit object "creatures.refugeetown.rfgcSpy"	from mod "core" but no such object exist!

No log & doesnt work | *:creatureID
"refugeetown.creatures	:rfgcVagabond"	: No log. Doesn't work.
"refugeetown.creature	:rfgcNomad"		: No log. Doesn't work.
"creatures.refugeetown	:rfgcVagabond"	: No log. Doesn't work.
"creature.refugeetown	:rfgcNomad"		: No log. Doesn't work.
"RefugeeTown.wog		:rfgcRogue"		: No log. Doesn't work.

Data in [x] is invalid | Considered as an Hero Class		
"rfgcRogue"								: Data in "rfgcRogue"			is invalid!	- Considered as an "Hero Class"
"creature.rfgcSpy"						: Data in "creature.rfgcSpy"	is invalid!	- Considered as an "Hero Class"
"refugeetown.rfgcSpy"					: Data in "refugeetown.rfgcSpy" is invalid!	- Considered as an "Hero Class"
"refugeetown.wog:rfgcSpy"				: Data in "rfgcSpy"				is invalid!	- Considered as an "Hero Class"

No Template founds | *[mod].creatureID
"creatures.refugeetown.rfgcRogue"		: No templates found for "core:hero:refugeetown.wog:creatures.refugeetown.rfgcRogue"
"creature.refugeetown.rfgcSpy"			: No templates found for "core:hero:refugeetown.wog:creature.refugeetown.rfgcSpy"
"refugeetown.rfgcRogue"					: No templates found for "core:hero:refugeetown.wog:refugeetown.rfgcRogue"

Note that in the WoG mod (the official WoG mod), creatures are found in a submod (called “creatures”) and the stackExp in another submod (called “stackExperience”), both contained in the same root. The stackExp formula is as such :

[mainMod].[submod]:creatureID
"wake-of-gods.creatures:arcticSharpshooter"
"refugeetown:rfgcRogue" : {
    ...
}

This version should work. However right now this mod (as available in launcher) is called refugee-town. So this is what you should use (unless you have renamed your mod):

"refugee-town:rfgcRogue" : {
    ...
}

Syntax for editing objects from another mod is always [mod name]:[object name] or [main mod].submod]:[object name] for objects from submod.

If you still can’t make it work - can you upload your VCMI_Client_log.txt?

Yes my mod root folder is “RefugeeTown”. The one in the launcher is “refugee-town”. I fear that working with the same name syntax can causes my working folder to be erased if I download the launcher one by mistake.

I wrote back [mainMod]:creatureID according to your advice and checked everything. I realized I had made a mistake in my submod mod.JSON so it was reading the whole file… as an hero class… :man_facepalming:

It seems to be working right now, thank you.

@Ivan Do you know by any chance how to call a creatureID from another mod ?

I’m working on a feature to allow faction’s hero to convert my mod’s units into other units from wake-of-gods mod. I successfully managed to convert those 3 creatures in 3 vanilla ones. Now I’m stuck for wog creatures.

“refugeetown:[heroID]” is correct and successfully adds elements to the hero.
“creature.[creatureID]” is also correct for my mod’s units.

Here is one of my take for the code (only for one hero).

"refugeetown:rfghLeyla" :{
	"specialty" :{	"bonuses" :{
			"reversionSorceress":{		"type" :"SPECIAL_UPGRADE",	"subtype":	"creature.rfgcSorceress",	"addInfo":	"wake-of-gods.creatures:wogSorceress"},
			"reversionHellSteed":{		"type" :"SPECIAL_UPGRADE",	"subtype":	"creature.rfgcHorseFire",	"addInfo":	"wake-of-gods.creatures:hellSteed"},
			"reversionNightmare":{		"type" :"SPECIAL_UPGRADE",	"subtype":	"creature.rfgcHorseBlack",	"addInfo":	"wake-of-gods.creatures:nightmare"}}}},

What I’ve tested for the wog units :

  • creature.[creatureID], this format did works for vanilla unit (for example : “creature.warUnicorn”)
  • wake-of-gods.creatures:[creatureID]
  • wake-of-gods:[creatureID]
  • [creatureID]

For addInfo I think you need to use either

  • creature.wogSorceress
  • wake-of-gods.creatures:creature.wogSorceress.

Your mod also needs dependency on wake-of-gods.creatures, if you don’t have it already.

Will try to make error messages here more useful for 1.4.3, with suggestions on correct syntax.

And by the way - starting from 1.4, for subtypes you can use simply creature ID, e.g.:

"subtype":	"rfgcSorceress"

(up to you of course)

1 Like

Thanks for your help. I changed dependency from "wake-of-gods" to "wake-of-gods.creatures", and then I was able to make it work using "wake-of-gods.creatures:creature.[creatureID]".

Note that using creature.[creatureID] for addInfo did nothing to the units, but double-clicking on sorceress icon did crash the game. And thanks for the subtype info, that will make my code cleaner.

I would’ve never figured it out so, again, thank you for your help !

Hi @Yuya,

We have merged it back with @misiokles so it’s OK. Since this, I have created sounds for all the dwellings and adventure visual for 6/7 dwelling buildings. The last one is still in progress. For the horse riders, I have used the design featured in this video but you are free to change any design.

I have shared a technique for smoke effect here. You can see the result on the Highlands blacksmith.

I remember that VCMI crashed when I have badly named a .def file so,

  • @Yuya, perhaps, it’s a similar error
  • @Ivan, would it be possible to make VCMI more robust, keep playing without the animation and show a green error message instead?

PS: Have you got a GitHub account?

@ftiercel Most design will change because they’re using the old townscreen as a reference.

Though, I find your work impressive. I will need your help to improve the new visuals. I already replaced my dwelling 6 (skull cave) visuals with yours !

When it comes to audio loops, I used original H3 DATA audio loops instead because they were a perfect fit.

EDIT : I do have a github account, but failed to understand how to work with it.


Some pre-release screenshots :

townscreen interesting,good work

1 Like

Townscreen, city graphics on the adventure map, and dwellings. Refugee becomes enjoyful, playable faction. Hard work pays off!

I will keep waiting for the relase! :slight_smile:

1 Like

Refugee Version:0.85 (Download from VCMI Launcher)
VCMI Verison:1.44 Android

The terrain config file is like this:

{
	"lonesomeRoad" :{
		"text":					"Lonesome Road",
		"moveCost" :			100,
		"minimapUnblocked" :	[ 82, 56, 8 ],
		"minimapBlocked"   :	[ 57, 40, 8 ],
		"music" :				"Dirt.mp3",	
		"tiles" :				"DIRTTL",

		"river" :				"mudRiver",
		"rockTerrain":			"rock",
		"shortIdentifier" :		"lr",
		"type" :				["SURFACE"],
		"battleFields" :		["dirt_birches", "dirt_hills", "dirt_pines"],
		"horseSound" :			"horse00",
		"horseSoundPenalty" :	"horse20"
//		"terrainViewPatterns" :	"dirt"
	}
}

Can you fix this problem? @Yuya

@leozx The terrain is aborted and shouldn’t exist anymore. Inside faction.json should be :

"nativeTerrain" : "dirt",

That will fix the issue.

1 Like

The faction.json already set “nativeTerrain” : “dirt”,
And I delete the newterrain description in mod.json and delete the terrain.json, and it works.

1 Like

Quick Update :

I might be skipping v0.9 direct to v1.0. After the upcoming I might take a break to focus on other projects. I’d appreciate any suggestions / feedback so I can work on it before the “final” release.


Reworked Siege screen :


WIP changelog :


Also, I’m considering renaming the town and I’ll need your feedbacks. You can choose up to 2 words in the following poll :

  • Refugee (keep the actual name).
  • Exile
  • Forsaken
  • Leftovers
  • Remains
  • Outcasts
  • Something else (put your suggestion in replies)

0 voters

Thanks.

I have an issue with my heroes adventure map sprites. For some reason, the hero adv.map sprites is always female version for some reason. On VCMI Editor though, it does uses the correct sprites.

I checked and every heroes config files have the correct :

"female" :				true,
or
"female" :				false,

Here’s my hero classes config files + 2 heroes M/F example files.

RFGHC-Wanderer.json (1,6 Ko)
RFGHC-Enchanter.json (1,6 Ko)
RFGH-Areman.json (1,0 Ko)
RFGH-Aran.json (1,2 Ko)


Did I do something wrong ? Is this a known bug ?

For example create two copies of “rfghcWanderer” like “rfghcWandererM” and “rfghcWandererF” and assign them to heroes instead.