commit 1
This commit is contained in:
commit
d3ada59252
391 changed files with 25819 additions and 0 deletions
208
script/Jam10/Game_Plural.dnh
Normal file
208
script/Jam10/Game_Plural.dnh
Normal file
|
@ -0,0 +1,208 @@
|
|||
#TouhouDanmakufu[Plural]
|
||||
#ScriptVersion[3]
|
||||
#Title["Game Plural"]
|
||||
#Text["pilk"]
|
||||
#System["script/KevinSystem/Kevin_System.txt"]
|
||||
//#Player["script/KevinPackage/KevinScript_Players/PankevKouda/KevKou_Main.dnh", "script/KevinPackage/KevinScript_Players/MariHousui/MariHousui_Main.dnh"]
|
||||
|
||||
let csd = GetCurrentScriptDirectory();
|
||||
|
||||
let obj = ObjEnemyBossScene_Create();
|
||||
int objBGM = ObjSound_Create();
|
||||
int objBGMBoss = ObjSound_Create();
|
||||
|
||||
#include "script/KevinSystem/Universal_Lib.txt"
|
||||
#include "script/KevinSystem/kevin_system/Lib_Const.dnh"
|
||||
#include "script/Jam10/Stage_Background.dnh"
|
||||
|
||||
int LifeStart = GetCommonData("Starting Lives", 3);
|
||||
|
||||
bool stageStart = false;
|
||||
bool bossStart = false;
|
||||
float BGMRate = GetAreaCommonData("Config", "BGMVol", 100) * 0.01;
|
||||
|
||||
let POINTER_CHAIN = LoadAreaCommonDataValuePointer("PIV", "ChainAmount", 1);
|
||||
let POINTER_CHAINGAUGE = LoadAreaCommonDataValuePointer("PIV", "ChainGauge", 0);
|
||||
let POINTER_SPECIALAMMO = LoadAreaCommonDataValuePointer("PIV", "SpecialAmmo", 100);
|
||||
let POINTER_SPECIALCHECK = LoadAreaCommonDataValuePointer("PIV", "IsUsingSpecial", false);
|
||||
let POINTER_CHAINCHECK = LoadAreaCommonDataValuePointer("PIV", "IsChaining", false);
|
||||
|
||||
string DATA_PLAYER = "";
|
||||
string DATA_DIFFICULTY = "";
|
||||
|
||||
@Event{
|
||||
|
||||
alternative (GetEventType())
|
||||
|
||||
case(EV_START_MUSIC){
|
||||
stageStart = true;
|
||||
ObjSound_Play(objBGM);
|
||||
}
|
||||
|
||||
case(EV_BOSS_MUSIC){
|
||||
bossStart = true;
|
||||
ObjSound_Stop(objBGM);
|
||||
ObjSound_Play(objBGMBoss);
|
||||
}
|
||||
|
||||
case(EV_PAUSE_ENTER){
|
||||
|
||||
if (stageStart) {
|
||||
if(bossStart){
|
||||
ObjSound_Stop(objBGMBoss);
|
||||
}
|
||||
else{
|
||||
ObjSound_Stop(objBGM);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
case(EV_PAUSE_LEAVE){
|
||||
|
||||
if (stageStart) {
|
||||
if(bossStart){
|
||||
ObjSound_Play(objBGMBoss);
|
||||
}
|
||||
else{
|
||||
ObjSound_Play(objBGM);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Initialize{
|
||||
|
||||
SetCommonDataPtr(POINTER_CHAIN, 1);
|
||||
SetCommonDataPtr(POINTER_CHAINGAUGE, 0);
|
||||
SetCommonDataPtr(POINTER_SPECIALAMMO, 100);
|
||||
SetCommonDataPtr(POINTER_SPECIALCHECK, false);
|
||||
SetCommonDataPtr(POINTER_CHAINCHECK, false);
|
||||
|
||||
SetCommonData("Flying Defeated", 0);
|
||||
SetCommonData("Ground Defeated", 0);
|
||||
//SetCommonData("IsBomb", false);
|
||||
SetCommonData("Rank", 1);
|
||||
|
||||
if(!IsCommonDataAreaExists("PIV")){
|
||||
CreateCommonDataArea("PIV");
|
||||
SetAreaCommonData("PIV", "currentvalue", 1000);
|
||||
SetAreaCommonData("PIV", "ChainAmount", 1);
|
||||
}
|
||||
else{
|
||||
SetAreaCommonData("PIV", "ChainAmount", 1);
|
||||
SetAreaCommonData("PIV", "currentvalue", 1000);
|
||||
}
|
||||
|
||||
SetPlayerLife(GetAreaCommonData("Config", "StartingLife", 3));
|
||||
|
||||
SetAutoDeleteObject(true);
|
||||
|
||||
// 0: Yal, 1: Wareya
|
||||
//SetAreaCommonData("Config", "BGMSelect", "Wareya");
|
||||
|
||||
/*
|
||||
if(GetAreaCommonData("Config", "BGMSelect", 0) == 1){
|
||||
ObjSound_Load(objBGM, "script/game/resourceLib/BossTheme_Wareya1.ogg");
|
||||
ObjSound_SetLoopTime(objBGM, 1.644, 51.110);
|
||||
}
|
||||
|
||||
else{
|
||||
ObjSound_Load(objBGM, "script/game/resourceLib/BossTheme_Yal.ogg");
|
||||
ObjSound_SetLoopTime(objBGM, 0.001, 92.81);
|
||||
}
|
||||
*/
|
||||
|
||||
InitiateData();
|
||||
|
||||
ObjSound_Load(objBGM, "script/Jam10/resourceLib/StageTheme.mp3");
|
||||
ObjSound_SetSoundDivision(objBGM, SOUND_BGM);
|
||||
ObjSound_SetResumeEnable(objBGM, true);
|
||||
ObjSound_SetLoopEnable(objBGM, true);
|
||||
ObjSound_SetLoopTime(objBGM, 22.72, 79.52);
|
||||
|
||||
ObjSound_Load(objBGMBoss, "script/Jam10/resourceLib/BossTheme.mp3");
|
||||
ObjSound_SetSoundDivision(objBGMBoss, SOUND_BGM);
|
||||
ObjSound_SetResumeEnable(objBGMBoss, true);
|
||||
ObjSound_SetLoopEnable(objBGMBoss, false);
|
||||
|
||||
ObjSound_SetVolumeRate(objBGMBoss, 100*BGMRate);
|
||||
ObjSound_SetVolumeRate(objBGM, 100*BGMRate);
|
||||
|
||||
PluralTask();
|
||||
|
||||
}
|
||||
|
||||
@MainLoop{
|
||||
yield;
|
||||
}
|
||||
|
||||
@Finalize
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
task InitiateData(){
|
||||
|
||||
DATA_PLAYER = GetPlayerReplayName();
|
||||
DATA_DIFFICULTY = GetCommonData("Difficulty", "Standard");
|
||||
|
||||
}
|
||||
|
||||
/* TO DO:
|
||||
|
||||
+ Single *syncing* - ensure that the boss stays at the same position
|
||||
*/
|
||||
// Task to handle the plural's boss scene
|
||||
|
||||
task PluralTask(){
|
||||
// Registering individual singles
|
||||
|
||||
ObjEnemyBossScene_Add(obj, 0, csd ~ "NarumiSTG.dnh");
|
||||
ObjEnemyBossScene_LoadInThread(obj);
|
||||
|
||||
_ScrollBackground();
|
||||
|
||||
// Loading and registering the boss scene
|
||||
ObjEnemyBossScene_Regist(obj);
|
||||
|
||||
async{
|
||||
while(GetPlayerState() != STATE_END){yield;}
|
||||
ObjSound_Stop(objBGM);
|
||||
ObjSound_Stop(objBGMBoss);
|
||||
}
|
||||
|
||||
while(!Obj_IsDeleted(obj)){
|
||||
yield;
|
||||
}
|
||||
|
||||
ObjSound_Stop(objBGM);
|
||||
ObjSound_Stop(objBGMBoss);
|
||||
stageStart = false;
|
||||
bossStart = false;
|
||||
|
||||
//_ExplosionEffect(GetCommonData("Boss Position X", STG_WIDTH/2), GetCommonData("Boss Position Y", STG_WIDTH/2), PetalEffect);
|
||||
|
||||
if(!IsReplay() & LifeStart <= 3){
|
||||
|
||||
int highScore = GetAreaCommonData("Data_" ~ DATA_PLAYER, "HighScore_" ~ DATA_DIFFICULTY, 0);
|
||||
int curScore = trunc(GetCommonData("Run Score", 0)/10)*10;
|
||||
|
||||
if(curScore > highScore){SetAreaCommonData("Data_" ~ DATA_PLAYER, "HighScore_" ~ DATA_DIFFICULTY, curScore);}
|
||||
else{}
|
||||
|
||||
}
|
||||
|
||||
string savefile = "";
|
||||
|
||||
if (DATA_PLAYER == "Narumi") {savefile = "data_Pl0.dat";}
|
||||
else if (DATA_PLAYER == "Kouryuu") {savefile = "data_Pl1.dat";}
|
||||
else {savefile = "data_ERROR.dat";}
|
||||
|
||||
SaveCommonDataAreaA2("Data_" ~ DATA_PLAYER, "script/Jam10/" ~ savefile);
|
||||
|
||||
SetAutoDeleteObject(true);
|
||||
CloseScript(GetOwnScriptID());
|
||||
}
|
1972
script/Jam10/GunnerParade.dnh
Normal file
1972
script/Jam10/GunnerParade.dnh
Normal file
File diff suppressed because it is too large
Load diff
414
script/Jam10/GunnerParade_ConstLib.dnh
Normal file
414
script/Jam10/GunnerParade_ConstLib.dnh
Normal file
|
@ -0,0 +1,414 @@
|
|||
// Constants
|
||||
|
||||
int difficulty = 0;
|
||||
|
||||
int STAGE_LENGTH = 90;
|
||||
int BOSS_LENGTH = 30;
|
||||
|
||||
int HP_MAX = 4500;
|
||||
int PHASE1_LIMIT = 2250;
|
||||
int PHASE2_LIMIT = 0;
|
||||
int PHASE3_LIMIT = 0;
|
||||
|
||||
// Rank min/max
|
||||
|
||||
local{
|
||||
|
||||
alternative(GetCommonData("Difficulty", "Standard"))
|
||||
|
||||
case("Novice"){difficulty = 0;}
|
||||
case("Standard"){difficulty = 1;}
|
||||
case("Extra"){difficulty = 2;}
|
||||
others{difficulty = 0;}
|
||||
|
||||
}
|
||||
|
||||
|
||||
float RANK_MIN = [1, 1, 9][difficulty];
|
||||
float RANK_MAX = 9; // Since Novice locks Rank to a lower level, this distinction is necessary
|
||||
float RANK_MAX_TRUE = [6, 9, 9][difficulty]; // Can be changed
|
||||
|
||||
SetCommonData("MinRank", RANK_MIN);
|
||||
SetCommonData("MaxRank", RANK_MAX_TRUE);
|
||||
|
||||
// Enemy parameters
|
||||
|
||||
int smallEnemyHitbox = 32;
|
||||
int medEnemyHitbox = 64;
|
||||
int largeEnemyHitbox = 100;
|
||||
int spiritHitbox = 48;
|
||||
|
||||
float smallEnemyHP = 45;
|
||||
float mediumEnemyHP = 80;
|
||||
float largeEnemyHP = 120;
|
||||
float largeEnemyAltHP = 150;
|
||||
float popcornHP = 25;
|
||||
|
||||
float smallEnemyScale = 1;
|
||||
float largeEnemyScale = 1;
|
||||
float popcornScale = 1;
|
||||
|
||||
// Enemy rects
|
||||
|
||||
int[] smallfairyRect = [0, 128, 128, 256];
|
||||
int[] spiritRect = [0, 0, 128, 128];
|
||||
int[] mushroomfairyRect = [0, 256, 192, 448];
|
||||
int[] yukionnaRect = [0, 448, 192, 640];
|
||||
int[] bossRect = [192, 448, 384, 704];
|
||||
|
||||
// Universal
|
||||
|
||||
// MOVEMENT SPEED RELATED
|
||||
|
||||
// Very low speed (ground, large enemies)
|
||||
float baseMoveSpeedVL = 5.5;
|
||||
|
||||
// Low speed (ground, large enemies)
|
||||
float baseMoveSpeed1L= 7;
|
||||
|
||||
// Medium speed
|
||||
float baseMoveSpeedM = 8;
|
||||
|
||||
// High speed
|
||||
float baseMoveSpeedH = 10;
|
||||
|
||||
// Very high speed
|
||||
float baseMoveSpeedVH = 11.5;
|
||||
|
||||
// Speed multiplier per rank - speed increases by 0.02/0.03x per rank increase up to a max of 0.18/0.27x
|
||||
|
||||
float MoveSpeedRankMultiplierVL = 0.015;
|
||||
float MoveSpeedRankMultiplierL = 0.025;
|
||||
float MoveSpeedRankMultiplierH = 0.035;
|
||||
float MoveSpeedRankMultiplierVH = 0.05;
|
||||
|
||||
// ITEM RELATED
|
||||
|
||||
float smallFlyingEnm_itemPointMin = 8;
|
||||
float smallFlyingEnm_itemPointMax = 12;
|
||||
|
||||
float medFlyingEnm_itemPointMin = 12;
|
||||
float medFlyingEnm_itemPointMax = 18;
|
||||
|
||||
float largeFlyingEnm_itemPointMin = 20;
|
||||
float largeFlyingEnm_itemPointMax = 30;
|
||||
|
||||
float verylargeFlyingEnm_itemPointMin = 35;
|
||||
float verylargeFlyingEnm_itemPointMax = 45;
|
||||
|
||||
// 1 ammo item = 2 ammo
|
||||
|
||||
float smallGroundEnm_itemAmmoMin = 2;
|
||||
float smallGroundEnm_itemAmmoMax = 4;
|
||||
|
||||
float medGroundEnm_itemAmmoMin = 4;
|
||||
float medGroundEnm_itemAmmoMax = 6;
|
||||
|
||||
float largeGroundEnm_itemAmmoMin = 12;
|
||||
float largeGroundEnm_itemAmmoMax = 18;
|
||||
|
||||
float verylargeGroundEnm_itemAmmoMin = 40;
|
||||
float verylargeGroundEnm_itemAmmoMax = 60;
|
||||
|
||||
float smallEnm_itemChainMin = 6;
|
||||
float smallEnm_itemChainMax = 12;
|
||||
|
||||
float mediumEnm_itemChainMin = 9;
|
||||
float mediumEnm_itemChainMax = 16;
|
||||
|
||||
float largeEnm_itemChainMin = 12;
|
||||
float largeEnm_itemChainMax = 20;
|
||||
|
||||
float itemMultiplier = 0.03; // For point items only
|
||||
|
||||
// INVINCIBILITY TIME
|
||||
|
||||
// Short, medium, long
|
||||
int[] invinTimeArr = [20, 40, 60];
|
||||
int[] invinTimeDecrease = [1, 2, 3]; // Per rank increase
|
||||
|
||||
// Wave 1
|
||||
|
||||
// Graphic: fairy
|
||||
|
||||
// Uses high speed, fires aimed bullets
|
||||
|
||||
int W1_spawnDelayMin = 4;
|
||||
int W1_spawnDelayMax = 8;
|
||||
|
||||
int W1_fairyNumMin = 5;
|
||||
int W1_fairyNumMax = 8;
|
||||
|
||||
int W1_decelTimeMin = 20;
|
||||
int W1_decelTimeMax = 30;
|
||||
|
||||
int W1_bulletDelayMin = 40;
|
||||
int W1_bulletDelayMax = 50;
|
||||
|
||||
float W1_bulletSpdMin = 9;
|
||||
float W1_bulletSpdMax = 12;
|
||||
|
||||
// Wave 2
|
||||
|
||||
// Graphic: spirit
|
||||
|
||||
// Sin-wave movement, fires aimed small-fire fans
|
||||
|
||||
int W2_fairyNumMin = 3;
|
||||
int W2_fairyNumMax = 5;
|
||||
|
||||
int W2_bulletDelayMin = 65;
|
||||
int W2_bulletDelayMax = 90;
|
||||
|
||||
float W2_bulletSpdMin = 10;
|
||||
float W2_bulletSpdMax = 13;
|
||||
|
||||
float W2_rangeMin = 2;
|
||||
float W2_rangeMax = 3.25;
|
||||
|
||||
int W2_bulletfanNumMin = 3;
|
||||
int W2_bulletfanNumMax = 5;
|
||||
|
||||
int W2_spawnDelayMin = 10;
|
||||
int W2_spawnDelayMax = 15;
|
||||
|
||||
// Wave 3: Mushroom fairy, fires large fireballs
|
||||
|
||||
int W3_spawnDelayMin = 15;
|
||||
int W3_spawnDelayMax = 30;
|
||||
|
||||
int W3_fairyNumMin = 3;
|
||||
int W3_fairyNumMax = 9;
|
||||
|
||||
float W3_rangeMin = 1;
|
||||
float W3_rangeMax = 2.5;
|
||||
|
||||
int W3_bulletfanNumMin = 1;
|
||||
int W3_bulletfanNumMax = 1;
|
||||
|
||||
int W3_bulletDelayMin = 15;
|
||||
int W3_bulletDelayMax = 20;
|
||||
|
||||
float W3_bulletSpdMin = 11;
|
||||
float W3_bulletSpdMax = 13;
|
||||
|
||||
// Wave 4: Mushroom fairy, fires small fireball lines
|
||||
|
||||
int W4_spawnDelayMin = 18;
|
||||
int W4_spawnDelayMax = 35;
|
||||
|
||||
int W4_fairyNumMin = 2;
|
||||
int W4_fairyNumMax = 5;
|
||||
|
||||
int W4_bulletNumMin = 3;
|
||||
int W4_bulletNumMax = 5;
|
||||
|
||||
int W4_bulletDelayMin = 2;
|
||||
int W4_bulletDelayMax = 4;
|
||||
|
||||
int W4_stopTimeMin = 20;
|
||||
int W4_stopTimeMax = 30;
|
||||
|
||||
float W4_bulletSpdMin = 10;
|
||||
float W4_bulletSpdMax = 12.25;
|
||||
|
||||
// Wave 5: Clumped small fairy lines come from both sides to attack you.
|
||||
|
||||
int W5_spawnDelayMin = 20;
|
||||
int W5_spawnDelayMax = 40;
|
||||
|
||||
int W5_fairyNumMin = 3;
|
||||
int W5_fairyNumMax = 6;
|
||||
|
||||
// Angles
|
||||
|
||||
int W5_moveTimeMin = 40;
|
||||
int W5_moveTimeMax = 50;
|
||||
|
||||
float W5_bulletSpdMin = 11;
|
||||
float W5_bulletSpdMax = 13;
|
||||
|
||||
// Wave 6: Alt mushroom fairies (2 OR 3) spawns sparse rings (counts as ground)
|
||||
|
||||
int WG1_ringDenseMin = 10;
|
||||
int WG1_ringDenseMax = 14;
|
||||
|
||||
float WG1_bulletSpdMin = 8;
|
||||
float WG1_bulletSpdMax = 11;
|
||||
|
||||
int WG1_bulletDelayMin = 30;
|
||||
int WG1_bulletDelayMax = 45;
|
||||
|
||||
// Wave 7: Yukionna with spiral (counts as ground)
|
||||
|
||||
int WG2_spiralDenseMin = 6;
|
||||
int WG2_spiralDenseMax = 9;
|
||||
|
||||
int WG2_spiralNumMin = 3;
|
||||
int WG2_spiralNumMax = 5;
|
||||
|
||||
float WG2_spiralSpdMin = 7.5;
|
||||
float WG2_spiralSpdMax = 9.5;
|
||||
|
||||
int WG2_spiralDelayMax = 40;
|
||||
int WG2_spiralDelayMin = 25;
|
||||
|
||||
/*
|
||||
// Wave Ground 1
|
||||
|
||||
int[] sign1Rect = [1024, 512, 1280, 768];
|
||||
int[] platformRect = [1536, 256, 2304, 768];
|
||||
|
||||
int WG1_invinTimeMin = 15;
|
||||
int WG1_invinTimeMax = 25;
|
||||
|
||||
// Wave Ground 2
|
||||
|
||||
int[] cannonRect = [2048, 768, 2304, 1024];
|
||||
int[] bushRect = [512, 1024, 1280, 1536];
|
||||
|
||||
int WG2_bulletNumMin = 3;
|
||||
int WG2_bulletNumMax = 5;
|
||||
|
||||
float WG2_angRangeMin = 1.4;
|
||||
float WG2_angRangeMax = 2;
|
||||
|
||||
float WG2_bulletSpdMin = 9;
|
||||
float WG2_bulletSpdMax = 11;
|
||||
|
||||
int WG2_bulletDelayMin = 30;
|
||||
int WG2_bulletDelayMax = 40;
|
||||
|
||||
int WG2_invinTimeMin = 45;
|
||||
int WG2_invinTimeMax = 60;
|
||||
|
||||
// Wave Ground 1A
|
||||
|
||||
// Graphic: fairy
|
||||
|
||||
// Uses high speed
|
||||
|
||||
int WG1A_bulletNumMin = 1;
|
||||
int WG1A_bulletNumMax = 3;
|
||||
|
||||
int WG1A_bulletDelayMin = 45;
|
||||
int WG1A_bulletDelayMax = 60;
|
||||
|
||||
float WG1A_bulletSpdMin = 12;
|
||||
float WG1A_bulletSpdMax = 15;
|
||||
|
||||
int[] sign2Rect = [1280, 512, 1536, 768];
|
||||
|
||||
int WG1A_invinTimeMin = 25;
|
||||
int WG1A_invinTimeMax = 40;
|
||||
|
||||
// Wave Ground 3 (Rybb) -> orange line spirals
|
||||
|
||||
int WG3_spiralDenseMin = 5;
|
||||
int WG3_spiralDenseMax = 8;
|
||||
|
||||
int WG3_spiralNumMin = 3;
|
||||
int WG3_spiralNumMax = 6;
|
||||
|
||||
float WG3_spiralSpdMin = 7.5;
|
||||
float WG3_spiralSpdMax = 9.5;
|
||||
|
||||
int WG3_spiralDelayMax = 40;
|
||||
int WG3_spiralDelayMin = 30;
|
||||
|
||||
int[] rybbRect = [1280, 1024, 1792, 1536];
|
||||
|
||||
// Wave Ground 4 (ITS THE FUCKING BUSSY FAIRIES)
|
||||
// Number of fairies affected by RANK and KILL SPEED
|
||||
|
||||
int[] bush2Rect = [512, 1536, 1280, 2048];
|
||||
int[] bush2ARect = [256, 1536, 512, 1792];
|
||||
|
||||
int WG4_enmNumMin = 4;
|
||||
int WG4_enmNumMax = 6;
|
||||
|
||||
int WG4_bulletDelayMin = 45;
|
||||
int WG4_bulletDelayMax = 60;
|
||||
|
||||
float WG4_bulletSpdMin = 11;
|
||||
float WG4_bulletSpdMax = 14;
|
||||
|
||||
int WG4_invinTimeMin = 100;
|
||||
int WG4_invinTimeMax = 120;
|
||||
|
||||
// Wave Ground 5 (Decker) -> Line bullets.
|
||||
|
||||
int WG5_bulletNumMin = 4;
|
||||
int WG5_bulletNumMax = 6;
|
||||
|
||||
int WG5_bulletDelayMin = 12;
|
||||
int WG5_bulletDelayMax = 15;
|
||||
|
||||
float WG5_bulletSpdMin = 7;
|
||||
float WG5_bulletSpdMax = 9;
|
||||
|
||||
int[] deckerRect = [1792, 1024, 1792+512, 1536];
|
||||
|
||||
// Wave Ground 6 -> Your ass is our base
|
||||
*/
|
||||
|
||||
task UpdateDrops(){
|
||||
|
||||
// According to rank
|
||||
|
||||
while(true){
|
||||
|
||||
smallFlyingEnm_itemPointMax = FUNC_LERP_LINEAR(12, 18, rank/RANK_MAX);
|
||||
medFlyingEnm_itemPointMax = FUNC_LERP_LINEAR(16, 24, rank/RANK_MAX);
|
||||
largeFlyingEnm_itemPointMax = FUNC_LERP_LINEAR(30, 40, rank/RANK_MAX);
|
||||
verylargeFlyingEnm_itemPointMax = FUNC_LERP_LINEAR(45, 60, rank/RANK_MAX);
|
||||
|
||||
smallGroundEnm_itemAmmoMax = FUNC_LERP_LINEAR(4, 6, rank/RANK_MAX);
|
||||
medGroundEnm_itemAmmoMax = FUNC_LERP_LINEAR(6, 8, rank/RANK_MAX);
|
||||
largeGroundEnm_itemAmmoMax = FUNC_LERP_LINEAR(18, 25, rank/RANK_MAX);
|
||||
verylargeGroundEnm_itemAmmoMax = FUNC_LERP_LINEAR(60, 75, rank/RANK_MAX);
|
||||
|
||||
smallEnm_itemChainMax = FUNC_LERP_LINEAR(12, 16, rank/RANK_MAX);
|
||||
mediumEnm_itemChainMax = FUNC_LERP_LINEAR(16, 20, rank/RANK_MAX);
|
||||
largeEnm_itemChainMax = FUNC_LERP_LINEAR(20, 24, rank/RANK_MAX);
|
||||
|
||||
wait(5);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference:
|
||||
|
||||
task SpawnSpiral(float angStart, int spinDir){
|
||||
|
||||
async{
|
||||
ascent(i in -1..linespiralNum[diff]){
|
||||
|
||||
if(ObjEnemy_GetInfo(bossObj, INFO_LIFE) <= 0){break;}
|
||||
|
||||
int shot = CreateFan(bossObj, 1, KEV_LEAF_ORANGE, linespiralLineCount[diff],
|
||||
angStart+i*spinDir*linespiralAngOffset[diff], 0, linespiralSpd2[diff], linespiralSpd1[diff],
|
||||
0.6,
|
||||
0, 0,
|
||||
PATTERN_FAN, false
|
||||
);
|
||||
int shot2 = CreateFan(bossObj, 1, KEV_LEAF_ORANGE, linespiralLineCount[diff],
|
||||
angStart+(180+angStart)-i*spinDir*linespiralAngOffset[diff], 0, linespiralSpd2[diff], linespiralSpd1[diff], 0.6,
|
||||
0, 0,
|
||||
PATTERN_FAN, false
|
||||
);
|
||||
|
||||
if(ObjEnemy_GetInfo(bossObj, INFO_LIFE) <= 0){Obj_Delete(shot); Obj_Delete(shot2);}
|
||||
|
||||
else{Shoot1;}
|
||||
|
||||
wait([4, 4, 3, 3][diff]);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
*/
|
1618
script/Jam10/GunnerParade_EnmLib.dnh
Normal file
1618
script/Jam10/GunnerParade_EnmLib.dnh
Normal file
File diff suppressed because it is too large
Load diff
2161
script/Jam10/NarumiSTG.dnh
Normal file
2161
script/Jam10/NarumiSTG.dnh
Normal file
File diff suppressed because it is too large
Load diff
BIN
script/Jam10/PackageLib/Img.png
Normal file
BIN
script/Jam10/PackageLib/Img.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
script/Jam10/PackageLib/MusicTitle.mp3
Normal file
BIN
script/Jam10/PackageLib/MusicTitle.mp3
Normal file
Binary file not shown.
BIN
script/Jam10/PackageLib/NarumiSTG_Manual.png
Normal file
BIN
script/Jam10/PackageLib/NarumiSTG_Manual.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 216 KiB |
113
script/Jam10/Stage_Background.dnh
Normal file
113
script/Jam10/Stage_Background.dnh
Normal file
|
@ -0,0 +1,113 @@
|
|||
let bossBG = "script/Jam10/resourceLib/Jam10_BG.png";
|
||||
let soundWarn = ObjSound_Create();
|
||||
let alphaMax = 255*((GetAreaCommonData("Config", "BGOpacity", 100))/100);
|
||||
let exVol = GetAreaCommonData("Config", "SEVol", 100) * 0.01;
|
||||
|
||||
//ObjSound_Load(sound, "script/game/resourceLib/dialogueblip.wav");
|
||||
ObjSound_Load(soundWarn, "script/game/resourceLib/warnSound.wav");
|
||||
//ObjSound_SetVolumeRate(sound, 100 * blipVol);
|
||||
ObjSound_SetVolumeRate(soundWarn, 100 * blipVol);
|
||||
//ObjSound_SetSoundDivision(sound, SOUND_SE);
|
||||
ObjSound_SetSoundDivision(soundWarn, SOUND_SE);
|
||||
|
||||
//LoadSound("script/game/StageLib/dialogueblip.wav");
|
||||
|
||||
LoadTextureEx(bossBG, true, true);
|
||||
|
||||
function <void> _ScrollBackground(){
|
||||
|
||||
int BossImg = _Create2DImage(bossBG, [0, 0, 640*4, 720]);
|
||||
ObjRender_SetScaleXYZ(BossImg, 1);
|
||||
ObjRender_SetPosition(BossImg, STG_WIDTH/2, STG_HEIGHT/2, 1);
|
||||
Obj_SetRenderPriorityI(BossImg, 24);
|
||||
|
||||
float scrollSpeed = 0;
|
||||
float maxscrollSpeed = 14;
|
||||
int curScroll = 0;
|
||||
|
||||
async{
|
||||
loop{
|
||||
maxscrollSpeed = 9+GetCommonData("Rank", 1)*1.25;
|
||||
wait(60);
|
||||
}
|
||||
}
|
||||
|
||||
async{
|
||||
|
||||
loop{
|
||||
|
||||
//ObjSprite2D_SetDestRect(BossImg, 0, 0, STG_WIDTH/2, STG_HEIGHT/2);
|
||||
ObjSprite2D_SetSourceRect(BossImg, curScroll, 0, curScroll+640*4, 720);
|
||||
curScroll += scrollSpeed;
|
||||
|
||||
scrollSpeed = min(maxscrollSpeed, scrollSpeed+0.05);
|
||||
yield;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ascent(i in 0..90){
|
||||
ObjRender_SetAlpha(BossImg, Interpolate_Decelerate(0, alphaMax, i/90));
|
||||
yield;
|
||||
}
|
||||
|
||||
NotifyEventAll(EV_START_MUSIC, 0);
|
||||
|
||||
//Dialogue();
|
||||
//ObjRender_SetAlpha(BossImg, 255*((GetAreaCommonData("Config", "BGOpacity", 100))/100));
|
||||
|
||||
}
|
||||
|
||||
function <void> Dialogue(){
|
||||
|
||||
//ObjSound_Play(soundWarn);
|
||||
|
||||
wait(30);
|
||||
|
||||
int objText3 = CreateTextObject(
|
||||
|
||||
STG_WIDTH/2, STG_HEIGHT/3-60, 80,
|
||||
" ", "Origami Mommy",
|
||||
0x72CBFF, 0x72CBFF,
|
||||
0x08007C, 10,
|
||||
71
|
||||
|
||||
);
|
||||
|
||||
int objText = CreateTextObject(
|
||||
|
||||
STG_WIDTH/2, STG_HEIGHT/2-60, 36,
|
||||
" ", "Origami Mommy",
|
||||
0x72CBFF, 0x72CBFF,
|
||||
0x08007C, 6,
|
||||
71
|
||||
|
||||
);
|
||||
|
||||
int objText2 = CreateTextObject(
|
||||
|
||||
STG_WIDTH/2, STG_HEIGHT/2, 36,
|
||||
" ", "Origami Mommy",
|
||||
0x72CBFF, 0x72CBFF,
|
||||
0x08007C, 6,
|
||||
71
|
||||
|
||||
);
|
||||
|
||||
ObjText_SetHorizontalAlignment(objText, ALIGNMENT_CENTER);
|
||||
ObjText_SetHorizontalAlignment(objText2, ALIGNMENT_CENTER);
|
||||
ObjText_SetHorizontalAlignment(objText3, ALIGNMENT_CENTER);
|
||||
|
||||
TTextScroll(objText3, "GET READY!");
|
||||
TTextScroll(objText, "IN 99 SECONDS");
|
||||
//wait(60);
|
||||
TTextScroll(objText2, "BECOME THE STRONGEST!");
|
||||
|
||||
wait(60);
|
||||
|
||||
Obj_Delete(objText);
|
||||
Obj_Delete(objText2);
|
||||
Obj_Delete(objText3);
|
||||
|
||||
}
|
BIN
script/Jam10/resourceLib/BossTheme.mp3
Normal file
BIN
script/Jam10/resourceLib/BossTheme.mp3
Normal file
Binary file not shown.
BIN
script/Jam10/resourceLib/Jam10.png
Normal file
BIN
script/Jam10/resourceLib/Jam10.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
script/Jam10/resourceLib/Jam10_BG.png
Normal file
BIN
script/Jam10/resourceLib/Jam10_BG.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 71 KiB |
BIN
script/Jam10/resourceLib/Spritesheet_StationJam.png
Normal file
BIN
script/Jam10/resourceLib/Spritesheet_StationJam.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 444 KiB |
BIN
script/Jam10/resourceLib/StageTheme.mp3
Normal file
BIN
script/Jam10/resourceLib/StageTheme.mp3
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue