Implemented Kachua's Secret Box NPC

This commit is contained in:
Jittapan 2022-11-08 01:15:29 +07:00 committed by Atemo
parent 4661016445
commit 3bb23e4671
6 changed files with 92 additions and 2 deletions

View File

@ -58679,7 +58679,7 @@ Body:
- Id: 23919 - Id: 23919
AegisName: K_Secret_Key AegisName: K_Secret_Key
Name: Kachua's Secret Key Name: Kachua's Secret Key
Type: Usable Type: Delayconsume
Trade: Trade:
NoDrop: true NoDrop: true
NoTrade: true NoTrade: true
@ -58689,7 +58689,7 @@ Body:
NoMail: true NoMail: true
NoAuction: true NoAuction: true
Script: | Script: |
/* callfunc "F_Kachua_Key"; */ duplicate_dynamic("Kachua's Secret Box#bm");
- Id: 23921 - Id: 23921
AegisName: Season_Evt_Reward AegisName: Season_Evt_Reward
Name: Event Reward Box Name: Event Reward Box

View File

@ -48211,3 +48211,19 @@ Body:
- Item: Trans_Scroll_Gazeti - Item: Trans_Scroll_Gazeti
- Item: Trans_Scroll_Kobold_Archer - Item: Trans_Scroll_Kobold_Archer
- Item: Trans_Scroll_Necromancer - Item: Trans_Scroll_Necromancer
- Group: KACHUA_SECRET_BOX
SubGroups:
- SubGroup: 0
List:
- Item: Cachua_Coupon
- SubGroup: 1
List:
- Item: Red_Potion
Rate: 4
- Item: Yellow_Potion
Rate: 3
- Item: White_Potion
Rate: 2
- Item: Blue_Potion
Rate: 1
Announced: true

View File

@ -0,0 +1,71 @@
//===== rAthena Script =======================================
//= Dynamic NPC: Kachua's Secret Box
//===== Description: =========================================
//- [Official conversion]
//= Kachua's Secret Box is a Gachapon NPC.
//= It lets the player exchange a Kachua's Secret Key for a random item.
//= It also gives a Kachua's Mileage Coupon for each pull.
//===== Changelogs: ==========================================
//= 1.0 First version. [secretdataz]
//============================================================
sec_in02,126,178,3 script Kachua's Secret Box#bm 4_TREASURE_BOX,{
mes "A Secret Box where no one knows what's inside.";
mes "^4d4dffYou can open this box by consuming <ITEM>[Kachua's Secret Key]<INFO>23919</INFO></ITEM>.^000000";
next;
switch(select("^4d4dffOpen the box 1 time (1 Kachua Secret Key)^000000","^4d4dffOpen the box 10 times (10 Kachua Secret Keys)^000000")) {
case 1:
mes "^FF0000[Notice]^000000";
mes "^FF0000Exchange one random item with one Kachua's Secret Key.^000000";
mes "^FF0000The item exchanged above cannot be withdrawn, nor can it be exchanged to Kachua's Secret Key.^000000";
next;
if(select("Keep going.","Stop conversation.") == 2) {
mes "You have decided not to open the Box.";
close;
} else if (countitem("K_Secret_Key") < 1) {
mes "Not enough <ITEM>[Kachua Secret Key]<INFO>23919</INFO></ITEM>.";
close;
} else {
if (checkweight(1201,1) == 0 || ((MaxWeight - Weight) * 100 / MaxWeight) < 10) {
mes "^4d4dffPlease make sure you have enough space in your inventory.^000000";
close;
}
delitem("K_Secret_Key", 1);
getgroupitem(IG_KACHUA_SECRET_BOX);
mes "Kachua's Secret Box is opened!";
mes "Were you lucky?";
specialeffect2 EF_VALLENTINE;
close;
}
case 2:
mes "^FF0000[Notice]^000000";
mes "^FF0000Exchange 10 random item with 10 Kachua's Secret Key.^000000";
mes "^FF0000The items exchanged above cannot be withdrawn, nor can it be exchanged to Kachua's Secret Key.^000000";
next;
if(select("Keep going.","Stop conversation.") == 2) {
mes "You have decided not to open the Box.";
close;
} else if (countitem("K_Secret_Key") < 10) {
mes "Not enough <ITEM>[Kachua Secret Key]<INFO>23919</INFO></ITEM>.";
close;
} else {
for (.@i = 1; .@i <= 10; ++.@i) {
progressbar "4d4dff",2;
if (checkweight(1201,1) == 0 || ((MaxWeight - Weight) * 100 / MaxWeight) < 10) {
mes "^4d4dffPlease make sure you have enough space in your inventory.^000000";
close;
}
if (countitem("K_Secret_Key") < 1) { // Custom check, just in case
close;
}
delitem("K_Secret_Key", 1);
getgroupitem(IG_KACHUA_SECRET_BOX);
dispbottom "Kachua's Secret Box opened " + .@i + " times. It's kept opening.",0xFFFFFF;
specialeffect2 EF_VALLENTINE;
}
mes "Kachua's Secret Box is opened 10 times!";
mes "Were you lucky?";
close;
}
}
}

View File

@ -174,6 +174,7 @@ npc: npc/re/other/resetskill.txt
npc: npc/re/other/stone_change.txt npc: npc/re/other/stone_change.txt
npc: npc/re/other/turbo_track.txt npc: npc/re/other/turbo_track.txt
npc: npc/re/other/CashShop_Functions.txt npc: npc/re/other/CashShop_Functions.txt
npc: npc/re/other/kachua_key.txt
// --------------------------- Quests --------------------------- // --------------------------- Quests ---------------------------
// - Eden Group ------------------------------------------------- // - Eden Group -------------------------------------------------

View File

@ -1740,6 +1740,7 @@ enum e_random_item_group {
IG_COSTUMEMILEAGE_PACKAGE3, IG_COSTUMEMILEAGE_PACKAGE3,
IG_COMP_TRANS_SCROLL, IG_COMP_TRANS_SCROLL,
IG_MINUS_STATUS_BOX, IG_MINUS_STATUS_BOX,
IG_KACHUA_SECRET_BOX,
IG_MAX, IG_MAX,
}; };

View File

@ -6538,6 +6538,7 @@
export_constant(IG_COSTUMEMILEAGE_PACKAGE3); export_constant(IG_COSTUMEMILEAGE_PACKAGE3);
export_constant(IG_COMP_TRANS_SCROLL); export_constant(IG_COMP_TRANS_SCROLL);
export_constant(IG_MINUS_STATUS_BOX); export_constant(IG_MINUS_STATUS_BOX);
export_constant(IG_KACHUA_SECRET_BOX);
/* unit stop walking */ /* unit stop walking */
export_constant(USW_NONE); export_constant(USW_NONE);