Skip to content

Commit 860f932

Browse files
authored
Merge pull request #1 from vulpya/miku
Refactor Miku, item system, and callback architecture - Fix Miku charm chance calculation and add Birthright effect (Luck scaling) - Introduce generic item system and implement Microphone active item - Decouple NoteTear from Miku and generalize character/item architecture - Replace direct callback registration with decorator-based system
2 parents 73bafc7 + 06c77ac commit 860f932

39 files changed

Lines changed: 965 additions & 550 deletions

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ A mod adding Hatsune Miku and more Vocaloid-inspired content to The Binding of I
88

99
### Hatsune Miku
1010

11-
Miku uses her musical tears to charm enemies, letting her music sway even the fiercest foes.
12-
There is even a small chance an enemy becomes a fan!
11+
Miku uses music to charm enemies. Some may even become fans!.
12+
Her tears have a small chance to charm enemies.
13+
There is also a very small chance to charm an enemy permanently.
1314

1415
## Disclaimer
1516

TODO.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# TODOs
2+
3+
- [x] Add Birthright Miku effect
4+
- [x] Add EID compatibility
5+
- [x] Add passive item for Miku tear effect
6+
- [x] Add null item to Miku to avoid duplicate code
7+
- [ ] Add benefits if Miku obtains Virtual Idol
8+
9+
## BUGS
10+
11+
- [x] Fix Miku Icon transparency

cspell.config.jsonc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,5 @@
2929
"mod/content/rooms/**",
3030
"mod/resources/rooms/**",
3131
],
32-
"words": ["Hatsune", "Miku", "Vocaloid", "Arexz"],
32+
"words": ["Arexz", "Charmable", "Hatsune", "Miku", "Vocaloid"],
3333
}

mod/content/costumes2.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
<costumes anm2root="gfx/characters/">
1+
<costumes anm2root="gfx/characters/costumes/">
22
<costume anm2path="Character_MikuHead.anm2" type="none" priority="100" />
33
</costumes>

mod/content/gfx/coop menu.png

-5.95 KB
Loading

mod/content/itempools.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<ItemPools>
2+
<Pool Name="treasure">
3+
<Item Name="Virtual Idol" Weight="1" DecreaseBy="1" RemoveOn="0.1" />
4+
</Pool>
5+
</ItemPools>

mod/content/items.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<items gfxroot="gfx/items/" version="1">
2+
<passive id="1" gfx="virtual_idol.png" name="Virtual Idol" description="Idol Charm" quality="3" />
3+
<active gfx="microphone.png" name="Microphone" description="Sing your heart out" quality="4" maxcharges="8" chargetype="normal" />
4+
<null id="1" name="Miku Virtual Idol" cache="collectibles" />
5+
</items>

mod/content/players.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<players root="gfx/characters/costumes/" portraitroot="gfx/ui/stage/" nameimageroot="gfx/ui/boss/">
2-
<player name="Miku" skin="Character_Miku.png" nameimage="PlayerName_Miku.png" hp="6" portrait="PlayerPortrait_Miku.png" skinColor="-1" costume="104" costumeSuffix="miku" />
2+
<player name="Miku" skin="Character_Miku.png" nameimage="PlayerName_Miku.png" hp="6" portrait="PlayerPortrait_Miku.png" skinColor="-1" costume="104" costumeSuffix="miku" birthright="Lucky idol" />
33
</players>

mod/resources/gfx/characters/Character_MikuHead.anm2 renamed to mod/resources/gfx/characters/costumes/Character_MikuHead.anm2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<AnimatedActor>
2-
<Info CreatedBy="Vulpya" CreatedOn="3/6/2026 4:52:53 PM" Version="149" Fps="30"/>
2+
<Info CreatedBy="Vulpya" CreatedOn="3/21/2026 8:32:35 PM" Version="150" Fps="30"/>
33
<Content>
44
<Spritesheets>
5-
<Spritesheet Path="costumes\Character_MikuHead.png" Id="0"/>
5+
<Spritesheet Path="Character_MikuHead.png" Id="0"/>
66
</Spritesheets>
77
<Layers>
88
<Layer Name="head0" Id="0" SpritesheetId="0"/>
3.09 KB
Loading

0 commit comments

Comments
 (0)