All collectible pickup animations implemented.

This commit is contained in:
Mari the Deer 2021-06-30 19:55:45 +02:00
commit 7a8459f9d5
17 changed files with 310 additions and 28 deletions

View file

@ -1,3 +1,3 @@
[default]
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r566 \cu(Wed 30 Jun 17:16:02 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r566 \cu(2021-06-30 17:16:02)\c-";
SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r566 \cu(Wed 30 Jun 19:55:45 CEST 2021)\c-";
SWWM_SHORTVER="\cw0.9.11b-pre r566 \cu(2021-06-30 19:55:45)\c-";

View file

@ -252,3 +252,153 @@ Model "DemoPlushGesture"
FrameIndex XZW1 W 0 23
FrameIndex XZW1 X 0 24
}
Model "KirinCummiesGesture"
{
Path "models"
Model 0 "TootFroot1st_d.3d"
SurfaceSkin 0 0 "DemoTags.png"
SurfaceSkin 0 1 "DemoArms.png"
SurfaceSkin 0 2 "DemoSoft.png"
SurfaceSkin 0 3 "TootFroot.png"
SurfaceSkin 0 4 "matcap/silvermap.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
// Base
FrameIndex XZW1 A 0 0
// Pickup
FrameIndex XZW1 B 0 1
FrameIndex XZW1 C 0 2
FrameIndex XZW1 D 0 3
FrameIndex XZW1 E 0 4
FrameIndex XZW1 F 0 5
FrameIndex XZW1 G 0 6
FrameIndex XZW1 H 0 7
FrameIndex XZW1 I 0 8
FrameIndex XZW1 J 0 9
FrameIndex XZW1 K 0 10
FrameIndex XZW1 L 0 11
FrameIndex XZW1 M 0 12
FrameIndex XZW1 N 0 13
FrameIndex XZW1 O 0 14
FrameIndex XZW1 P 0 15
FrameIndex XZW1 Q 0 16
FrameIndex XZW1 R 0 17
FrameIndex XZW1 S 0 18
FrameIndex XZW1 T 0 19
}
Model "MilkBreadsGesture"
{
Path "models"
Model 0 "MilkBreads1st_d.3d"
SurfaceSkin 0 0 "DemoTags.png"
SurfaceSkin 0 1 "DemoArms.png"
SurfaceSkin 0 2 "DemoSoft.png"
SurfaceSkin 0 3 "MilkBreads.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
// Base
FrameIndex XZW1 A 0 0
// Pickup
FrameIndex XZW1 B 0 1
FrameIndex XZW1 C 0 2
FrameIndex XZW1 D 0 3
FrameIndex XZW1 E 0 4
FrameIndex XZW1 F 0 5
FrameIndex XZW1 G 0 6
FrameIndex XZW1 H 0 7
FrameIndex XZW1 I 0 8
FrameIndex XZW1 J 0 9
FrameIndex XZW1 K 0 10
FrameIndex XZW1 L 0 11
FrameIndex XZW1 M 0 12
FrameIndex XZW1 N 0 13
FrameIndex XZW1 O 0 14
FrameIndex XZW1 P 0 15
FrameIndex XZW1 Q 0 16
FrameIndex XZW1 R 0 17
FrameIndex XZW1 S 0 18
FrameIndex XZW1 T 0 19
}
Model "KirinMangaGesture"
{
Path "models"
Model 0 "AkariProject1st_d.3d"
SurfaceSkin 0 0 "DemoTags.png"
SurfaceSkin 0 1 "DemoArms.png"
SurfaceSkin 0 2 "DemoSoft.png"
SurfaceSkin 0 3 "KirinManga.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
// Base
FrameIndex XZW1 A 0 0
// Pickup
FrameIndex XZW1 B 0 1
FrameIndex XZW1 C 0 2
FrameIndex XZW1 D 0 3
FrameIndex XZW1 E 0 4
FrameIndex XZW1 F 0 5
FrameIndex XZW1 G 0 6
FrameIndex XZW1 H 0 7
FrameIndex XZW1 I 0 8
FrameIndex XZW1 J 0 9
FrameIndex XZW1 K 0 10
FrameIndex XZW1 L 0 11
FrameIndex XZW1 M 0 12
FrameIndex XZW1 N 0 13
FrameIndex XZW1 O 0 14
FrameIndex XZW1 P 0 15
FrameIndex XZW1 Q 0 16
FrameIndex XZW1 R 0 17
FrameIndex XZW1 S 0 18
FrameIndex XZW1 T 0 19
}
Model "KirinPlushGesture"
{
Path "models"
Model 0 "KirinPlush1st_d.3d"
SurfaceSkin 0 0 "DemoTags.png"
SurfaceSkin 0 1 "DemoArms.png"
SurfaceSkin 0 2 "DemoSoft.png"
SurfaceSkin 0 3 "KirinPlush.png"
AngleOffset -90
Scale -0.005 0.0025 0.005
// Base
FrameIndex XZW1 A 0 0
// Pickup
FrameIndex XZW1 B 0 1
FrameIndex XZW1 C 0 2
FrameIndex XZW1 D 0 3
FrameIndex XZW1 E 0 4
FrameIndex XZW1 F 0 5
FrameIndex XZW1 G 0 6
FrameIndex XZW1 H 0 7
FrameIndex XZW1 I 0 8
FrameIndex XZW1 J 0 9
FrameIndex XZW1 K 0 10
FrameIndex XZW1 L 0 11
FrameIndex XZW1 M 0 12
FrameIndex XZW1 N 0 13
FrameIndex XZW1 O 0 14
FrameIndex XZW1 P 0 15 // bump
FrameIndex XZW1 Q 0 16 // smooch
FrameIndex XZW1 R 0 17 // giggle
FrameIndex XZW1 S 0 18
FrameIndex XZW1 T 0 19
FrameIndex XZW1 U 0 20
FrameIndex XZW1 V 0 21
FrameIndex XZW1 W 0 23
FrameIndex XZW1 X 0 24 // demo giggle
FrameIndex XZW1 Y 0 25
FrameIndex XZW1 Z 0 26
FrameIndex XZW2 A 0 27
FrameIndex XZW2 B 0 28
FrameIndex XZW2 C 0 29
}

Binary file not shown.

BIN
models/KirinManga1st_a.3d Normal file

Binary file not shown.

BIN
models/KirinManga1st_d.3d Normal file

Binary file not shown.

Binary file not shown.

BIN
models/KirinPlush1st_a.3d Normal file

Binary file not shown.

BIN
models/KirinPlush1st_d.3d Normal file

Binary file not shown.

Binary file not shown.

BIN
models/MilkBreads1st_a.3d Normal file

Binary file not shown.

BIN
models/MilkBreads1st_d.3d Normal file

Binary file not shown.

Binary file not shown.

BIN
models/TootFroot1st_a.3d Normal file

Binary file not shown.

BIN
models/TootFroot1st_d.3d Normal file

Binary file not shown.

View file

@ -19,10 +19,10 @@ Collectible gestures:
½ Frispy Corn
½ Saya Bean
½ Demo Plush
- Peach Juice
- Milk Breads
- Kirin Manga
- Kirin Plush
½ Peach Juice
½ Milk Breads
½ Kirin Manga
½ Kirin Plush
Key gestures:
x Keycard

View file

@ -286,25 +286,25 @@ voice/default/koraxmasters6 sounds/voice/default/demokoraxmasters6.ogg
voice/default/koraxmasters7 sounds/voice/default/demokoraxmasters7.ogg
voice/default/koraxmasters8 sounds/voice/default/demokoraxmasters8.ogg
voice/default/koraxmasters9 sounds/voice/default/demokoraxmasters9.ogg
voice/default/giggle1 sounds/voice/default/demogigle1.ogg
voice/default/giggle2 sounds/voice/default/demogigle2.ogg
voice/default/giggle3 sounds/voice/default/demogigle3.ogg
voice/default/giggle4 sounds/voice/default/demogigle4.ogg
voice/default/giggle5 sounds/voice/default/demogigle5.ogg
voice/default/giggle6 sounds/voice/default/demogigle6.ogg
voice/default/giggle7 sounds/voice/default/demogigle7.ogg
voice/default/giggle8 sounds/voice/default/demogigle8.ogg
voice/default/giggle9 sounds/voice/default/demogigle9.ogg
voice/default/giggle10 sounds/voice/default/demogigle10.ogg
voice/default/giggle11 sounds/voice/default/demogigle11.ogg
voice/default/giggle12 sounds/voice/default/demogigle12.ogg
voice/default/giggle13 sounds/voice/default/demogigle13.ogg
voice/default/giggle14 sounds/voice/default/demogigle14.ogg
voice/default/giggle15 sounds/voice/default/demogigle15.ogg
voice/default/giggle16 sounds/voice/default/demogigle16.ogg
voice/default/giggle17 sounds/voice/default/demogigle17.ogg
voice/default/giggle18 sounds/voice/default/demogigle18.ogg
voice/default/giggle19 sounds/voice/default/demogigle19.ogg
voice/default/giggle1 sounds/voice/default/demogiggle1.ogg
voice/default/giggle2 sounds/voice/default/demogiggle2.ogg
voice/default/giggle3 sounds/voice/default/demogiggle3.ogg
voice/default/giggle4 sounds/voice/default/demogiggle4.ogg
voice/default/giggle5 sounds/voice/default/demogiggle5.ogg
voice/default/giggle6 sounds/voice/default/demogiggle6.ogg
voice/default/giggle7 sounds/voice/default/demogiggle7.ogg
voice/default/giggle8 sounds/voice/default/demogiggle8.ogg
voice/default/giggle9 sounds/voice/default/demogiggle9.ogg
voice/default/giggle10 sounds/voice/default/demogiggle10.ogg
voice/default/giggle11 sounds/voice/default/demogiggle11.ogg
voice/default/giggle12 sounds/voice/default/demogiggle12.ogg
voice/default/giggle13 sounds/voice/default/demogiggle13.ogg
voice/default/giggle14 sounds/voice/default/demogiggle14.ogg
voice/default/giggle15 sounds/voice/default/demogiggle15.ogg
voice/default/giggle16 sounds/voice/default/demogiggle16.ogg
voice/default/giggle17 sounds/voice/default/demogiggle17.ogg
voice/default/giggle18 sounds/voice/default/demogiggle18.ogg
voice/default/giggle19 sounds/voice/default/demogiggle19.ogg
voice/default/hug1 sounds/voice/default/demohug1.ogg
voice/default/hug2 sounds/voice/default/demohug2.ogg
voice/default/hug3 sounds/voice/default/demohug3.ogg

View file

@ -171,11 +171,121 @@ Class DemoPlushGesture : SWWMItemGesture
}
Class ManarokouGesture : SWWMItemGesture {}
Class LithiumNovelGesture : SWWMItemGesture {}
Class KirinCummiesGesture : SWWMItemGesture {}
Class MilkBreadsGesture : SWWMItemGesture {}
Class KirinMangaGesture : SWWMItemGesture {}
Class KirinCummiesGesture : SWWMItemGesture
{
States
{
Fire:
XZW1 A 3;
XZW1 B 3 A_StartSound("demolitionist/handsup",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 CDEFGH 3;
XZW1 IJKLM 4;
XZW1 NO 3;
XZW1 P 3 A_StartSound("demolitionist/handsdown",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 QRST 3;
XZW1 A -1 A_FinishGesture();
Stop;
}
}
Class MilkBreadsGesture : SWWMItemGesture
{
States
{
Fire:
XZW1 A 3;
XZW1 B 3 A_StartSound("demolitionist/handsup",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 CDEFGH 3;
XZW1 IJKLM 4;
XZW1 NO 3;
XZW1 P 3 A_StartSound("demolitionist/handsdown",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 QRST 3;
XZW1 A -1 A_FinishGesture();
Stop;
}
}
Class KirinMangaGesture : SWWMItemGesture
{
States
{
Fire:
XZW1 A 3;
XZW1 B 3 A_StartSound("demolitionist/handsup",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 CDEFG 3;
XZW1 HIJKLM 4;
XZW1 NO 3;
XZW1 P 3 A_StartSound("demolitionist/handsdown",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 QRST 3;
XZW1 A -1 A_FinishGesture();
Stop;
}
}
Class KirinPlushGesture : SWWMItemGesture
{
action void A_UsePlush()
{
if ( !Demolitionist(self) ) return;
let s = Demolitionist(self).mystats;
if ( !s ) return;
s.plushuses++;
SWWMUtility.AchievementProgress('swwm_progress_plush',s.plushuses,player);
}
action void A_PetPlush()
{
A_StartSound("demolitionist/petting",CHAN_WEAPON,CHANF_OVERLAP);
}
action void A_KissPlush()
{
if ( swwm_mutevoice < 4 )
A_StartSound("demolitionist/smooch",CHAN_DEMOVOICE,CHANF_OVERLAP,.4);
SWWMHandler.DoFlash(self,Color(48,255,128,128),10);
SWWMHandler.DoFlash(self,Color(24,255,128,128),30);
int numpt = Random[ExploS](6,9);
for ( int i=0; i<numpt; i++ )
{
let s = Spawn("LoveHeartSparkle",Vec3Offset(FRandom[ExploS](-.8,.8)*radius,FRandom[ExploS](-.8,.8)*radius,FRandom[ExploS](.1,.9)*height));
s.angle = FRandom[ExploS](0,360);
s.pitch = FRandom[ExploS](-90,90);
}
if ( GiveBody(10,100) )
{
SWWMScoreObj.Spawn(10,Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Height/2),ST_Health);
SWWMHandler.DoFlash(self,Color(32,224,128,255),10);
}
}
action void A_Giggle( bool high = false )
{
if ( swwm_mutevoice < 4 )
A_StartSound(String.Format("voice/%s/%s",Demolitionist(self).myvoice.GetString(),high?"gigglehigh":"gigglelow"),CHAN_DEMOVOICE,CHANF_OVERLAP);
}
action void A_KirinGiggle()
{
A_StartSound("kirin/giggle",CHAN_ITEMEXTRA,CHANF_OVERLAP);
// TODO smite enemies
}
action void A_HugPlush( bool sigh = false )
{
if ( sigh )
{
if ( swwm_mutevoice < 4 )
A_StartSound(String.Format("voice/%s/hug",Demolitionist(self).myvoice.GetString()),CHAN_DEMOVOICE,CHANF_OVERLAP);
SWWMHandler.DoFlash(self,Color(64,255,128,128),10);
SWWMHandler.DoFlash(self,Color(32,255,128,128),80);
int numpt = Random[ExploS](6,9);
for ( int i=0; i<numpt; i++ )
{
let s = Spawn("LoveHeartSparkle",Vec3Offset(FRandom[ExploS](-.8,.8)*radius,FRandom[ExploS](-.8,.8)*radius,FRandom[ExploS](.1,.9)*height));
s.angle = FRandom[ExploS](0,360);
s.pitch = FRandom[ExploS](-90,90);
}
return;
}
if ( GiveBody(5,100) )
{
SWWMScoreObj.Spawn(5,Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Height/2),ST_Health);
SWWMHandler.DoFlash(self,Color(32,224,128,255),10);
}
}
override void MarkPrecacheSounds()
{
Super.MarkPrecacheSounds();
@ -191,5 +301,27 @@ Class KirinPlushGesture : SWWMItemGesture
MarkSound("kirin/giggle10");
MarkSound("kirin/giggle11");
}
States
{
Fire:
XZW1 A 3 A_UsePlush();
XZW1 B 3 A_StartSound("demolitionist/handsup",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 CDEFGH 3;
XZW1 IJKL 5;
XZW1 M 5 A_StartSound("demolitionist/handsdown",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 N 4;
XZW1 O 2;
XZW1 P 2 A_PetPlush();
XZW1 Q 3 A_KissPlush();
XZW1 R 3 A_KirinGiggle();
XZW1 ST 5;
XZW1 UVW 6;
XZW1 X 5;
XZW1 Y 4 A_StartSound("demolitionist/handsdown",CHAN_WEAPON,CHANF_OVERLAP);
XZW1 Z 4 A_Giggle();
XZW2 ABC 4;
XZW1 A -1 A_FinishGesture();
Stop;
}
}
Class PsykkonovexxGesture : SWWMItemGesture {}