Follow up 10f0ead08f82711135ee0d582e2ab905579380e0
* Added missing script function `F_Lapine_Shadow_Random_Mix` * Corrected `F_Lapine_Gold_Statue`usage * Corrected `F_Lapine_Cursed_Blood` usage * fixed some alerts * Thanks to @ecdarreola, @Angelic234, @teededung
This commit is contained in:
parent
10f0ead08f
commit
600ff371c2
@ -472,7 +472,7 @@ Body:
|
||||
TargetItem:
|
||||
- Item: 28945 #Bloody_Knight_Shield_
|
||||
Result: |
|
||||
callfunc("F_Lapine_Cursed_Blood", .@opts[0], .@vals[0]);
|
||||
callfunc("F_Lapine_Cursed_Blood", .@opts[0], .@vals[0], .@opts[1], .@vals[1]);
|
||||
.@params[0] = 0;
|
||||
getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
|
||||
- Id: 23547 # Gold_Statue, 정화된 기사의 방패
|
||||
@ -482,7 +482,7 @@ Body:
|
||||
TargetItem:
|
||||
- Item: 28946 #Bloody_Knight_Shield__
|
||||
Result: |
|
||||
callfunc("F_Lapine_Gold_Statue", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[3]);
|
||||
callfunc("F_Lapine_Gold_Statue", .@opts[0], .@vals[0], .@opts[1], .@vals[1], .@opts[2], .@vals[2]);
|
||||
.@params[0] = 0;
|
||||
getitem3(LapineUpgradeItem,1,1,@last_lapine_refine,0,@last_lapine_card1,@last_lapine_card2,@last_lapine_card3,@last_lapine_card4,.@opts,.@vals,.@params);
|
||||
- Id: 23436 # Shadow_Refine_Hammer, 쉐도우 아이템
|
||||
|
@ -1954,6 +1954,32 @@ function script F_Lapine_Grace_Convert4 {
|
||||
return;
|
||||
}
|
||||
|
||||
function script F_Lapine_Shadow_Random_Mix {
|
||||
// Option:1
|
||||
.@r = rand(200); // No rates info
|
||||
if (.@r < 10) { set getarg(2), RDMOPT_VAR_STRAMOUNT; set getarg(3), rand(1,15); return; }
|
||||
if (.@r < 20) { set getarg(2), RDMOPT_VAR_AGIAMOUNT; set getarg(3), rand(1,15); return; }
|
||||
if (.@r < 30) { set getarg(2), RDMOPT_VAR_VITAMOUNT; set getarg(3), rand(1,3); return; }
|
||||
if (.@r < 40) { set getarg(2), RDMOPT_VAR_INTAMOUNT; set getarg(3), rand(1,3); return; }
|
||||
if (.@r < 50) { set getarg(2), RDMOPT_VAR_DEXAMOUNT; set getarg(3), 1; return; }
|
||||
if (.@r < 60) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(100,500); return; }
|
||||
if (.@r < 70) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(20,100); return; }
|
||||
if (.@r < 80) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,2); return; }
|
||||
if (.@r < 90) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,2); return; }
|
||||
if (.@r < 100) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(5,15); return; }
|
||||
if (.@r < 110) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(5,15); return; }
|
||||
if (.@r < 120) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,5); return; }
|
||||
if (.@r < 130) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,3); return; }
|
||||
if (.@r < 140) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,5); return; }
|
||||
if (.@r < 150) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,5); return; }
|
||||
if (.@r < 160) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(3,5); return; }
|
||||
if (.@r < 170) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(3,5); return; }
|
||||
if (.@r < 180) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(10,25); return; }
|
||||
if (.@r < 190) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,3); return; }
|
||||
if (.@r < 200) { set getarg(2), RDMOPT_VAR_LUKAMOUNT; set getarg(3), rand(1,5); return; }
|
||||
return;
|
||||
}
|
||||
|
||||
// TODO
|
||||
function script F_Lapine_Ein_Ddbox {
|
||||
return;
|
||||
|
@ -98,7 +98,7 @@ uint64 ItemSynthesisDatabase::parseBodyNode(const YAML::Node &node) {
|
||||
std::string script_str;
|
||||
script_code *code;
|
||||
|
||||
if (!this->asString(node, "Reward", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS)) != NULL) {
|
||||
if (!this->asString(node, "Reward", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS))) {
|
||||
this->invalidWarning(node["Reward"], "Invalid item script for 'Reward'.\n");
|
||||
return 0;
|
||||
}
|
||||
@ -251,7 +251,7 @@ bool s_item_synthesis_db::checkRequirement(map_session_data *sd, const std::vect
|
||||
item_data *id = NULL;
|
||||
|
||||
for (auto &it : items) {
|
||||
if (it.index < 0 || it.index >= MAX_INVENTORY)
|
||||
if (it.index >= MAX_INVENTORY)
|
||||
return false;
|
||||
|
||||
if (!(item = &sd->inventory.u.items_inventory[it.index]) || !(id = sd->inventory_data[it.index]))
|
||||
|
@ -50,7 +50,7 @@ uint64 ItemUpgradeDatabase::parseBodyNode(const YAML::Node &node) {
|
||||
std::string script_str;
|
||||
script_code *code;
|
||||
|
||||
if (!this->asString(node, "Result", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS)) != NULL) {
|
||||
if (!this->asString(node, "Result", script_str) || !(code = parse_script(script_str.c_str(), this->getCurrentFile().c_str(), id, SCRIPT_IGNORE_EXTERNAL_BRACKETS))) {
|
||||
this->invalidWarning(node["Result"], "Invalid item script for 'Result'.\n");
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user