From 088d9e88fa7012263a2b4f0697c54bbe5470f082 Mon Sep 17 00:00:00 2001 From: Zach Toogood Date: Wed, 18 Oct 2023 21:53:15 +0100 Subject: [PATCH] Add Rabbit MON skills --- scripts/actions/mobskills/wild_ginseng.lua | 30 ++++++++++++++++++++++ sql/mob_skills.sql | 2 +- sql/monstrosity_tp_skills.sql | 29 +++++++++++---------- 3 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 scripts/actions/mobskills/wild_ginseng.lua diff --git a/scripts/actions/mobskills/wild_ginseng.lua b/scripts/actions/mobskills/wild_ginseng.lua new file mode 100644 index 00000000000..fd0024a4cff --- /dev/null +++ b/scripts/actions/mobskills/wild_ginseng.lua @@ -0,0 +1,30 @@ +----------------------------------- +-- Wild Ginseng +-- Description: Grants the effects of Haste, Protect, Shell, Regen, and Blink on the caster. +-- Buff potencies: +-- Despite the description, also grants Protect (60 Defense). +-- Regen effect is 30HP/tick and does not scale. +-- It will not overwrite itself and must be canceled before being reapplied. +-- Haste effect is 20% Haste. +-- Shell effect is -?/256 Magic Damage Taken. +-- Blink has three shadows. +-- All buffs have a random duration between approximately 3.5 and 4.5 minutes. +----------------------------------- +local mobskillObject = {} + +mobskillObject.onMobSkillCheck = function(target, mob, skill) + return 0 +end + +mobskillObject.onMobWeaponSkill = function(target, mob, skill) + xi.mobskills.mobBuffMove(mob, xi.effect.PROTECT, 60, 0, math.random(utils.minutes(3.5), utils.minutes(4.5))) + xi.mobskills.mobBuffMove(mob, xi.effect.SHELL, 2000, 0, math.random(utils.minutes(3.5), utils.minutes(4.5))) + xi.mobskills.mobBuffMove(mob, xi.effect.REGEN, 30, 0, math.random(utils.minutes(3.5), utils.minutes(4.5))) + xi.mobskills.mobBuffMove(mob, xi.effect.BLINK, 3, 0, math.random(utils.minutes(3.5), utils.minutes(4.5))) + xi.mobskills.mobBuffMove(mob, xi.effect.HASTE, 1000, 0, math.random(utils.minutes(3.5), utils.minutes(4.5))) + + skill:setMsg(xi.msg.basic.NONE) + return 0 +end + +return mobskillObject diff --git a/sql/mob_skills.sql b/sql/mob_skills.sql index 37ec428535e..8daccf070d3 100644 --- a/sql/mob_skills.sql +++ b/sql/mob_skills.sql @@ -1375,7 +1375,7 @@ INSERT INTO `mob_skills` VALUES (1358,1009,'plasma_charge',0,7.0,2000,1000,1,0,0 -- INSERT INTO `mob_skills` VALUES (1359,855,'chthonian_ray',0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1360,855,'apocalyptic_ray',0,7.0,2000,1500,4,0,0,0,0,0,0); -- INSERT INTO `mob_skills` VALUES (1361,1105,'viscid_secretion',0,7.0,2000,1500,4,0,0,0,0,0,0); --- INSERT INTO `mob_skills` VALUES (1362,1106,'wild_ginseng',0,7.0,2000,1500,4,0,0,0,0,0,0); +INSERT INTO `mob_skills` VALUES (1362,1106,'wild_ginseng',0,7.0,2000,1500,1,0,0,0,0,0,0); -- TODO: Capture animation -- INSERT INTO `mob_skills` VALUES (1363,1107,'hungry_crunch',0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1364,848,'mighty_snort',0,7.0,2000,1500,4,0,0,0,0,0,0); INSERT INTO `mob_skills` VALUES (1365,1043,'tail_thrust',0,7.0,2000,1000,4,0,0,0,0,0,0); diff --git a/sql/monstrosity_tp_skills.sql b/sql/monstrosity_tp_skills.sql index 1e13002813b..6a64c70a1d6 100644 --- a/sql/monstrosity_tp_skills.sql +++ b/sql/monstrosity_tp_skills.sql @@ -401,20 +401,21 @@ INSERT INTO `monstrosity_tp_skills` VALUES ('Lizard', '43', 'tail_blow', '342', -- INSERT INTO `monstrosity_tp_skills` VALUES ('Amphiptere', '76', 'reaving_wind', '606', '2431', '20', '1500'); -- INSERT INTO `monstrosity_tp_skills` VALUES ('Amphiptere', '76', 'calamitous_wind', '608', '2433', '30', '1700'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'foot_kick', '257', '257', '1', '1000'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'dust_cloud', '258', '258', '10', '800'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'whirl_claws', '259', '259', '20', '1800'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'wild_carrot', '314', '323', '30', '1000'); - --- INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'foot_kick', '257', '257', '1', '1000'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'whirl_claws', '259', '259', '20', '1800'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'wild_carrot', '314', '323', '30', '1000'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'snow_cloud', '455', '661', '40', '1000'); - --- INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'foot_kick', '257', '257', '1', '1000'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'dust_cloud', '258', '258', '10', '800'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'whirl_claws', '259', '259', '20', '1800'); --- INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'wild_carrot', '314', '323', '30', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'foot_kick', '257', '257', '1', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'dust_cloud', '258', '258', '10', '800'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'whirl_claws', '259', '259', '20', '1800'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Onyx Rabbit', '256', 'wild_carrot', '314', '323', '30', '1000'); + +INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'foot_kick', '257', '257', '1', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'whirl_claws', '259', '259', '20', '1800'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'wild_carrot', '314', '323', '30', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'snow_cloud', '455', '661', '40', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Alabaster Rabbit', '257', 'wild_ginseng', '501', '1362', '50', '1000'); + +INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'foot_kick', '257', '257', '1', '1000'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'dust_cloud', '258', '258', '10', '800'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'whirl_claws', '259', '259', '20', '1800'); +INSERT INTO `monstrosity_tp_skills` VALUES ('Lapinion (Rabbit)', '258', 'wild_carrot', '314', '323', '30', '1000'); -- INSERT INTO `monstrosity_tp_skills` VALUES ('Elasmoth (Behemoth)', '259', 'wild_horn', '444', '628', '1', '1000'); -- INSERT INTO `monstrosity_tp_skills` VALUES ('Elasmoth (Behemoth)', '259', 'shock_wave', '446', '631', '10', '1000');