Jump to content

Help with a modlet


Recommended Posts

Hey guys I'm fiddling with making custom quests and I was wondering if it would be possible to make a quest that requires you to kill 100 Feral Zombies for example?

I know that

<property name="EntityType" value="Zombie"/> <!-- This one decides for scoring -->

this value decides for scoring but this one extends to all existing zombies.

 

Is there a simple way of counting only Ferals somehow? Perhaps through tags? If so how would it be done?

The usual basic quests have:

<objective type="ZombieKill" value="5" phase="1"/>

and that's that. You kill a couple of zombies and the quest is done.

 

There is also for specific zombos:

<objective type="ZombieKill" id="zombieLab" value="1" phase="1"/>

where you would need to kill one Lab coat zombie and that would be that.

But I can't seem to find a way of just singling out all ferals. Any help would be appreciated.


 

Link to comment
Share on other sites

I haven't tinkered around with quests in some time but I think its possible.  My bloodmoon quest mod gives the player a reoccurring quest that rewards them with a skill point for every x number of bloodmoon zombies killed.

 

I thought it would be cool to create an incentive for players to stick around for horde night vs skipping it.

 

I recall I did a brute force modlet that created duplicates of every entity (used a different name like "quest_arlene") that spawns on bloodmoon hordes so only those counted for the quest objective. 

Link to comment
Share on other sites

On 6/18/2021 at 6:21 AM, Cranberry Monster said:

A possible (brute force) way to do it would be to string together all the possible feral zombie types with "or." That would be a PITA and ugly as sin, but in theory it could work.

 

How would I go about stringing all of them together? I don't really care if it's brute force or ugly as sin. I just want it to work, later on I can think of how to improve it :D

Link to comment
Share on other sites

On 6/24/2021 at 1:41 AM, devon752 said:

How would I go about stringing all of them together? I don't really care if it's brute force or ugly as sin. I just want it to work, later on I can think of how to improve it :D

 

Okay, based on the vanilla quest Stag Party, which lets kills for both the stag and doe count, it looks like you can just string them together with commas inside the id.

Example code from Stag Party:

<objective type="AnimalKill" id="animalStag,animalDoe" value="5">
			<property name="objective_name_key" value="animalDeer"/>
		</objective>

 

Now, you'd need to change your objective type to ZombieKill, and put all the different feral zombie names inside the quotes for id.

You'd probably also want to add a line in localization so the counter displays how many of what you've killed--like use zombieFeral for the value in the xml, and then make a localization line that has it display as Feral Zombies (which will be followed by your kill progress on screen).

<objective type="ZombieKill" id="zombieWightFeral,zombieBoeFeral,zombieFemaleFatFeral,zombieJoeFeral,zombieJanitorFeral" value="5">
			<property name="objective_name_key" value="zombieFeral"/>
		</objective>

 

Obviously, you'd have to go through entityclasses.xml and find the names of all the feral zombie types (as well as decide whether to include those tagged as feral but not explicitly named as such, like radiated versions and the default football players). If this is a general hunting quest, as the OP suggests, you don't need a phase number in this part of the code, as it should work like the AnimalKill quests in vanilla.

 

So, there's a jumping off point for you. I hope it works out.

Link to comment
Share on other sites

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...