<?xml version="1.0" encoding="UTF-8"?>
<mod name="Lessaire's mixtape" version="1.105" author="Xaekai" contact="https://otland.net/members/lessaire.71608/" enabled="yes">
<notes><![CDATA[
Here is your silly little spell.
]]></notes>
<instant name="Diamond Fireslash" words="exevo gran mas exori flam hur" lvl="0" mana="0" prem="1" needweapon="1" exhaustion="100" groups="1,2000" icon="80" needlearn="0" event="script"><![CDATA[
function onGetFormulaValues(cid, level, skill, attack, factor)
local skillTotal, levelTotal = skill + attack, level / 5
return - (skillTotal * 1 + levelTotal), -(skillTotal * 1.7 + levelTotal)
end
local fireweapons = { 2392, 2432, 12690, 12691, 12689 }
-- HOW CAN SHE SLAP?!
local pimphand = createCombatObject();
setCombatArea(pimphand, createCombatArea(AREA_CIRCLE2X2))
setCombatParam(pimphand, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(pimphand, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
setCombatParam(pimphand, COMBAT_PARAM_USECHARGES, true)
setCombatCallback(pimphand, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
-- Firestrike the targeted creature
local firestrike = createCombatObject()
setCombatParam(firestrike, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(firestrike, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(firestrike, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatFormula(firestrike, COMBAT_FORMULA_SKILL, 0, 0, 1.0, 0)
-- I'm having a bad day
local napalm = createConditionObject(CONDITION_FIRE)
addDamageCondition(napalm, 4, 2000, -2)
addDamageCondition(napalm, 6, 2000, -1)
addDamageCondition(napalm, 5, 3000, -25)
addDamageCondition(napalm, 1, 5000, -100)
setConditionParam(napalm, CONDITION_PARAM_DELAYED, 1)
local immolation = createCombatObject()
setCombatParam(immolation, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(immolation, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
setCombatFormula(immolation, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 10, 10, 3.6, 3.6)
setCombatCondition(immolation, napalm)
-- Now we are cooking with gas
local combust = createCombatObject()
setCombatArea(combust, createCombatArea(AREA_CIRCLE3X3))
setCombatParam(combust, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combust, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setAttackFormula(combust, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.4, 2.8, 40, 70)
-- !!! JVDEA DELENDA EST !!!
local holocaust = createCombatObject()
setCombatArea(holocaust, createCombatArea(AREA_WAVE4, AREADIAGONAL_WAVE4))
setCombatParam(holocaust, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(holocaust, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(holocaust, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(holocaust, COMBAT_PARAM_CREATEITEM, 1492)
setCombatFormula(holocaust, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 10, 10, 3.6, 3.6)
-- Are you prepared for when Javascript replaces Lua?
local animeMistake = createConditionObject(CONDITION_FIRE)
addDamageCondition(animeMistake, 1, 3080, -45)
addDamageCondition(animeMistake, 1, 3060, -40)
addDamageCondition(animeMistake, 1, 3070, -35)
addDamageCondition(animeMistake, 1, 3050, -34)
addDamageCondition(animeMistake, 2, 3030, -33)
addDamageCondition(animeMistake, 2, 3000, -32)
addDamageCondition(animeMistake, 2, 3090, -31)
addDamageCondition(animeMistake, 2, 3040, -30)
addDamageCondition(animeMistake, 3, 3060, -29)
addDamageCondition(animeMistake, 3, 3060, -25)
addDamageCondition(animeMistake, 3, 3090, -24)
addDamageCondition(animeMistake, 4, 3020, -23)
addDamageCondition(animeMistake, 4, 3010, -20)
addDamageCondition(animeMistake, 5, 3030, -19)
addDamageCondition(animeMistake, 5, 3030, -15)
addDamageCondition(animeMistake, 6, 3070, -10)
addDamageCondition(animeMistake, 10, 3101, -5)
setConditionParam(animeMistake, CONDITION_PARAM_DELAYED, 1)
-- The Jew fears the Samurai
local hiroshima = createCombatObject()
setCombatArea(hiroshima, createCombatArea(AREA_CROSS6X6))
setCombatParam(hiroshima, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(hiroshima, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
setCombatParam(hiroshima, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
setCombatParam(hiroshima, COMBAT_PARAM_CREATEITEM, 1492)
setCombatFormula(hiroshima, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 10, 10, 3.6, 3.6)
setCombatCondition(hiroshima, animeMistake)
local function radiance(cid, var)
local weapon = getPlayerWeapon(cid)
local weaponid = weapon and weapon.itemid or 0
local fireweapon = isInArray(fireweapons, weaponid)
if(not (var.type == 2 and getCreatureTarget(cid) > 0 and fireweapon)) then
return doCombat(cid, pimphand, var)
end
local WeaponType = getItemInfo(weaponid)['weaponType']
local types = {
[WEAPON_CLUB] = SKILL_CLUB,
[WEAPON_SWORD] = SKILL_AXE,
[WEAPON_AXE] = SKILL_SWORD,
}
local skill = getPlayerSkillLevel(cid, types[WeaponType])
local chance = math.random(0, 100) + (skill^(1/2)) + (skill^(1/3))
local target = getCreatureTarget(cid)
local waveVar = targetPositionToVariant(getCreaturePosition(cid))
local spotVar = positionToVariant(getCreaturePosition(target))
-- DEUS VULT
if(chance > 99) then
local function lafiriWing(feather)
local spot = getThingPosition(cid)
local spectators = getSpectators(spot, 7, 7)
local pack = {}
for _, bystander in ipairs(spectators) do
local lasVegasCrowd = getThingPosition(bystander)
if(cid ~= bystander) then
print(dump(spot))
print(dump(lasVegasCrowd))
print(dump(positionToVariant(lasVegasCrowd)))
if(isSightClear(spot, lasVegasCrowd, false)) then
table.insert(pack, doCombat(cid, feather, positionToVariant(lasVegasCrowd)))
end
end
end
return unpack(pack)
end
return doCombat(cid, pimphand, var),
doCombat(cid, firestrike, var),
doCombat(cid, immolation, var),
doCombat(cid, combust, var),
doCombat(cid, holocaust, waveVar),
lafiriWing(hiroshima)
end
-- WITNESS ME!!!
if(chance > 90) then
return doCombat(cid, pimphand, var),
doCombat(cid, firestrike, var),
doCombat(cid, immolation, var),
doCombat(cid, combust, var),
doCombat(cid, holocaust, waveVar)
end
if(chance > 80) then
return doCombat(cid, pimphand, var),
doCombat(cid, firestrike, var),
doCombat(cid, immolation, var),
doCombat(cid, combust, var)
end
if(chance > 70) then
return doCombat(cid, pimphand, var),
doCombat(cid, firestrike, var),
doCombat(cid, immolation, var)
end
if(chance > 60) then
return doCombat(cid, pimphand, var),
doCombat(cid, firestrike, var)
end
-- MEATY OKRE
return doCombat(cid, pimphand, var)
end
function onCastSpell(cid, var)
return radiance(cid, var)
end
]]><vocation id="0"/></instant>
</mod>