Just finished playing through, liked the depth of your writing, but noticed some minor bugs:
Data Corruption:
- "Remove Consumable" if $Consumable_Update_Position is 19 or 28, doesn't include
<<set $Inventory_c_slots_filled to $Inventory_c_slots_filled - 1>>
- "Zipper Arm Cannon Modding" Smartlink Integration overwrites mats with tek.
<<set $Player_crafting_mats to $Player_crafting_tek - 1>>
Missing function:
- "Monster Pen Corridor 1-2" is missing the <</link>> tag from the statement
<<if $MS_Calibrations_My_Dear gte 5>> /%...%/
- "Special Attacks Weapon" looks for
$WSA_$WSA_Homing_Blast instead of $WSA_Homing_Blast - "LEVEL CAP" enforcing a cap of 10 by setting $Player_exp_max 's magic number to 0, ignoring $level_cap set to "Disabled"; .
Momentary confusion:
- "Inventory Consumables2" and "Inventory Consumables3" show the value for the next 'stack' in position 4 ($I_C_{15,16}_S and $I_C_{25,26}_S respectively).
(I used a script to generate a replacement, see below)
No-effect/Code-style:
- "Inventory Consumable Move Left" sets "I_C_Swap_S"
Suggestion:
- <<If>>'s instead of <<switch>>'s
<<if $Player_success gte 1>> <<if $Player_element_effectiveness is 0>> <<else>> That $Actual_damage_type <<if $Actual_damage_type_2 isnot "unaspected">>and $Actual_damage_type_2 <</if>>attack was <<switch $Player_element_effectiveness>> <<case 1>>effective <<case 2>><b>very</b> effective <<case 3>><b>incredibly</b> effective <<case 4>><b>overwhelmingly</b> effective <<case -4>><b>pathetically</b> ineffective <<case -3>><b>incredibly</b> ineffective <<case -2>><b>very</b> ineffective <<case -1>>ineffective <<default>> <</switch>>against <<= $Enemy_article>>!<br><br> <</if>> <</if>>
- I rewrote my local copy to replace collections of mutually-exclusive <<if>> statements to use <<ifelse>> and <<switch>>. (mostly for optimization reasons) But I didn't notice any other bugs that might have written over.
- Arrays, Datamaps, Datasets parallel how your data-scheme/names are organized, but can be used with SugarCube's <<for>> iterator(s) instead of unrolling/pre-writing every variation
(or generating code the Wikifyier). - <<widget>>'s might be able to make procedurally generating repeating elements less human-error prone.
UGH, Itch.io or Chrome auto-correctscorrupts the SugarCube code I try to paste here.
Was going to share a piece of fancy code that uses a template without changing your data-scheme to use an array or maps. . . It was built around <<for>> loops with something like this:<<print "$i_c_"+$smart_bandage_position+"_d">>
- Instead, here's Javascript that (pre-/re-)generates the SugarCube code for "Inventory Consumables[...]" so that you don't need to worry about searching for typos:
_m = ""; for(_jjj=0;_jjj<=20;_jjj+=10){ _m+="<<link [img[$Inventory_Left_Arrow]]>><<set $inventory_page to $inventory_page - 1>><<include \"Inventory Page Turner\">><<replace \"#inventory_replace\">><<include \"Inventory Base\">><</replace>><</link>> Consumables Tab $inventory_page <<link [img[$Inventory_Right_Arrow]]>><<set $inventory_page to $inventory_page + 1>><<include \"Inventory Page Turner\">><<replace \"#inventory_replace\">><<include \"Inventory Base\">><</replace>><</link>>\n<b>@@#tooltip;@@</b>\n<<nobr>>"; for(_jj=0;_jj<=5;_jj+=5){ if(_jj==5){_m+="\n<div class=\"Consumables2Div\">"} for(_j=1;_j<=5;_j++){ _i = _jjj+_jj+_j; _ii = _jj+_j; _m+="<<if $I_C_"+_i+" is \"empty\">><<link [img[$I_C_E]]>><</link>><<else>><<mouseover>><<link [img[$I_C_"+_i+"]]>><<dialog>><<include $I_C_"+_i+"_D>><</dialog>><</link>><<onmousein>><<replace '#tooltip'>><<= $I_C_"+_i+"_T>>:<<=$I_C_"+_i+"_S>><</replace>><<onmouseout>><<replace '#tooltip'>><</replace>><</mouseover>><</if>><div class=\"ConsumableI"+_ii+"Div\"><<if $I_C_"+_i+"_S is 0>><<else>>$I_C_"+_i+"_S<</if>></div>"; } if(_jj==5){_m+="</div>"} } _m+="<</nobr>>\n"; } _m
Meow; looking forwards to see where this goes.