PHP Code:
-- ######################################################################
-- # ----------------------------------- #
-- # Copyright © Sakachi2 #
-- # by .CHAdonis #
-- # ------------------------------------- #
-- ######################################################################
quest wunschbonis begin
state start begin
when 9010.take begin
local boni_type
if item.get_type() == 1 and item.get_sub_type() <= 5 then ------ Boni für Waffen
boni_type = {
{"Stark gegen Halbmenschen","Stark gegen Esoterische","Stark gegen Orks","Stark gegen Teufel","Stark gegen Tiere","Stark gegen Untote","Chance auf kritischen Treffer","Chance auf durchbohrenden Treffer","Vergiftungschance","Ohnmachtschance","Verlangsamungschance","Zaubergeschwindigkeit","Intelligenz","Stärke","Beweglichkeit","Lebenskraft"},
{10, 20, 20, 20, 20, 20, 10, 10, 8, 8, 8, 20, 12, 12, 12, 12},
{17, 20, 19, 22, 18, 21, 15, 16, 12, 13, 14, 9, 4, 5, 6, 3}
}
elseif item.get_type() == 2 and item.get_sub_type() == 0 then ------ Boni für Rüstungen
boni_type = {
{"Max TP","Schwertverteidigung","Zweihandverteidigung","Dolchverteidigung","Zaubergeschwindigkeit","Glockenverteidigung","Fächerverteidigung","Pfeilwiederstand","Angriffswert+","Schaden wird von TP absorbiert","Schaden wird von MP absorbiert","Chance, Nahkampftreffer zu reflektieren"},
{3000, 15, 15, 15, 20, 15, 15, 15, 50, 10, 10, 10},
{1, 29, 30, 31, 9, 32, 33, 34, 53, 23, 24, 39}
}
elseif item.get_type() == 2 and item.get_sub_type() == 3 then ------ Boni für Armbänder
boni_type = {
{"Stark gegen Esoterische","Stark gegen Halbmenschen","Stark gegen Orks","Stark gegen Teufel","Stark gegen Tiere","Stark gegen Untote","Magiewiederstand","Blitzwiederstand","Windwiderstand","Feuerwiderstand","Chance auf durchbohrenden Treffer","Schaden wird von TP absorbiert","Chance auf Manaraub","Max TP","Max MP","Chance doppelte Menge von Gegenständen fallen zu lassen"},
{20, 10, 20, 20, 20, 20, 15, 15, 15, 15, 10, 10, 10, 3000, 500, 20},
{20, 17, 19, 22, 18, 21, 37, 36, 38, 35, 16, 23, 25, 1, 2, 45}
}
elseif item.get_vnum() == 16209 and item.get_type() == 2 and item.get_sub_type() == 5 then ------ Boni für Halsketten
boni_type = {
{"Schwertverteidigung","Zweihandverteidigung","Dolchverteidigung","Glockenverteidigung","Fächerverteidigung","Pfeilwiederstand","Ohnmachtschance","Chance auf kritischen Treffer","Schaden wird von MP absorbiert","Chance auf Manaraub","Max TP","Max MP","MP-Regeneration","TP-Regeneration","Chance auf EXP Bonus","Chance, eine doppelte Menge Yang fallen zu lassen"},
{15, 15, 15, 15, 15, 15, 8, 10, 10, 10, 3000, 500, 30, 30, 20, 20},
{29, 30, 31, 32, 33, 34, 13, 15, 24, 25, 1, 2, 11, 10, 43, 44}
}
elseif item.get_type() == 2 and item.get_sub_type() == 5 then ------ Boni für Halsketten
boni_type = {
{"Schwertverteidigung","Zweihandverteidigung","Dolchverteidigung","Glockenverteidigung","Fächerverteidigung","Pfeilwiederstand","Ohnmachtschance","Chance auf durchbohrenden Treffer","Chance auf kritischen Treffer","Schaden wird von MP absorbiert","Chance auf Manaraub","Max TP","Max MP","MP-Regeneration","TP-Regeneration","Chance auf EXP Bonus","Chance, eine doppelte Menge Yang fallen zu lassen"},
{15, 15, 15, 15, 15, 15, 8, 10, 10, 10, 10, 3000, 500, 30, 30, 20, 20},
{29, 30, 31, 32, 33, 34, 13, 16, 15, 24, 25, 1, 2, 11, 10, 43, 44}
}
elseif item.get_type() == 2 and item.get_sub_type() == 4 then ------ Boni für Schuhe
boni_type = {
{"Schwertverteidigung","Zweihandverteidigung","Dolchverteidigung","Glockenverteidigung","Fächerverteidigung","Pfeilwiederstand","Ohnmachtschance","Chance auf kritischen Treffer","Verlangsamungschance","Max TP","Max MP","Chance auf EXP Bonus","Angriffsgeschwindigkeit","Chance Pfeilangriffen auszuweichen","Chance, eine doppelte Menge Yang fallen zu lassen"},
{15, 15, 15, 15, 15, 15, 8, 10, 8, 3000, 500, 20, 8, 10},
{29, 30, 31, 32, 33, 34, 13, 15, 14, 1, 2, 43, 7, 28, 44}
}
elseif item.get_type() == 2 and item.get_sub_type() == 1 then ------ Boni für Helme
boni_type = {
{"Stark gegen Esoterische","Stark gegen Halbmenschen","Star gegen Orks","Stark gegen Teufel","Stark gegen Tiere","Stark gegen Untote","Magiewiederstand","Blitzwiderstand","Windwiderstand","Feuerwiderstand","Vergiftungschance","Schaden wird von MP absorbiert","MP-Regeneration","TP-Regeneration","Angriffsgeschwindigkeit","Chance Pfeilangriffen auszuweichen"},
{20, 10, 20, 20, 20, 20, 15, 15, 15, 15, 8, 10, 30, 30, 8, 15},
{20, 17, 19, 22, 18, 21, 37, 36, 38, 35, 12, 24, 11, 10, 7, 28}
}
elseif item.get_type() == 2 and item.get_sub_type() == 6 then ------ Boni für Ohrringe
boni_type = {
{"Stark gegen Esoterische","Stark gegen Halbmenschen","Star gegen Orks","Stark gegen Teufel","Stark gegen Tiere","Stark gegen Untote","Schwertverteidigung","Zweihandverteidigung","Dolchverteidigung","Glockenverteidigung","Fächerverteidigung","Pfeilwiederstand","Chance auf Manaraub","Giftwiederstand","Chance, eine doppelte Menge von Gegenständen fallen zu lassen","Bewegungsgeschwindigkeit"},
{20, 10, 20, 20, 20, 20, 15, 15, 15, 15, 15, 15, 10, 5, 20, 20},
{20, 17, 19, 22, 18, 21, 29, 30, 31, 32, 33, 34, 25, 41, 45, 8}
}
elseif item.get_type() == 2 and item.get_sub_type() == 2 then ------ Boni für Schilder
boni_type = {
{"Stark gegen Esoterische","Stark gegen Halbmenschen","Star gegen Orks","Stark gegen Teufel","Stark gegen Tiere","Stark gegen Untote","Abwehr gegen Ohnmacht","Abwehr gegen Verlangsamung","Chance, Nahkampftreffer zu reflektieren","Chance direkten körperlichen Angriff abzublocken","Chance auf EXP Bonus","Chance, eine doppelte Menge an Yang fallen zu lassen","Intelligenz","Stärke","Beweglichkeit","Lebenskraft"},
{20, 10, 20, 20, 20, 20, 1, 1, 15, 15, 20, 20, 12, 12, 12, 12},
{20, 17, 19, 22, 18, 21, 48, 49, 39, 27, 43, 44, 4, 5, 6, 3}
}
end
if boni_type == nil then return end
local get_attr_sum, choose_attr, get_choose_name, get_stone_vnum, get_choose_name, get_attr_name = {}, {}, {}, {}, {}, boni_type[1]; table.insert(get_attr_name,"Abbrechen")
for c = 1, 5 do
table.insert(get_attr_name,1,5)
say_size(300,350)
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say(string.format("Such dir Eigenschaft Nummer. %d aus.", c))
say()
say_reward("Eigenschaften können nicht doppelt gewählt werden!")
say()
local b = select2(get_attr_name)
table.insert(get_choose_name, get_attr_name[b])
table.insert(get_attr_sum, boni_type[2][b])
table.insert(choose_attr, boni_type[3][b])
if get_attr_name[b] == "Abbrechen" then setskin(NOWINDOW) return end
end
if choose_attr[1] == choose_attr[2] or choose_attr[1] == choose_attr[3] or choose_attr[1] == choose_attr[4] or choose_attr[1] == choose_attr[5] or choose_attr[2] == choose_attr[1] or choose_attr[2] == choose_attr[3] or choose_attr[2] == choose_attr[4] or choose_attr[2] == choose_attr[5] or choose_attr[3] == choose_attr[1] or choose_attr[3] == choose_attr[2] or choose_attr[3] == choose_attr[4] or choose_attr[3] == choose_attr[5] or choose_attr[4] == choose_attr[1] or choose_attr[4] == choose_attr[2] or choose_attr[4] == choose_attr[3] or choose_attr[4] == choose_attr[5] or choose_attr[5] == choose_attr[1] or choose_attr[5] == choose_attr[2] or choose_attr[5] == choose_attr[3] or choose_attr[5] == choose_attr[4] then say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race())))) say() say_reward("Du kannst ein Attribut nur 1 mal auswählen!") say() return end
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Du hast folgende Attribute ausgewählt:")
say()
say("Eigenschaft: "..get_choose_name[1].."|+"..get_attr_sum[1].."")
say("Eigenschaft: "..get_choose_name[2].."|+"..get_attr_sum[2].."")
say("Eigenschaft: "..get_choose_name[3].."|+"..get_attr_sum[3].."")
say("Eigenschaft: "..get_choose_name[4].."|+"..get_attr_sum[4].."")
say("Eigenschaft: "..get_choose_name[5].."|+"..get_attr_sum[5].."")
say()
say_reward("Sind diese Angaben korrekt?")
say()
if select("Angaben sind korrekt","Angaben sind nicht korrekt") == 2 then return end
item.set_value(1, choose_attr[1], get_attr_sum[1])
item.set_value(2, choose_attr[2], get_attr_sum[2])
item.set_value(3, choose_attr[3], get_attr_sum[3])
item.set_value(4, choose_attr[4], get_attr_sum[4])
item.set_value(5, choose_attr[5], get_attr_sum[5])
say_title(string.format("%s:", mob_name(string.format("%d", npc.get_race()))))
say()
say("Die Attribute wurden erfolgreich gewechselt.")
say()
end
end
end