So now with the closing deadline, I'm going to start asking more pointed questions and posting code if anyone wants some half-baked ideas. Plus ZHA putting out 9 variants made me realize I was a huge slacker and i should submit something for all the time I've spent on this.
Name: Healing or Shielding Bot
Concept: An enemy ship that makes nearby enemies stronger, either by healing them or giving them shields.
Progress: Doesn't seem to work. No entities seem to gain health or shields as I tried various variants.
Code:
<system name="ShieldAddSystem"
category="DirectUseSystem"
shot_type="Invisible"
damage_type="Ballistic"
attack_power="1" fire_rate="2"
range_actual="500" cue_time="0"
shots_per_salvo="1"
targeting_logic="Dumbfire" firing_timing="AllTheTime"
image_name="Invisible"
initial_firing_delay="0"
distance_threshold_modifiers_applied_to_nearby_entities="500"
modifiers_applied_to_nearby_entities_can_target_allies="true"
modifiers_applied_to_nearby_entities_can_target_enemies="true"
>
<modifier target="NearbyEntities" type="MaxHealth" math="add" magnitude="50" timing="OnUse_ParentEntity"/>
</system>
Name: PeriodicMovementMode Ships
Concept: Using movement to make interesting enemies.
Progress: Keith fixed the exit PeriodicMovementMode problem, but the modes still seem buggy. ShadowDash ships tend to stay phased out. Reposition requires a fixed movement point to relocate to, which is bad for random enemy rooms.
<entity name="bob" category="Ship" ship_category="Wander_3x3"
display_name="bob"
behavior="Attacker"
speed="100"
max_health="100"
periodic_movement_mode_interval_min="2"
periodic_movement_mode_interval_max="5"
image_folder="Enemy_Pursuers"
image_name="ChargerWhite"
>
<hitbox radius="26" />
<periodic_movement_mode type="ShadowDash" chance_to_target_player="50" shockwave_radius ="50">
<modifier type="MovementSpeed" math="Set" magnitude="1000" />
</periodic_movement_mode>
<periodic_movement_mode type="Reposition" related_point="5,5">
<modifier type="MovementSpeed" math="Set" magnitude="1000" />
</periodic_movement_mode>
</entity>
Name:Flag Shots
Concept: Shoot pixel art based flags at the player.
Progress: It works completely. However, more than 3 flags on screen tends to tank frame rate. Possibly due to just how many shots there are generated, 176 shots per flag. It might be reduced by stopping them from spinning and removing the wall collision. The other part is they don't seem to match the game's tone. And yes, that is a pirate alien flag.
The code is available in a zip earlier in the thread. There is a lot of it. Below is just a part sufficient to get the idea.
<entity name="RocketFrog" ship_category="Wander_3x3"
category="Ship"
display_name="Rocket Frog"
behavior="Wanderer"
speed="50" acceleration="100"
max_health="100"
image_folder="Enemy_Pursuers" image_name="ChargerWhite"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
<system type="FlagTestSystem" offset="0,0" />
</entity>
<system name="FlagTestSystem"
category="Weapon"
shot_type="BulletPointedYellow"
damage_type="Ballistic"
attack_power="-1" fire_rate="3"
range_actual="2000" cue_time="0"
shots_per_salvo="1"
targeting_logic="Direct" firing_timing="AllTheTime"
image_name="Invisible" special_bullet_patterns="FlagPIRAPattern"
initial_firing_delay="1"
>
</system>
<var name="FlagShot2134312">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT2] SPOSX=10
$FlagShot SHOT=[SHOT1] SPOSX=20
$FlagShot SHOT=[SHOT2] SPOSX=30
$FlagShot SHOT=[SHOT2] SPOSX=40
$FlagShot SHOT=[SHOT2] SPOSX=50
$FlagShot SHOT=[SHOT1] SPOSX=60
$FlagShot SHOT=[SHOT1] SPOSX=70
$FlagShot SHOT=[SHOT1] SPOSX=80
$FlagShot SHOT=[SHOT1] SPOSX=90
$FlagShot SHOT=[SHOT2] SPOSX=100
$FlagShot SHOT=[SHOT2] SPOSX=110
$FlagShot SHOT=[SHOT2] SPOSX=120
$FlagShot SHOT=[SHOT1] SPOSX=130
$FlagShot SHOT=[SHOT2] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShot1316131">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT1] SPOSX=10
$FlagShot SHOT=[SHOT1] SPOSX=20
$FlagShot SHOT=[SHOT1] SPOSX=30
$FlagShot SHOT=[SHOT2] SPOSX=40
$FlagShot SHOT=[SHOT1] SPOSX=50
$FlagShot SHOT=[SHOT1] SPOSX=60
$FlagShot SHOT=[SHOT1] SPOSX=70
$FlagShot SHOT=[SHOT1] SPOSX=80
$FlagShot SHOT=[SHOT1] SPOSX=90
$FlagShot SHOT=[SHOT1] SPOSX=100
$FlagShot SHOT=[SHOT2] SPOSX=110
$FlagShot SHOT=[SHOT1] SPOSX=120
$FlagShot SHOT=[SHOT1] SPOSX=130
$FlagShot SHOT=[SHOT1] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShot484">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT2] SPOSX=10
$FlagShot SHOT=[SHOT2] SPOSX=20
$FlagShot SHOT=[SHOT2] SPOSX=30
$FlagShot SHOT=[SHOT1] SPOSX=40
$FlagShot SHOT=[SHOT1] SPOSX=50
$FlagShot SHOT=[SHOT1] SPOSX=60
$FlagShot SHOT=[SHOT1] SPOSX=70
$FlagShot SHOT=[SHOT1] SPOSX=80
$FlagShot SHOT=[SHOT1] SPOSX=90
$FlagShot SHOT=[SHOT1] SPOSX=100
$FlagShot SHOT=[SHOT1] SPOSX=110
$FlagShot SHOT=[SHOT2] SPOSX=120
$FlagShot SHOT=[SHOT2] SPOSX=130
$FlagShot SHOT=[SHOT2] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShot4122214">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT2] SPOSX=10
$FlagShot SHOT=[SHOT2] SPOSX=20
$FlagShot SHOT=[SHOT2] SPOSX=30
$FlagShot SHOT=[SHOT1] SPOSX=40
$FlagShot SHOT=[SHOT2] SPOSX=50
$FlagShot SHOT=[SHOT2] SPOSX=60
$FlagShot SHOT=[SHOT1] SPOSX=70
$FlagShot SHOT=[SHOT1] SPOSX=80
$FlagShot SHOT=[SHOT2] SPOSX=90
$FlagShot SHOT=[SHOT2] SPOSX=100
$FlagShot SHOT=[SHOT1] SPOSX=110
$FlagShot SHOT=[SHOT2] SPOSX=120
$FlagShot SHOT=[SHOT2] SPOSX=130
$FlagShot SHOT=[SHOT2] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShot3116113">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT2] SPOSX=10
$FlagShot SHOT=[SHOT2] SPOSX=20
$FlagShot SHOT=[SHOT1] SPOSX=30
$FlagShot SHOT=[SHOT2] SPOSX=40
$FlagShot SHOT=[SHOT1] SPOSX=50
$FlagShot SHOT=[SHOT1] SPOSX=60
$FlagShot SHOT=[SHOT1] SPOSX=70
$FlagShot SHOT=[SHOT1] SPOSX=80
$FlagShot SHOT=[SHOT1] SPOSX=90
$FlagShot SHOT=[SHOT1] SPOSX=100
$FlagShot SHOT=[SHOT2] SPOSX=110
$FlagShot SHOT=[SHOT1] SPOSX=120
$FlagShot SHOT=[SHOT2] SPOSX=130
$FlagShot SHOT=[SHOT2] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShot123121321">
$FlagShot SHOT=[SHOT2] SPOSX=0
$FlagShot SHOT=[SHOT1] SPOSX=10
$FlagShot SHOT=[SHOT1] SPOSX=20
$FlagShot SHOT=[SHOT2] SPOSX=30
$FlagShot SHOT=[SHOT2] SPOSX=40
$FlagShot SHOT=[SHOT2] SPOSX=50
$FlagShot SHOT=[SHOT1] SPOSX=60
$FlagShot SHOT=[SHOT2] SPOSX=70
$FlagShot SHOT=[SHOT2] SPOSX=80
$FlagShot SHOT=[SHOT1] SPOSX=90
$FlagShot SHOT=[SHOT2] SPOSX=100
$FlagShot SHOT=[SHOT2] SPOSX=110
$FlagShot SHOT=[SHOT2] SPOSX=120
$FlagShot SHOT=[SHOT1] SPOSX=130
$FlagShot SHOT=[SHOT1] SPOSX=140
$FlagShot SHOT=[SHOT2] SPOSX=150
</var>
<var name="FlagShotPirateShot">
$FlagShot16 SHOT=[SHOT2] SPOSY=-50
$FlagShot2134312 SPOSY=-40
$FlagShot1316131 SPOSY=-30
$FlagShot484 SPOSY=-20
$FlagShot4122214 SPOSY=-10
$FlagShot4122214 SPOSY=-0
$FlagShot484 SPOSY=10
$FlagShot3116113 SPOSY=20
$FlagShot123121321 SPOSY=30
$FlagShot2134312 SPOSY=40
$FlagShot16 SHOT=[SHOT2] SPOSY=50
</var>
<var name="FlagShot16">
$FlagShot SHOT=[SHOT] SPOSX=0
$FlagShot SHOT=[SHOT] SPOSX=10
$FlagShot SHOT=[SHOT] SPOSX=20
$FlagShot SHOT=[SHOT] SPOSX=30
$FlagShot SHOT=[SHOT] SPOSX=40
$FlagShot SHOT=[SHOT] SPOSX=50
$FlagShot SHOT=[SHOT] SPOSX=60
$FlagShot SHOT=[SHOT] SPOSX=70
$FlagShot SHOT=[SHOT] SPOSX=80
$FlagShot SHOT=[SHOT] SPOSX=90
$FlagShot SHOT=[SHOT] SPOSX=100
$FlagShot SHOT=[SHOT] SPOSX=110
$FlagShot SHOT=[SHOT] SPOSX=120
$FlagShot SHOT=[SHOT] SPOSX=130
$FlagShot SHOT=[SHOT] SPOSX=140
$FlagShot SHOT=[SHOT] SPOSX=150
</var>
<var name="FlagShot">
<bullet angle="[ANGLE]" speed="[SPEED]" shot_type="[SHOT]" spawn_offset ="[SPOSX],[SPOSY]">
<change self_scale="0.5" />
<wait time="0.5" />
<loop iterations="5">
<change angle="45" time="0.0001" />
<wait time=".5" />
<change angle="90" time="0.0001" />
<wait time=".5" />
<change angle="135" time="0.0001" />
<wait time=".5" />
<change angle="180" time="0.0001" />
<wait time=".5" />
<change angle="225" time="0.0001" />
<wait time=".5" />
<change angle="270" time="0.0001" />
<wait time=".5" />
<change angle="315" time="0.0001" />
<wait time=".5" />
<change angle="0" time="0.0001" />
<wait time="1" />
<wait time="2" />
</loop>
</bullet>
</var>
<bullet_pattern name="FlagPIRAPattern">
$FlagShotPirateShot SPEED=260 ANGLE=0 SHOT1=WingsWhite SHOT2=WingsTrueBlue
</bullet_pattern>
Name: Spawn Ships when hit
Concept: When you hit an enemy ship with a shot, it spawns a defensive enemy.
Progress: Dayton created this for the player ships already, I simply stole his code and changed it a little to work for enemies. By itself it isn't enough to create an interesting enemy. It also needs to be change to use the new enemy familiar ship category.
<system name="FrogRevengeRamSystem"
category="DirectUseSystem"
firing_timing="WhenParentEntityHit"
fire_rate="1"
image_name="Invisible"
display_name="Revenge Rams" description="Spawns a Ram whenever you're hit."
spawns_entity="Ram2"
>
</system>
<entity name="Ram2" ship_category="Familiar"
category="Ship" is_not_ready_to_seed="true"
familiar_type="NormalShipBehavior" behavior="FamiliarRam" familiar_ram_charge_distance="500"
speed="100"
max_health = "50"
display_name="Ram" description="Deploys a ram to attack any nearby enemy."
image_folder="Familiars"
image_name="Ram"
familiar_regenerates_after_current_room="false"
is_familiar_that_dies_when_parent_dies="true"
>
<hitbox radius="18"/>
<system type="RamRam" offset="0,0"/>
</entity>
Name: Shadow Clone Jitsu
Concept: When a ship is hit, fake copies of the ship appear to confuse the player, only one is real.
Progress: Generating a ship when an enemy is hit is done the same was as the previous entry. That's easy. The movement pattern to get the clones to not all sit on top of the spawning ship and to get the original spawning ship to mix itself up with the clones hasn't been accomplished. The other problem is that when I play, I take the strategy of more DAKKA is good DAKKA. So I hose everything with bullets. Even with the enemy producing fake bullets for me to dodge, it didn't really click for me.
see above
Name: Miniboss Maze Room
Concept: You have a room filled with a maze of 1 cell-wide paths. There are normal enemies in it and there is a miniboss chasing monster. You have to dodge the Miniboss while doing something else.
Progress: I couldn't make the Miniboss dangerous enough without making him too dangerous. Either he is faster and can always catch up to the player, or not fast enough and can be simply kited. I also tried creating a boundary zone on the outside of the maze (think a shark cage with the shark miniboss on the outside), using a 3-cell wide zone and 3x3 pathfinding on the miniboss, but he tended to get stuck and still didn't seem interesting. Another possibility was to have the miniboss continue to spawn smaller maze-fittable chasers to keep you under pressure, but it still didn't work for me. If someone can get something going out of this, go for it.
d,,,,,,,,...,,,,,,,,d
,,,,,,,,,,,,,,,,,,,,,
,,sss,ss,ssss,ss,ss,,
,,s,,,,,,,,,,,,,,,s,,
,,s,ssss,ss,ss,ss,s,,
,,,,,,,,,,+,,,,,s,,,,
,,s,s,ss,sss,ss,s,s,,
,,s,s,s,,,,,,,s,s,s,,
,,,,s,s,ss,ss,,,,,s,,
.,s,,,,,s111s,s,s,s,.
.,s,s,s,,1B1s,s,s,,,.
.,,,s,s,s111,,,,,,s,.
,,s,s,,,s,sss,s,s,s,,
,,s,s,s,,,,,,,s,s,,,,
,,s,,,ss,ss,sss,,,s,,
,,s,s,,,,,,,,,,,s,s,,
,,,,sss,ss,s,ssss,,,,
,,s,,,,,,,,,,,,,,,s,,
,,ss,ss,sss,ssss,ss,,
,,,,,,,,,,,,,,,,,,,,,
d,,,,,,,,...,,,,,,,,d
<entity name="MazeMaster"
ship_category="Miniboss"
display_name="MazeMaster"
behavior="PathfindingAttacker"
category="Ship"
speed="1000"
acceleration="25"
turning_resistance="10"
decceleration="25"
max_health="1000"
image_folder="Enemy_LargeChaos"
image_name="HunterWhite"
wall_collision_reduction="-17"
time_to_visually_rotate_180_degrees=".1">
<system type="MazeDroneBaySystem" offset="0,0" />
<hitbox radius="46" offset="0,0"/>
<room src="Miniboss/PT_Maze" />
</entity>
<entity name="PTMazeSlow" ship_category="Pursuer_1x1"
category="Ship"
display_name="Maze Minion Slow"
behavior="CardinalMover"
speed="400" acceleration="50"
max_health="50"
image_folder="Enemy_Pursuers" image_name="FaceripperBlue"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
</entity>
<entity name="PTMazeFast" ship_category="DeadlyPursuer_1x1"
category="Ship"
display_name="Maze Minion Fast"
behavior="PathfindingAttacker"
speed="500" acceleration="50"
max_health="100"
image_folder="Enemy_Pursuers" image_name="FaceripperGreen"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
</entity>
<entity name="PTMazeSlowSpawn" ship_category="Pursuer_1x1"
category="Ship"
display_name="Maze Minion Slow"
behavior="CardinalMover"
speed="400" acceleration="50"
max_health="50"
image_folder="Enemy_Pursuers" image_name="ChargerBlack"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
</entity>
<entity name="PTMazeFastSpawn" ship_category="DeadlyPursuer_1x1"
category="Ship"
display_name="Maze Minion Fast"
behavior="PathfindingAttacker"
speed="500" acceleration="50"
max_health="100"
image_folder="Enemy_Pursuers" image_name="ChargerWhite"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
</entity>
Name: Space Invader Boss
Concept: A homage boss room based on the game Space Invaders.
Progress: Zamboni movement really suggested this one. I have everything set up, but I just can't find the part that makes it more fun.
<system name="InvaderSystem1"
category="Weapon"
shot_type="SpineWhite"
damage_type="Ballistic"
attack_power="1"
fire_rate="4"
cue_time = "0"
range_actual="1400"
shots_per_salvo="1"
shot_speed="250"
targeting_logic="Direct"
firing_timing="AllTheTime"
image_name="Invisible"
initial_firing_delay ="8"
>
</system>
<system name="HoldFire1System"
category = "DirectUseSystem"
firing_timing="5"
fire_rate="5"
image_name="Invisible"
>
</system>
<system name="InvaderSystem2"
category="Weapon"
shot_type="SpineGreen"
damage_type="Ballistic"
attack_power="1"
fire_rate="2"
cue_time = "0"
range_actual="1400"
shots_per_salvo="1"
shot_speed="250"
targeting_logic="Direct"
firing_timing="AllTheTime"
image_folder="Simpler"
image_name="Invisible"
initial_firing_delay ="8"
>
</system>
<system name="InvaderSystem3"
category="Weapon"
shot_type="SpineTrueBlue"
damage_type="Ballistic"
attack_power="1"
fire_rate="3"
cue_time = "0"
range_actual="1400"
shots_per_salvo="1"
shot_speed="250"
targeting_logic="Direct"
firing_timing="AllTheTime"
image_folder="Simpler"
image_name="Invisible"
do_parallel_salvo_with_spacing="0"
salvo_angle_difference="5"
initial_firing_delay ="8"
fires_salvos_sequentially="true"
>
</system>
<system name="InvaderSystem4"
category="Weapon"
shot_type="SpineEmblazonedYellow"
damage_type="Ballistic"
attack_power="1"
fire_rate="2"
cue_time = "0"
range_actual="1400"
shots_per_salvo="3"
shot_speed="450"
targeting_logic="Dumbfire"
firing_timing="OnlyInRange"
image_folder="Simpler"
image_name="Invisible"
initial_firing_delay ="0"
fires_salvos_sequentially="false"
do_parallel_salvo_with_spacing = "10"
>
</system>
<system name="InvaderSystem5"
category="Weapon"
shot_type="SpineTrueBlue"
damage_type="Ballistic"
attack_power="1"
fire_rate="2.4"
cue_time = "0"
range_actual="1400"
shots_per_salvo="3"
shot_speed="350"
targeting_logic="Dumbfire"
firing_timing="AllTheTime"
image_folder="Simpler"
image_name="Invisible"
initial_firing_delay ="0"
salvo_angle_difference="5"
>
</system>
<entity name="InvaderMinion1" ship_category="Wander_3x3"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="300"
max_health="10"
image_folder="Enemy_SmallMobile" image_name="AmberBarrage"
wall_collision_reduction="-15"
time_to_visually_rotate_180_degrees="0.3"
on_death_drops_ability_points="0"
always_faces_player ="true"
>
<system type="InvaderSystem1" offset="0,0" />
<system type="HoldFire1System" offset="0,0" />
<hitbox radius="37" offset="-10,0" />
</entity>
<entity name="InvaderMinion2" ship_category="Wander_3x3"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="300"
max_health="20"
image_folder="Enemy_SmallMobile" image_name="GreenBomber"
wall_collision_reduction="-15"
time_to_visually_rotate_180_degrees="0.3"
on_death_drops_ability_points="0"
always_faces_player ="true"
>
<system type="InvaderSystem2" offset="0,0" />
<hitbox radius="37" offset="-10,0" />
</entity>
<entity name="InvaderMinion3" ship_category="Wander_3x3"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="300"
max_health="30"
image_folder="Enemy_SmallMobile" image_name="BlueBomber"
wall_collision_reduction="-15"
time_to_visually_rotate_180_degrees="0.3"
on_death_drops_ability_points="0"
always_faces_player ="true"
>
<system type="InvaderSystem3" offset="0,0" />
<hitbox radius="37" offset="-10,0" />
</entity>
<entity name="InvaderMinion4" ship_category="Wander_3x3"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="300"
max_health="40"
image_folder="Enemy_SmallMobile" image_name="MiniSwarmBlueGreen"
wall_collision_reduction="-15"
time_to_visually_rotate_180_degrees="0.3"
on_death_drops_ability_points="0"
always_faces_player ="true"
>
<system type="InvaderSystem4" offset="0,0" />
<hitbox radius="37" offset="-10,0" />
</entity>
<entity name="InvaderMinion5" ship_category="Wander_3x3"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="300"
max_health="50"
image_folder="Enemy_SmallMobile" image_name="MiniSwarmBlueOrange"
wall_collision_reduction="-15"
time_to_visually_rotate_180_degrees="0.3"
on_death_drops_ability_points="0"
always_faces_player ="true"
>
<system type="InvaderSystem5" offset="0,0" />
<hitbox radius="37" offset="-10,0" />
</entity>
<entity name="InvaderBoss" ship_category="Boss" knockback_resistance="1"
display_name="Invader"
behavior="Zamboni" category="Ship"
speed="200" never_changes_angle_after_spawn="true"
max_health="500" wall_collision_reduction="-20"
image_folder="Enemy_Bosses" image_name="CrystalMother"
starting_angle="0"
on_death_shot_clearing_explosion_radius="2000"
do_not_seed_until_x_floors_down="1"
invincible_while_in_same_room_with="InvaderMinion1,InvaderMinion2,InvaderMinion3,InvaderMinion4,InvaderMinion5"
>
<system type="InvaderBossSystem" offset="0,0" />
<hitbox radius="60" offset="0,0" />
<room src="Boss_Large/Pt_BossSpaceInvader4" buddies="InvaderMinion1,InvaderMinion2,InvaderMinion3,InvaderMinion4,InvaderMinion5"/>
<system type="FrogRevengeRamSystem" offset="0,0" />
</entity>
<entity name="PTGhost" ship_category="Pursuer_1x1"
category="Ship"
display_name="Blue Ghost-CardinalMover"
behavior="CardinalMover"
speed="500" acceleration="50"
max_health="25"
image_folder="Enemy_Pursuers" image_name="FaceripperBlue"
time_to_visually_rotate_180_degrees="0.7"
>
<hitbox radius="26" />
</entity>
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,IIIIIIIIIIIIIIIIIIIIII,,,,,,,
,,IIIIIIIIIIIIIIIIIIIIII.,,,,,,
,,II.......................,,,,
,,II.U.U.U.U.U.............,,,,
,,II........................,,,
,,II.U.U.U.U.U.............II,,
,,II..................yss..II,,
,,II.U.U.U.U.U........ysb..II,,
,,II..................yss..II,,
,,II.U.U.U.U.U.............II,,
,,II.......................II,,
,,II.U.U.U.U.U.............II,,
,,II..................yss..II,,
+,IIBU.U.U.U.U........ysb.+II,+
,,II..................yss..II,,
,,II.U.U.U.U.U.............II,,
,,II.......................II,,
,,II.U.U.U.U.U.............II,,
,,II..................yss..II,,
,,II.U.U.U.U.U........ysb..II,,
,,II..................yss..II,,
,,II.U.U.U.U.U.............II,,
,,II........................,,,
,,II.U.U.U.U.U.............,,,,
,,II.......................,,,,
,,IIIIIIIIIIIIIIIIIIIIII.,,,,,,
,,IIIIIIIIIIIIIIIIIIIIII,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Name: Intermittent Fire
Concept: Probabilistic Firing patterns that are not fixed
Progress: I thought maybe adding a blank system that took X seconds to fire, but failed to generate a shot would work to allow for staggering shots, but I couldn't get it to work. This was inspired by the Space Invader room, having all 55 enemies constantly firing made for a busy room. The code I have left is completely stripped out as I gutted it to stop it from throwing XML issues, but still have a reminder of it.
<system name="HoldFire1System"
category = "DirectUseSystem"
firing_timing="5"
fire_rate="5"
image_name="Invisible"
>
</system>