Skip to content

Commit

Permalink
Merge pull request #6180 from jmcmorris/isnm_making_a_mockery
Browse files Browse the repository at this point in the history
Implement the ISNM Making a Mockery
  • Loading branch information
claywar authored Aug 27, 2024
2 parents 3166a0b + bfa8e26 commit 851ca04
Show file tree
Hide file tree
Showing 10 changed files with 155 additions and 12 deletions.
2 changes: 1 addition & 1 deletion scripts/actions/mobskills/wisecrack.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ mobskillObject.onMobWeaponSkill = function(target, mob, skill)
return xi.effect.CHARM_I
end

local msg = xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.CHARM_I, 0, 3, 60)
local msg = xi.mobskills.mobStatusEffectMove(mob, target, xi.effect.CHARM_I, 0, 3, 30)
if msg == xi.msg.basic.SKILL_ENFEEB_IS then
mob:charm(target)
end
Expand Down
88 changes: 88 additions & 0 deletions scripts/battlefields/Jade_Sepulcher/making_a_mockery.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
-----------------------------------
-- Making a Mockery
-- Jade Sepulcher, Confidential Imperial Order
-- !addkeyitem CONFIDENTIAL_IMPERIAL_ORDER
-----------------------------------
local ID = zones[xi.zone.JADE_SEPULCHER]
-----------------------------------

local content = Battlefield:new({
zoneId = xi.zone.JADE_SEPULCHER,
battlefieldId = xi.battlefield.id.MAKING_A_MOCKERY,
maxPlayers = 6,
levelCap = 60,
timeLimit = utils.minutes(30),
index = 0,
entryNpc = '_1v0',
exitNpcs = { '_1v1', '_1v2', '_1v3' },
requiredKeyItems = { xi.ki.CONFIDENTIAL_IMPERIAL_ORDER, message = ID.text.ORDER_BREAKS },
})

content:addEssentialMobs({ 'Mocking_Colibri' })

content.loot =
{
{
{ item = xi.item.AGILITY_POTION, weight = xi.loot.weight.NORMAL },
{ item = xi.item.VITALITY_POTION, weight = xi.loot.weight.NORMAL },
{ item = xi.item.STRENGTH_POTION, weight = xi.loot.weight.NORMAL },
{ item = xi.item.DEXTERITY_POTION, weight = xi.loot.weight.NORMAL },
},

{
{ item = xi.item.SQUARE_OF_POLYFLAN, weight = xi.loot.weight.HIGH },
{ item = xi.item.BUNDLE_OF_HOMUNCULUS_NERVES, weight = xi.loot.weight.NORMAL },
{ item = xi.item.GLASS_SHEET, weight = xi.loot.weight.LOW },
{ item = xi.item.PETRIFIED_LOG, weight = xi.loot.weight.LOW },
},

{
{ item = xi.item.SCROLL_OF_AERO_IV, weight = xi.loot.weight.NORMAL },
{ item = xi.item.SCROLL_OF_MAIDENS_VIRELAI, weight = xi.loot.weight.NORMAL },
{ item = xi.item.SCROLL_OF_CARNAGE_ELEGY, weight = xi.loot.weight.NORMAL },
{ item = xi.item.SCROLL_OF_FLARE, weight = xi.loot.weight.NORMAL },
{ item = xi.item.SCROLL_OF_FLOOD, weight = xi.loot.weight.NORMAL },
{ item = xi.item.SCROLL_OF_TORNADO, weight = xi.loot.weight.NORMAL },
{ item = xi.item.DARK_SPIRIT_PACT, weight = xi.loot.weight.NORMAL },
{ item = xi.item.LIGHT_SPIRIT_PACT, weight = xi.loot.weight.NORMAL },
{ item = xi.item.LOUDSPEAKER_II, weight = xi.loot.weight.VERY_LOW },
{ item = xi.item.ACCELERATOR_II, weight = xi.loot.weight.VERY_LOW },
{ item = xi.item.STABILIZER_II, weight = xi.loot.weight.VERY_LOW },
},

{
{ item = xi.item.CHOCOBO_EGG_A_LITTLE_WARM, weight = xi.loot.weight.NORMAL },
},

{
{ item = xi.item.COLIBRI_FEATHER, weight = xi.loot.weight.NORMAL },
},

{
{ item = xi.item.NONE, weight = xi.loot.weight.EXTREMELY_HIGH },
{ item = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = xi.loot.weight.NORMAL },
{ item = xi.item.DEMON_HORN, weight = xi.loot.weight.NORMAL },
{ item = xi.item.IYO_SCALE, weight = xi.loot.weight.LOW },
{ item = xi.item.SQUARE_OF_MOBLINWEAVE, weight = xi.loot.weight.LOW },
{ item = xi.item.ALUMINUM_SHEET, weight = xi.loot.weight.VERY_LOW },
{ item = xi.item.MYTHRIL_COIL, weight = xi.loot.weight.VERY_LOW },
},

{
{ item = xi.item.NONE, weight = xi.loot.weight.EXTREMELY_HIGH },
{ item = xi.item.IMMORTALS_CAPE, weight = xi.loot.weight.LOW },
{ item = xi.item.DEADEYE_GLOVES, weight = xi.loot.weight.LOW },
{ item = xi.item.LEECH_SCIMITAR, weight = xi.loot.weight.LOW },
{ item = xi.item.PIRATES_EARRING, weight = xi.loot.weight.LOW },
},

{
{ item = xi.item.CHUNK_OF_PLATINUM_ORE, weight = xi.loot.weight.VERY_HIGH },
{ item = xi.item.CHUNK_OF_DARKSTEEL_ORE, weight = xi.loot.weight.VERY_HIGH },
{ item = xi.item.CHUNK_OF_ADAMAN_ORE, weight = xi.loot.weight.NORMAL },
{ item = xi.item.CHUNK_OF_ORICHALCUM_ORE, weight = xi.loot.weight.LOW },
{ item = xi.item.DEMON_HORN, weight = xi.loot.weight.LOW },
},
}

return content:register()
17 changes: 17 additions & 0 deletions scripts/enum/item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ xi.item =
MYTHRIL_SHEET = 663,
DARKSTEEL_SHEET = 664,
STEEL_SHEET = 666,
ALUMINUM_SHEET = 670,
CHUNK_OF_ALUMINUM_ORE = 678,
ADAMAN_CHAIN = 683,
CHUNK_OF_KHROMA_ORE = 685,
Expand Down Expand Up @@ -1040,6 +1041,7 @@ xi.item =
SQUARE_OF_RAINBOW_VELVET = 1996,
SQUARE_OF_SAILCLOTH = 1997,
SQUARE_OF_GOLD_BROCADE = 1999,
IYO_SCALE = 2006,
SQUARE_OF_LM_BUFFALO_LEATHER = 2007,
SQUARE_OF_WOLF_FELT = 2010,
WARRIORS_MASK_M1 = 2033,
Expand Down Expand Up @@ -1198,9 +1200,12 @@ xi.item =
SQUARE_OF_WAMOURA_CLOTH = 2289,
CHUNK_OF_IMPERIAL_CERMET = 2290,
CLUMP_OF_MOHBWA_GRASS = 2295,
SQUARE_OF_POLYFLAN = 2301,
TROLL_BRONZE_INGOT = 2302,
SPOOL_OF_WAMOURA_SILK = 2304,
VIAL_OF_JODYS_ACID = 2307,
MYTHRIL_COIL = 2308,
BUNDLE_OF_HOMUNCULUS_NERVES = 2309,
CHOCOBO_EGG_FAINTLY_WARM = 2312,
VCS_REGISTRATION_FORM = 2313,
CHOCOBO_EGG_SLIGHTLY_WARM = 2314,
Expand Down Expand Up @@ -2330,6 +2335,7 @@ xi.item =
SCROLL_OF_FIRE_II = 4753,
SCROLL_OF_BLIZZARD = 4757,
SCROLL_OF_AERO = 4762,
SCROLL_OF_AERO_IV = 4765,
SCROLL_OF_AERO_V = 4766,
SCROLL_OF_STONE = 4767,
SCROLL_OF_STONE_IV = 4770,
Expand All @@ -2340,7 +2346,9 @@ xi.item =
SCROLL_OF_WATER_V = 4781,
SCROLL_OF_FLARE = 4812,
SCROLL_OF_FREEZE = 4814,
SCROLL_OF_TORNADO = 4816,
SCROLL_OF_QUAKE = 4818,
SCROLL_OF_FLOOD = 4822,
SCROLL_OF_POISON = 4828,
SCROLL_OF_BIO = 4838,
SCROLL_OF_BURN = 4843,
Expand Down Expand Up @@ -2413,6 +2421,7 @@ xi.item =
SCROLL_OF_PUPPETS_OPERETTA = 5018,
SCROLL_OF_ADVANCING_MARCH = 5027,
SCROLL_OF_BATTLEFIELD_ELEGY = 5029,
SCROLL_OF_CARNAGE_ELEGY = 5030,
SCROLL_OF_HERCULEAN_ETUDE = 5039,
SCROLL_OF_UNCANNY_ETUDE = 5040,
SCROLL_OF_VITAL_ETUDE = 5041,
Expand All @@ -2431,6 +2440,7 @@ xi.item =
SCROLL_OF_MAGIC_FINALE = 5070,
SCROLL_OF_GODDESSS_HYMNUS = 5072,
SCROLL_OF_CHOCOBO_MAZURKA = 5073,
SCROLL_OF_MAIDENS_VIRELAI = 5074,
SCROLL_OF_FOE_SIRVENTE = 5076,
SCROLL_OF_ADVENTURERS_DIRGE = 5077,
SCROLL_OF_SENTINELS_SCHERZO = 5078,
Expand Down Expand Up @@ -2826,6 +2836,9 @@ xi.item =
VALOREDGE_FRAME = 8225,
SHARPSHOT_FRAME = 8226,
STORMWAKER_FRAME = 8227,
LOUDSPEAKER_II = 8484,
ACCELERATOR_II = 8516,
STABILIZER_II = 8580,
RAAZ_TUSK = 8709,
COPPER_AMAN_VOUCHER = 8711,
RED_MOG_PELL = 8714,
Expand Down Expand Up @@ -4915,6 +4928,7 @@ xi.item =
STORM_MANOPOLAS = 14936,
STORM_GAGES = 14937,
PAHLUWAN_DASTANAS = 14940,
DEADEYE_GLOVES = 14944,
NIGHTMARE_GLOVES = 14946,
HANZO_TEKKO = 14947,
ARES_GAUNTLETS = 14961,
Expand Down Expand Up @@ -5464,6 +5478,7 @@ xi.item =
INSOMNIA_EARRING = 15972,
VISION_EARRING = 15973,
VELOCITY_EARRING = 15974,
PIRATES_EARRING = 15976,
DELTA_EARRING = 15990,
STAR_EARRING = 15991,
CRIMSON_EARRING = 15993,
Expand Down Expand Up @@ -5551,6 +5566,7 @@ xi.item =
IGA_DOCHUGAPPA = 16207,
LANCERS_PELERINE = 16208,
NAVARCHS_MANTLE = 16209,
IMMORTALS_CAPE = 16217,
ASLAN_CAPE = 16228,
GLEEMANS_CAPE = 16229,
SMILODON_MANTLE = 16231,
Expand Down Expand Up @@ -5966,6 +5982,7 @@ xi.item =
STORM_TULWAR = 17715,
MACUAHUITL_M1 = 17716,
IMMORTALS_SCIMITAR = 17717,
LEECH_SCIMITAR = 17718,
SANGUINE_SWORD = 17721,
HAUTECLAIRE = 17738,
PERDU_HANGER = 17741,
Expand Down
34 changes: 34 additions & 0 deletions scripts/zones/Jade_Sepulcher/mobs/Mocking_Colibri.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
-----------------------------------
-- Area: Jade Sepulcher
-- NM: Mocking Colibri
-----------------------------------
mixins = { require('scripts/mixins/families/colibri_mimic') }
-----------------------------------
local entity = {}

entity.onMobInitialize = function(mob)
end

entity.onMobSpawn = function(mob)
mob:addImmunity(xi.immunity.SILENCE)
mob:addImmunity(xi.immunity.DARK_SLEEP)
mob:addImmunity(xi.immunity.LIGHT_SLEEP)
end

entity.onMobDisengage = function(mob)
-- Remove dots when the mob disengages such as when charming everyone
mob:delStatusEffect(xi.effect.POISON)
mob:delStatusEffect(xi.effect.BURN)
mob:delStatusEffect(xi.effect.FROST)
mob:delStatusEffect(xi.effect.CHOKE)
mob:delStatusEffect(xi.effect.RASP)
mob:delStatusEffect(xi.effect.SHOCK)
mob:delStatusEffect(xi.effect.DROWN)
mob:delStatusEffect(xi.effect.DIA)
mob:delStatusEffect(xi.effect.BIO)
end

entity.onMobDeath = function(mob, player, optParams)
end

return entity
2 changes: 1 addition & 1 deletion sql/mob_groups.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3255,7 +3255,7 @@ INSERT INTO `mob_groups` VALUES (39,3060,66,'Orochi',0,128,0,25000,0,80,82,0);
-- Jade_Sepulcher (Zone 67)
-- ------------------------------------------------------------

INSERT INTO `mob_groups` VALUES (1,2712,67,'Mocking_Colibri',0,128,0,0,0,60,60,0);
INSERT INTO `mob_groups` VALUES (1,2712,67,'Mocking_Colibri',0,128,0,8000,0,66,66,0);
INSERT INTO `mob_groups` VALUES (2,3128,67,'Phantom_Puk',0,128,0,0,0,75,75,0);
INSERT INTO `mob_groups` VALUES (3,3327,67,'Raubahn',0,128,0,0,0,75,75,0);
INSERT INTO `mob_groups` VALUES (4,3567,67,'Shadowhand_Kajeel_Ja',0,128,0,0,0,75,75,0);
Expand Down
2 changes: 1 addition & 1 deletion sql/mob_pools.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2765,7 +2765,7 @@ INSERT INTO `mob_pools` VALUES (2708,'Moblin_Witchman','Moblin_Witchman',184,0x0
INSERT INTO `mob_pools` VALUES (2709,'Moblin_Workman','Moblin_Workman',184,0x0000AC0200000000000000000000000000000000,5,5,4,240,100,0,1,0,1,0,0,0,337,131,0,0,3,0,0,184,184);
INSERT INTO `mob_pools` VALUES (2710,'Moblin_Yardman','Moblin_Yardman',184,0x0000AC0200000000000000000000000000000000,6,6,2,240,100,0,1,0,1,0,0,0,238,131,0,0,0,0,0,184,184);
INSERT INTO `mob_pools` VALUES (2711,'Mobpix_Mucousmouth','Mobpix_Mucousmouth',373,0x00003E0400000000000000000000000000000000,6,6,2,240,100,0,1,0,1,2,0,32,0,159,0,0,0,0,0,373,373);
INSERT INTO `mob_pools` VALUES (2712,'Mocking_Colibri','Mocking_Colibri',72,0x0000B80600000000000000000000000000000000,5,5,2,200,100,0,1,1,0,18,0,0,839,135,0,0,0,0,0,72,72);
INSERT INTO `mob_pools` VALUES (2712,'Mocking_Colibri','Mocking_Colibri',72,0x0000B80600000000000000000000000000000000,5,5,2,200,100,0,1,1,0,18,0,0,839,135,0,0,0,0,0,412,72);
INSERT INTO `mob_pools` VALUES (2713,'Mokka','Mokka',165,0x0000BF0600000000000000000000000000000000,4,4,7,240,100,0,1,1,1,16,0,0,0,3,0,0,2,0,0,165,165);
INSERT INTO `mob_pools` VALUES (2714,'Mokke','Mokke',165,0x0000BF0600000000000000000000000000000000,4,4,7,240,100,0,1,1,1,16,0,0,0,3,0,0,2,0,0,165,165);
INSERT INTO `mob_pools` VALUES (2715,'Mokku','Mokku',165,0x0000BF0600000000000000000000000000000000,4,4,7,240,100,0,1,1,1,16,0,0,0,3,0,0,2,0,0,165,165);
Expand Down
6 changes: 5 additions & 1 deletion sql/mob_skill_lists.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1920,7 +1920,11 @@ INSERT INTO `mob_skill_lists` VALUES ('Capricious_Cassie',411,725);
INSERT INTO `mob_skill_lists` VALUES ('Capricious_Cassie',411,726);
INSERT INTO `mob_skill_lists` VALUES ('Capricious_Cassie',411,727);
INSERT INTO `mob_skill_lists` VALUES ('Capricious_Cassie',411,728);
-- 412 to 435: free
INSERT INTO `mob_skill_lists` VALUES ('Mocking_Colibri',412,1699);
INSERT INTO `mob_skill_lists` VALUES ('Mocking_Colibri',412,1700);
INSERT INTO `mob_skill_lists` VALUES ('Mocking_Colibri',412,1701);
INSERT INTO `mob_skill_lists` VALUES ('Mocking_Colibri',412,1702);
-- 413 to 435: free
INSERT INTO `mob_skill_lists` VALUES ('Bloodlapper',436,2162);
INSERT INTO `mob_skill_lists` VALUES ('Ghillie_Dhu',437,685);
INSERT INTO `mob_skill_lists` VALUES ('Highlander_Lizard',438,371);
Expand Down
4 changes: 2 additions & 2 deletions sql/mob_skills.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1715,7 +1715,7 @@ INSERT INTO `mob_skills` VALUES (1698,1169,'leeching_current',1,12.0,2000,1500,4
INSERT INTO `mob_skills` VALUES (1699,1176,'pecking_flurry',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1700,1177,'snatch_morsel',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1701,1178,'feather_tickle',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1702,1179,'wisecrack',1,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1702,1179,'wisecrack',1,10.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1703,1170,'barrier_tusk',0,7.0,2000,1500,1,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1704,1171,'onrush',0,7.0,2000,1500,4,0,0,0,0,0,0);
INSERT INTO `mob_skills` VALUES (1705,1172,'stampede',0,7.0,2000,1500,4,0,0,0,0,0,0);
Expand Down Expand Up @@ -1997,7 +1997,7 @@ INSERT INTO `mob_skills` VALUES (1978,1165,'abominable_belch',1,16.0,2000,1500,4
-- INSERT INTO `mob_skills` VALUES (1981,1725,'.',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1982,1726,'nullifying_dropkick',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1983,1727,'auroral_uppercut',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1984,1728,'wisecrack',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1984,1728,'wisecrack',0,10.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1985,1729,'fighter's_roll',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1986,1730,'rogue's_roll',0,7.0,2000,1500,4,0,0,0,0,0,0);
-- INSERT INTO `mob_skills` VALUES (1987,1731,'gallant's_roll',0,7.0,2000,1500,4,0,0,0,0,0,0);
Expand Down
6 changes: 3 additions & 3 deletions sql/mob_spawn_points.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15107,9 +15107,9 @@ INSERT INTO `mob_spawn_points` VALUES (17047806,'Orochi','Orochi',39,-440.000,2.
-- ------------------------------------------------------------

-- ISNM: Making a Mockery
INSERT INTO `mob_spawn_points` VALUES (17051649,'Mocking_Colibri','Mocking Colibri',1,0.000,0.000,0.000,0);
INSERT INTO `mob_spawn_points` VALUES (17051651,'Mocking_Colibri','Mocking Colibri',1,0.000,0.000,0.000,0);
INSERT INTO `mob_spawn_points` VALUES (17051653,'Mocking_Colibri','Mocking Colibri',1,0.000,0.000,0.000,0);
INSERT INTO `mob_spawn_points` VALUES (17051649,'Mocking_Colibri','Mocking Colibri',1,240,-32,240,156);
INSERT INTO `mob_spawn_points` VALUES (17051651,'Mocking_Colibri','Mocking Colibri',1,0,8,0,156);
INSERT INTO `mob_spawn_points` VALUES (17051653,'Mocking_Colibri','Mocking Colibri',1,-240,48,-240,156);

-- ISNM: Shadows of the Mind
INSERT INTO `mob_spawn_points` VALUES (17051655,'Phantom_Puk','Phantom Puk',2,0.000,0.000,0.000,0);
Expand Down
6 changes: 3 additions & 3 deletions sql/npc_list.sql
Original file line number Diff line number Diff line change
Expand Up @@ -6385,9 +6385,9 @@ INSERT INTO `npc_list` VALUES (17047923,'blank','',0,0.000,0.000,0.000,1,50,50,0
-- Jade Sepulcher (Zone 67)
-- ------------------------------------------------------------

INSERT INTO `npc_list` VALUES (17051650,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1); -- making_a_mockery
INSERT INTO `npc_list` VALUES (17051652,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
INSERT INTO `npc_list` VALUES (17051654,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
INSERT INTO `npc_list` VALUES (17051650,'Armoury_Crate','Armoury Crate',156,240.0,-31.5,240.0,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1); -- making_a_mockery
INSERT INTO `npc_list` VALUES (17051652,'Armoury_Crate','Armoury Crate',156,0.0,8.0,0.0,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
INSERT INTO `npc_list` VALUES (17051654,'Armoury_Crate','Armoury Crate',156,-240.0,48.0,-240.0,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
INSERT INTO `npc_list` VALUES (17051660,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1); -- shadows_of_the_mind
INSERT INTO `npc_list` VALUES (17051666,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
INSERT INTO `npc_list` VALUES (17051672,'Armoury_Crate','Armoury Crate',46,0.000,0.000,0.000,6,40,40,0,8,0,6,1155,0x0000C10300000000000000000000000000000000,0,NULL,1);
Expand Down

0 comments on commit 851ca04

Please sign in to comment.