Lighting
The LightningSystem system creates a bullet that outlines the main path of the lightning. It has a loop segment that creates 2 offshoots. The pattern is filled in by the LightningBaby system which leaves a nonmoving shot behind the initial bullet. The LightingBabySystem bullets decay and are then replaced by the LightningReplaceSystem shot.
Looking at the pattern you can see some edging issues where the shot isn't keeping nice corners. This is due to the shape of the bullet, if you create a new shot graphic, you can fix this. The system is limited due to the firing rate of LightningBabySystem. I couldn't get the system to produce bullets faster that 0.001. If you use an initial shot above about speed=800, the spacing between the LightningBabySystem is too large to really work.
The glow effect is a side effect of the placement of the BoneYellow bullets on top of each other. It works for all shots in a similar density pattern. The Bone shot was chosen as it is narrow and long, but could be replaced by any other shot as well. To change the main color of the pattern, you'll want to change the LightningBabySystem Shot. To change the main color of the repeat flash, change LightningRepeatSystem. Too change the branching pattern look into structure of the loop in LightningSystemPattern.
<system name="LightningSystem"
category="Weapon"
shot_type="CrossWhite"
damage_type="Ballistic"
attack_power="1"
fire_rate="5"
cue_time = "0"
range_actual="600"
time_to_live="10"
shots_per_salvo="1"
shot_speed="1500"
targeting_logic="Direct"
image_name="Invisible"
firing_timing="AllTheTime"
initial_firing_delay ="0"
special_bullet_patterns="LightningPattern"
system_to_attach_to_shot="LightningBabySystem"
shots_use_performance_sensitive_logic="true"
>
</system>
<system name="LightningBabySystem"
category="Weapon"
shot_type="BoneYellow"
damage_type="Ballistic"
attack_power="1"
fire_rate=".001"
cue_time = "0"
range_actual="600"
time_to_live="10"
shots_per_salvo="1"
shot_speed="0"
targeting_logic="Dumbfire"
image_name="Invisible"
firing_timing="AllTheTime"
initial_firing_delay ="0"
shots_use_performance_sensitive_logic="true"
system_to_attach_to_shot="LightningRepeatSystem"
>
<modifier target="MyShots" type="MySize" math="Multiply" magnitude="1.25"/>
</system>
<system name="LightningRepeatSystem"
category="Weapon"
shot_type="BoneYellow"
damage_type="Ballistic"
attack_power="1"
fire_rate=".001"
cue_time = "0"
range_actual="600"
time_to_live="1"
shots_per_salvo="1"
shot_speed="0"
targeting_logic="Dumbfire"
image_name="Invisible"
firing_timing="AllTheTime"
initial_firing_delay ="0"
shots_use_performance_sensitive_logic="true"
only_fires_on_death="true"
special_bullet_patterns="LightningRepeatPattern"
>
<modifier target="MyShots" type="MySize" math="Multiply" magnitude="1.25"/>
</system>
<bullet_pattern name="LightningRepeatPattern">
<bullet angle="0" speed="0" shot_type="Invisible" dumbfire="true" do_not_do_rest_of_logic_on_early_death="true" use_performance_sensitive_logic="true">
<wait time="0.5"/>
<spawn>
<bullet_pattern>
<bullet angle="0" speed="0" shot_type="BoneYellow" dumbfire="true" do_not_do_rest_of_logic_on_early_death="true" use_performance_sensitive_logic="true">
<wait time="1"/>
</bullet>
</bullet_pattern>
</spawn>
<die/>
</bullet>
</bullet_pattern>
<bullet_pattern name="LightningPattern">
<bullet angle="0" speed="800" shot_type="ShardYellow" dumbfire="true" do_not_do_rest_of_logic_on_early_death="true" use_performance_sensitive_logic="true">
<loop iterations="2" take_pants_off_head="true">
<loop iterations="4" take_pants_off_head="true">
<change angle="0" angle_rand="-90,90" time="0.0" relative="true"/>
<wait time="0.2"/>
</loop>
<spawn>
<bullet_pattern>
$LightningShortShot SPEED=800
</bullet_pattern>
</spawn>
<loop iterations="1">
<change angle="0" angle_rand="-90,90" time="0.0" relative="true"/>
<wait time="0.2"/>
</loop>
</loop>
<die/>
</bullet>
</bullet_pattern>
<var name="LightningShortShot">
<bullet angle="0" speed="[SPEED]" shot_type="ShardYellow" dumbfire="true" interval_mult="1" do_not_do_rest_of_logic_on_early_death="true" use_performance_sensitive_logic="true">
<loop iterations="2">
<change angle="0" angle_rand="-90,90" time="0" relative="true"/>
<wait time="0.25"/>
</loop>
<die/>
</bullet>
</var>