@@ -17,7 +17,9 @@ public partial class Form1 : Form
1717 List < SetGroup > setGroups ;
1818 List < BoostType > boostTypes ;
1919 List < Salvage > salvage ;
20+ List < SetBonus > setBonusData ;
2021 List < int > craftingCost ;
22+ List < string > boostCategories = new List < string > ( ) ;
2123
2224 public Form1 ( )
2325 {
@@ -26,10 +28,13 @@ public Form1()
2628 setGroups = JsonConvert . DeserializeObject < List < SetGroup > > ( LoadConfig ( "SetGroups" , Properties . Resources . SetGroups ) ) ;
2729 boostTypes = JsonConvert . DeserializeObject < List < BoostType > > ( LoadConfig ( "BoostTypes" , Properties . Resources . BoostTypes ) ) ;
2830 salvage = JsonConvert . DeserializeObject < List < Salvage > > ( LoadConfig ( "Salvage" , Properties . Resources . Salvage ) ) ;
29- craftingCost = JsonConvert . DeserializeObject < List < int > > ( LoadConfig ( "CraftingCost" , Properties . Resources . CraftingCost ) ) ;
30- foreach ( SetGroup group in setGroups ) setGroupName . Items . Add ( group ) ;
31- foreach ( BoostType boostType in boostTypes ) boostTypeList . Items . Add ( boostType ) ;
32- this . Icon = Icon . FromHandle ( boostSet . GetIcon ( config , "Superior" ) . GetHicon ( ) ) ;
31+ setBonusData = JsonConvert . DeserializeObject < List < SetBonus > > ( LoadConfig ( "SetBonus" , Properties . Resources . SetBonus ) ) ;
32+ craftingCost = JsonConvert . DeserializeObject < List < int > > ( LoadConfig ( "CraftingCost" , Properties . Resources . CraftingCost ) ) ;
33+ foreach ( SetGroup group in setGroups ) setGroupName . Items . Add ( group ) ;
34+ foreach ( BoostType boostType in boostTypes ) boostTypeList . Items . Add ( boostType ) ;
35+ setBonusList . DisplayMember = "displayList" ;
36+ setBonusList . DataSource = setBonusData ;
37+ this . Icon = Icon . FromHandle ( boostSet . GetIcon ( config , "Superior" ) . GetHicon ( ) ) ;
3338 }
3439
3540 private string LoadConfig ( string filename , string resource )
@@ -53,7 +58,8 @@ private void LoadBoostset(string filename)
5358 private void SaveBoostset ( string filename )
5459 {
5560 UpdateBoostSet ( ) ;
56- File . WriteAllText ( filename , JsonConvert . SerializeObject ( boostSet ) ) ;
61+ File . WriteAllText ( filename , JsonConvert . SerializeObject ( boostSet , Formatting . Indented ,
62+ new JsonSerializerSettings { NullValueHandling = NullValueHandling . Ignore } ) ) ;
5763 }
5864
5965 private void UpdateFormData ( )
@@ -120,7 +126,8 @@ private void Form1_FormClosing(object sender, FormClosingEventArgs e)
120126
121127 private void createDataFiles_Click ( object sender , EventArgs e )
122128 {
123- UpdateBoostSet ( ) ;
129+ createDataFiles . Enabled = false ;
130+ UpdateBoostSet ( ) ;
124131 Directory . CreateDirectory ( config . data + "Defs/Account" ) ;
125132 Directory . CreateDirectory ( config . data + "Defs/Boostsets" ) ;
126133 Directory . CreateDirectory ( config . data + "Defs/Powers" ) ;
@@ -129,20 +136,54 @@ private void createDataFiles_Click(object sender, EventArgs e)
129136 Directory . CreateDirectory ( config . data + "Texts/English/Boostset" ) ;
130137 Directory . CreateDirectory ( config . data + "Texts/English/Powers" ) ;
131138
132- File . WriteAllText ( config . data + "Defs/Account/Product_Catalog.def" , boostSet . GetProductCatalog ( ) ) ;
133- File . WriteAllText ( config . data + "Defs/Invention/Recipes.recipe" , boostSet . GetDropRecipe ( craftingCost , salvage ) ) ;
134- File . WriteAllText ( config . data + "Defs/Invention/Merits.recipe" , boostSet . GetMeritsRecipe ( ) ) ;
135- File . WriteAllText ( config . data + "Defs/Invention/Store.recipe" , boostSet . GetStoreRecipe ( ) ) ;
136- File . WriteAllText ( config . data + "texts/English/Bases/Recipes.ms" , boostSet . DumpCache ( ) ) ;
139+ boostSet . catalog . AddFile ( config . data + "Defs/Account/Product_Catalog.def" ) ;
140+ File . WriteAllText ( config . data + "Defs/Account/Product_Catalog.def" , boostSet . GetProductCatalog ( ) ) ;
137141
138- File . WriteAllText ( config . data + "Defs/Boostsets/Boostsets.def" , boostSet . GetBoostSetDef ( ) ) ;
139- File . WriteAllText ( config . data + "Texts/English/Boostset/Boostsets.ms" , boostSet . DumpCache ( ) ) ;
142+ boostSet . pstring . AddFile ( config . data + "texts/English/Bases/Recipes.ms" ) ;
140143
141- File . WriteAllText ( config . data + "Defs/Powers/Boosts.categories" , boostSet . GetBoostsCategories ( ) ) ;
142- File . WriteAllText ( config . data + "Defs/Powers/Boosts.powersets" , boostSet . GetBoostsPowerSets ( ) ) ;
143- foreach ( Boost boost in boostSet . boostList ) File . WriteAllText ( config . data + "Defs/Powers/Boosts_Crafted_" + boost . name + ".powers" , boostSet . GetPowers ( boost , false , "Crafted_" , "Attuned_" ) ) ;
144- foreach ( Boost boost in boostSet . boostList ) File . WriteAllText ( config . data + "Defs/Powers/Boosts_Attuned_" + boost . name + ".powers" , boostSet . GetPowers ( boost , true , "Attuned_" , null ) ) ;
145- File . WriteAllText ( config . data + "Texts/English/Powers/Boosts." + boostSet . name + ".ms" , boostSet . DumpCache ( ) ) ;
144+ boostSet . recipes . AddFile ( config . data + "Defs/Invention/Recipes.recipe" ) ;
145+ File . WriteAllText ( config . data + "Defs/Invention/Recipes.recipe" , boostSet . GetDropRecipe ( craftingCost , salvage ) ) ;
146+ boostSet . recipes . AddFile ( config . data + "Defs/Invention/Merits.recipe" ) ;
147+ File . WriteAllText ( config . data + "Defs/Invention/Merits.recipe" , boostSet . GetMeritsRecipe ( ) ) ;
148+ boostSet . recipes . AddFile ( config . data + "Defs/Invention/Store.recipe" ) ;
149+ File . WriteAllText ( config . data + "Defs/Invention/Store.recipe" , boostSet . GetStoreRecipe ( ) ) ;
150+
151+ File . WriteAllText ( config . data + "texts/English/Bases/Recipes.ms" , boostSet . pstring . ToString ( ) ) ;
152+
153+ boostSet . pstring . AddFile ( config . data + "Texts/English/Boostset/Boostsets.ms" ) ;
154+ boostSet . boostsets . AddFile ( config . data + "Defs/Boostsets/Boostsets.def" ) ;
155+ File . WriteAllText ( config . data + "Defs/Boostsets/Boostsets.def" , boostSet . GetBoostSetDef ( ) ) ;
156+ File . WriteAllText ( config . data + "Texts/English/Boostset/Boostsets.ms" , boostSet . pstring . ToString ( ) ) ;
157+
158+ boostCategories . Clear ( ) ;
159+ if ( File . Exists ( config . data + "Defs/Powers/Boosts.categories" ) )
160+ {
161+ string line ;
162+ StreamReader file = new StreamReader ( config . data + "Defs/Powers/Boosts.categories" ) ;
163+ while ( ( line = file . ReadLine ( ) ) != null )
164+ {
165+ line = line . Trim ( ) ;
166+ if ( line . ToUpper ( ) . IndexOf ( "POWERSETS " ) == 0 )
167+ {
168+ boostCategories . Add ( line . Substring ( 10 ) . Trim ( ) ) ;
169+ }
170+ }
171+
172+ file . Close ( ) ;
173+ }
174+ File . WriteAllText ( config . data + "Defs/Powers/Boosts.categories" , boostSet . GetBoostsCategories ( boostCategories ) ) ;
175+
176+ foreach ( Boost boost in boostSet . boostList )
177+ {
178+ Directory . CreateDirectory ( config . data + "Defs/Powers/Boosts/Crafted_" + boost . name ) ;
179+ File . WriteAllText ( config . data + "Defs/Powers/Boosts/Crafted_" + boost . name + ".powersets" , boostSet . GetBoostsPowerSet ( boost , "Crafted_" ) ) ;
180+ File . WriteAllText ( config . data + "Defs/Powers/Boosts/Crafted_" + boost . name + "/Crafted_" + boost . name + ".powers" , boostSet . GetPowers ( boost , false , "Crafted_" , "Attuned_" ) ) ;
181+ Directory . CreateDirectory ( config . data + "Defs/Powers/Boosts/Attuned_" + boost . name ) ;
182+ File . WriteAllText ( config . data + "Defs/Powers/Boosts/Attuned_" + boost . name + ".powersets" , boostSet . GetBoostsPowerSet ( boost , "Attuned_" ) ) ;
183+ File . WriteAllText ( config . data + "Defs/Powers/Boosts/Attuned_" + boost . name + "/Attuned_" + boost . name + ".powers" , boostSet . GetPowers ( boost , true , "Attuned_" , null ) ) ;
184+ }
185+
186+ File . WriteAllText ( config . data + "Texts/English/Powers/Boosts." + boostSet . name + ".ms" , boostSet . pstring . ToString ( ) ) ;
146187
147188 if ( File . Exists ( config . images + boostSet . iconName + ".png" ) )
148189 {
@@ -192,9 +233,10 @@ private void createDataFiles_Click(object sender, EventArgs e)
192233 File . WriteAllText ( config . thumbs + "enhancements_images.txt" , enhancementsList ) ;
193234 File . WriteAllText ( config . thumbs + "recipes_images.txt" , recipesList ) ;
194235 }
195- }
236+ createDataFiles . Enabled = true ;
237+ }
196238
197- private void bonusAddNew_Click ( object sender , EventArgs e )
239+ private void bonusAddNew_Click ( object sender , EventArgs e )
198240 {
199241 Bonus bonus = new Bonus ( ) ;
200242 if ( ! string . IsNullOrEmpty ( bonusAutoPowers . Text ) )
@@ -486,5 +528,12 @@ private void salvageAdd_Click(object sender, EventArgs e)
486528 AddSalvageToTree ( s , salvageTree . Nodes [ ( int ) s . level ] ) ;
487529 }
488530 }
489- }
531+
532+ private void setBonusList_SelectedIndexChanged ( object sender , EventArgs e )
533+ {
534+ SetBonus selected = ( SetBonus ) setBonusList . SelectedItem ;
535+ setBonusLabel . Text = selected . displayShortHelp + Environment . NewLine + selected . displayHelp ;
536+ bonusAutoPowers . Text = selected . fullName ;
537+ }
538+ }
490539}
0 commit comments