Arcen Forums

General Category => Starward Rogue => Starward Rogue Mods & Modding => Topic started by: ptarth on February 03, 2016, 05:37:46 PM

Title: Neat Bullet Index
Post by: ptarth on February 03, 2016, 05:37:46 PM
Bullets that are cool and have code if you want to try them at home.

Ayrix's Itano Circus (https://www.arcengames.com/forums/index.php/topic,18501.msg198614.html#msg198614)
Ayrix's Touhou Achieved (https://www.arcengames.com/forums/index.php/topic,18509.0.html)

Ptarth's Buzzsaws, Pinwheels, and Grinders  (https://www.arcengames.com/forums/index.php/topic,18501.msg198617.html#msg198617)
Ptarth's Lightning  (https://www.arcengames.com/forums/index.php/topic,18517.msg198768.html#msg198768)

Zharmad's Boomerangs and Shield/Sword distance variable triblade - Blademorph & Anagu (https://www.arcengames.com/forums/index.php/topic,18335.msg198369.html#msg198369)
Title: Re: Neat Bullet Index
Post by: ptarth on February 03, 2016, 05:47:33 PM
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.

Code: [Select]
<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>
Title: Re: Neat Bullet Index
Post by: Misery on February 03, 2016, 05:51:27 PM
I took one look at the buzzsaw things and now have a whole pile of hideous ideas.

There were a few things I'd WANTED to get the blasted game to do, but I never managed to.... needed things that were lost in the grand labyrinth of the XML documentation (seriously, I dont know how any of you find stuff in there).   Now I know what those things are.

New boss coming up, I think.  The thing I'd originally wanted Labyrinth to be before it became the version that's in the game.  It'll be !!FUN!!, it will.  I've been wanting to just outright fire a maze at the player for awhile now.  Not just any maze, of course, haha....

Among other ideas.

Title: Re: Neat Bullet Index
Post by: Ayrix on February 04, 2016, 06:52:52 PM
I took one look at the buzzsaw things and now have a whole pile of hideous ideas.

There were a few things I'd WANTED to get the blasted game to do, but I never managed to.... needed things that were lost in the grand labyrinth of the XML documentation (seriously, I dont know how any of you find stuff in there).   Now I know what those things are.

New boss coming up, I think.  The thing I'd originally wanted Labyrinth to be before it became the version that's in the game.  It'll be !!FUN!!, it will.  I've been wanting to just outright fire a maze at the player for awhile now.  Not just any maze, of course, haha....

Among other ideas.


Been poking at the maze problem a bit.
As normal I come back with many stupid ideas.

Can a properly timed zamboni be used as a dot (shot) matrix printer?
should be easy to do regularly spaced walls of shots with random holes in them.

cardinal movers drawing what are just dashed lines of bullets does the thing in the pictures (that's 3 of them drawing 5 dashes each)
Title: Re: Neat Bullet Index
Post by: Misery on February 05, 2016, 09:34:23 AM
I took one look at the buzzsaw things and now have a whole pile of hideous ideas.

There were a few things I'd WANTED to get the blasted game to do, but I never managed to.... needed things that were lost in the grand labyrinth of the XML documentation (seriously, I dont know how any of you find stuff in there).   Now I know what those things are.

New boss coming up, I think.  The thing I'd originally wanted Labyrinth to be before it became the version that's in the game.  It'll be !!FUN!!, it will.  I've been wanting to just outright fire a maze at the player for awhile now.  Not just any maze, of course, haha....

Among other ideas.


Been poking at the maze problem a bit.
As normal I come back with many stupid ideas.

Can a properly timed zamboni be used as a dot (shot) matrix printer?
should be easy to do regularly spaced walls of shots with random holes in them.

cardinal movers drawing what are just dashed lines of bullets does the thing in the pictures (that's 3 of them drawing 5 dashes each)

Hmm, not QUITE what I have in mind.

It'll make more sense when it's ready, I'm not so good at explaining things.  There is rotation involved... sometimes.   Right now it's not a matter of working out technical bits, it's a matter of working out the actual conceptual pattern bits.  In other words making sure it's A: dodgeable, and B: not completely insane.  Or at least less insane than things that are meant to be at the height of insanity.