From 78bf9f72c8b3b411d0d4cd63cf731bb66a89bf15 Mon Sep 17 00:00:00 2001 From: Atemo Date: Mon, 2 May 2022 00:52:28 +0200 Subject: [PATCH] Updated ticket_refiner.txt (#6905) Support for more certificate. Thanks to @AsurielRO ! --- db/re/item_db_etc.yml | 28 +++---- npc/re/merchants/ticket_refiner.txt | 114 +++++++++++++++++++--------- 2 files changed, 91 insertions(+), 51 deletions(-) diff --git a/db/re/item_db_etc.yml b/db/re/item_db_etc.yml index 117ccafcff..844eb0b0fa 100644 --- a/db/re/item_db_etc.yml +++ b/db/re/item_db_etc.yml @@ -22676,7 +22676,7 @@ Body: NoMail: true NoAuction: true - Id: 6864 - AegisName: Safe_to_19_Weapon_Certificate + AegisName: Guarantee_Weapon_19Up Name: Safe to 19 Weapon Certificate Type: Etc Buy: 10 @@ -22689,7 +22689,7 @@ Body: NoMail: true NoAuction: true - Id: 6865 - AegisName: Safe_to_19_Armor_Certificate + AegisName: Guarantee_Armor_19Up Name: Safe to 19 Armor Certificate Type: Etc Buy: 10 @@ -22750,7 +22750,7 @@ Body: NoMail: true NoAuction: true - Id: 6870 - AegisName: Safe_to_13_Weapon_Certificate + AegisName: Guarantee_Weapon_13Up Name: Safe to 13 Weapon Certificate Type: Etc Buy: 10 @@ -22763,7 +22763,7 @@ Body: NoMail: true NoAuction: true - Id: 6871 - AegisName: Safe_to_14_Weapon_Certificate + AegisName: Guarantee_Weapon_14Up Name: Safe to 14 Weapon Certificate Type: Etc Buy: 10 @@ -22776,7 +22776,7 @@ Body: NoMail: true NoAuction: true - Id: 6872 - AegisName: Safe_to_15_Weapon_Certificate + AegisName: Guarantee_Weapon_15Up Name: Safe to 15 Weapon Certificate Type: Etc Buy: 10 @@ -22789,7 +22789,7 @@ Body: NoMail: true NoAuction: true - Id: 6873 - AegisName: Safe_to_16_Weapon_Certificate + AegisName: Guarantee_Weapon_16Up Name: Safe to 16 Weapon Certificate Type: Etc Buy: 10 @@ -22802,7 +22802,7 @@ Body: NoMail: true NoAuction: true - Id: 6874 - AegisName: Safe_to_17_Weapon_Certificate + AegisName: Guarantee_Weapon_17Up Name: Safe to 17 Weapon Certificate Type: Etc Buy: 10 @@ -22815,7 +22815,7 @@ Body: NoMail: true NoAuction: true - Id: 6875 - AegisName: Safe_to_18_Weapon_Certificate + AegisName: Guarantee_Weapon_18Up Name: Safe to 18 Weapon Certificate Type: Etc Buy: 10 @@ -22828,7 +22828,7 @@ Body: NoMail: true NoAuction: true - Id: 6876 - AegisName: Safe_to_13_Armor_Certificate + AegisName: Guarantee_Armor_13Up Name: Safe to 13 Armor Certificate Type: Etc Buy: 10 @@ -22841,7 +22841,7 @@ Body: NoMail: true NoAuction: true - Id: 6877 - AegisName: Safe_to_14_Armor_Certificate + AegisName: Guarantee_Armor_14Up Name: Safe to 14 Armor Certificate Type: Etc Buy: 10 @@ -22854,7 +22854,7 @@ Body: NoMail: true NoAuction: true - Id: 6878 - AegisName: Safe_to_15_Armor_Certificate + AegisName: Guarantee_Armor_15Up Name: Safe to 15 Armor Certificate Type: Etc Buy: 10 @@ -22867,7 +22867,7 @@ Body: NoMail: true NoAuction: true - Id: 6879 - AegisName: Safe_to_16_Armor_Certificate + AegisName: Guarantee_Armor_16Up Name: Safe to 16 Armor Certificate Type: Etc Buy: 10 @@ -22880,7 +22880,7 @@ Body: NoMail: true NoAuction: true - Id: 6880 - AegisName: Safe_to_17_Armor_Certificate + AegisName: Guarantee_Armor_17Up Name: Safe to 17 Armor Certificate Type: Etc Buy: 10 @@ -22893,7 +22893,7 @@ Body: NoMail: true NoAuction: true - Id: 6881 - AegisName: Safe_to_18_Armor_Certificate + AegisName: Guarantee_Armor_18Up Name: Safe to 18 Armor Certificate Type: Etc Buy: 10 diff --git a/npc/re/merchants/ticket_refiner.txt b/npc/re/merchants/ticket_refiner.txt index 9b9df14fdc..adf1f78035 100644 --- a/npc/re/merchants/ticket_refiner.txt +++ b/npc/re/merchants/ticket_refiner.txt @@ -20,11 +20,47 @@ //============================================================ prontera,184,177,6 script Refine Master 851,{ disable_items; - if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456)) - set .@bWeaponUp,1; - if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457)) - set .@bArmorUp,1; - if (!.@bWeaponUp && !.@bArmorUp) { + setarray .@cert_weapon[0], + 6864, // Guarantee_Weapon_19Up + 6875, // Guarantee_Weapon_18Up + 6874, // Guarantee_Weapon_17Up + 6873, // Guarantee_Weapon_16Up + 6872, // Guarantee_Weapon_15Up + 6871, // Guarantee_Weapon_14Up + 6870, // Guarantee_Weapon_13Up + 6584, // Guarantee_Weapon_12Up + 6238, // Guarantee_Weapon_11Up + 6228, // Guarantee_Weapon_9Up + 6229, // Guarantee_Weapon_8Up + 6230, // Guarantee_Weapon_7Up + 6231, // Guarantee_Weapon_6Up + 6456; // Guarantee_Weapon_5Up + setarray .@cert_armor[0], + 6865, // Guarantee_Armor_19Up + 6881, // Guarantee_Armor_18Up + 6880, // Guarantee_Armor_17Up + 6879, // Guarantee_Armor_16Up + 6878, // Guarantee_Armor_15Up + 6877, // Guarantee_Armor_14Up + 6876, // Guarantee_Armor_13Up + 6585, // Guarantee_Armor_12Up + 6239, // Guarantee_Armor_11Up + 6232, // Guarantee_Armor_9Up + 6233, // Guarantee_Armor_8Up + 6234, // Guarantee_Armor_7Up + 6235, // Guarantee_Armor_6Up + 6457; // Guarantee_Armor_5Up + setarray .@cert_level[0],19,18,17,16,15,14,13,12,11,9,8,7,6,5; + .@size_cert = getarraysize(.@cert_weapon); + + for ( .@i = 0; .@i < .@size_cert; ++.@i ) { + if (countitem(.@cert_weapon[.@i]) > 0 || countitem(.@cert_armor[.@i]) > 0) { + .@check = 1; + break; + } + } + + if (.@check == 0) { mes "[Refine Master]"; mes "Hello!"; mes "What's up?"; @@ -61,9 +97,10 @@ prontera,184,177,6 script Refine Master 851,{ next; setarray .@position$[1],"Head upper","Armor","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head middle","Head lower"; setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; - for(set .@i,1; .@i<=10; set .@i,.@i+1) - set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":"; - set .@part, .@indices[ select(.@menu$) ]; + for ( .@i = 1; .@i <= 10; ++.@i ) + .@menu$ += (getequipisequiped(.@indices[.@i]) ? getequipname(.@indices[.@i]) : .@position$[.@i] + "- [Empty]") + ":"; + + .@part = .@indices[ select(.@menu$) ]; if (!getequipisequiped(.@part)) { mes "[Refine Master]"; mes "You have to equip the item you want to refine."; @@ -86,10 +123,8 @@ prontera,184,177,6 script Refine Master 851,{ case 2: case 3: case 4: - setarray .@tickets[0],6456,6231,6230,6229,6228,6238; - setarray .@levels[0],5,6,7,8,9,11; - set .@type$,"Weapon"; - set .@check,.@bWeaponUp; + copyarray .@tickets[0], .@cert_weapon[0], .@size_cert; + .@type$ = "Weapon"; break; default: // TODO: @@ -98,10 +133,8 @@ prontera,184,177,6 script Refine Master 851,{ }else if( .@itemtype == IT_ARMOR ){ switch( getequiparmorlv( .@part ) ){ case 1: - setarray .@tickets[0],6457,6235,6234,6233,6232,6239; - setarray .@levels[0],5,6,7,8,9,11; - set .@type$,"Armor"; - set .@check,.@bArmorUp; + copyarray .@tickets[0], .@cert_armor[0], .@size_cert; + .@type$ = "Armor"; break; default: // TODO: @@ -111,7 +144,14 @@ prontera,184,177,6 script Refine Master 851,{ // TODO: close; } - if (!.@check) { + .@check = 0; + for ( .@i = 0; .@i < .@size_cert; ++.@i ) { + if (countitem(.@tickets[.@i]) > 0) { + .@check = 1; + break; + } + } + if (.@check == 0) { emotion ET_THINK; mes "[Refine Master]"; mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000."; @@ -121,12 +161,13 @@ prontera,184,177,6 script Refine Master 851,{ mes "[Refine Master]"; mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use."; next; - set .@menu$,""; - for(set .@i,0; .@i