Wasteland 2: now with improved modding capabilities (and bugfixes!)

For community content (fan-art, fanfic, etcetera) for Wasteland 2.
Post Reply
Inquisitive Imps
Initiate
Posts: 2
Joined: August 5th, 2022, 12:08 am

Since Father Enola and Malediction Mayweather have been set up to drop Smokey and Kymry's Warrior, respectively, when they did not do so previously, are there any other NPC's with unique weaponry who don't drop what they're supposed to? For example, the wiki has pages for weapons like Shredder or Martha, but no listed locations for them. Are they just cut, or are they also bugged.
Lastly, do you think you could set up the Dragoon to be a guaranteed drop from the Seal Beach warehouse sniper? Seems odd that there's only a random chance for it to drop from him.
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

0.9.4.091 now available here

Localization.zip has been updated so make sure to download it again too and extract into your "/WL2_Data/StreamingAssets/Localization/" directory.
For those interested in modding, also delete the 'Table' and 'ItemTemplate' folders in "Mods/Export" so they will get outputted again.

CHANGELOG
BASE GAME BUG FIXES
  • Mysophobic quirk was preventing the use of most items on oneself, instead of just healing items as intended
  • fixed incorrect weapon model for Hobo Basher weapon
  • Optical Eye loot was using the wrong inventory image
MODDING
  • map music now moddable, settings found in the SoundscapeManager.mson in 'Table'
    • place songs in the 'Music' subfolder in "Mods/Import"
    • only WAV and OGG formats supported, though WAV is recommended as the game seems to load OGG files quite slowly
    • do not include the file extension (ie. ".wav") in the songs field; for example:

      Code: Select all

      songs : [ "mySong1", "mySong2" ]
      
  • can now change the header text underneath weapon names on tooltips; typeDescription field in ItemTemplate_Weapon MSONs
    • will fill in following values if encased in square brackets: ITEM/TIER/SKILL_NAME/SKILL_LEVEL/CALIBER
    • eg. "<@>[SKILL_NAME] - Tier [TIER]"

__________________________________________________________________________________

Inquisitive Imps wrote: August 5th, 2022, 12:12 am Since Father Enola and Malediction Mayweather have been set up to drop Smokey and Kymry's Warrior, respectively, when they did not do so previously, are there any other NPC's with unique weaponry who don't drop what they're supposed to? For example, the wiki has pages for weapons like Shredder or Martha, but no listed locations for them. Are they just cut, or are they also bugged.
Father Enola and Malediction Mayweather used their respective weapons, they simply never dropped them before. Shredder/Martha/Beer Knuckles/etc. were never assigned to any NPC. There's quite a few items, textures and other resources in the data files that are never used in-game.
Inquisitive Imps wrote: August 5th, 2022, 12:12 am Lastly, do you think you could set up the Dragoon to be a guaranteed drop from the Seal Beach warehouse sniper? Seems odd that there's only a random chance for it to drop from him.
Yeah, it does seem weird that the only source of that weapon is a 10% drop off an enemy. Basically mandates save-scumming if you want to acquire it. I'll see about fixing this.
srch2015
Initiate
Posts: 3
Joined: June 24th, 2022, 6:11 am

Yes!
Thank you Executor_!
Was eagerly waiting for the moddable music feature...
Time to experiment again.


P. S.
Inquisitive Imps wrote: August 5th, 2022, 12:12 am ...set up the Dragoon to be a guaranteed drop from the Seal Beach warehouse sniper...
Hi, Inquisitive Imps! it's actually very easy to do:
1. go here:
Wasteland 2 Director's Cut\WL2_Data\Mods\Export\LosAngeles\CA10_Seal_Beach\DropSet
and find this file: DropSet_CA10_COTC_RifleWithDragoon.mson

2. Copy the above file into:
Wasteland 2 Director's Cut\WL2_Data\Mods\Import\LosAngeles\CA10_Seal_Beach\DropSet

3. Now open this file (the one inside the IMPORT folder) with notepad or emeditor or notepad++ etc., and find this section of code (it is at the very beginning of the file):

Code: Select all

{
	associatedSkill : DropSkills.NONE                        // skill level determined by 'minSkill' and 'maxSkill' in a Drop object
	
	drops : [
		{
			minSkill : 0
			maxSkill : -1
			
			dropClass : 0                                      // if 0, then 'chanceToDrop' is always evaluated separately
			chanceToDrop : 10 
4. Change chanceToDrop : 10 line from 10 to 100, to make it a guaranteed 100% drop chance.
That's it.

By the way, this change will take effect only upon visiting this location for the first time. It won't work if you've already visited this place. Even if you haven't killed the guys yet, I think.
Inquisitive Imps
Initiate
Posts: 2
Joined: August 5th, 2022, 12:08 am

Thanks for the replies, I'll look into the drop tables.

BTW, do you know if it is currently, or will be, possible to mod the game to increase the party size limit? Or is that too much of a hard limit within the code?
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

The max party size is hard-coded. But the main issue with raising it is that the UI is only designed to handle up to 7 party members. Off the top of my head, the main HUD, world map HUD, character screen, CNPC replacement, trade, trade dropoff, loot, loot dropoff (ranger storage) screens would all need to be modified to cope with larger squads. That is not a trivial endeavor.
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

0.9.4.092 now available here

Localization.zip has been updated so make sure to download it again too and extract into your "/WL2_Data/StreamingAssets/Localization/" directory.

CHANGELOG
GENERAL CHANGES
  • the door puzzle mini-game in underground Highpool has been restored
    Image
    • was included in the original game but was removed for the Director's Cut
    • two voiced bits of dialog that had been recorded for the Director's Cut version but ended up unused when the puzzle was deleted can now be heard
    • fixed some UI visual bugs stemming from the original game when interacting with the switches/circuit breaker
  • the unique sniper rifle Dragoon now has a 100% drop chance instead of 10%
Hety
Initiate
Posts: 15
Joined: March 10th, 2014, 10:57 am

Is it possible to somehow link trait effects? For example if i want to recreate Fallout's One Hander Trait i cant do it coz traits only allow one subset of allowed items and i need two. So adding and "auto added" trait list of traits would solve that problem. Or am i missing something?
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

Traits DO allow multiple elements in the allowedItems field. Look at "BaseStat/Trait/Trait_FocusedShooter.mson" for an example of that.
Hety
Initiate
Posts: 15
Joined: March 10th, 2014, 10:57 am

My fault - i wasnt clear enough. I need two subsets of allowedItems with different effects so i can set hit chance to +20% for Ranged and -40% to Ranged_2H, for example.
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

I'll see about implementing some sort of solution so you can accomplish that.
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

0.9.4.093 now available here

CHANGELOG
BASE GAME BUG FIXES
  • corrected several melee weapons whose WeaponType did not match their WeaponAnimType
MODDING
  • game now checks requiredTraits before adding to the list of active Traits, before, was only checked when purchasing a perk
  • tooltip now excludes hidden or unlisted Traits from the Unlocks line
  • added the following Situations: OneHandWeapon, TwoHandWeapon, Target_OneHandWeapon, Target_TwoHandWeapon
    • considered a two-handed weapon if has a WeaponType of Melee_2H/Ranged_2H/RPG

__________________________________________________________________________________


Your quirk can now be created like this:

Import\BaseStat\Trait\Trait_OneHander.mson

Code: Select all

{
	displayName : "<@>One Hander"
	description : "<@>One of your hands is very dominant. You excel with single-handed weapons, but two-handed weapons cause a problem."
	effectsDescription : "<@>[b]Benefits:[/b]\n[00cc00]+20% Chance to Hit with one-handed ranged weapons[-]\n\n[b]Drawbacks:[/b]\n[cc0000]-40% Chance to Hit with two-handed ranged weapons[-]"

	...
	
	pointCost : 0                                            // if 0 then is considered a quirk; if -1 then cannot be purchased
	addToEveryone : false                                    // if true, every squad member receives this trait for free
	isHidden : false                                         // controls whether shown on perks screen; effects will still show up on tooltips

	...

	statModifiers : [                                        // only used if 'allowedItems' restrictions met
		{
			when : [ Situation.OneHandWeapon, Situation.RangedWeapon ]
			statName : chanceToHit
			value : 20.0
		}
		{
			when : [ Situation.TwoHandWeapon, Situation.RangedWeapon ]
			statName : chanceToHit
			value : -40.0
		}
	]
}

But if the OneHandWeapon and TwoHandWeapon Situations didn't exist, or if you had a more complicated set of restrictions on allowedItems, you could still implement it like the following, utilizing addToEveryone, isHidden, and requiredTraits in the second Trait:

Import\BaseStat\Trait\Trait_OneHander.mson

Code: Select all

{
	displayName : "<@>One Hander"
	description : "<@>One of your hands is very dominant. You excel with single-handed guns, but two-handed guns cause a problem."
	effectsDescription : "<@>[b]Benefits:[/b]\n[00cc00]+20% Chance to Hit with one-handed ranged weapons[-]\n\n[b]Drawbacks:[/b]\n[cc0000]-40% Chance to Hit with two-handed ranged weapons[-]"

	...

	pointCost : 0                                            // if 0 then is considered a quirk; if -1 then cannot be purchased
	addToEveryone : false                                    // if true, every squad member receives this trait for free
	isHidden : false                                         // controls whether shown on perks screen; effects will still show up on tooltips
	requiredTraits : [ ]
	
	...

	statModifiers : [                                        // only used if 'allowedItems' restrictions met
		{
			statName : chanceToHit
			value : 20.0
		}
	]
	
	allowedItems : [ 
		{
			itemTemplateType : ItemTemplateType.WeaponRanged
			weaponType : WeaponType.Ranged
		}
	]
}
Import\BaseStat\Trait\Trait_OneHander2.mson

Code: Select all

{
	displayName : "<@>One Hander"

	...

	pointCost : -1                                           // if 0 then is considered a quirk; if -1 then cannot be purchased
	addToEveryone : true                                     // if true, every squad member receives this trait for free
	isHidden : true                                          // controls whether shown on perks screen; effects will still show up on tooltips
	requiredTraits : [ Trait_OneHander ]
	
	...

	statModifiers : [                                        // only used if 'allowedItems' restrictions met
		{
			statName : chanceToHit
			value : -40.0
		}
	]
	
	allowedItems : [ 
		{
			itemTemplateType : ItemTemplateType.WeaponRanged
			weaponType : WeaponType.Ranged_2H
		}
	]
}
Shadow Jack
Scholar
Posts: 128
Joined: October 25th, 2017, 7:53 am

HI Executor, one user of my mod reported bugs related to the Interactable folder, please see the thread below:
There seems to be a bug in Santa Fe Springs. Many of the interactables aren't actually interactable; they can only be examined. Most troublesome is the pile of wood planks you need to patch up the walls but also all the trash bags and steam vent used to make a shortcut. Replacing the ones in the mod with the files from the export folder of the mod tool fixes the issue.
KWKrebKWKreb
member2 posts0 kudos
13 September 2022, 10:13AM
Подскажите пожалуйста какие именно файлы нужно заменить. Спасибо большое.
Nemesis688Nemesis688
premium60 posts1 kudos
14 September 2022, 10:12AM
I just replaced everything in the "InteractableInventoryObject" folder with the files from the export folder

So copy the files from
S:\SteamLibrary\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Mods\export\LosAngeles\CA00_SantaFeSprings\Interactable\Drama\PropObject\InteractableObject\InteractableInventoryObject

and paste them into and overwrite if you did not already delete them.

S:\SteamLibrary\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Mods\Import\LosAngeles\CA00_SantaFeSprings\Interactable\Drama\PropObject\InteractableObject\InteractableInventoryObject

The starting file path will be based on your install path though.
Nemesis688Nemesis688
premium60 posts1 kudos
14 September 2022, 10:13AM
Also, while you are in the "CA00_SantaFeSprings" folder you might want to remove the "CA0_LtWoodson" folder from

S:\SteamLibrary\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Mods\Import\LosAngeles\CA00_SantaFeSprings\Interactable\Drama\Drama_Vendor

It was causing me an infinite loading screen on the return to Santa Fe Springs. Also, I am currently tracking down an infinite hanging issue that happens in Rodia when talking to the leaders of the Leather Jerks.

Nemesis688Nemesis688
premium60 posts1 kudos
14 September 2022, 10:33AM
The infinite cutscene I was getting when approaching the Leather Jerks leaders was caused by something in the "Drama_Vendor" folder located at

S:\SteamLibrary\steamapps\common\Wasteland 2 Director's Cut\Build\WL2_Data\Mods\Export\LosAngeles\CA01_WattsTowers\Interactable\Drama\Drama_Vendor

I just deleted the whole thing since it seems to be an issue with the mod tool program (the export and import files were identical).
Executor_
Explorer
Posts: 386
Joined: August 11th, 2014, 5:38 am

Delete all the folders inside the "Arizona" and "LosAngeles" directories except for "ArizonaWorldMap" and "LosAngelesWorldMap".

As far as I can tell, you just wholesale copied all the files from the "Export" folders into "Import". This is DRASTICALLY increasing loading times. The game has to parse every one of those MSON files, and you don't even seem to changing any of the values, just writing the same values back in.

If you're modifying an existing object, the MSON file only needs to include the fields/values you are altering. For example, if you just want to change the inventory icon for an item, the MSON file only needs to include the following lines:

Code: Select all

{
	atlas :  WL2_Weapons
	spriteName : "T_icon_W_S&W38"
}
Only if you're creating an entirely new object would you want to include all the fields.
Shadow Jack
Scholar
Posts: 128
Joined: October 25th, 2017, 7:53 am

Understood, thanks for the info.
Post Reply

Return to “Wasteland 2: Community Content”