Update 1.01a Content Complete.

This commit is contained in:
kevinmonitor 2022-09-22 19:37:16 +07:00
parent dba085c30f
commit c6c87d7c2f
20 changed files with 698 additions and 59 deletions

View file

@ -8,6 +8,8 @@
#ReplayName["Cirno"]
#include "script/KevinSystem/kevin_system/Lib_Const.dnh"
#include "script/KevinSystem/Kevin_PlayerLib.txt"
#include "script/KevinSystem/PlayerSoundLib.dnh"
@ -96,6 +98,7 @@ const EV_PIV_2000 = EV_USER + 103i; // What.
//SetPlayerSpell(99);
_Countdown();
_CAVELaser();
_ShotType();
//UniversalAlphaHandle(_shotArray);
@ -120,7 +123,7 @@ const EV_PIV_2000 = EV_USER + 103i; // What.
// Delete effect
case(EV_DELETE_SHOT_PLAYER){
if(GetAreaCommonData("Config", "EffectCut", 0) >= 3){}
if(GetCommonDataPtr(EFFECTCUT_PTR, 0) >= 3){}
else{
let graphic = GetEventArgument(2);
@ -182,6 +185,7 @@ const EV_PIV_2000 = EV_USER + 103i; // What.
case(EV_PLAYER_REBIRTH){
ripplayer = false;
SetPlayerInvincibilityFrame(180);
//_Countdown();
_SigilCall(false, teamimg, 768+256, 512, 768+512, 768, objPlayer, 150);
}
@ -466,7 +470,7 @@ task _ShotType(){
task UpdateParam(){
loop{
shotDamage = 2.4+(GetCommonData("Rank", 1)*0.3);
shotScale = 0.6+(GetCommonData("Rank", 1)*0.125);
shotScale = 0.55+(GetCommonData("Rank", 1)*0.1);
shotSpeed = 50+(GetCommonData("Rank", 1)*1.25);
wait(60);
}
@ -692,7 +696,7 @@ task parameterrender(){
SetPlayerDownStateFrame(60);
SetPlayerAutoItemCollectLine(GetStgFrameHeight/3);
SetPlayerRebirthLossFrame(0);
ObjPlayer_AddIntersectionCircleA1(objPlayer, 0, 0, 1.25, 40);
ObjPlayer_AddIntersectionCircleA1(objPlayer, 0, 0, 0, 40);
}
@ -762,17 +766,19 @@ task _Bomb(){
// Preparation
SetForbidPlayerShot(true);
SetForbidPlayerSpell(true);
SetPlayerInvincibilityFrame(240);
SetPlayerInvincibilityFrame(270);
// Spell object
let manageObj = GetSpellManageObject(); // SPELL BEGINS
ObjSpell_Regist(manageObj);
//ObjSound_Play(bombsfx);
SetPlayerSpeed(PlayerSpd[0]*1.5, PlayerSpd[1]*1.5);
SetPlayerSpeed(PlayerSpd[0]*2, PlayerSpd[1]*2);
// 180 seconds DEATH LASER
//SetCommonData("IsBomb", true);
//_Countdown(270);
async{
loop(90){
Fire();
@ -782,7 +788,7 @@ task _Bomb(){
}
task Fire(){
let shotA = CreatePlayerShotA1(playerX, playerY, 25, rand(-15, 195), shotDamage/10, 25, 2);
let shotA = CreatePlayerShotA1(playerX, playerY, 25, rand(-15, 195), shotDamage/20, 25, 2);
_BulletRescalePlayer(shotA, 1.25, true, 1);
ObjRender_SetAlpha(shotA, 255);
Fading(shotA);
@ -811,15 +817,41 @@ task _Bomb(){
SetPlayerSpeed(PlayerSpd[0], PlayerSpd[1]);
SetForbidPlayerShot(false);
//SetCommonData("IsBomb", false);
Obj_Delete(manageObj); // !!! IMPORTANT !!!
wait(60);
SetForbidPlayerSpell(false);
Obj_Delete(manageObj); // !!! IMPORTANT !!!
}
// Screenshake function for bomb's duration - adapted from Sparen's tutorials
task _Countdown(){
//int timer = time;
int counter = CreateTextObject(
playerX, playerY, 58,
"", "Origami Mommy",
0xFFFFFF, 0xFFFFFF,
0x1AEC8C, 10,
Obj_GetRenderPriorityI(objPlayer)+1
);
ObjText_SetHorizontalAlignment(counter, ALIGNMENT_CENTER);
while(true){
if(GetPlayerInvincibilityFrame() <= 0){Obj_SetVisible(counter, false);}
else{Obj_SetVisible(counter, true);}
ObjRender_SetPosition(counter, playerX, playerY - 140, 1);
ObjText_SetText(counter, IntToString(GetPlayerInvincibilityFrame()));
yield;
}
//Obj_Delete(counter);
}
task _BombShake(shaketime, intensity){
float baseintensity = intensity;
@ -840,3 +872,27 @@ task _BombShake(shaketime, intensity){
yield;
}
function CreateTextObject(
float mx, my, size,
string text, font,
int colorTop, colorBottom,
int borderColor, borderWidth,
int renderPriority
){
let obj = ObjText_Create();
ObjText_SetText(obj, text);
ObjText_SetFontSize(obj, size);
ObjText_SetFontType(obj, font);
ObjText_SetFontColorTop(obj, colorTop);
ObjText_SetFontColorBottom(obj, colorBottom);
ObjText_SetFontBorderType(obj, BORDER_FULL);
ObjText_SetFontBorderColor(obj, borderColor);
ObjText_SetFontBorderWidth(obj, borderWidth);
Obj_SetRenderPriorityI(obj, renderPriority);
ObjRender_SetX(obj, mx);
ObjRender_SetY(obj, my);
return obj;
}