• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

CreatureEvent Caustic Finale

sn3ejk

This account is inactive.
Joined
Nov 16, 2011
Messages
2,121
Solutions
1
Reaction score
145
CreatureEvent
Caustic Finale



[1FN_5.gif

When player hold bow and earth arrows, each of the player's attacks injects a deadly venom that causes the target to explode violently on death, dealing damage in an area.


  • weapons/weapons.xml
    From
    XML:
    <distance id="7850" type="earth" event="function" value="default"/>
    To
    XML:
    <distance id="7850" event="script" value="caustic_finale.lua"/>
  • weapons/scripts/caustic_finale.lua
    Lua:
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH)
    setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
    
    
    function onUseWeapon(cid, var)
    	local ret = doCombat(cid, combat, var)
    	if(ret == false) then
    		return false
    	end
    
    	local target = variantToNumber(var)
    	if(target ~= 0) then
    		registerCreatureEvent(target, "CausticFinale")
    	end
    	return ret
    end
  • creaturevents/creaturevents.xml
    XML:
    <event type="death" name="CausticFinale" event="script" value="causticfinale.lua"/>
  • creaturevents/scripts/causticfinale.lua
    Lua:
    local combat = createCombatObject()
    setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
    setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)
    setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
    setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
    setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)
    
    local area = createCombatArea({
    	{1, 1, 1},
    	{1, 3, 1},
    	{1, 1, 1}
    })
    
    setCombatArea(combat, area)
    
    
    function onDeath(cid, corpse, deathList)
    	doCombat(cid, combat, positionToVariant(getThingPosition(cid)))
    	return true
    end
 
Thanks for comments.
If something is wrong, please write in thread and I'll fix it as soon as possible.
 
Last edited:
Each of the Sand King's attacks injects a deadly venom that causes the target to explode violently on death, dealing damage in an area.

I like it alot. Nice one.
 
Good idea: "...on death, dealing damage in an area", perfect!
 
Back
Top