Author: Ferase
Category: Player
Danmakufu Version: ph3
Tags: ph3sx ph3 sakuya reimu marisa remilia player solo youmu alice yuyuko yukari in team pack ran imperishable night
Last updated at: September 6 2021, 07:43 PM

File Size: 13.3 MB
Downloads: 344

9/6/21 --- VERSION 4.0b QUICK REVISION ---

- Fixed a bug where Remilia's lower left and lower right familiars fired the bats slightly above their actual positions
- Remilia's bomb kept using the damage multiplier for her Last Spell due to a coding error which has now been fixed

8/27/21 --- VERSION 4.0 UPDATE ---

--- NOTE ---

The structure of all settings.dnh files were updated and a new setting was added to Netherworld Dwellers Team. This means that if you've previously downloaded these scripts, you will need to either replace your current settings.dnh files or modify your existing ones. Sorry about this! I try not to do anything with these files, but I thought these changes were important for most users.


- A file that was included with all player scripts in previous versions, effect.dnh, was removed because it contained many tasks and functions never used by any of these scripts. What little was used was instead moved to the standard include.dnh files
- All settings.dnh files have been slightly reorganized so that settings for damage values are nearest to the top and can be easily accessed whereas before they were all the way at the bottom

- Increased the damage of all bombs/Last Spells to make them more effective overall

- Reworked the particle effects on Youmu's, Yuyuko's, and Remilia Solo's familiars
- Added a setting in Netherworld Dwellers Team's settings.dnh to remove the particle effects on Youmu Solo's phantom while focused; based on a fix made for IN that does the same thing to reduce obstruction issues with Youmu's phantom
- The controller for Youmu's phantom now uses acceleration interpolation instead of linear interpolation, which looks a lot smoother and feels much better to use
- Reworked Ran Solo's shot impact effects and fixed an issue where their angle wouldn't adjust with the shot itself.

- A while ago, I reworked the tasks for rendering the player sprite to be far more optimized, and I have now done the same thing to nearly all other sprite animation instances
- Cleaned up a little bit of Youmu's phantom's code

- Fixed an issue where Yuyuko's Last Spell's fast-moving butterflies were not being given damage values, resulting in them not dealing damage whatsoever


This is a pack of each of the playable teams and their respective solos (a total of 12 players altogether) from Touhou 08: Imperishable Night, recreated in ph3 and ph3sx. The goal was to recreate the players to a level close to accurate, so while there are a lot of things I tried to get right, even down to analyzing IN's code, there will be many inaccuracies and none of these will be spot-on by any means.

This project is still being actively supported, so while new features or inclusions are unlikely, bug fixes, optimizations, and overall quality of life fixes will still be implemented whenever possible. Have an issue, suggestion, or a question? Contact me at my Discord below!

This pack has two versions of all teams and solos: one that works for vanilla ph3, and one optimized for ph3sx and its unique functions.



Discord: Ferase#4246

If you encounter any bugs, have questions, or have anything you want to bring to my attention, please feel free to reach out! Feedback is very appreciated!



- All 4 teams and all 8 solo players from Imperishable Night
- All 8 bombs and all 8 Last Spells
- ph3 and ph3sx optimized versions of all teams and solo players
- Shot patterns (damage, delay, speed, etc), hitbox, itembox, PoC coordinates, and player speed for each character imported straight from IN's code
- Fully functional power system for all characters
- Reimu's homing shots
- Yukari & Ran Duo
- Marisa & Alice's Malice Cannon
- Remilia's servant familiars
- Youmu's phantom familiar
- Yuyuko's two familiars
- A plethora of settings for each team (see each team's settings.dnh file)
- On-the-fly settings switches using number keys (must be enabled in settings.dnh files)
- IN's PoC system
- And Ran Yakumo Solo as a bonus player script!



- All Characters:
---- Although shot data was possible to get directly from IN's code, bombs and Last Spells were hardcoded, so pretty much all of the bombs and Last Spells have estimated damage values and estimated hitbox duration/placement/size. If anyone has any good ways of getting this data, I would really appreciate it if you reached out and let me know how I can find out these values. My Discord name is written below, so if you have any ideas on this, I would love to hear them!
- Probably some others I'm forgetting or haven't run into yet...



All character, shot, and effect sprites (give for two or three) as well as all audio used in these scripts were not made by me, they are owned by ZUN. These graphics and sounds were only included to more accurately portray the players from Touhou 08: Imperishable Night.



- 3/31/21:
---- v1.00
------- Initial release
---- v1.05
------- Reworked invulnerability visual effects so that they respond to SetPlayerInvincibilityFrame instead of the script using its own sandboxed task
---- v1.05b
------- Fixed graze effect not working on all players
---- v1.1
------- Added a new bonus player script: Ran Yakumo Solo! She basically has the homing style of Reimu with the added restriction of only being able to target an enemy that's within a range in front or behind her. Her bomb and Last Spell were modeled off her attacks from Touhou 07, specifically her second spellcard in the Phantasm stage and her survival spellcard in the Extra stage respectively. Just something fun I wanted to add in, I hope you enjoy!
------- Optimized some of Ran's shot code in Illusionary Border Team and Yukari Solo
---- v1.1b
------- Forgot to turn off Ran's alwaysFullPower switch by default. Oops!
---- v1.1c (last update today I promise)
---- I liked to use what I call "ok texts" to observe variables, and the reason I call them that is because that's what I name text objects I use for testing. Turns out, I left a lot of them behind and even added one in the new invulnerability effect code that existed in the same form across all scripts! It's fixed now, so no more weird numbers at the top left of your screen
- 4/1/21:
---- v1.11
------- Fixed Youmu's phantom sometimes failing to return to the player while they are moving along the walls of the stage frame
------- Fixed a bug where dying as Visionary Scarlet Devil Team while focused would cause Remilia's sprite to squash until the player would unfocus and focus again. Still have no idea why the spawn animation doesn't play for Remilia, though...
---- v1.12
------- Reworked the screen shaking function to allow for smooth transition from not shaking to shaking and vice-versa. Master Spark shouldn't be nauseating anymore!
- 4/2/21:
---- v1.13
------- Added IN's PoC system (below max power level, the player must reach the PoC line and focus to collect all items on screen. When the player is at maximum power, they can collect at the PoC line regardless).
---------- With this, Marisa is also given immunity to this rule since her special skill from IN is collecting at the PoC line regardless of power level. A setting has been added in Aria of Forbidden Magic Team's settings dnh to enable/disable this behavior
---------- The proper sound now plays when the player collects items while above the PoC line
------- Organized all user-configurable variables in settings.dnh files for each team into categories (team-specific settings, movement speed, collision and collection, miscellaneous, shot damage, and bomb damage)
------- Added new settings to all teams
---------- Hitbox, grazebox, and itembox collision circle radii
---------- PoC line behavior and location
---------- Player shootdown state duration (when the player is waiting to respawn)
---------- Infinite invincibility override (aka ZUN Mode)
------------- With regards to the hitbox, grazebox, itembox, and PoC locationsettings, all default values are per-team and come straight from IN's code (with the exception of the grazebox, which needed to be estimated since the given values essentially made the grazebox nonexistent)
---- v1.13b
------- Made some minor optimizations to Yuyuko's bomb and Last Spell
------- Fixed a bug with Remilia Solo where if the player unfocused while down, they would cause her familiars to relocate to her death position
- 4/3/21:
---- v1.14
------- Fixed a bug where using Last Spells too quickly while shooting on some characters would cause Danmakufu to throw an unset variable error and terminate the scripts.
- 4/4/21:
---- v1.15
------- Added on-the-fly keyboard settings that can be enabled in every settings.dnh file. When enabled, the number keys at the top of your keyboard will control certain boolean variables in real time. For each team, you can set zunMode, alwaysFullPower, dropCard, and alwaysPoC with the 1-4 keys with a few of the other numbers being reserved for team-specific settings. You will know when a setting is flipped to on or off based on the sound that plays when you press the number key associated with your desired setting
---------- The intent of this feature is to give the player the ability to control the core non-numeric settings of the players so that they don't need to restart their scripts when they want to activate full power or any other setting.
---------- Some of the features than can be turned on and off on-the-fly using this were never meant to be on-the-fly, and their addition was only for the player's ease of access during gameplay. If you would like to use these settings as they were originally intended, please switch them on in the settings.dnh file itself
------------- Additionally, the on-the-fly nature of these settings has no effect when keyboardSettings is set to false, as most of this feature is handled in a single task that switches on and off each part of the configurable boolean variables. The only changes to the actual player scripts was the check for the keyboardSettings variable and additional checks for some of the values that may be changed by this feature that would otherwise be constant
------- Altered and optimized some tasks and functions so they would be more feasible to work with the keyboard settings feature and generally run better
------- Fixed a bug where the PoC item collection sound would play when focusing and collecting an item anywhere on the screen
------- Fixed another angle of Youmu's phantom that was behaving incorrectly
------- Fixed one final area where the error mentioned in the previous version could still occur.
---- v1.15b FINAL
------- This version doesn't really fix anything, though it just resets the keyboardSettings variable to false by default for Ran Solo (as I accidentally left it on before uploading it earlier)
- 4/7/21:
---- v2.00 ph3sx Final Release
------- ph3sx
---------- Included alternate versions of all teams and characters that are optimized to work with ph3sx
------------- All uses of the interpolation functions have been replaced with ph3sx's functions and algorithms
------------- Added some extra settings in every settings.dnh which couldn't be added in vanilla ph3 (see each settings.dnh for details)
---------------- One of these settings enables/disables replacing bomb and Last Spell names with their Japanese names. Please ensure you have the Japanese language pack installed and/or that your Danmakufu can display Japanese characters before activating
------- ph3/ph3sx
---------- Reimu's normal bomb will now spin around her instead of moving randomly around her if a homing target is not found
---------- When Ran would home in on a target, she only went to 10 pixels below their origin point. This looked a little strange and didn't reflect her positioning in IN, so I increased the distance between her and the enemy she was targeting to be 30 pixels below the origin point
---------- Added Ran's appear animation when switching from Reimu to Yukari in Illusionary Border Team or spawning as Yukari Solo
---------- Decreased Ran's following speed on Illusionary Border Team and Yukari Solo to better match that of IN
---------- Fixed a typo on Marisa's Last Spell
---------- Reworked Youmu's phantom for the last and final time (I promise)
---------- Reworked grazebox calculation since it was found that the radius was going negative for all characters
---------- Went back through and made some improvements to the haphazardly-made notes for the configuration options in the config sections of each settings.dnh (if I missed anything, I'm sorry; a lot of these files were copied and pasted and only adjusted when I began programming each team, so sometimes I would be lazy and not read through what I was overwriting/copying over)
---------- Added bombs and Last Spells to the keyboard settings feature. Ever wanted to literally spam bombs by pressing a key? Now you can! (Obviously, this will not work without setting the keyboardSettings constant to true. Check each settings.dnh for details)
- 4/9/21:
---- v2.00 ph3sx Final Release (Patch 1)
------- ph3/ph3sx
---------- Fixed an issue where Illusionary Border Team, Reimu Solo, and Yukari Solo would home onto enemies that were beyond the stage frame. I know I said I was done updating, but after testing these three on a script where the creator stored bosses outside of the screen boundaries between sections, both Reimu and Ran would try to home to them despite them not being onscreen or tangible. I don't know if this is common practice for stage makers, but I figured it made sense that since this was the case this time and was pretty annoying, I should probably fix it
---------- Ran will no longer be stuck spinning in place when SetForbidPlayerShot is set to true while she is homed in on a target
---------- Fixed an issue where the width of Alice's beam hitbox wouldn't properly reflect the width of the beam as it grew
---------- Fixed an issue where Netherworld Dwellers Team's effects would still appear if the player focused/unfocused after losing their last life
------- ph3sx
---------- Made an optimization to how the itembox was calculated
---------- Included an option for Sakuya's item slowdown attribute from IN
------------- This is turned off by default, but can be enabled in the "ph3sx settings" section of Visionary Scarlet Devil Team's settings.dnh. The reason this is disabled by default is because of how calculating and setting the speed is done with ph3sx, as while it offers a way to gather item IDs, the native ObjMove commands don't offer enough possibility to handle all situations properly. Please read the note beside this option in the settings.dnh file for more information
- 4/12/21:
---- v2.00 ph3sx Final Release (Patch 2)
------- Fixed an issue that would cause Reimu's homing shots to break if multiple enemies spawned far enough outside of the stage frame
- 6/3/21:
---- v2.1
------- Fixed an issue where the player scripts were accidentally deleting the user interface background.
- 7/4/21:
---- v2.15
------- Previously, preventing the player from shooting/bombing in any instance was done with SetForbidPlayerShot and SetForbidPlayerSpell, however this conflicts with scripts that use these functions. With this, all shot/bomb prevention within the player scripts are now done with state checking, so the aforementioned functions will now work properly in any script that uses them without worry of these player scripts overriding them.
- 7/6/21:
---- v2.5
------- Rebuilt settings.dnh files for all players so they don't contain things that could change with an update
------- Made a cosmetic change to Alice's beam
- 7/20/21:
---- v2.5b
------- Fixed an issue where the player could continue shooting after their last life was lost
- 7/22/21:
---- v2.6
------- Lowered the opacity of Alice's beam to prevent it from being too distracting
------- Added small shaking effects to Alice's bomb and Last Spell, as well as Yukari's Last Spell
------- Made another small cosmetic tweak on Yukari's Last Spell effect
- 7/27/21:
---- v2.6b
------- Reverted the opacity changes previously made to Alice's beam
------- Increased Malice Cannon's duration from 20 frames to 24
- 7/29/21:
---- v2.6c
------- Fixed a bug where Reimu's bomb and Last Spell would offset the spawning of her orbs
------- Made optimizations to the task that renders Reimu's sprite
------- Marisa's crystal shots now use the correct shot collision graphic
------- Made a very slight modification to Marisa's normal shot collision visual effect
- 7/30/21:
---- v2.7
------- The screen flash function will no longer assume the playing field is the default size and will instead check the width and height and scale accordingly before drawing
------- Added the background visual elements to Yukari's Last Spell
- 8/1/21:
---- v2.7b
------- All player scripts now respond to picking up point cards instead of doing nothing but granting score
- 8/2/21:
---- v2.7c
------- Fixed a bug where Remilia's sprite would horizontally scale during her bomb/Last Spell
------- Decreased Remilia's damage output during her bomb and Last Spell by half
- 8/7/21:
---- v2.8
------- Made improvements to the code that handles Reimu and Yukari's homing abilities
- 8/12/21:
---- v3.0
------- Changed multiple default values in the settings.dnh files of all characters
---------- Enabled alwaysFullPower by default
---------- Lowered all damage multipliers from 0.25 to 0.18
---------- Made various adjustments to bomb/Last Spell damage values/multipliers
------- Reworked each player script's task for rendering the character sprite to be more optimized and allow for animations to properly execute
---------- Fixed multiple bugs that came with the original code (Remilia stetching/absent spawn animation, etc.)
------- Polished Ran's spawning animation on Illusionary Border Team and Yukari Solo
------- Disabled left and right movement sprite animations on Youmu's character while using her bomb/Last Spell
------- Modified the hitbox graphic's animations to better match that of IN's
------- Cleaned up old leftover code that was no longer in use and made a few overall optimizations
---- v3.0b
------- Changed the death ring animation to indicate death bomb grace period
------- Decreased grace period for death bombs on all characters from 26 to 16 frames
------- Uploaded better screenshots
------- Fixed a bug that caused Youmu to be able to move during her Last Spell
- 8/16/21:
---- v3.0c
------- Lowered the render priority of Marisa's missles since they were unintentinally rendering on top of her sprite
------- Moved the spawn point of Marisa's crystals downwards by 24px so it more closely matched IN
- 8/19/21:
---- v3.0d
------- Fixed a bug that made Reimu's homing shots not home onto targets that were too far from the player
- 8/19/21:
---- v3.1
------- Smoothed out Sakuya's homing routine for her bomb/Last Spell
- 8/24/21:
---- v3.1b
------- Animated the appear/disappear effect for Remilia's familiars in Scarlet Team and Remilia Solo
- 8/27/21:
---- v4.0
------- Removed all instances of effect.dnh due to only one of its tasks ever being used and moved that particular task to the related include.dnh instead
------- Reorganized every settings.dnh to have the damage modifiers closer to the top for easier access
------- Reworked the damage output on all bombs/Last Spells so they output the amount of damage a typical bomb/Last Spell should, making them generally more effective
------- Rebuilt the particle effects for familiars, specifically Youmu's, Yuyuko's, and Remilia Solo's
------- Added another option in Netherworld Dwellers Team's settings.dnh file that can disable the visual effect on Youmu Solo's phantom while the player is focused so it won't potentially block the player's view of thier hitbox
------- Changed the interpolation mode on Youmu's phantom's controller from linear to acceleration, making it move smoother and feel less jumpy to control
------- Reworked the impact effects for Ran Solo's shots and fixed the angle of this particle effect not inheriting the angle of the shot
------- Made more optimizations to the render tasks for most animated sprites
------- Cleaned up some redundant/messy code in Youmu's phantom's tasks
------- Fixed an issue where the fast butterfly shots fired during Yuyuko's Last Spell were not being given a damage value and therefore would not damage anything
- 9/6/21:
---- v4.0b
------- Remilia's bats now properly fire from her lower left and lower right familiars instead of appearing to emit in front of them
------- Remilia's bomb now uses its own damage multiplier as originally intended