Preserve(New) and Asylum Town

Preserve and Asylum are my own project for my new mod. It is not finished now, so I put them into VCMI. There are still some bugs in Asylum pack, so it need to fixed. There is no commander for two town, and the puzzle maps are also not finished by our team. So commander and puzzle maps are not included in this pack.

Sorry for a mistake… Now you can download the new pack (25MB).
Mods.rar (25.6 MB)
preserve&asylum.zip (13.3 MB)

http://img.hoop8.com/1607A/jCNdKOL1.jpg

http://img.hoop8.com/1607A/aEYmECNx.jpg

http://img.hoop8.com/1607A/Cwn1hql6.jpg

for Asylum

http://img.hoop8.com/1607A/KkJnTk1b.jpg

http://img.hoop8.com/1607A/gQg2TDO7.jpg

http://img.hoop8.com/1607A/o36Bnnen.jpg

We’ve seen Preserve’s new screen on Heroes Community earlier. I’m glad you decided to make this towns for VCMI. This will be lovely vacation.

Now it’s VCMI Team turn to release new version with some bugfixes an better AI!

First ‘bug’: there’s no Preserve towm in attachment. Only Asylum and vcmi :slight_smile:

OK, I will upload again.

Ouch, it’s riddled with typos (or spelling errors).
I presume 4th level unit should be ‘Sorrow Phantom’ (or maybe ‘Photon’)?. I don’t even know what Enclusore is. It’s an eyesore, I’ll give you that. I won’t be getting into hero biographies, there’s too much to point out and correct.

Are the sound effects fixed at least?

First impressions:

  • there’s no external dwellings. Hard to say you make complete new town without external dwellings. I can see dweling defs in mod files but most of them looks different on map and in town. It should be fixed quickly.
  • creature’s sounds in Preserve have lots of noise (like in older version). Try convert wav to mp3, then mp3 to wav. Should help.
  • it would be nice if towns changing look depends on fort/citadel/castle build (like Hota does with all towns)
  • Preserve look on aventure map is awful. Too much straight and simplyness.
  • siege screens could be better, but they are ok for now!
  • there’s something wrong with Asylum’s shooters. Console says that ‘projectile’ command is missing - that’s why game crashes in attempt to batlle with them.
  • for puzzle map try Marcon1 method:
    [forum.vcmi.eu/t/macron1-topic-for-different-stuff/726/7)

I hope next versions will be better and better!

Cool, finally these towns are out in any way!

  1. Who wants dwellings for Asylun, than create “dwellings.json” in “config/asylum” directory, and place here these code:
{
	"core:creatureGeneratorCommon" : {
		"types" : {
			"asylumLevel1" : {
				"name" : "Mystical Hut",
				"creatures" :  "darksquire" ]],

				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG177",
						"mask" : "VVV","VBB","BBA" ]
					}
				}
			},
			"asylumLevel2" : {
				"name" : "Shadow Arena",
				"creatures" :  "winddancer" ]],

				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG179",
						"mask" :  "VBB", "VBA" ]
					}
				}
			},
			"asylumLevel3" : {
				"name" : "Psychic Window",
				"creatures" :  "shadowhunter" ]],

				"templates" : {
					"default" : {	
						"animation" : "asylum/map/dwellings/AVG181",
						"mask" : "VVV","VBB","VBA" ]
					}
				}
			},
			"asylumLevel4" : {
				"name" : "Swampy Pit",
				"creatures" :  "sadphanton" ]],
				"guards" : 
					{ "amount" : 15, "type" : "asylumsadphanton" }
				],
				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG183",
						"mask" : "VVV","VBB","VAB" ]
					}
				}
			},
			"asylumLevel5" : {
				"name" : "Soul Order",
				"creatures" :  "spiritcrus" ]],
				"guards" : 
					{ "amount" : 12, "type" : "asylumspiritcrus" }
				],
				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG185",
						"mask" :  "VVV","VBB","VAB"						]
					}
				}
			},
			"asylumLevel6" : {
				"name" : "Shadow Enclusore",
				"creatures" :  "asnightmare" ]],
				"guards" : 
					{ "amount" : 6, "type" : "asylumasnightmare" }
				],
				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG187",
						"mask" : "VVV","BBB","BAB" ]
					}
				}
			},
			"asylumLevel7" : {
				"name" : "Phantom Zone",
				"creatures" :  "plwalker" ]],
				"guards" : 
					{ "amount" : 3, "type" : "asylumplwalker" }
				],
				"templates" : {
					"default" : {
						"animation" : "asylum/map/dwellings/AVG189",
						"mask" : "VVV","VBB","VAB" ]
					}
				}
			}

		}		
	}


}

Then add at end of “mod.json” (before closing “}” ) these:

... <heroes file list>  ] ,
	"objects":
	
	"config/asylum/dwellings.json"
	]
}

And enjoy.

  1. To correct “missile” code, right code for phantomhunter.json:
{
  "phantomhunter": {
    "name": {
      "plural": "Phantom Hunters",
      "singular": "Phantom Hunter"
    },
    "advMapAmount": {
      "max": 20,
      "min": 12
    },
    "faction": "asylum",
    "aiValue": 448,
    "attack": 8,
    "cost": {
      "gold": 240
    },
    "damage": {
      "max": 6,
      "min": 3
    },
    "defense": 9,
    "fightValue": 364,
    "graphics": {
      "animation": "asylum/battle/creatures/CPST3U.def",
      "map": "asylum/map/creatures/AVWC182.def",
      "iconSmall": "asylum/iconsSmall/creatures/CPRS182Y.bmp",
      "iconLarge": "asylum/iconsBig/creatures/CPRL182Y.bmp",
      "timeBetweenFidgets": 1,
      "animationTime": {
        "walk": 1.25,
        "attack": 1,
        "idle": 10,
        "flight": 1
      },
    "missile": {
      "projectile": "PELFX.DEF",
      "attackClimaxFrame": 7,
      "offset": {
        "upperX": 38,
        "upperY": -65,
        "middleX": 36,
        "middleY": -59,
        "lowerX": 21,
        "lowerY": -50
      },
      "frameAngles":  90, 72, 45, 27, 0, -27, -45, -72, -90, 0, 0, 0 ]
    }
    },
    "growth": 7,
    "hitPoints": 23,
    "shots": 24,
    "level": 3,
    "sound": {
      "attack": "asylum/CPU3ATTK.wav",
      "defend": "asylum/CPU3DFND.wav",
      "killed": "asylum/CPU3KILL.wav",
      "move": "asylum/CPU3MOVE.wav",
      "shoot": "asylum/CPU3SHOT.wav",
      "wince": "asylum/CPU3WNCE.wav"
    },
    "speed": 6,
    "abilities": {
      "noMorale": {
        "type": "NO_MORALE"
      },
      "noMind": {
        "type": "MIND_IMMUNITY"
      },
      "canShoot": {
        "type": "SHOOTER"
      },
      "noDistancePenalty": {
        "type": "NO_DISTANCE_PENALTY"
      }
    }
  }
}

Same for shadowhunter.json:

{
  "shadowhunter": {
    "name": {
      "plural": "Shadow Hunters",
      "singular": "Shadow Hunter"
    },
    "advMapAmount": {
      "max": 25,
      "min": 12
    },
    "faction": "asylum",
    "aiValue": 351,
    "attack": 8,
    "cost": {
      "gold": 220
    },
    "damage": {
      "max": 5,
      "min": 3
    },
    "defense": 8,
    "fightValue": 324,
    "graphics": {
      "animation": "asylum/battle/creatures/CPST3.def",
      "map": "asylum/map/creatures/AVWC181.def",
      "iconSmall": "asylum/iconsSmall/creatures/CPRS181Y.bmp",
      "iconLarge": "asylum/iconsBig/creatures/CPRL181Y.bmp",
      "timeBetweenFidgets": 1,
      "animationTime": {
        "walk": 1.25,
        "attack": 1,
        "idle": 10,
        "flight": 1
      },
    "missile": {
      "projectile": "PELFX.DEF",
      "attackClimaxFrame": 7,
      "offset": {
        "upperX": 38,
        "upperY": -65,
        "middleX": 36,
        "middleY": -59,
        "lowerX": 21,
        "lowerY": -50
      },
      "frameAngles":  90, 72, 45, 27, 0, -27, -45, -72, -90, 0, 0, 0 ]
    }
    },

    "growth": 7,
    "hitPoints": 21,
    "shots": 12,
    "level": 3,
    "upgrades": 
      "phantomhunter"
    ],
    "sound": {
      "attack": "asylum/CPS3ATTK.wav",
      "defend": "asylum/CPS3DFND.wav",
      "killed": "asylum/CPS3KILL.wav",
      "move": "asylum/CPS3MOVE.wav",
      "shoot": "asylum/CPS3SHOT.wav",
      "wince": "asylum/CPS3WNCE.wav"
    },
    "speed": 6,
    "abilities": {
      "noMorale": {
        "type": "NO_MORALE"
      },
      "noMind": {
        "type": "MIND_IMMUNITY"
      },
      "canShoot": {
        "type": "SHOOTER"
      }
    }
  }
}
	

And again few propositions for VCMI modders, who wants to care about his town work with other mods:

Technical names for creatures, heroes etc are to be started with lower case character.
And there are another preserve towns mods, for example.

So I propose next (on Asylum example):

  1. Give to creatures names consist from faction name and name of creature:

not “darkguard”, but “asylumDarkGuard”. There can be other mods with creature “darkguard”. And proposed name easily distincts that creature belongs to Asylum faction.

  1. Same to heroes and hero classes:
    not “mentalist”, but “asylumMentalist”.
    not “B_pauline”, but “asylumB_pauline”. There can be several Paulines in different mods, using pure names for heroes will only lead to conflicts and errors.

I think this can improve easeness of reading json configs.

This goes only to json names, filenames are arranged by subfolders and don’t require prefixes in them.

PS Since there are several preserve versions, faction name for new preserve (and for folders in Content is better not be messed with other “preserve” folders.
So “preserve” can be changed to “preserve_by003”, for example :sunglasses:

PPS And finally “dwellings.json” for Preserve:

{
	"core:creatureGeneratorCommon" : {
		"types" : {
			"preserveLevel1" : {
				"name" : "Thatched Hut",
				"creatures" :  "halflings" ]],

				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre1",
						"mask" : "VVV","VVV","VBA" ]
					}
				}
			},
			"preserveLevel2" : {
				"name" : "Stone Cavern",
				"creatures" :  "treelurker" ]],

				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre2",
						"mask" :  "VVV","VBB", "VAB" ]
					}
				}
			},
			"preserveLevel3" : {
				"name" : "Magic Hut",
				"creatures" :  "magiceye" ]],

				"templates" : {
					"default" : {	
						"animation" : "preserve/map/dwellings/AVGpre3",
						"mask" : "VVV","VBB","VBA" ]
					}
				}
			},
			"preserveLevel4" : {
				"name" : "Stonehenge",
				"creatures" :  "foxdruid" ]],
				"guards" : 
					{ "amount" : 15, "type" : "foxdruid" }
				],
				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre4",
						"mask" : "VVV","BBB","BAB" ]
					}
				}
			},
			"preserveLevel5" : {
				"name" : "Perch",
				"creatures" :  "hippogryph" ]],
				"guards" : 
					{ "amount" : 9, "type" : "hippogryph" }
				],
				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre5",
						"mask" :  "VVV","VBB","VBA"						]
					}
				}
			},
			"preserveLevel6" : {
				"name" : "Arcane Garden",
				"creatures" :  "fairybear" ]],
				"guards" : 
					{ "amount" : 6, "type" : "fairybear" }
				],
				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre6",
						"mask" : "VVV","BBB","BBA" ]
					}
				}
			},
			"preserveLevel7" : {
				"name" : "Forest of Life",
				"creatures" :  "treant" ]],
				"guards" : 
					{ "amount" : 3, "type" : "treant" }
				],
				"templates" : {
					"default" : {
						"animation" : "preserve/map/dwellings/AVGpre7",
						"mask" : "VVVV","VBBB","VBAB" ]
					}
				}
			}

		}		
	}


}

I’ve fixes some bugs and rapaired sounds for Asylum and Preserve. If anybody don’t mind, here’s the link:
mediafire.com/download/500db … /A%26P.zip