Compare commits

...

144 Commits

Author SHA1 Message Date
Daegaladh
8291fce243 Leftovers 2024-04-15 10:41:53 +02:00
Daegaladh
873600fd8b Small mistake 2024-04-15 10:32:00 +02:00
Daegaladh
999daa6e47 Copypaste fail 2024-04-15 10:24:04 +02:00
Daegaladh
e83252bc69 Optimized a big chunk of repetitive code 2024-04-15 10:09:36 +02:00
Daegaladh
e00e97c401 Optimizations 2024-04-13 17:35:47 +02:00
Daegaladh
347e138687 Fix check in Swordsman tutorial quest 2024-04-13 17:04:43 +02:00
Playtester
81894eeba6 Venom Splasher, Venom Knife (#8248)
- Venom Splasher now ignores +% damage cards, but no longer ignores weapon element
- Venom Splasher now uses the correct durations and cooldowns in pre-re (was already correct in renewal)
- Venom Splasher and Venom Knife now correctly use default poison duration
- Venom Splasher and Venom Knife now have a poison chance of 100%
- Fixes #8221
2024-04-12 21:56:39 +02:00
Playtester
9eff7be9cd ATKpercent for monsters (#8246)
- Most NPC skills are now influenced by ATKpercent again
- LK_SPIRALPIERCE is now only not influenced by ATKpercent when used by players
- Introduced a new enum for bonus check flags
- Follow-up to 03f07ab
- Fixes #3538
2024-04-11 18:35:14 +02:00
Playtester
82c37ce32d NPC_POWERUP, NPC_AGIUP (vs. Quagmire) and Dispel (#8243)
- NPC_POWERUP and NPC_AGIUP now grant their own unique status changes
- Duration of NPC_POWERUP is now 5s*level
- Duration of NPC_AGIUP is now 10s*level and max level is back to 10
- Quagmire, Slow Grace and Adoramus now work even when the target used NPC_AGIUP
- NPC_AGIUP will remove Decrease Agi on start but will not prevent it
- NPC_AGIUP can be dispelled, but NPC_POWERUP cannot
- Dispel will now make a monster unlock its target
- Removed custom code to display the NPC_POWERUP effect, it's now correctly linked to EFST_POWERUP
- Removed the ifdef around EXTREMITYFIST2, so we no longer constantly change its ID
- Fixes #8242 
- Fixes #904 
- Fixes #7346
2024-04-10 18:34:49 +02:00
Atemo
c70bc39751 Implemented SC_PERIOD_RECEIVEITEM_2ND and SC_PERIOD_PLUSEXP_2ND (#8197) 2024-04-10 14:01:12 +02:00
Playtester
eb4658f940 Envenom Element Modifier Adjustments (#8237)
- Envenom now applies the attribute table to the final damage again (fixes #8212)
2024-04-09 17:09:23 +02:00
Playtester
03f07ab8c7 Various NPC skill fixes (#8233)
- Fixed the damage type of various NPC skills
- NPC_*BREATH skills and NPC_VAMPIRE_GIFT will now no longer be influenced by ATKpercent
- Fixed NPC_CRITICALSLASH not working in pre-re
- NPC_KEEPING now lasts 30s
- NPC_BARRIER now lasts 15s
- NPC_DEFENDER now lasts 15s, reduces damage by 87.5% and halves movement speed
- Fixes #3538
2024-04-08 20:24:32 +02:00
Atemo
100b590094 Corrected SC_HELPANGEL (#8220)
Heal amount of SC_HELPANGEL (NV_HELPANGEL skill) is now not displayed.
2024-04-08 13:30:28 +02:00
Lemongrass3110
cb42dceb87 Switched most C headers to C++ (#8225) 2024-04-07 22:14:51 +02:00
Playtester
8cec8ce560 Minor trap damage fixes (#8230)
- Freezing Trap is now calculated like a ranged attack when the user has a bow equipped
- Fixed some minor trap damage inaccuracies
- Fixes #8227
2024-04-06 20:56:09 +02:00
Playtester
537072e610 Star Crumbs, Spirit Spheres, EDP, Guillotine Fist, Sand Attack, Rapid Smiting, Clashing Spiral (#8219)
- ATKpercent, Spirit Spheres and other mastery bonuses, now all affect the exactly same skills with some exceptions for refine and Star Crumbs, see battle_skill_stacks_masteries_vvs
- EDP and elemental bonus damage now apply to the exact same list of skills, see battle_skill_stacks_edp_element (pre-re)
- Star Crumbs and Spirit Spheres no longer multiply the damage by number of hits twice
- Star Crumbs, Spirit Spheres and similar mastery bonuses that apply even on MISS are now applied after the attribute table but before EDP and elemental bonus damage (pre-re)
- Attribute table can now make damage go negative which is weighted against any of the above mastery bonuses and elemental bonus damage before being capped to 0
- EDP and elemental bonus damage no longer apply to the left hand; removed "basedamage2" as it is no longer needed
- Left-hand damage is now always capped to 0 instead of 1
- Fixed Guillotine Fist ignoring size modifiers
- Fixed inaccuracies in Guillotine Fist's damage due to rounding issues
- Fixed bonus damage from Magnum Break when using Guillotine Fist
- Sand Attack is no longer influenced by EDP
- Rapid Smiting now has a fixed 20% hit bonus (it hits at least to 25%)
- Rapid Smiting no longer deals damage on MISS
- Clashing Spiral damage is no longer influenced by ATKpercent and any mastery except Star Crumbs
- Further code improvements / compiler warning fix
- Fixes #8211 
- Fixes #8218 
- Fixes #7750 
- Fixes #1823
2024-04-06 18:31:40 +02:00
Atemo
c546e67995 * Fixed an issue with some group in item group DB renewal (#8224)
* Replaced getrandgroupitem by getgroupitem script command
* Fixed incorrect use of getrandgroupitem in NPC folder
2024-04-06 13:49:31 +02:00
Lemongrass3110
8745391ad4 Cleaned up ZC_INVENTORY_TAB (#8217)
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2024-04-04 08:42:19 +02:00
Atemo
4f82aff8fd Initial release of episode 18.1 (#7917)
Thanks to @idk-whoami
2024-04-02 17:43:25 +02:00
Lemongrass3110
9440869743 Cleaned up ZC_AUTOSPELLLIST (#8216)
Cleaned up code.
Fixed invalid allocations from the old code.
Changed to struct.
Use correct packet id.
Fixed invalid RENEWAL check instead of PACKETVER.

Thanks to @aleos89
2024-04-02 16:06:56 +02:00
RoboSchmied
3c1187e150 Fix typos in BUILD messages (#8199) 2024-04-02 11:32:57 +02:00
Lemongrass3110
349b04bf28 Cleaned up CZ_PARTY_CONFIG (#8204)
Thanks to @aleos89
2024-04-02 09:53:11 +02:00
Playtester
b0902a4142 Volcano and Min Damage (#8213)
- Volcano now increases BaseATK instead of WeaponATK for non-monsters
- Fixed a bug that caused Volcano to increase MATK in pre-re (fixes #8208)
- Fixed min damage not being set correctly
- Fixed a compiler warning
2024-04-01 18:35:44 +02:00
Playtester
4247bc50c5 ATKpercent, Base Damage, Occult Impaction, Freezing Trap, Acid Terror, Paladin skills (#8210)
- A handful of skills grant status changes that actually are calculated together into a value "ATKpercent" rather than increasing BATK/WATK, this value is then applied to most weapon skills
  * Pre-re - Damage after skill ratio but before DEF reduction is multiplied with ATKpercent
  * Renewal - Is a linear addition to skill ratio instead (ATKpercent of 200 means +100% to any skill ratio, so 100% becomes 200%, but 500% only becomes 600%)
  * For further information which status changes go into ATKpercent and which skills are not influenced by it, please see the battle_get_atkpercent function
- Fixed base damage not being calculated correctly for certain skills
- MO_INVESTIGATE is no longer influenced by Spirit Spheres except when you have the WATK_ELEMENT effect (Magnum Break)
- Freezing trap now deals 100% damage on all levels and can miss
- Acid Terror now ignores DEF, but its base attack is reduced by VIT
- Acid Terror skill ratio is now 50%+50%*level
- Acid Terror and Martyr's Reckoning (PA_SACRIFICE) are no longer affected by refine and mastery bonus
- Magnum Break/EDP bonus no longer affects Acid Terror and unit skills
- Fixed damage formula of Shield Boomerang and Rapid Smiting
- Code improvements
- Fixes #8193
2024-04-01 15:15:41 +02:00
Atemo
23787bdfa4 Updated renewal item group DB (#8207)
* Corrections in item group DB
* Implemented new groups
2024-03-31 18:37:39 +02:00
Playtester
8a109071a5 Fixed Sonic Blow related map server crash (#8203)
- Fixes #8202
- Follow-up to 7d9a23d
2024-03-29 19:28:55 +01:00
Playtester
43d4e071df Critical Hits on Focused Arrow Strike and Gunslinger (#8201)
- Focused Arrow Strike no longer deals max damage when it crits (pre-re)
- Focused Arrow Strike no longer considers cards that increase/decrease critical damage (pre-re)
- Criticals with any guns are now calculated like melee criticals, not considering bullet attack (pre-re)
- Chain Action can no longer do critical hits (pre-re)
- Fixes #8200
2024-03-29 18:43:09 +01:00
Playtester
7d9a23d03f Frenzy, Super Novice Level Up Buff, Assassin Soul Link (#8198)
- Fixed Frenzy HP drain interval being 15 instead 10 seconds in renewal (follow-up to 1a004f0)
- The buffs granted when a Super Novice levels up now all last 120 seconds (fixes #8189)
- Assassin Soul Link now doubles stun chance outside GVG/BG (fixes #8195)
2024-03-28 23:43:59 +01:00
Playtester
861832ec27 Enchant Deadly Poison / Magnum Break Damage Bonus and Durations (#8191)
- Added missing EDP 25% poison damage bonus (it was already fixed in renewal but applies to pre-re too), that works identical to the 20% fire damage bonus from Magnum Break; both buffs overwrite each other
- The damage on which EDP/Magnum Break is based on now considers defense reduction, passive mastery, refine and true sight
- The EDP/Magnum Break damage bonus now considers spirit sphere damage, but the spirit sphere part is non-elemental; both are added together before they get rounded down
- The EDP/Magnum Break damage bonus can now become negative through attribute table and is dispelled on logout
- The EDP/Magnum Break damage bonus no longer applies when damage is already 0 or lower beforehand
- EDP is now applied after defense, refine and mastery
- Refine bonus now is applied before mastery and between both the damage is capped to 1
- Envenom's fixed damage bonus is now a mastery bonus (was already fixed in renewal but applies to pre-re too) and thus increased by EDP
- Fixed damage interaction between MO_FINGEROFFENSIVE (Throw Spirit Sphere) with Magnum Break, refine and spirit spheres
- Fixed Magnum Break costing HP; it requires HP but does not consume it
- Fixed Sonic Blow's damage formula (300%+50%*skill_lv) and how the bonus from Sonic Acceleration works (+10% to ratio)
- Poison/DPoison now reduce hard DEF vs. monsters by 25%, but the DEF reduction no longer stacks
- Fixed DPoison's duration (60s base duration on all levels)
- Fixed Enchant Deadly Poison duration in Renewal
- Fixed chance of DPoison to be inflicted (3% level 1+2, 4% level 3+4, 5% level 5)
- Fixed negative resistances not increasing the chance of a status change to occur (it's only capped to 0 in renewal)
2024-03-28 22:46:22 +01:00
Atemo
2633599458 Implemented missing renewal items usable (#8190) 2024-03-28 00:37:40 +01:00
Playtester
1a004f0164 Mercenary, Regen and Frenzy Improvements (#8185)
- When a Mercenary gains a bonus, there will now be an animation
- Mercenary bonuses now last for 5 minutes instead of 10 minutes
- Fixed HP/SP recovery values of Mercenaries (and Elementals)
- Mercenaries now recover HP when walking
- Homunculi no longer recover SP when walking
- Mercenary natural recovery interval is 8s for HP and 6s for SP
- Homunculus natural recovery interval is 2s for HP and 4s for SP
- MER_CRASH now only deals 1 hit and can be cast-cancelled
- Frenzy now drains HP every 10 seconds instead of every 15 in pre-renewal
- Fixed SP cost Mercenary Frenzy (100 -> 200 SP)
- Killing monsters exactly 2 times below you base level now still counts as mercenary kill
- Fixes #8184 
- Fixes #7663
2024-03-27 11:48:05 +01:00
Atemo
ed2d03d811 Extended TimeLimit format (quest DB) (#8116) 2024-03-25 19:09:31 +01:00
Atemo
42bd87d9b7 Implemented the permission "TRADE_UNCONDITIONAL" (#8182)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-03-25 16:09:11 +01:00
Playtester
dd663c7eb4 Fixed Asprika damage reduction (#8173)
- Monster damage is now always reduced by items that reduce BF_WEAPON damage
- Monster damage is now never reduced by items that reduce BF_MAGIC damage
- Asprika now reduces all damage from monsters by 30%
- Asprika now reduces all physical damage from players by 30%
- Asprika now reduces damage regardless of range of the attack
- Shaman Hat will no longer reduce damage from monsters, but will still reduce magic damage from players
- This also affects all custom items using bonus3 bSubEle and bonus3 bSubRace
- Added a config to battle/items.conf to return to old behavior
- Fixes #8171
2024-03-24 21:32:49 +01:00
Atemo
34711b5307 Implemented new items up to 20-03-2024 (#8180)
* Removed duplicate IDs
2024-03-22 21:42:16 +01:00
Atemo
b71586b3ca Item DB corrections (#8179)
* Corrected etc items with item script (shouldn't happen)
* Corrected some item type
2024-03-22 20:48:53 +01:00
Atemo
3627377d49 Updated items DB (#8178)
* Updated items Trade, Flags, EquipLevelMin, ArmorLevel, WeaponLevel, Slot and Gradable
2024-03-22 19:52:30 +01:00
Atemo
5ebfd54163 Updated item_packages.yml and item_group_db.yml (#8174)
Files updated according to KRO client datas.
2024-03-17 14:48:28 +01:00
Playtester
f85f990e3e Fixed all status changes overwriting OPT1 status changes (#8172)
- Fixes #8128
2024-03-16 14:42:45 +01:00
Atemo
f55e29068a Updated pet_db.yml (#8170)
* Updates pet_db.yml based on KRO client data.
2024-03-15 14:58:52 +01:00
Atemo
a768af85ee Updated geteleminfo script command (#8168)
* Updated geteleminfo script command
* Added a new <type> "2" that returns the class ID of the elemental spirit
* Fixed Dimensions Elemental* combos: item descriptions require high elemental spirit check
* Added new constants for geteleminfo

Thanks to @aleos89 @Badarosk0 !
2024-03-14 14:08:45 +01:00
Atemo
872e31cc8d Updated NPCs list and mobs list according to KRO client (#8167) 2024-03-13 14:39:45 +01:00
Atemo
0536323882 Updated the Name of some items in item DB (#8166)
* Updated the "Name" of some items in item DB according to https://www.divine-pride.net/
* Truncated "Shinkiro & Shiranui Soul (Huuma Shuriken - Construct)" item name to 49 character
2024-03-13 00:23:16 +01:00
Atemo
43eece8628 Implemented new items up to March 6 2024 (#8165) 2024-03-12 15:12:41 +01:00
Atemo
3e82cf45a6 Rebalance Night Watch 2024-02-05 (#8164)
* Hidden Card
- No longer be removed by Dispell or Clearance.

* The Vigilante at Night
- Increases AP recovery rate from 1 to 2.

* Only One Bullet
- Increases AP recovery rate from 1 to 2.

* Spiral Shooting
- Increases AP recovery rate from 1 to 2.

* Magazine for One
- Increases AP recovery rate from 1 to 2.

* Wild Fire
- Increases AP recovery rate from 1 to 2.
2024-03-11 19:55:23 +01:00
Atemo
4a3149649e Rebalance Abyss Chaser 2024-02-05 (#8153)
* Abyss Slayer
- Reduces AP consumption from 150 to 120.

* Omega Abyss Strike
- Reduces fixed casting time from 1.5 seconds to 1 second.
- Reduces skill cooldown from 3 seconds to 0.7 seconds.
- Reduces AP consumption from 15 to 10.
- Changes damage property from neutral to fire.
- Increases base damage from 22000%/23500%(angel and demon)Matk to 26500%/28500%(angel and demon)Matk based on level 10.

* Abyss Dagger
- Increases base damage from 4600%Atk to 7350%Atk based on level 5.

* Deft Stab
- Increases base damage from 3750%Atk to 6200%Atk based on level 10.
- Increases factor weight of POW in skill formula from 5 to 7.

* From the Abyss
- Reduces skill cooldown from 60 seconds to 30 seconds.
- Increases number of hit from 2 hits to 5 hits.
- Increases base damage from 2600%Matk to 3400%Matk based on level 5.
- No longer be removed by Dispell or Clearance.
- Increases the trigger chance of abyss sphere from 15% to 25% based on level 5.

* Abyss Square
- Increases base damage from 2850+(Magic Sword Mastery skill level x 100)%Matk to 3750+(Magic Sword Mastery skill level x 200)Matk based on level 5.

* Chain Reaction Shot
- Increases base damage of secondary attack from 12350%Atk to 13550%Atk based on level 5.

* Frenzy Shot
- Increases AP recovery rate from 1 to 3.
- Increases base damage from 6150%Atk to 8250%Atk per hit based on level 10.
2024-03-11 18:58:59 +01:00
Atemo
34e90e9aa9 Rebalance Elemental Master 2024-02-05 (#8154)
* Summon Elemental Ardor
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Flame Technique, increases damage bonus of Fire Bolt from 100% to 400%.

* Summon Elemental Diluvio
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Cold Force, increases damage bonus of Cold Bolt from 100% to 400%.

* Summon Elemental Procella
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Grace Breeze, increases damage bonus of Lightning Bolt from 100% to 400%.

* Summon Elemental Terremotus
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Earth Care, increases damage bonus of Earth Spike from 80% to 800%.

* Summon Elemental Serpens
- Reduces skill cooldown from 900 seconds to 60 seconds.
- Passive mode : Deep Poisoning, increases damage bonus of Killing Cloud from 50% to 1500%.

* Conflagration
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [blaze] on each hit from 60% to 3%.

* Diamond Storm
- Increases base damage from 8150%/14400%(spirit)Matk to 12500%/20800%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [quench] on each hit from 90% to 5%.

* Lightning Land
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [torrent] on each hit from 60% to 3%.

* Terra Drive
- Increases base damage from 8150%/14400%(spirit)Matk to 12500%/20800%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [concretion] on each hit from 90% to 5%.

* Venom Swamp
- Increases global cooldown from 0.5 seconds to 0.7 seconds.
- Increases base damage from 3750%/5750%(spirit)Matk to 6200%/7200%(spirit)Matk based on level 5.
- Reduces the chance of inflicting [severe poison] on each hit from 60% to 3%.

* Elemental Buster
- Reduces AP consumption from 30 to 15.
- Reduces skill cooldown from 5 seconds to 2 seconds.
- Increases base damage from 22500%/24000%(dragon and formless)Matk to 27050%/28550%(dragon and formless)Matk based on level 10.
2024-03-11 18:58:45 +01:00
Atemo
c9582cc4fd Rebalance Imperial Guard 2024-02-05 (#8155)
* Guardian Shield
- Reworks AP condition from recovering AP to consuming 35 AP upon using instead.
- Reduces skill duration from 60 seconds to 40 seconds.
- Increases skill cooldown from 15 seconds to 25 seconds.
- Reduces global cooldown from 1 second to 0.3 seconds.
- Reduces factor weight of MaxHP in skill formula from 50% to 30%.
- Reduces final durability factor of skill level from 250% to 125% based on level 5.

* Cross Rain
- Increases AP recovery rate from 4 to 6.
- Increases base damage from 3200+(Spear & Sword Mastery skill level x 100)%/4500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk to 4500+(Spear & Sword Mastery skill level x 100)%/6500+(Spear & Sword Mastery skill level x 150)%(Holy Shield)Matk per hit based on level 10.

* Holy Shield
- No longer be removed by Dispell or Clearance.

* Shield Shooting
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 14900+(Shield Mastery skill level x 250)%Atk to 18500+(Shield Mastery skill level x 750)%Atk based on level 5.
- Increases factor weight of shield refine rate in skill formula from 25 to 100.
- Increases factor weight of POW in skill formula from 7 to 10.

* Overslash
- Increases AP recovery rate from 3 to 5.
- Increases base damage from 1600+(Spear & Sword Mastery skill level x 250)%Atk to 2200+(Spear & Sword Mastery skill level x 500)%Atk per hit based on level 10.

* Judgement Cross
- Changes damage property from holy to neutral.
2024-03-11 18:58:31 +01:00
Atemo
5efd5b8c95 Rebalance Hyper Novice 2024-02-05 (#8156)
* Double Bowling Bash
- Increases base damage from 3200+(Self Study Tactics skill level x 30)%Atk to 4250+(Self Study Tactics skill level x 30)%Atk per hit based on level 10.

* Shield Chain Rush
- Increases base damage from 5700+(Self Study Tactics skill level x 30)%Atk to 11350+(Self Study Tactics skill level x 30)%Atk based on level 10.

* Spiral Pierce Max
- Increases base damage from 8700+(Self Study Tactics skill level x 30)%Atk x size correction to 16000+(Self Study Tactics skill level x 30)%Atk x size correction based on level 10.

* Breaking Limit
- Increases damage bonus of Double Bowling Bash and Shield Chain Rush from 70% to 120%.

* Hell's Drive
- Increases base damage from 8500+(Self Study Sorcery skill level x 30)%Atk to 10700+(Self Study Sorcery skill level x 30)%Matk based on level 10.
2024-03-11 18:58:17 +01:00
Atemo
0865e160cb Rebalance Night Watch 2022-12-21 (#8161)
* The Vigilante at Night
- Increases SP consumption from 65 to 88 based on level 5.
- Reduces area of effect of gatling gun from 13 x 13 cells to 11 x 11 cells based on level 5.

* Only One Bullet
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 7550%/8300%Atk to 16200%/18200%Atk based on level 5.

* Spiral Shooting
- Increases base damage from 8500%/9700%Atk to 9700%/15400%Atk per hit based on level 5.

* Magazine for One
- Increases base damage from 1950%/2400%Atk to 2750%/4300%Atk per hit based on level 5.

* Wild Fire
- Increases base damage from 13250%/12500%Atk to 17500%/16500%Atk based on level 5.

* Basic Grenade
- Increases base damage from 5750%Atk to 12000%Atk based on level 5.

* Hasty Fire in the Hole
- Increases base damage from 6750%Atk to 9000%Atk per hit based on level 5.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-03-11 17:25:05 +01:00
Lemongrass3110
3b6c3b61c0 Update SU_LUNATICCARROTBEAT formula (#8152)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
2024-03-10 22:46:09 +01:00
Lemongrass3110
4124cdaa4a Initial implementation of Night Watch (#8150)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2024-03-10 22:10:28 +01:00
munkrej
37d9196a4e Fixed DK_DRAGONIC_BREATH factor mix up (#8158)
Follow-up fa71d1012d
2024-03-09 15:57:08 +01:00
Atemo
f34a47ae24 Corrected a mistake in DK_SERVANTWEAPON_ATK formula. (#8157)
Follow-up fa71d1012d

Thanks to @Tolimatoi
2024-03-02 19:59:45 +01:00
Lemongrass3110
9139a21adc Resolved a few size_t related warnings (#8085)
Disabled warnings in libconfig only for MSVS
2024-02-28 21:05:18 +01:00
inhyositsu
398bae57a8 Fixed a Zeny variable overflow in mails (#8145)
Fix the issue of Zeny variable overflow causing it to become negative.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-28 01:49:15 +01:00
Vincent Stumpf
d4ec7eb241 Fix inventory expansion packet versions (#8148)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-28 01:03:07 +01:00
Atemo
efe7824bbe Rebalance Meister 2024-02-05 (#8137)
* Axe Stomp
- Increases global cooldown from 0.25 seconds to 0.7 seconds based on level 5.
- Increases base damage from 5150%Atk to 6200%Atk per hit based on level 5.

* Mighty Smash
- Increases global cooldown from 0.25 seconds to 0.7 seconds based on level 10.
- Increases base damage from 1825%/1850%(Axe Stomp)Atk to 2480%/2500%(Axe Stomp)Atk per hit based on level 10.

* Spark Blaster
- Increases base damage from 9250%Atk to 14600%Atk based on level 10.

* Triple Laser
- Increases base damage from 5050%Atk to 6400%Atk per hit based on level 5.

* Rush Quake
- Buff no longer be removed by Dispell or Clearance.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-27 23:41:43 +01:00
Atemo
fa71d1012d Rebalance Dragon Knight 2024-02-05 (#8135)
* Servant Weapon
- Reduces skill cooldown from 150 seconds to 60 seconds based on level 5.
- Increases base damage from 2500%Atk to 4850%Atk based on level 5.
- Increases number of hit from 2 hits to 3 hits.
- No longer be removed by Dispell or Clearance.
- Increases the trigger chance of weapon from 15% to 25% based on level 5.

* Madness Crusher
- Increases base damage from 8350%Atk to 20000%Atk based on level 5.

* Storm Slash
- Increases base damage from 2200%Atk to 4050%Atk per hit based on level 5.

* Hack and Slasher
- Increases base damage from 7700%Atk to 8550%Atk per hit based on level 10.

* Dragonic Breath
- Increases factor weight of MaxHP in skill formula from 12.5% to 25%.
- Increases factor weight of MaxSP in skill formula from 25% to 50%.

Additionally:
Dragonic Breath formula updated. Thanks to @datawulf !


Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-27 23:41:03 +01:00
Atemo
8e44c94c7c Rebalance Inquisitor 2024-02-05 (#8139)
* Explosion Blaster
- Increases base damage from 12000%/17600%(Oleum Sanctum)Atk to 13450%/18200%(Oleum Sanctum)Atk based on level 5.

* Third Punish
- Reduces skill cooldown from 1 second to 0.7 seconds.
- Adds global cooldown by 0.5 seconds.
- Increases base damage from 7850%Atk to 9450%Atk based on level 5.

* Third Flame Bomb
- Adds global cooldown by 0.7 seconds.
2024-02-27 21:40:43 +01:00
Atemo
9ed6ff829b Rebalance Biolo 2024-02-05 (#8138)
Explosive Powder
- Increases base damage from 3150%/3650%(Research Report)Atk to 3750%/4250%(Research Report)Atk per hit based on level 5.
2024-02-27 21:40:03 +01:00
Atemo
e77513dc73 Rebalance Troubadour & Trouvere 2024-02-05 (#8140)
* Rhythm Shooting
- Increases base damage from 3700%/4550%(sound brand)Atk to 5300%/6100%(sound brand)Atk per hit based on level 5.

* Metallic Fury
- Increases base damage from 13000%/18000%(sound brand)Matk to 19250%/23250%(sound brand)Matk based on level 5.
- Changes sound effect.
2024-02-27 21:38:45 +01:00
Lemongrass3110
c22906d775 Created a template for packet handling (#8069) 2024-02-26 22:48:08 +01:00
Pokye
eb308dcad2 Implemented Dialog Types (#8110)
Fixes #8109

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-26 22:08:52 +01:00
AoShinHo
e196eadcaa Suppressing C4018 (#8123)
* suppressing warning C4018

* dinamically get decltype suggested by vstumpf
2024-02-24 00:15:28 -08:00
BotGigo
464c122b40 Correct some conditions (#8142)
Correct comparations in conditions for some base level achievements to work with the multi level check of achievements.
2024-02-20 00:07:12 -08:00
Atemo
f9073574d3 Updated map and items up to febuary 2024 (#8136)
* Implemented equipment and etc items up to 05022024
* Added 1@vrsn map
2024-02-18 15:20:19 +01:00
Kakaroto
9305da45dc Hateffect update (#8124)
Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>
2024-02-17 20:17:44 +01:00
Atemo
a0bbbf1729 Rebalance Wind Hawk 20240205 (#8133)
* Gale Storm
- Reduces skill cooldown from 1.2 seconds to 0.7 seconds.
- Increases base damage from 10000%Atk to 13500%Atk based on level 5.

* Crescive Bolt
- Increases base damage from 9400%Atk to 13500%Atk based on level 10.
- Increases damage bonus on standing still from 10% per stack (up to 30% on 3 stacks) to 20% per stack (up to 60% on 3 stacks).
- Changes sound effect.

* Calamity Gale
- Reduces AP consumption from 200 to 125.
- Reduces skill cooldown from 180 seconds to 60 seconds.

* Added missing clif_skill_nodamage for WH_GALESTORM

Thanks to @Haydrich !
2024-02-17 20:14:22 +01:00
Atemo
83067220bc Rebalance Arch Mage 20240205 (#8131)
* Climax
- Reduces AP consumption from 150 to 125.
- Reduces skill cooldown from 300 seconds to 60 seconds.

* Floral Flare Road
- Increases global cooldown from 0.25 seconds to 0.75 seconds based on level 5.

* Tornado Storm
- Increases global cooldown from 0.25 seconds to 0.75 seconds based on level 5.

* Stratum Tremor
- Increases global cooldown from 0.25 seconds to 0.75 seconds based on level 5.

* Rain of Crystal
- Increases global cooldown from 0.25 seconds to 0.75 seconds based on level 5.

* Crimson Arrow
- Increases base damage from 1750%/3500%Matk to 2000%/3750%Matk based on level 5.

* Storm Cannon
- Increases base damage from 6000%/7500%(Climax)Matk to 7750%/9250%(Climax)Matk based on level 5.

* Frozen Slash
- Increases base damage from 4900%/6800%(Climax)Matk to 5200%/7100%(Climax)Matk based on level 5.

* Mystery Illusion
- Increases global cooldown from 0.5 seconds to 0.75 seconds based on level 5.

* All Bloom
- Increases global cooldown from 0.5 seconds to 1 second based on level 5.

* Violent Quake
- Increases global cooldown from 0.5 seconds to 1 second based on level 5.

* Soul Vulcan Strike
- Increases base damage from 1250%Matk to 1500%Matk per hit based on level 5.

* Astral Strike
- Increases global cooldown from 0.5 seconds to 1 second based on level 10.
2024-02-17 18:35:38 +01:00
Atemo
893b133444 Rebalance Shadow Cross 20240205 (#8134)
* Savage Impact
- Increases base damage from 900%/1100%(Shadow Exceed)Atk to 1050%/1250%(Shadow Exceed)Atk per hit based on level 10.

* Shadow Stab
- Unifies number of hit from 2/3(Cloaking Exceed) hits to 3 hits regardless of Cloaking Exceed buff.
- Increases base damage from 1750%/2000%(Cloaking Exceed)Atk to 2750%/3250%(Cloaking Exceed)Atk per hit based on level 5.

* Eternal Slash
- Attack count no longer be removed by Dispell or Clearance.
- Increases base damage from 1325%/1825%(Shadow Exceed)Atk to 1500%/2100%(Shadow Exceed)Atk per hit based on level 5.
2024-02-17 14:55:47 +01:00
Atemo
8e2ee12b18 Rebalance Cardinal 20240205 (#8132)
* Framen
- Increases base damage from 4750+(Fidus Animus skill level x 25)%/5250+(Fidus Animus skill level x 25)%(demon and undead)Matk
  to
  6500+(Fidus Animus skill level x 25)%/6750+(Fidus Animus skill level x 25)%(demon and undead)Matk
  based on level 5.

* Pneumaticus Procella
- Reduces AP consumption from 30 to 20.
- Changes damage property from holy to neutral.
- Addes global cooldown by 0.5 seconds.
- Changes sound effect.
2024-02-17 14:33:59 +01:00
Atemo
c43f7b369e Archmage skill corrections (#8120)
Corrections of several Archmage skills and High wizard skill HW_MAGICPOWER :
    AG_FROZEN_SLASH : 3 hits are displayed instead of a single hit.
    TargetType of 4th ground skills is now Ground. Ground skills don't trigger HW_SOULDRAIN. Skills affected :
        AG_VIOLENT_QUAKE_ATK
        AG_ALL_BLOOM_ATK
        AG_ALL_BLOOM_ATK2
        AG_CRYSTAL_IMPACT_ATK
        AG_ASTRAL_STRIKE_ATK
    Fixed cast time of HW_MAGICPOWER is not affected by item bonus anymore.
2024-01-31 16:13:57 +01:00
Atemo
e965e2794b Added null pointer checks in map_delblock (#7930) 2024-01-26 15:02:51 +01:00
Atemo
04904c0947 Corrected Shrink Stuns target (#8075)
Fixed #8072

Thanks to @LadyNanuia
2024-01-26 15:00:36 +01:00
Atemo
9f90e4e9e1 Rebalance Hyper Novice 20221221 (#8111)
* Double Bowling Bash
- Reduces knock-back distance from 2 cells to 1 cell.
- Increases base damage from 2650%Atk to 3200%Atk per hit based on level 10.

* Mega Sonic Blow
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 5350%Atk to 8400%Atk based on level 10.

* Shield Chain Rush
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 5100%Atk to 5700%Atk based on level 10.

* Spiral Pierce Max
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Increases base damage from 4050%Atk to 8700%Atk based on level 10.

* Hell's Drive
- Increases SP consumption from 98 to 115 based on level 10.

* Ground Gravitation
- Increases SP consumption from 100 to 120 based on level 10.

* Breaking Limit
- Increases damage bonus of Mega Sonic Blow and Spiral Pierce Max from 70% to 100%.
- Increases damage bonus of Double Bowling Bash and Shield Chain Rush from 50% to 70%.
2024-01-19 14:35:17 +01:00
Ahmed Shawky
51ca9c4923 Added illusion Merchant (#7854) 2024-01-18 20:31:18 +01:00
Atemo
c8ab735348 Updated Level 250/50 to 260/55 (#8108)
Updated Level 250/50 to 260/55.
Hp and Sp are unknown.
Additionally updated Super_Novice_E job level from 50 to 70 (note: this class doesn't get additional stats by job level).
2024-01-18 15:53:29 +01:00
Lemongrass3110
72b3d1bf0e Initial implementation of Hyper Novice (#8101)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2024-01-17 21:20:20 +01:00
Lemongrass3110
d3fcb66d3a Fixed some memleaks (#8107)
Improved memleak location reporting for parse_script
2024-01-17 18:58:13 +01:00
Atemo
f5909c3d78 Update renewal Base exp and Job exp (#8103)
* Updated Base exp
* Updated job exp
2024-01-17 14:37:05 +01:00
Atemo
5ad81d67ea Corrected the boss spawn in lhz_dun_n (#8099)
* Removed the use of killedrid in the script in case the killer is not a player.
2024-01-16 13:56:27 +01:00
Lemongrass3110
1362c7666d Fixed RK_WINDCUTTER not ignoring def (#8102)
The order of the checks was wrong and therefore the if could never be reached.

Co-authored-by: munkrej <schmunk@posteo.de>
2024-01-13 01:31:04 +01:00
Lemongrass3110
c4026c08c8 Some bonus ignored left_cardfix_to_right (#8097)
Taken from #7024

Co-authored-by: munkrej <schmunk@posteo.de>
2024-01-12 11:42:08 +01:00
Atemo
360b8bc3e2 Corrected IG_GRAND_JUDGEMENT (#8095)
* Moved IG_GRAND_JUDGEMENT with other splash skills in skill_castend_damage_id

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Fixed #8080

Thanks to @Jaikayray
2024-01-11 15:31:17 +01:00
Lemongrass3110
96f40d9adc Converted some whitespaces to tabs 2024-01-11 00:47:57 +01:00
Atemo
a29e115a62 Corrected CD_ARBITRIUM_ATK area of damage (#8096)
* The splash area should be 9x9 according to skill description

Fixed #8079
Thanks to @Jaikayray
2024-01-10 23:57:51 +01:00
munkrej
60dbe5a42d Cleanup of PATK calculation (#8094)
Follow up to 66dddb3 (rathena/rathena#7996)

Fixes RK_DRAGONBREATH handling when DK_DRAGONIC_AURA is not skilled
2024-01-08 21:10:11 +01:00
Atemo
a3cb48a341 Item DB correction/update (#8091)
* Corrected item Locations
* Added missing effect when autobonus is triggered for some snow and glacier enchants
* Updated item Trade
2024-01-08 20:24:23 +01:00
Atemo
1f3b42c175 Updated hidden garden instance (#8092)
* Monsters spawn times is significantly reduced.
2024-01-08 19:46:15 +01:00
Atemo
360710d2f0 Rebalance Abyss chaser 20221221 (#8081)
* Abyss Dagger
- Increases cooldown from 0.3 seconds to 0.4 seconds.
- Increases SP consumption from 64 to 76 based on level 5.
- Increases base damage from 2600%Atk to 4600%Atk based on level 5.

* Frenzy Shot
- Increases cooldown from 0.2 seconds to 0.35 seconds.
- Increases SP consumption from 55 to 65 based on level 10.
- Increases number of hit from 1 hit to 2 hits.
- Increases base damage from 4000%Atk to 6150%Atk based on level 10.
- Increases factor weight of CON in skill formula from 5 to 15.

* Deft Stab
- Removes a chance to trigger the skill one more time.
- Increases SP consumption from 62 to 72 based on level 10.
- Increases cooldown from 0.3 seconds to 0.7 seconds.
- Reduces base damage from 5850%Atk to 3750%Atk based on level 10.
- Changes damage logic from 5 split hits to 5 cumulative hits.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-01-06 19:58:18 +01:00
Lemongrass3110
644a22c5bb Fixed convex mirror (#8084)
When the "NoSave" of SC_BOSSMAPINFO is removed, this could lead to issues after a character logs back in.

Fixes #8083

Thanks to @Gyakushinn
2024-01-05 21:50:59 +01:00
Atemo
ff90feaf85 Rebalance Meister 20221221 (#8076)
Axe Stomp
- Increases SP consumption from 74 to 85 based on level 5.
- Increases base damage from 4600%Atk to 5150%Atk per hit based on level 5.

Mighty Smash, Spark Blaster  and Triple Laser are already up-to-date
2024-01-02 20:39:49 +01:00
Atemo
2121aa2ed7 Rebalance Dragon Knight 20221221 (#8077)
* Madness Crusher
- Reduces SP consumption from 68 to 55 based on level 5.
- Increases base damage from 4400%Atk to 8350%Atk based on level 5.
- Increases factor weight of POW in skill formula from 7 to 10.

* Storm Slash
- Increases cooldown from 0.3 seconds to 0.35 seconds.
- Reduces SP consumption from 60 to 55 based on level 5.
- Increases base damage from 950%Atk to 2200%Atk per hit based on level 5.
- Increases the chance to double skill damage while under Giant Growth buff from 30% to 60%.

* Hack and Slasher
- Increases base damage from 7300%Atk to 7700%Atk per hit based on level 10.
- Reduces area of effect from 9 x 9 cells to 7 x 7 cells based on level 10.
- Applies critical damage, the critical chance is the user's Cri.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-01-02 19:07:54 +01:00
Atemo
091a6c5401 Rebalance Troubadour & Trouvere 20221221 (#8068)
* Rhythm Shooting
- Increases cooldown from 0.15 seconds to 0.35 seconds.
- Increases base damage from 800%/1400%Atk to 3700%/4550%Atk per hit based on level 5.
- Increases factor weight of CON in skill formula from 3 to 5 (7 on targets marked with sound brand).

Additionally
- The effect from Rhythm Shooting does not remove SC_SOUNDBLEND anymore (written in the skill description)

* Metallic Fury
- Reworks skill to dealing damage to surrounding enemies around the target (9 x 9 cells based on level 5).
- Increases cooldown from 0.3 seconds to 0.4 seconds.
- Increases global cool time from 0.3 seconds to 0.5 seconds.
- No longer remove sound brand debuff from target. (doesn't mention it changelog but it works)
- Increases base damage from 11000%Matk to 13000%/18000%(targets marked with sound brand)Matk based on level 5.
- Increases factor weight of SPL in skill formula (on targets marked with sound brand) from 1.5x of Stage Manner skill level to 2x of Stage Manner skill level.
2024-01-02 18:09:03 +01:00
Atemo
f22e423677 Rebalance Imperial Guard 20221221 (#8078)
* Cross Rain
- Reduces cooldown from 4.5 seconds to 2.4 seconds.
- Reduces skill duration from 4.5 seconds to 2.4 seconds based on level 10.
- Increases factor weight of Spear & Sword Mastery skill level in skill formula from 50/100 (Holy Shield) to 100/150 (Holy Shield) based on level 10.
- Increases factor weight of SPL in skill formula from 5 to 7.
- Reduces AP recovery rate from 7 to 4.

* Shield Shooting
- Reworks skill to dealing damage to surrounding enemies within 7 x 7 cells around the target.
- Reduces cast range from 11 cells to 9 cells.
- Increases factor weight of Shield Mastery skill level in skill formula from 75 to 250 based on level 5.
- Increases base damage from 11900%Atk to 14900%Atk based on level 5.
- Increases factor weight of POW in skill formula from 5 to 7.
- Increases factor weight of shield refine rate in skill formula from 4 to 25.
2024-01-02 14:32:39 +01:00
Vincent Stumpf
1c31d9c83e Make the global packet_buffer owned by common (#8073) 2024-01-01 19:05:21 +01:00
Vincent Stumpf
3756872529 Fix token auth packet handling (#8071)
It should skip the entire packet
2023-12-30 18:26:53 -08:00
Lemongrass3110
fe9c959bf0 Removed flag parameter for MC_IDENTIFY (#8070)
Fixes #7634

Thanks to @OptimusM and @laziem
2023-12-30 19:07:38 +01:00
Atemo
756abe34d5 Rebalance Arch mage 20221221 (#8065)
* Rain of Crystal
- Reduces area of effect from 19 x 19 cells to 13 x 13 cells based on level 5.
- Increases SP consumption from 100 to 125 based on level 5.

* Crimson Arrow
- Reduces SP consumption from 94 to 90 based on level 5.
- Increases base damage of linear damage from 1500%Matk to 1750%Matk based on level 5.
- Increases base damage of explosion damage from 3000%Matk to 3500%Matk based on level 5.

* Storm Cannon
- Reduces SP consumption from 94 to 88 based on level 5.
- Increases base damage from 4750%/6250%Matk to 6000%/7500%Matk based on level 5.

* Rock Down
- Reduces SP consumption from 94 to 88 based on level 5.
- Increases base damage from 4750%/6250%Matk to 6000%/7500%Matk based on level 5.

* Frozen Slash
- Increases SP consumption from 96 to 115 based on level 5.
- Increases base damage from 4750%/6650%Matk to 4900%/6800%Matk based on level 5.

* Destructive Hurricane
- Increases cooldown from 2 seconds to 2.5 seconds.
- Increases base damage from 14250%Matk to 14850%Matk based on level 5.
- Reduces damage bonus from Climax level 3 from 200% to 150%.
- Changes damage modifier from Climax level 5 from 50% increasing to 20% reducing.
- Increases SP consumption from 132 to 186 based on level 5.

* Crystal Impact
- Reduces area of effect from 15 x 15 cells to 13 x 13 cells based on level 5.
- Increases SP consumption from 132 to 186 based on level 5.
- Reduces area of effect bonus from Climax level 5 from entire screen to 15 x 15 cells.


Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-12-30 14:52:34 +01:00
Atemo
23766e61c3 Rebalance Windhawk 20221221 (#8020)
* No Limits (Ranger)
- No longer be removed by Dispell or Clearance.

* Calamity Gale
- Increases duration from 60 seconds to 180 seconds.
- Reduces cooldown from 300 seconds to 180 seconds.

Note: it was not implemented
- No longer be removed when using No Limits.

* Gale Storm
- Reduces cooldown from 1.5 seconds to 1.2 seconds.
- Increases SP consumption from 100 to 120 based on level 10.
- Increases base damage from 9500%Atk to 10000%Atk based on level 5.
- Reduces area of effect from 11 x 11 cells to 9 x 9 cells based on level 10.

Note: CON weight was already 10
- Increases factor weight of CON in skill formula from 5 to 10.

* Crescive Bolt
- Increases cooldown from 0.15 seconds to 0.35 seconds.
- Increases global cool time from 0.3 seconds to 0.7 seconds.
- Increases base damage from 3400%Atk to 9400%Atk based on level 10.

Additionnally
- Removed leftover Deep Blind Trap / Solid Trap / Swift Trap / Flame Trap status ailments in `skills_db.yml` (from previous rebalance)
- Corrected WH HAWK BOOMERANG and WH_HAWKBOOMERANG formula according to the Korean description of the skill.
- Included WH_NATUREFRIENDLY in the damage formula of WH_HAWKRUSH and WH_HAWKBOOMERANG (x1.5 at level 5) (source: tests on KRO)

Thanks to @datawulf
2023-12-29 23:57:52 +01:00
Atemo
11e50dec41 Rebalance cardinal 20221221 (#8021)
* Framen
- Increases base damage from 4000%/4500%Matk to 4750%/5250%Matk based on level 5.

* Arbitrium
- Reduces cooldown from 1.5 seconds to 1 second.
- Increases SP consumption from 112 to 125 based on level 10.
- Applies AP recovery rate by 2.
- Increases base damage of area damage from 12500%Matk to 17500%Matk based on level 10.
- Increases factor weight of Fidus Animus skill level in skill formula of area damage from 100 to 500 based on level 10.
- Increases factor weight of SPL in skill formula from 7 to 10.

* Petitio
- Reduces area of effect from 9 x 9 cells to 7 x 7 cells based on level 10.
- Increases factor weight of Mace & Book Mastery skill level in skill formula from 100 to 500 based on level 10.
2023-12-29 22:54:14 +01:00
Lemongrass3110
7999ccb215 Refactored login-server clif to structs (#8058)
Communication between the login-server and the client is now done with structs.
Moved the definition of the global reusable packet buffer to socket.hpp
2023-12-29 22:04:42 +01:00
Atemo
0fe2d0a0fe Rebalance inquisitor 20221221 (#8022)
* Oleum Sanctum
- Reduces cooldown from 2 seconds to 1.5 seconds.
- No longer require Holy Water on casting.
- Reduces area of effect from 11 x 11 cells to 9 x 9 cells based on level 5.

* Explosion Blaster
- Adds global cool time by 1 second.
- Increases SP consumption from 90 to 125 based on level 5.
- Reduces area of effect from 11 x 11 cells to 9 x 9 cells based on level 5.
- Reduces base damage of from 14000%Atk to 12000%Atk based on level 5.
- Increases base damage against Oleum Sanctum debuff from 16000%Atk to 17600%Atk based on level 5.
- Reduces factor weight of POW in skill formula (without Oleum Sanctum debuff) from 15 to 10.

* Massive Flame Blaster
- Adds global cool time by 0.5 seconds.
- Reduces area of effect from 11 x 11 cells to 9 x 9 cells.
- Increases base damage from 21500%/23000%Atk to 23000%/24500%Atk based on level 10.
2023-12-29 20:22:44 +01:00
Atemo
ccce839881 Rebalance shadow cross 20221221 (#8019)
* Savage Impact
- Reduces cooldown from 1 second to 0.7 seconds.
- Increases area of effect from 5 x 5 cells to 7 x 7 cells based on level 10.
- Applies AP recovery rate by 2.

* Shadow Stab
- The skill will deal damage for 2 hits.
- While under Cloaking Exceed buff, increases number of hit to 3 hits with higher damage per hit.
- Increases factor weight of POW in skill formula while under Cloaking Exceed buff from 5 to 7.
- Increases base damage from 1500%Atk to 1750%/2000%Atk per hit based on level 5.
2023-12-29 16:51:43 +01:00
Sola丶小克
b0971c0f67 Refactor some MySQL connection variables (#8059) 2023-12-29 15:37:01 +01:00
Lemongrass3110
9c06340f3a Fixed a warning related to [[fallthrough]]
Follow up to 61c2480

Thanks to @Pokye
2023-12-29 11:49:41 +01:00
Lemongrass3110
afbfd13606 Prevent clients to use server accounts (#8063)
Fixes #7772

Thanks to @Litro
2023-12-29 11:15:41 +01:00
Lemongrass3110
e4ec88c666 Added support for CZ_RESET_SKILL (#8062)
Fixes #7961
Added a dummy implementation to prevent players from disconnecting, until we know what that command should do.

Thanks to @jamesandrewww
2023-12-29 10:40:55 +01:00
Singe Horizontal
782299112b Restores stat points override when loading db (#8061)
Fixes #8060
2023-12-29 01:34:19 +01:00
Vincent Stumpf
61c2480d89 Add explicit [[fallthrough]] attributes (#8054)
Fixes #7918
2023-12-29 01:08:24 +01:00
Lemongrass3110
b6f17692e9 Updated Hercules packets (#8056) 2023-12-29 00:20:09 +01:00
Lemongrass3110
e3a3bfc868 Fixed login_check_password (#8052)
Fixes #8043

Thanks to @LasherasGH
2023-12-28 23:56:23 +01:00
Atemo
79ea192032 Updated item DB up to december 19 2023 (#8057)
* Updated item DB up to december 19 2023
* Corrections in combo DB
* Removed duplicated combos
2023-12-28 14:32:48 +01:00
Vincent Stumpf
8336f046b7 Allow default sell values in npc shop scripts (#8050)
Fixes #6594
2023-12-27 22:16:04 +01:00
Sola丶小克
1f6ec24a33 Remove deprecated global sql settings code (#8055) 2023-12-27 17:31:04 +01:00
Vincent Stumpf
f2a3bad3e2 Cleanup uses of SWAP macro (#8051) 2023-12-27 11:36:46 +01:00
Lemongrass3110
82b36dc847 Fixed some compiler warnings (#8053)
Fixes #8044

Thanks to @Pokye
2023-12-27 10:58:14 +01:00
Lemongrass3110
cd0c44af60 Refactored script command rand (#8040)
Fixes #8041

Added support for int64, so the range of the random numbers that can be generated is much wider now.

Changed the logic to be more restrictive:
	(1) The range version is intended for positive numbers only.
	(2) If minimum and maximum are equal and no random value can be calculated.
Triggering the more restrictive behavior will trigger the script source (file) to be reported in the map-server.

Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2023-12-26 23:52:37 +01:00
Lemongrass3110
871c4e62cf Reverted variable rename
Follow up to 6750837
2023-12-26 22:04:38 +01:00
Vincent Stumpf
6750837854 Let rnd_value callers not care about order (#8046) 2023-12-24 15:42:02 -08:00
Lemongrass3110
ac85d44197 Refactored CZ_REQ_MERGE_ITEM (#8039)
Thanks to @secretdataz!
2023-12-20 13:39:11 +01:00
Lemongrass3110
c33bb0b726 Fixed NPC_EARTHQUAKE usages (#8038)
Fixes #8036

Thanks to @asydia
2023-12-20 00:41:57 +01:00
Lemon
7c153416bc Improved randomness (part 1) (#7882)
Faster and with no module bias

Removed rnd_init, rnd_uint32 and rnd_uniform
From now on we will only use rnd_value(min, max) for values in range [min, max] and rnd_chance(chance, base) for chances

Fixes #7881
Fixes #7883
Fixes #7884
Fixes #7885

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-12-20 00:12:15 +01:00
idk-whoami
ad3a2e99eb Follow up to c898007 (#8035)
Location correction of C_Imperial_Feather ID 5911

Thanks to @Pokye
2023-12-19 20:57:58 +01:00
Lemongrass3110
e0cf16d3e9 Fixed pc_isequip calls (#8037)
Fixes #8034

Thanks to @alisonrag
2023-12-19 20:22:48 +01:00
idk-whoami
c8980072a5 Corrected script for some item #26 (#8026)
Thanks to @Pokye, @Atemo
2023-12-15 15:59:55 +01:00
HAO YAN
7ee7a25887 Add autoloot script command (#8032) 2023-12-14 15:39:57 +01:00
AshiHanna
a7f0aab600 Add the stockall command (#8008)
* The command will transfer all items from the cart to the inventory based on the item type.
2023-12-12 08:12:06 -05:00
Singe Horizontal
53f1c5bb80 Default multi-processor compilation on VS (#8029) 2023-12-11 21:30:48 +01:00
HAO YAN
7db67c6207 Battleground and clan support for addrid (#7969) 2023-12-11 08:47:00 +01:00
HAO YAN
461294f423 Add channel_join script command (#7970) 2023-12-11 08:43:56 +01:00
Singe Horizontal
eec798bfc3 Restores a correct option index (#8031)
Fixes #8024 and #7956.
Fixes an issue with guild storage and retrieving guild bound items.
2023-12-10 00:28:00 -05:00
Atemo
bfae557aeb Updated illusion of moonlight (#8025)
* Eliminating 10 Deranged Adventurer (~amount) will now spawn the Wizard of Truth monster in the location of the last monster killed.

Fixed #7698
2023-12-01 15:12:02 +01:00
Atemo
5a92ebd98a Updated Old glast heim instance (#8016)
* Added the ability to skip part of the scenario (fast mode)

Thanks to @idk-whoami for testing
2023-11-30 18:35:46 +01:00
Atemo
8aa2430950 Updated item DB and mapcache up to november 15 2023 (#8015)
* Updated mapcache
* Removed duplicate and sort corrections in item DB/combo DB
* Updated item_enchant.yml
* Corrected Ramor Manteau according to lua
2023-11-30 18:23:26 +01:00
Atemo
8efb5b9d71 Updated Illusion dungeon exchange NPCs (#8014) 2023-11-30 18:22:17 +01:00
eppc0330
d8d7955702 Implement NPC_WIDECRITICALWOUND (#7977) 2023-11-25 22:47:27 +01:00
Atemo
8740574ae3 Updated item DB and mapcache up to november 1 2023 (#8012) 2023-11-18 00:15:59 +01:00
Atemo
8102f5eaad Updated SC_*_LIFEPOTION and SC_S_MANAPOTION (#8011)
* Removed the heal effect from SC_*_LIFEPOTION and SC_S_MANAPOTION like on official servers.
2023-11-14 13:53:34 +01:00
Atemo
c23afaeac0 Implemented script command opentips (#8005)
- Opens the tip box UI for the attached player or the given character ID.
2023-11-13 19:15:40 +01:00
Sapito Sucio
8be1f819d9 General typos (#8000)
* Fixes typos in several NPC.

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-11-10 12:51:01 -05:00
HAO YAN
a1616903a6 Add has_autoloot script command (#7972)
* Adds the has_autoloot script command to check if a player is autolooting items.
2023-11-06 12:30:34 -05:00
Aleos
2cfafe4c9f Resolves players escaping jail early (#7781)
* Fixes #7771.
* Adds a missing check to avoid warping players who are actively jailed out early after relogging.
Thanks to @fab10Carvalho and @Lemongrass3110!
2023-11-06 10:26:02 -05:00
259 changed files with 146574 additions and 39934 deletions

View File

@@ -98,6 +98,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -112,6 +113,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -128,6 +130,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -146,6 +149,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@@ -108,6 +108,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -122,6 +123,7 @@
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -138,6 +140,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -156,6 +159,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>YY_USE_CONST;LIBCONFIG_STATIC;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>

View File

@@ -2,6 +2,11 @@
#line 4 "scanner.c"
#ifdef _MSC_VER
#pragma warning( push )
#pragma warning( disable : 4267 )
#endif
#define YY_INT_ALIGNED short int
/* A lexical scanner generated by flex */
@@ -2365,3 +2370,7 @@ void libconfig_yyfree (void * ptr , yyscan_t yyscanner)
#define YYTABLES_NAME "yytables"
#line 192 "scanner.l"
#ifdef _MSC_VER
#pragma warning( pop )
#endif

View File

@@ -103,6 +103,7 @@
<PreprocessorDefinitions>WIN32;_WINDOWS;CMAKE_INTDIR="Debug";_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -138,6 +139,7 @@
<PreprocessorDefinitions>WIN32;_WINDOWS;CMAKE_INTDIR="Debug";_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ObjectFileName>$(IntDir)</ObjectFileName>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -173,6 +175,7 @@
<DebugInformationFormat>
</DebugInformationFormat>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -208,6 +211,7 @@
<DebugInformationFormat>
</DebugInformationFormat>
<LanguageStandard>stdcpp17</LanguageStandard>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\";%(PreprocessorDefinitions)</PreprocessorDefinitions>

View File

@@ -97,6 +97,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -109,6 +110,7 @@
<InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -122,6 +124,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -139,6 +142,7 @@
<AdditionalIncludeDirectories>$(SolutionDir)3rdparty\yaml-cpp\include\;$(SolutionDir)3rdparty\yaml-cpp\src\;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>YAML_CPP_STATIC_DEFINE;WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>

View File

@@ -236,7 +236,7 @@ option( ENABLE_WEB_SERVER "Build web-server (default=ON)" ON )
#
TEST_BIG_ENDIAN( BIG_ENDIAN )
if( NOT DEFINED BIG_ENDIAN )
message( WARNING "unable to determine endianess, only LITTLE ENDIAN is supported" )
message( WARNING "unable to determine endianness, only LITTLE ENDIAN is supported" )
elseif( BIG_ENDIAN )
message( FATAL_ERROR "bigendian is not supported" )
endif()

View File

@@ -365,6 +365,10 @@ Body:
Help: |
Params: [<item type>]
Throws all your possession on the ground. No type specified will drop all items.
- Command: stockall
Help: |
Params: [<item type>]
Transfer items from cart to your inventory. No type specified will transfer all items.
- Command: storeall
Help: |
Puts all your possessions in storage.
@@ -685,20 +689,20 @@ Body:
Gives you the desired item.
- Command: pvpon
Help: |
Turns pvp on on the current map
Enables PvP on the current map
- Command: pvpoff
Help: |
Turns pvp off on the current map
Disables PvP on the current map
- Command: gvgon
Aliases:
- gpvpon
Help: |
Turns gvg on on the current map
Enables GvG on the current map
- Command: gvgoff
Aliases:
- gpvpoff
Help: |
Turns gvg off on the current map
Disables GvG on the current map
- Command: agitstart
Help: |
Starts War of Emperium

View File

@@ -134,3 +134,9 @@ min_shop_buy: 1
// Minimum sell price of items at a normal shop
// Officially items can be sold for 0 Zeny
min_shop_sell: 0
// Should items that reduce damage from element/race count all monster damage as physical? (Note 1)
// Officially "Asprika" (god item) reduces all monsters damage rather than just physical damage
// Shaman Hat on the other hand doesn't reduce monster damage at all (reduces magical damage in PVP)
// This only affects items with bonus3 bSubEle and bonus3 bSubRace.
cardfix_monster_physical: yes

View File

@@ -240,6 +240,7 @@ Body:
bypass_stat_onclone: true
bypass_max_stat: true
macro_register: true
trade_unconditional: true
#all_permission: true
Footer:

View File

@@ -30,10 +30,6 @@ emblem_transparency_limit: 80
// "Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
// and you have localhost, switch it to 127.0.0.1
// Global SQL settings
// overridden by local settings when the hostname is defined there
// (currently only the login-server reads/obeys these settings)
// MySQL Login server
login_server_ip: 127.0.0.1
login_server_port: 3306

View File

@@ -1592,7 +1592,7 @@ map: jor_sanct
map: jor_twice
map: jor_twig
// Biosphere 1st floor
// Depth biosphere 1st floor
map: bl_depth1
// Garden of Time
@@ -1602,5 +1602,16 @@ map: for_dun01
map: for_dun02
map: t_garden
// Fantasy Series - Rainbow Lake
map: 1@vrpop
map: 2@vrpop
map: 3@vrpop
// Depth biosphere 2nd floor
map: bl_depth2
// Fantasy Series Sonic Collaboration - Dr. Eggman's Secret Base
map: 1@vrsn
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

View File

@@ -1815,5 +1815,10 @@
1531: Invalid position.
1532: Invalid slot number.
//@stockall
1533: You do not have a cart.
1534: Usage: @stockall {<type>}
1535: %d items are transferred (%d skipped)!
//Custom translations
import: conf/msg_conf/import/map_msg_eng_conf.txt

4
configure vendored
View File

@@ -4761,8 +4761,8 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to determine endianess, only little endian is supported" >&5
$as_echo "$as_me: WARNING: unable to determine endianess, only little endian is supported" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to determine endianness, only little endian is supported" >&5
$as_echo "$as_me: WARNING: unable to determine endianness, only little endian is supported" >&2;}
;;
esac

View File

@@ -490,7 +490,7 @@ CXXFLAG_CLEARS="-std=c++17"
AC_C_BIGENDIAN(
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
,
[AC_MSG_WARN([[unable to determine endianess, only little endian is supported]])]
[AC_MSG_WARN([[unable to determine endianness, only little endian is supported]])]
)

View File

@@ -45,6 +45,8 @@ Body:
Value: 4
- Name: JUMPINGCLAN
Value: 5
- Name: REPUTATION_EP18
Value: 3
Footer:
Imports:

Binary file not shown.

View File

@@ -1236,6 +1236,11 @@ bl_depth1
for_dun01
for_dun02
t_garden
1@vrpop
2@vrpop
3@vrpop
bl_depth2
1@vrsn
//======================================================================================
// - Other/Extra maps -

View File

@@ -20587,16 +20587,7 @@ Body:
EquipLevelMin: 94
Script: |
bonus bMdef,5;
bonus3 bSubEle,Ele_Neutral,30,BF_SHORT;
bonus3 bSubEle,Ele_Water,30,BF_SHORT;
bonus3 bSubEle,Ele_Earth,30,BF_SHORT;
bonus3 bSubEle,Ele_Fire,30,BF_SHORT;
bonus3 bSubEle,Ele_Wind,30,BF_SHORT;
bonus3 bSubEle,Ele_Poison,30,BF_SHORT;
bonus3 bSubEle,Ele_Holy,30,BF_SHORT;
bonus3 bSubEle,Ele_Dark,30,BF_SHORT;
bonus3 bSubEle,Ele_Ghost,30,BF_SHORT;
bonus3 bSubEle,Ele_Undead,30,BF_SHORT;
bonus3 bSubEle,Ele_All,30,BF_WEAPON;
bonus bFlee,30;
skill "AL_TELEPORT",1;
bonus bUnbreakableGarment;

View File

@@ -4408,7 +4408,6 @@ Body:
TargetType: Ground
DamageFlags:
Splash: true
IgnoreFlee: true
Flags:
IsTrap: true
AlterRangeResearchTrap: true
@@ -4999,7 +4998,7 @@ Body:
TargetType: Attack
DamageFlags:
NoDamage: true
IgnoreElement: true
IgnoreAtkCard: true
IgnoreFlee: true
Range: 1
Hit: Single
@@ -5014,26 +5013,47 @@ Body:
CastTime: 1000
Duration1:
- Level: 1
Time: 5000
Time: 11000
- Level: 2
Time: 5500
Time: 10000
- Level: 3
Time: 6000
Time: 9000
- Level: 4
Time: 6500
Time: 8000
- Level: 5
Time: 7000
- Level: 6
Time: 7500
Time: 6000
- Level: 7
Time: 8000
Time: 5000
- Level: 8
Time: 8500
Time: 4000
- Level: 9
Time: 9000
Time: 3000
- Level: 10
Time: 9500
Time: 2000
Duration2: 60000
Cooldown:
- Level: 1
Time: 7500
- Level: 2
Time: 8000
- Level: 3
Time: 8500
- Level: 4
Time: 9000
- Level: 5
Time: 9500
- Level: 6
Time: 10000
- Level: 7
Time: 10500
- Level: 8
Time: 11000
- Level: 9
Time: 11500
- Level: 10
Time: 12000
Requires:
SpCost:
- Level: 1
@@ -5806,8 +5826,8 @@ Body:
- Id: 192
Name: NPC_MAGICALATTACK
Description: Demon Shock Attack
MaxLevel: 10
Type: Weapon
MaxLevel: 1
Type: Magic
TargetType: Attack
Flags:
IsNpc: true
@@ -5913,34 +5933,13 @@ Body:
Name: NPC_KEEPING
Description: Keeping
MaxLevel: 1
Type: Weapon
TargetType: Self
DamageFlags:
NoDamage: true
Flags:
IsNpc: true
HitCount: 1
Duration1:
- Level: 1
Time: 60000
- Level: 2
Time: 70000
- Level: 3
Time: 80000
- Level: 4
Time: 90000
- Level: 5
Time: 100000
- Level: 6
Time: 110000
- Level: 7
Time: 120000
- Level: 8
Time: 130000
- Level: 9
Time: 140000
- Level: 10
Time: 150000
Duration1: 30000
Status: Keeping
- Id: 202
Name: NPC_DARKBREATH
@@ -5980,60 +5979,19 @@ Body:
Flags:
IsNpc: true
HitCount: 1
Duration1:
- Level: 1
Time: 60000
- Level: 2
Time: 70000
- Level: 3
Time: 80000
- Level: 4
Time: 90000
- Level: 5
Time: 100000
- Level: 6
Time: 110000
- Level: 7
Time: 120000
- Level: 8
Time: 130000
- Level: 9
Time: 140000
- Level: 10
Time: 150000
Duration1: 15000
Status: Barrier
- Id: 205
Name: NPC_DEFENDER
Description: Defender
MaxLevel: 1
Type: Weapon
TargetType: Self
DamageFlags:
NoDamage: true
Flags:
IsNpc: true
HitCount: 1
Duration1:
- Level: 1
Time: 60000
- Level: 2
Time: 70000
- Level: 3
Time: 80000
- Level: 4
Time: 90000
- Level: 5
Time: 100000
- Level: 6
Time: 110000
- Level: 7
Time: 120000
- Level: 8
Time: 130000
- Level: 9
Time: 140000
- Level: 10
Time: 150000
Duration1: 15000
Status: Armor
- Id: 206
Name: NPC_LICK
@@ -6461,6 +6419,7 @@ Body:
TargetType: Attack
DamageFlags:
IgnoreAtkCard: true
IgnoreDefense: true
IgnoreFlee: true
Flags:
IgnoreAutoGuard: true
@@ -9398,8 +9357,7 @@ Body:
- Id: 349
Name: NPC_POWERUP
Description: Power Up
MaxLevel: 10
Type: Weapon
MaxLevel: 5
TargetType: Self
DamageFlags:
NoDamage: true
@@ -9408,19 +9366,19 @@ Body:
Hit: Single
Duration1:
- Level: 1
Time: 10000
Time: 5000
- Level: 2
Time: 15000
Time: 10000
- Level: 3
Time: 20000
Time: 15000
- Level: 4
Time: 25000
Time: 20000
- Level: 5
Time: 30000
Status: IncHitRate
Time: 25000
Status: Powerup
- Id: 350
Name: NPC_AGIUP
Description: Agility UP
Description: Agility Up
MaxLevel: 10
TargetType: Self
DamageFlags:
@@ -9432,14 +9390,24 @@ Body:
- Level: 1
Time: 10000
- Level: 2
Time: 15000
- Level: 3
Time: 20000
- Level: 4
Time: 25000
- Level: 5
- Level: 3
Time: 30000
Status: IncFleeRate
- Level: 4
Time: 40000
- Level: 5
Time: 50000
- Level: 6
Time: 60000
- Level: 7
Time: 70000
- Level: 8
Time: 80000
- Level: 9
Time: 90000
- Level: 10
Time: 100000
Status: Agiup
- Id: 351
Name: NPC_SIEGEMODE
Description: Siege Mode
@@ -9641,7 +9609,7 @@ Body:
Hit: Single
HitCount: 1
Duration1: 300000
Duration2: 15000
Duration2: 10000
Requires:
SpCost: 200
Status: Berserk
@@ -10233,17 +10201,7 @@ Body:
Time: 55000
- Level: 5
Time: 60000
Duration2:
- Level: 1
Time: 20000
- Level: 2
Time: 30000
- Level: 3
Time: 40000
- Level: 4
Time: 50000
- Level: 5
Time: 60000
Duration2: 60000
Requires:
SpCost:
- Level: 1
@@ -13866,8 +13824,6 @@ Body:
Description: Chain Action
MaxLevel: 10
Type: Weapon
DamageFlags:
Critical: true
Range: -9
Hit: Multi_Hit
HitCount: 2
@@ -17007,32 +16963,13 @@ Body:
Skill:
Plagiarism: true
Reproduce: true
Duration2:
- Level: 1
Time: 15000
- Level: 2
Time: 20000
- Level: 3
Time: 25000
- Level: 4
Time: 30000
- Level: 5
Time: 35000
- Level: 6
Time: 40000
- Level: 7
Time: 45000
- Level: 8
Time: 50000
- Level: 9
Time: 55000
- Level: 10
Time: 60000
Duration2: 60000
Requires:
SpCost: 15
Ammo:
Dagger: true
AmmoAmount: 1
Status: Poison
- Id: 1005
Name: RG_CLOSECONFINE
Description: Close Confine
@@ -32467,9 +32404,9 @@ Body:
Hit: Single
HitCount: 1
Duration1: 300000
Duration2: 15000
Duration2: 10000
Requires:
SpCost: 100
SpCost: 200
Status: Berserk
- Id: 8207
Name: MA_DOUBLE
@@ -32648,7 +32585,6 @@ Body:
TargetType: Ground
DamageFlags:
Splash: true
IgnoreFlee: true
Flags:
IsTrap: true
AlterRangeResearchTrap: true
@@ -33068,9 +33004,10 @@ Body:
Type: Weapon
TargetType: Attack
Range: 1
Hit: Multi_Hit
HitCount: 3
Hit: Single
HitCount: 1
Element: Weapon
CastCancel: true
CastTime: 1000
AfterCastActDelay: 2000
Duration2: 5000

View File

@@ -532,3 +532,23 @@ Body:
Points: 4545
- Level: 250
Points: 4545
- Level: 251
Points: 4545
- Level: 252
Points: 4545
- Level: 253
Points: 4545
- Level: 254
Points: 4545
- Level: 255
Points: 4545
- Level: 256
Points: 4545
- Level: 257
Points: 4545
- Level: 258
Points: 4545
- Level: 259
Points: 4545
- Level: 260
Points: 4545

View File

@@ -162,6 +162,7 @@ Body:
- Status: Poison
DurationLookup: NPC_POISON
CalcFlags:
Def: true
Def2: true
Regen: true
Opt2:
@@ -252,6 +253,7 @@ Body:
- Status: Dpoison
DurationLookup: NPC_POISON
CalcFlags:
Def: true
Def2: true
Regen: true
Opt2:
@@ -1098,6 +1100,7 @@ Body:
Icon: EFST_GROUNDMAGIC
DurationLookup: SA_VOLCANO
CalcFlags:
Batk: true
Watk: true
Flags:
NoSave: true
@@ -1121,8 +1124,14 @@ Body:
NoClearance: true
- Status: Watk_Element
DurationLookup: MS_MAGNUM
Flags:
NoSave: true
EndOnStart:
Watk_Element: true
- Status: Armor
DurationLookup: NPC_DEFENDER
CalcFlags:
Speed: true
- Status: Armor_Element_Water
Icon: EFST_RESIST_PROPERTY_WATER
CalcFlags:
@@ -2050,7 +2059,6 @@ Body:
NoBanishingBuster: true
NoClearance: true
- Status: Inchitrate
DurationLookup: NPC_POWERUP
CalcFlags:
Hit: true
Flags:
@@ -2069,7 +2077,6 @@ Body:
NoBanishingBuster: true
NoClearance: true
- Status: Incfleerate
DurationLookup: NPC_AGIUP
CalcFlags:
Flee: true
Flags:
@@ -2712,6 +2719,7 @@ Body:
CalcFlags:
Flee: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2720,6 +2728,7 @@ Body:
CalcFlags:
Watk: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2728,6 +2737,7 @@ Body:
CalcFlags:
MaxHp: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2736,6 +2746,7 @@ Body:
CalcFlags:
MaxSp: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2744,6 +2755,7 @@ Body:
CalcFlags:
Hit: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -7048,3 +7060,25 @@ Body:
NoClearbuff: true
- Status: WeaponBreaker
DurationLookup: NPC_WEAPONBRAKER
- Status: Powerup
Icon: EFST_POWERUP
DurationLookup: NPC_POWERUP
CalcFlags:
Hit: true
Flags:
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: Agiup
Icon: EFST_AGIUP
DurationLookup: NPC_AGIUP
CalcFlags:
Speed: true
Flee: true
Flags:
NoClearbuff: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Decreaseagi: true

View File

@@ -2049,21 +2049,21 @@ Body:
- Id: 200032
Group: Goal_Level
Name: The start of another adventure!
Condition: " BaseLevel == 100 "
Condition: " BaseLevel >= 100 "
Rewards:
Item: Rebeginer_Box_100
Score: 10
- Id: 200033
Group: Goal_Level
Name: With a new mind!(1)
Condition: " BaseLevel == 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
Condition: " BaseLevel >= 170 && (Class >= JOB_RUNE_KNIGHT && Class <= JOB_GUILLOTINE_CROSS_T) "
Rewards:
Item: Costume_Ticket
Score: 50
- Id: 200034
Group: Goal_Level
Name: With a new mind!(2)
Condition: " BaseLevel == 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
Condition: " BaseLevel >= 170 && (Class >= JOB_ROYAL_GUARD && Class <= JOB_SHADOW_CHASER_T) "
Rewards:
Item: Costume_Ticket
Score: 50

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2024 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -159,77 +159,153 @@ Body:
RentalHours: 1
- Group: 9
Items:
- Item: Red_Potion
Amount: 10
- Item: Red_Potion
Amount: 5
- Item: Red_Potion
- Item: Red_Potion
Amount: 3
RentalHours: 1
- Group: 10
Items:
- Item: Guard_
- Item: Guard_
- Item: Guard_
- Group: 11
Items:
- Item: Orange_Potion
Amount: 800
- Item: Boost_Armor_Box
- Item: Minus_Status_Box_
Groups:
- Group: 0
Items:
- Item: Atker_Plate
- Item: Atker_Manteau
- Item: Atker_Greave
- Item: Atker_Ring
- Item: Boost_Up_1
Amount: 3
- Item: Minus_Str
Amount: 6
- Group: 1
Items:
- Item: Ran_Suits
- Item: Ran_Manteau
- Item: Ran_Boots
- Item: Ran_Brooch
- Item: Boost_Up_1
Amount: 3
- Item: Minus_Agi
Amount: 6
- Group: 2
Items:
- Item: Ele_Robe
- Item: Ele_Muffler
- Item: Ele_Shoes
- Item: Ele_Earing
- Item: Boost_Up_1
Amount: 3
- Item: Minus_Vit
Amount: 6
- Group: 3
Items:
- Item: Defn_Robe
- Item: Defn_Muffler
- Item: Defn_Shoes
- Item: Defn_Earing
- Item: Boost_Up_1
Amount: 3
- Item: Special_Coin_Pack
- Item: Minus_Int
Amount: 6
- Group: 4
Items:
- Item: Minus_Dex
Amount: 6
- Group: 5
Items:
- Item: Minus_Luk
Amount: 6
- Group: 6
Items:
- Item: Minus_Str
- Item: Minus_Agi
- Item: Minus_Vit
- Item: Minus_Int
- Item: Minus_Dex
- Item: Minus_Luk
- Item: Alchemist_Box_
Groups:
- Group: 0
Items:
- Item: EP17_1_EVT39
Amount: 3
- Item: EP17_1_EVT02
Amount: 18
- Item: Fire_Bottle
Amount: 50
- Group: 1
Items:
- Item: BarMealTicket
Amount: 20
- Item: Acid_Bottle
Amount: 50
- Group: 2
Items:
- Item: Ep18_Amethyst_Fragment
Amount: 20
- Item: MenEater_Plant_Bottle
Amount: 50
- Group: 3
Items:
- Item: Ep19_Snow_Flower
Amount: 20
- Item: Coating_Bottle
Amount: 50
- Group: 4
Items:
- Item: Mini_Bottle
Amount: 50
- Item: FullPene_Select_Box
Groups:
- Group: 0
Items:
- Item: FullPene_Earring_Box
- Group: 1
Items:
- Item: FullPene_Pendant_Box
- Group: 2
Items:
- Item: FullPene_Armor_Box
- Group: 3
Items:
- Item: FullPene_Shoes_Box
- Item: FullTemp_Select_Box
Groups:
- Group: 0
Items:
- Item: FullTemp_Earring_Box
- Group: 1
Items:
- Item: FullTemp_Pendant_Box
- Group: 2
Items:
- Item: FullTemp_Armor_Box
- Group: 3
Items:
- Item: FullTemp_Shoes_Box
- Item: Durable_Select_Box
Groups:
- Group: 0
Items:
- Item: Durable_Weapon_Box
- Group: 1
Items:
- Item: Durable_Shield_Box
- Item: Clever_Select_Box
Groups:
- Group: 0
Items:
- Item: Clever_Weapon_Box
- Group: 1
Items:
- Item: Clever_Shield_Box
- Item: OS_Helm_Box_
Groups:
- Group: 0
Items:
- Item: Ignis_CapK
- Group: 1
Items:
- Item: Phantom_Cap
- Group: 2
Items:
- Item: Stripe_Hat
- Group: 3
Items:
- Item: Clock_Casket_RD
- Group: 4
Items:
- Item: Large_Sorcerer_Crown
- Group: 5
Items:
- Item: Scorpio_Diadem_K
- Group: 6
Items:
- Item: Sagittarius_DiademK
- Item: Shadow_R_M_Box_
Groups:
- Group: 0
Items:
- Item: Class_Sha_R_M_Melee
- Group: 1
Items:
- Item: Class_Sha_R_M_Magic
- Group: 2
Items:
- Item: Skill_Sha_R_M_Melee
- Group: 3
Items:
- Item: Skill_Sha_R_M_Magic
- Item: Metal_W_Box
Groups:
- Group: 0
@@ -326,206 +402,581 @@ Body:
- Group: 3
Items:
- Item: C_School_Bag_PU
- Item: aegis_101470
- Item: Special_Coin_Pack
Groups:
- Group: 0
Items:
- Item: Minus_Str
Amount: 6
- Item: EP17_1_EVT39
Amount: 3
- Item: EP17_1_EVT02
Amount: 18
- Group: 1
Items:
- Item: Minus_Agi
Amount: 6
- Item: BarMealTicket
Amount: 20
- Group: 2
Items:
- Item: Minus_Vit
Amount: 6
- Item: Ep18_Amethyst_Fragment
Amount: 20
- Group: 3
Items:
- Item: Minus_Int
Amount: 6
- Item: Ep19_Snow_Flower
Amount: 20
- Item: Boost_Armor_Box
Groups:
- Group: 0
Items:
- Item: Atker_Plate
- Item: Atker_Manteau
- Item: Atker_Greave
- Item: Atker_Ring
- Item: Boost_Up_1
Amount: 3
- Group: 1
Items:
- Item: Ran_Suits
- Item: Ran_Manteau
- Item: Ran_Boots
- Item: Ran_Brooch
- Item: Boost_Up_1
Amount: 3
- Group: 2
Items:
- Item: Ele_Robe
- Item: Ele_Muffler
- Item: Ele_Shoes
- Item: Ele_Earing
- Item: Boost_Up_1
Amount: 3
- Group: 3
Items:
- Item: Defn_Robe
- Item: Defn_Muffler
- Item: Defn_Shoes
- Item: Defn_Earing
- Item: Boost_Up_1
Amount: 3
- Item: AllMighty_Select_Box
Groups:
- Group: 0
Items:
- Item: AllMighty_Earring_Box
- Group: 1
Items:
- Item: AllMighty_Pendant_Box
- Item: TrueGem_Select_Box
Groups:
- Group: 0
Items:
- Item: TrueGem_Earring_Box
- Group: 1
Items:
- Item: TrueGem_Pendant_Box
- Group: 2
Items:
- Item: TrueGem_Shoes_Box
- Group: 3
Items:
- Item: TrueGem_Armor_Box
- Item: PerfectSize_Select_Box
Groups:
- Group: 0
Items:
- Item: PerfectSize_Weapon_Box
- Group: 1
Items:
- Item: PerfectSize_Armor_Box
- Item: Mammoth_Select_Box
Groups:
- Group: 0
Items:
- Item: Mammoth_Earring_Box
- Group: 1
Items:
- Item: Mammoth_Pendant_Box
- Group: 2
Items:
- Item: Mammoth_Armor_Box
- Group: 3
Items:
- Item: Mammoth_Shoes_Box
- Item: SpellCaster_Select_Box
Groups:
- Group: 0
Items:
- Item: SpellCaster_Earring_Box
- Group: 1
Items:
- Item: SpellCaster_Pendant_Box
- Group: 2
Items:
- Item: SpellCaster_Armor_Box
- Group: 3
Items:
- Item: SpellCaster_Shoes_Box
- Item: Absorb_Select_Box
Groups:
- Group: 0
Items:
- Item: Absorb_Weapon_Box
- Group: 1
Items:
- Item: Absorb_Shield_Box
- Item: R_Bearers_Select_Box
Groups:
- Group: 0
Items:
- Item: R_Bearers_Earring_Box
- Group: 1
Items:
- Item: R_Bearers_Pendant_Box
- Group: 2
Items:
- Item: R_Bearers_Armor_Box
- Group: 3
Items:
- Item: R_Bearers_Shoes_Box
- Item: Hasty_Select_Box
Groups:
- Group: 0
Items:
- Item: Hasty_Weapon_Box
- Group: 1
Items:
- Item: Hasty_Shield_Box
- Item: MAutoSpell_Select_Box
Groups:
- Group: 0
Items:
- Item: MAutoSpell_Earring_Box
- Group: 1
Items:
- Item: MAutoSpell_Pendant_Box
- Group: 2
Items:
- Item: MAutoSpell_Armor_Box
- Group: 3
Items:
- Item: MAutoSpell_Shoes_Box
- Item: Infinity_Select_Box
Groups:
- Group: 0
Items:
- Item: Infinity_Weapon_Box
- Group: 1
Items:
- Item: Infinity_Shield_Box
- Item: EXP_Select_Box
Groups:
- Group: 0
Items:
- Item: EXP_Weapon_Box
- Group: 1
Items:
- Item: EXP_Shield_Box
- Item: M_Blitz_Select_Box
Groups:
- Group: 0
Items:
- Item: M_Blitz_Weapon_Box
- Group: 1
Items:
- Item: M_Blitz_Shield_Box
- Item: GoodnEvil_Circlet_Box
Groups:
- Group: 0
Items:
- Item: GoodnEvil_Circlet_NW
- Group: 1
Items:
- Item: GoodnEvil_Circlet_NW2
- Group: 2
Items:
- Item: GoodnEvil_Circlet_NW3
- Group: 3
Items:
- Item: GoodnEvil_Circlet_NW4
- Group: 4
Items:
- Item: Minus_Dex
Amount: 6
- Item: GoodnEvil_Circlet_NW5
- Item: Hero_Weapon_Up_S_Box
Groups:
- Group: 0
Items:
- Item: Hero_Weapon_Up_Box_1
- Group: 1
Items:
- Item: Hero_Weapon_Up_Box_2
- Group: 2
Items:
- Item: Hero_Weapon_Up_Box_3
- Group: 3
Items:
- Item: Hero_Weapon_Up_Box_4
- Group: 4
Items:
- Item: Hero_Weapon_Up_Box_5
- Group: 5
Items:
- Item: Minus_Luk
Amount: 6
- Group: 6
Items:
- Item: Minus_Str
- Item: Minus_Agi
- Item: Minus_Vit
- Item: Minus_Int
- Item: Minus_Dex
- Item: Minus_Luk
- Item: aegis_101471
- Item: Hero_Weapon_Up_Box_6
- Item: Hero_Weapon_Hammer_S
Groups:
- Group: 0
Items:
- Item: Fire_Bottle
Amount: 50
- Item: Hero_Weapon_Hammer_1
- Group: 1
Items:
- Item: Acid_Bottle
Amount: 50
- Item: Hero_Weapon_Hammer_2
- Group: 2
Items:
- Item: MenEater_Plant_Bottle
Amount: 50
- Item: Hero_Weapon_Hammer_3
- Group: 3
Items:
- Item: Coating_Bottle
Amount: 50
- Item: Hero_Weapon_Hammer_4
- Group: 4
Items:
- Item: Mini_Bottle
Amount: 50
- Item: aegis_101542
Groups:
- Group: 0
Items:
- Item: aegis_101543
- Group: 1
Items:
- Item: aegis_101544
- Group: 2
Items:
- Item: aegis_101545
- Group: 3
Items:
- Item: aegis_101546
- Item: aegis_101547
Groups:
- Group: 0
Items:
- Item: aegis_101548
- Group: 1
Items:
- Item: aegis_101549
- Group: 2
Items:
- Item: aegis_101550
- Group: 3
Items:
- Item: aegis_101551
- Item: aegis_101552
Groups:
- Group: 0
Items:
- Item: aegis_101553
- Group: 1
Items:
- Item: aegis_101554
- Item: aegis_101555
Groups:
- Group: 0
Items:
- Item: aegis_101556
- Group: 1
Items:
- Item: aegis_101557
- Item: aegis_101563
Groups:
- Group: 0
Items:
- Item: Ignis_CapK
- Group: 1
Items:
- Item: Phantom_Cap
- Group: 2
Items:
- Item: Stripe_Hat
- Group: 3
Items:
- Item: Clock_Casket_RD
- Group: 4
Items:
- Item: Large_Sorcerer_Crown
- Item: Hero_Weapon_Hammer_5
- Group: 5
Items:
- Item: Scorpio_Diadem_K
- Group: 6
Items:
- Item: Sagittarius_DiademK
- Item: aegis_101565
- Item: Hero_Weapon_Hammer_6
- Item: aegis_102215
Groups:
- Group: 0
Items:
- Item: Class_Sha_R_M_Melee
- Item: Bio_Weapon_Refine_Cube
- Group: 1
Items:
- Item: Class_Sha_R_M_Magic
- Item: Old_Refine_Cube
- Group: 2
Items:
- Item: Skill_Sha_R_M_Melee
- Group: 3
Items:
- Item: Skill_Sha_R_M_Magic
- Item: aegis_101654
- Item: Geffen_Refine_Cube
- Item: aegis_102216
Groups:
- Group: 0
Items:
- Item: aegis_101655
- Item: Bio_Helm_Refine_Cube
- Group: 1
Items:
- Item: aegis_101656
- Item: aegis_101657
Groups:
- Group: 0
Items:
- Item: aegis_101658
- Group: 1
Items:
- Item: aegis_101659
- Item: Circlet_Refine_Cube
- Group: 2
Items:
- Item: aegis_101660
- Item: Auto_Armor_Refine_Cube
- Group: 3
Items:
- Item: aegis_101661
- Item: aegis_101662
- Item: Racecap_Refine_Cube
- Group: 4
Items:
- Item: OS_Weapon_Refine_Cube
- Group: 5
Items:
- Item: Temporal_Refine_Cube
- Item: Hero_Weapon_S_Box_1
Groups:
- Group: 0
Items:
- Item: aegis_101663
- Item: Royal_Bow_K
Refine: 11
- Group: 1
Items:
- Item: aegis_101664
- Item: aegis_101727
Groups:
- Group: 0
Items:
- Item: aegis_101717
- Group: 1
Items:
- Item: aegis_101718
- Item: Shadow_Staff_K
Refine: 11
- Group: 2
Items:
- Item: aegis_101719
- Item: Iron_Nail_K
Refine: 11
- Group: 3
Items:
- Item: aegis_101720
- Item: aegis_101728
- Item: Blue_Crystal_Staff
Refine: 11
- Group: 4
Items:
- Item: Freezing_Rod
Refine: 11
- Group: 5
Items:
- Item: Ancient_Hero_Boots
Refine: 11
- Item: Hero_Weapon_S_Box_2
Groups:
- Group: 0
Items:
- Item: aegis_101721
- Item: Sword_Of_Bluefire
Refine: 11
- Group: 1
Items:
- Item: aegis_101722
- Item: Iron_Staff
Refine: 11
- Group: 2
Items:
- Item: aegis_101723
- Item: Oriental_Sword
Refine: 11
- Group: 3
Items:
- Item: aegis_101724
- Item: aegis_101729
- Item: Fog_Dew_Sword
Refine: 11
- Group: 4
Items:
- Item: Sharp_Wind_Sword
Refine: 11
- Group: 5
Items:
- Item: Humma_Clear
Refine: 11
- Item: Hero_Weapon_S_Box_3
Groups:
- Group: 0
Items:
- Item: aegis_101725
- Item: Narcis_Bow
Refine: 11
- Group: 1
Items:
- Item: aegis_101726
- Item: Magic_Sword
Refine: 11
- Group: 2
Items:
- Item: Avenger
Refine: 11
- Group: 3
Items:
- Item: Undine_Spear_K
Refine: 11
- Group: 4
Items:
- Item: Demon_Hunting_Bible_K
Refine: 11
- Group: 5
Items:
- Item: Shiver_Katar_K
Refine: 11
- Item: Hero_Weapon_S_Box_4
Groups:
- Group: 0
Items:
- Item: OneSkyOneSun
Refine: 11
- Group: 1
Items:
- Item: SoulWeight
Refine: 11
- Group: 2
Items:
- Item: MeawFoxtail
Refine: 11
- Group: 3
Items:
- Item: Freedom_Stick
Refine: 11
- Group: 4
Items:
- Item: Blessed_Knife
Refine: 11
- Item: Hero_Weapon_S_Box_5
Groups:
- Group: 0
Items:
- Item: Dragonic_Slayer
Refine: 11
- Group: 1
Items:
- Item: Light_Blade
Refine: 11
- Group: 2
Items:
- Item: Slate_Sword
Refine: 11
- Group: 3
Items:
- Item: Trumpet_Shell_K
Refine: 11
- Group: 4
Items:
- Item: Barb_Wire_K
Refine: 11
- Group: 5
Items:
- Item: Meteor_Striker
Refine: 11
- Item: Hero_Weapon_S_Box_6
Groups:
- Group: 0
Items:
- Item: Saint_Hall
Refine: 11
- Group: 1
Items:
- Item: Ray_Knuckle
Refine: 11
- Group: 2
Items:
- Item: Blade_Katar
Refine: 11
- Group: 3
Items:
- Item: Fatalist
Refine: 11
- Group: 4
Items:
- Item: Scalet_Dragon_L_Bow
Refine: 11
- Item: Hero_Weapon_S_Box_7
Groups:
- Group: 0
Items:
- Item: Crimson_Rose
Refine: 11
- Group: 1
Items:
- Item: Master_Soul_Rifle
Refine: 11
- Group: 2
Items:
- Item: Demon_S_Shot
Refine: 11
- Group: 3
Items:
- Item: Golden_L_Launcher
Refine: 11
- Group: 4
Items:
- Item: The_Black_Gatling
Refine: 11
- Item: 2023_Spring_Select
Groups:
- Group: 0
Items:
- Item: C_Lop_Bunny_Cloak
- Group: 1
Items:
- Item: C_Heart_Chiffon_Rabbit
- Group: 2
Items:
- Item: C_Teaparty_Wonderland
- Group: 3
Items:
- Item: C_Chocolat_Rabbit_Hair
- Item: RO_Concert_Scroll2
Groups:
- Group: 0
Items:
- Item: C_Headset_OST
- Group: 1
Items:
- Item: C_Music_Decoration
- Group: 2
Items:
- Item: C_Whistle
- Item: 21th_Costume_Select
Groups:
- Group: 0
Items:
- Item: C_Ocean_Color_Long
- Group: 1
Items:
- Item: C_Aqua_Fin_Decoration
- Group: 2
Items:
- Item: C_Sailor_Cap
- Item: Cinnamon_Costume_Box
Groups:
- Group: 0
Items:
- Item: C_Cinnamon2
- Group: 1
Items:
- Item: C_Cinnamon
- Group: 2
Items:
- Item: C_JP_EV16
- Group: 3
Items:
- Item: C_JP_EV17
- Item: IsgardCrown_Box
Groups:
- Group: 0
Items:
- Item: Glacier_Helm_1
- Group: 1
Items:
- Item: Glacier_Helm_2
- Group: 2
Items:
- Item: Glacier_Helm_3
- Item: AceCard_Box
Groups:
- Group: 0
Items:
- Item: Heart_Ace_Melee
- Group: 1
Items:
- Item: Spade_Ace_Melee
- Group: 2
Items:
- Item: Diamond_Ace_Range
- Group: 3
Items:
- Item: Clover_Ace_Defense
- Item: Loki_Coin_Box
Groups:
- Group: 0
Items:
- Item: Loki_Coin
Amount: 10
- Group: 1
Items:
- Item: Loki_Coin_2
Amount: 10
- Group: 2
Items:
- Item: Loki_Coin_3
Amount: 10
- Group: 3
Items:
- Item: Loki_Coin_4
Amount: 10
- Item: Loki_Advice_Box
Groups:
- Group: 0
Items:
- Item: Loki_Advice
Amount: 10
- Group: 1
Items:
- Item: Loki_Advice_2
Amount: 10
- Group: 2
Items:
- Item: Loki_Advice_3
Amount: 10
- Group: 3
Items:
- Item: Loki_Advice_4
Amount: 10
- Item: 2023_Xmas_Costume
Groups:
- Group: 0
Items:
- Item: C_SnowmanHat
- Group: 1
Items:
- Item: C_WinterNightBells
- Group: 2
Items:
- Item: C_SantaTeddyBear
- Item: 10AllMighty_Select_Box
Groups:
- Group: 0
Items:
- Item: S_AllMighty_Earring
Refine: 10
- Group: 1
Items:
- Item: S_AllMighty_Pendant
Refine: 10
- Item: Sonic_Costume_Pack
Groups:
- Group: 0
Items:
- Item: C_Super_Sonic_Mini
- Group: 1
Items:
- Item: C_Chaos_Emerald

View File

@@ -15318,3 +15318,663 @@ Body:
MinValue: 1
MaxValue: 7
Chance: 400
- Id: 168
Group: PONTIFEX_COURAGE
Slots:
- Slot: 1
Options:
- Option: VAR_MAXHPAMOUNT
MinValue: 200
MaxValue: 1000
Chance: 10000
- Option: VAR_MAXSPAMOUNT
MinValue: 50
MaxValue: 250
Chance: 10000
- Option: VAR_ATKPERCENT
MinValue: 1
MaxValue: 5
Chance: 10000
- Option: VAR_ATTPOWER
MinValue: 10
MaxValue: 50
Chance: 10000
- Option: VAR_ITEMDEFPOWER
MinValue: 10
MaxValue: 50
Chance: 10000
- Option: VAR_AVOIDSUCCESSVALUE
MinValue: 5
MaxValue: 25
Chance: 10000
- Option: VAR_HITSUCCESSVALUE
MinValue: 5
MaxValue: 25
Chance: 10000
- Option: RACE_DAMAGE_HUMAN
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_ANIMAL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_DEVIL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_DRAGON
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_PLANT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_NOTHING
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_ANGEL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_UNDEAD
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_INSECT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_DAMAGE_FISHS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RANGE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MELEE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_CRI_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 3
Chance: 10000
- Slot: 2
Options:
- Option: DAMAGE_PROPERTY_FIRE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_SAINT_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_DARKNESS_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_POISON_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_NOTHING_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_PROPERTY_UNDEAD_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: RANGE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MELEE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_CRI_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_SIZE_SMALL_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_SIZE_MIDIUM_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_SIZE_LARGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 3
Chance: 10000
- Id: 169
Group: PONTIFEX_WISDOM
Slots:
- Slot: 1
Options:
- Option: VAR_MAXHPAMOUNT
MinValue: 200
MaxValue: 1000
Chance: 10000
- Option: VAR_MAXSPAMOUNT
MinValue: 50
MaxValue: 250
Chance: 10000
- Option: VAR_MAGICATKPERCENT
MinValue: 1
MaxValue: 5
Chance: 10000
- Option: VAR_ATTMPOWER
MinValue: 10
MaxValue: 50
Chance: 10000
- Option: VAR_ITEMDEFPOWER
MinValue: 10
MaxValue: 50
Chance: 10000
- Option: VAR_AVOIDSUCCESSVALUE
MinValue: 5
MaxValue: 25
Chance: 10000
- Option: DEC_SPELL_CAST_TIME
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: RACE_MDAMAGE_HUMAN
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_ANIMAL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_DEVIL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_DRAGON
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_PLANT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_NOTHING
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_ANGEL
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_UNDEAD
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_INSECT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_FISHS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_WATER
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_WIND
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_GROUND
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_FIRE
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_SAINT
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_DARKNESS
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_POISON
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_NOTHING
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_TELEKINESIS
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 3
Chance: 10000
- Slot: 2
Options:
- Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_WATER
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_WIND
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_GROUND
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_FIRE
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_SAINT
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_DARKNESS
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_POISON
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_NOTHING
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: ADDSKILLMDAMAGE_TELEKINESIS
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MDAMAGE_SIZE_SMALL_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MDAMAGE_SIZE_MIDIUM_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MDAMAGE_SIZE_LARGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 3
Chance: 10000
- Id: 170
Group: PONTIFEX_TENACITY
Slots:
- Slot: 1
Options:
- Option: VAR_MAXHPAMOUNT
MinValue: 250
MaxValue: 1250
Chance: 10000
- Option: VAR_MAXSPAMOUNT
MinValue: 75
MaxValue: 375
Chance: 10000
- Option: VAR_ATKPERCENT
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: VAR_ATTPOWER
MinValue: 12
MaxValue: 60
Chance: 10000
- Option: VAR_ITEMDEFPOWER
MinValue: 12
MaxValue: 60
Chance: 10000
- Option: VAR_AVOIDSUCCESSVALUE
MinValue: 6
MaxValue: 30
Chance: 10000
- Option: VAR_HITSUCCESSVALUE
MinValue: 6
MaxValue: 30
Chance: 10000
- Option: RACE_DAMAGE_HUMAN
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_ANIMAL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_DEVIL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_DRAGON
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_PLANT
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_NOTHING
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_ANGEL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_UNDEAD
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_INSECT
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_DAMAGE_FISHS
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RANGE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: MELEE_ATTACK_DAMAGE_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DAMAGE_CRI_TARGET
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 5
Chance: 10000
- Slot: 2
Options:
- Option: DAMAGE_PROPERTY_WATER_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_WIND_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_GROUND_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_FIRE_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_SAINT_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_DARKNESS_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_POISON_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_NOTHING_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_TELEKINESIS_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_PROPERTY_UNDEAD_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RANGE_ATTACK_DAMAGE_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MELEE_ATTACK_DAMAGE_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_CRI_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_SIZE_SMALL_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_SIZE_MIDIUM_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DAMAGE_SIZE_LARGE_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 5
Chance: 10000
- Id: 171
Group: PONTIFEX_BELIEF
Slots:
- Slot: 1
Options:
- Option: VAR_MAXHPAMOUNT
MinValue: 250
MaxValue: 1250
Chance: 10000
- Option: VAR_MAXSPAMOUNT
MinValue: 75
MaxValue: 375
Chance: 10000
- Option: VAR_MAGICATKPERCENT
MinValue: 2
MaxValue: 10
Chance: 10000
- Option: VAR_ATTMPOWER
MinValue: 12
MaxValue: 60
Chance: 10000
- Option: VAR_ITEMDEFPOWER
MinValue: 12
MaxValue: 60
Chance: 10000
- Option: VAR_AVOIDSUCCESSVALUE
MinValue: 6
MaxValue: 30
Chance: 10000
- Option: DEC_SPELL_CAST_TIME
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: RACE_MDAMAGE_HUMAN
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_ANIMAL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_DEVIL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_DRAGON
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_PLANT
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_NOTHING
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_ANGEL
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_UNDEAD
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_INSECT
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: RACE_MDAMAGE_FISHS
MinValue: 4
MaxValue: 20
Chance: 10000
- Option: ADDSKILLMDAMAGE_WATER
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_WIND
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_GROUND
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_FIRE
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_SAINT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_DARKNESS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_POISON
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_NOTHING
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_TELEKINESIS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 5
Chance: 10000
- Slot: 2
Options:
- Option: MDAMAGE_PROPERTY_POISON_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_PROPERTY_NOTHING_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_PROPERTY_TELEKINESIS_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_PROPERTY_UNDEAD_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_WATER
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_WIND
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_GROUND
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_FIRE
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_SAINT
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_DARKNESS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_POISON
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_NOTHING
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: ADDSKILLMDAMAGE_TELEKINESIS
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_SIZE_SMALL_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_SIZE_MIDIUM_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: MDAMAGE_SIZE_LARGE_TARGET
MinValue: 3
MaxValue: 15
Chance: 10000
- Option: DEC_SPELL_DELAY_TIME
MinValue: 1
MaxValue: 5
Chance: 10000

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8884,6 +8884,15 @@ Body:
- Level: 50
Vit: 1
Pow: 1
- Level: 51
Crt: 1
- Level: 52
Pow: 1
- Level: 54
Pow: 1
Crt: 1
- Level: 55
Sta: 1
- Jobs:
Meister: true
Meister2: true
@@ -9017,6 +9026,15 @@ Body:
- Level: 50
Pow: 1
Wis: 1
- Level: 51
Pow: 1
- Level: 52
Con: 1
- Level: 53
Sta: 1
Wis: 1
- Level: 55
Pow: 1
- Jobs:
Shadow_Cross: true
MaxWeight: 32000
@@ -9149,6 +9167,15 @@ Body:
- Level: 50
Pow: 1
Crt: 1
- Level: 51
Pow: 1
- Level: 53
Con: 1
- Level: 54
Sta: 1
Crt: 1
- Level: 55
Crt: 1
- Jobs:
Arch_Mage: true
MaxWeight: 30000
@@ -9281,6 +9308,15 @@ Body:
- Level: 50
Sta: 1
Wis: 1
- Level: 52
Spl: 1
- Level: 53
Con: 1
- Level: 54
Sta: 1
Wis: 1
- Level: 55
Spl: 1
- Jobs:
Cardinal: true
MaxWeight: 30000
@@ -9413,6 +9449,16 @@ Body:
- Level: 50
Spl: 1
Crt: 1
- Level: 51
Spl: 1
- Level: 52
Pow: 1
- Level: 53
Sta: 1
- Level: 54
Wis: 1
- Level: 55
Crt: 1
- Jobs:
Windhawk: true
Windhawk2: true
@@ -9546,6 +9592,15 @@ Body:
- Level: 50
Dex: 1
Con: 1
- Level: 51
Con: 1
- Level: 52
Pow: 1
Con: 1
- Level: 53
Sta: 1
- Level: 55
Pow: 1
- Jobs:
Imperial_Guard: true
Imperial_Guard2: true
@@ -9680,6 +9735,15 @@ Body:
- Level: 50
Pow: 1
Sta: 1
- Level: 51
Pow: 1
- Level: 52
Sta: 1
- Level: 53
Sta: 1
- Level: 55
Wis: 1
Con: 1
- Jobs:
Biolo: true
MaxWeight: 32000
@@ -9812,6 +9876,15 @@ Body:
- Level: 50
Str: 1
Crt: 1
- Level: 51
Crt: 1
- Level: 52
Sta: 1
- Level: 53
Pow: 1
Crt: 1
- Level: 55
Con: 1
- Jobs:
Abyss_Chaser: true
MaxWeight: 28000
@@ -9944,6 +10017,15 @@ Body:
- Level: 50
Pow: 1
Spl: 1
- Level: 51
Pow: 1
- Level: 52
Crt: 1
- Level: 54
Sta: 1
- Level: 55
Sta: 1
Con: 1
- Jobs:
Elemental_Master: true
MaxWeight: 30000
@@ -10076,6 +10158,16 @@ Body:
- Level: 50
Wis: 1
Spl: 1
- Level: 51
Spl: 1
- Level: 52
Sta: 1
- Level: 53
Sta: 1
- Level: 54
Wis: 1
- Level: 55
Spl: 1
- Jobs:
Inquisitor: true
MaxWeight: 30000
@@ -10208,6 +10300,15 @@ Body:
- Level: 50
Pow: 1
Wis: 1
- Level: 51
Pow: 1
- Level: 52
Sta: 1
- Level: 53
Sta: 1
- Level: 55
Pow: 1
Wis: 1
- Jobs:
Troubadour: true
MaxWeight: 32000
@@ -10340,6 +10441,15 @@ Body:
Con: 1
- Level: 50
Dex: 1
- Level: 51
Con: 1
- Level: 52
Spl: 1
- Level: 53
Sta: 1
- Level: 55
Pow: 1
Con: 1
- Jobs:
Trouvere: true
MaxWeight: 32000
@@ -10473,6 +10583,15 @@ Body:
Con: 1
- Level: 50
Agi: 1
- Level: 51
Con: 1
- Level: 52
Sta: 1
- Level: 53
Spl: 1
- Level: 55
Pow: 1
Con: 1
- Jobs:
Sky_Emperor: true
MaxWeight: 42000
@@ -10607,6 +10726,14 @@ Body:
- Level: 50
Pow: 1
Crt: 1
- Level: 51
Sta: 1
Con: 1
- Level: 53
Sta: 1
- Level: 55
Pow: 1
Con: 1
- Jobs:
Soul_Ascetic: true
MaxWeight: 42000
@@ -10730,6 +10857,16 @@ Body:
- Level: 50
Wis: 1
Spl: 1
- Level: 51
Spl: 1
- Level: 52
Con: 1
- Level: 53
Wis: 1
- Level: 54
Sta: 1
- Level: 55
Spl: 1
- Jobs:
Shinkiro: true
MaxWeight: 45000
@@ -10863,6 +11000,16 @@ Body:
- Level: 50
Pow: 1
Crt: 1
- Level: 51
Crt: 1
- Level: 52
Con: 1
- Level: 53
Wis: 1
- Level: 54
Sta: 1
- Level: 55
Sta: 1
- Jobs:
Shiranui: true
MaxWeight: 45000
@@ -10985,6 +11132,15 @@ Body:
- Level: 50
Wis: 1
Spl: 1
- Level: 51
Pow: 1
- Level: 52
Spl: 1
- Level: 54
Spl: 1
- Level: 55
Spl: 1
Con: 1
- Jobs:
Night_Watch: true
MaxWeight: 48000
@@ -11112,6 +11268,15 @@ Body:
Con: 1
- Level: 50
Pow: 1
- Level: 51
Con: 1
- Level: 53
Pow: 1
Con: 1
- Level: 54
Wis: 1
- Level: 55
Pow: 1
- Jobs:
Hyper_Novice: true
MaxWeight: 40000
@@ -11248,6 +11413,15 @@ Body:
- Level: 50
Agi: 1
Dex: 1
- Level: 51
Con: 1
- Level: 52
Pow: 1
Con: 1
- Level: 53
Sta: 1
- Level: 55
Spl: 1
- Jobs:
Spirit_Handler: true
MaxWeight: 42000
@@ -11379,3 +11553,13 @@ Body:
Crt: 1
- Level: 50
Pow: 1
- Level: 51
Con: 1
- Level: 52
Pow: 1
- Level: 53
Spl: 1
- Level: 54
Wis: 1
- Level: 55
Sta: 1

View File

@@ -4727,170 +4727,174 @@ Body:
- Item: Gray_W_Muffler
- Item: Gray_W_Boots
- Item: Gray_W_Shoes
# - Item: Pontifex_Courage
# TargetItems:
# - Item: Adulter_F_T_Sword
# - Item: Adulter_F_Cakram
# - Item: Adulter_F_Katar
# - Item: Adulter_F_Lance
# - Item: Adulter_F_T_Staff
# - Item: Adulter_F_Rod
# - Item: Adulter_F_Humma
# - Item: Adulter_F_C_Humma
# - Item: Adulter_F_C_Bow
# - Item: Adulter_F_Ballista
# - Item: Adulter_F_A_Bow
# - Item: Adulter_F_Revolver
# - Item: Adulter_F_Rifle
# - Item: Adulter_F_Shotgun
# - Item: Adulter_F_Gatling
# - Item: Adulter_F_Launcher
# - Item: Adulter_F_G_Sword
# - Item: Adulter_F_Lapier
# - Item: Adulter_F_Dagger
# - Item: Adulter_F_Axe
# - Item: Adulter_F_G_Spear
# - Item: Adulter_F_M_Book
# - Item: Adulter_F_P_Book
# - Item: Adulter_F_Bible
# - Item: Adulter_F_Moon_B
# - Item: Adulter_F_Star_B
# - Item: Adulter_F_Wand
# - Item: Adulter_F_S_Stick
# - Item: Adulter_F_D_Wand
# - Item: Adulter_F_F_Wand
# - Item: Adulter_F_F_model
# - Item: Adulter_F_Knuckle
# - Item: Adulter_F_Claw
# - Item: Adulter_F_Violin
# - Item: Adulter_F_Harp
# - Item: Adulter_F_C_Rope
# - Item: Adulter_F_Ribbon
# - Item: Adulter_F_Mace
# - Item: Adulter_F_Hall
# - Item: Pontifex_Wisdom
# TargetItems:
# - Item: Adulter_F_T_Sword
# - Item: Adulter_F_Cakram
# - Item: Adulter_F_Katar
# - Item: Adulter_F_Lance
# - Item: Adulter_F_T_Staff
# - Item: Adulter_F_Rod
# - Item: Adulter_F_Humma
# - Item: Adulter_F_C_Humma
# - Item: Adulter_F_C_Bow
# - Item: Adulter_F_Ballista
# - Item: Adulter_F_A_Bow
# - Item: Adulter_F_Revolver
# - Item: Adulter_F_Rifle
# - Item: Adulter_F_Shotgun
# - Item: Adulter_F_Gatling
# - Item: Adulter_F_Launcher
# - Item: Adulter_F_G_Sword
# - Item: Adulter_F_Lapier
# - Item: Adulter_F_Dagger
# - Item: Adulter_F_Axe
# - Item: Adulter_F_G_Spear
# - Item: Adulter_F_M_Book
# - Item: Adulter_F_P_Book
# - Item: Adulter_F_Bible
# - Item: Adulter_F_Moon_B
# - Item: Adulter_F_Star_B
# - Item: Adulter_F_Wand
# - Item: Adulter_F_S_Stick
# - Item: Adulter_F_D_Wand
# - Item: Adulter_F_F_Wand
# - Item: Adulter_F_F_model
# - Item: Adulter_F_Knuckle
# - Item: Adulter_F_Claw
# - Item: Adulter_F_Violin
# - Item: Adulter_F_Harp
# - Item: Adulter_F_C_Rope
# - Item: Adulter_F_Ribbon
# - Item: Adulter_F_Mace
# - Item: Adulter_F_Hall
# - Item: Pontifex_Tenacity
# TargetItems:
# - Item: Vivatus_F_T_Sword
# - Item: Vivatus_F_Cakram
# - Item: Vivatus_F_Katar
# - Item: Vivatus_F_Lance
# - Item: Vivatus_F_T_Staff
# - Item: Vivatus_F_Rod
# - Item: Vivatus_F_C_Bow
# - Item: Vivatus_F_Ballista
# - Item: Vivatus_F_A_Bow
# - Item: Vivatus_F_G_Sword
# - Item: Vivatus_F_Lapier
# - Item: Vivatus_F_Dagger
# - Item: Vivatus_F_Axe
# - Item: Vivatus_F_G_Spear
# - Item: Vivatus_F_M_Book
# - Item: Vivatus_F_P_Book
# - Item: Vivatus_F_Bible
# - Item: Vivatus_F_Wand
# - Item: Vivatus_F_Knuckle
# - Item: Vivatus_F_Claw
# - Item: Vivatus_F_Violin
# - Item: Vivatus_F_Harp
# - Item: Vivatus_F_C_Rope
# - Item: Vivatus_F_Ribbon
# - Item: Vivatus_F_Mace
# - Item: Vivatus_F_Hall
# - Item: Vivatus_F_D_Wand
# - Item: Vivatus_F_S_Stick
# - Item: Vivatus_F_F_Wand
# - Item: Vivatus_F_F_model
# - Item: Vivatus_F_Star_B
# - Item: Vivatus_F_Moon_B
# - Item: Vivatus_F_Gatling
# - Item: Vivatus_F_Launcher
# - Item: Vivatus_F_Rifle
# - Item: Vivatus_F_Shotgun
# - Item: Vivatus_F_Revolver
# - Item: Vivatus_F_C_Humma
# - Item: Vivatus_F_Humma
# - Item: Pontifex_Belief
# TargetItems:
# - Item: Vivatus_F_T_Sword
# - Item: Vivatus_F_Cakram
# - Item: Vivatus_F_Katar
# - Item: Vivatus_F_Lance
# - Item: Vivatus_F_T_Staff
# - Item: Vivatus_F_Rod
# - Item: Vivatus_F_C_Bow
# - Item: Vivatus_F_Ballista
# - Item: Vivatus_F_A_Bow
# - Item: Vivatus_F_G_Sword
# - Item: Vivatus_F_Lapier
# - Item: Vivatus_F_Dagger
# - Item: Vivatus_F_Axe
# - Item: Vivatus_F_G_Spear
# - Item: Vivatus_F_M_Book
# - Item: Vivatus_F_P_Book
# - Item: Vivatus_F_Bible
# - Item: Vivatus_F_Wand
# - Item: Vivatus_F_Knuckle
# - Item: Vivatus_F_Claw
# - Item: Vivatus_F_Violin
# - Item: Vivatus_F_Harp
# - Item: Vivatus_F_C_Rope
# - Item: Vivatus_F_Ribbon
# - Item: Vivatus_F_Mace
# - Item: Vivatus_F_Hall
# - Item: Vivatus_F_D_Wand
# - Item: Vivatus_F_S_Stick
# - Item: Vivatus_F_F_Wand
# - Item: Vivatus_F_F_model
# - Item: Vivatus_F_Star_B
# - Item: Vivatus_F_Moon_B
# - Item: Vivatus_F_Gatling
# - Item: Vivatus_F_Launcher
# - Item: Vivatus_F_Rifle
# - Item: Vivatus_F_Shotgun
# - Item: Vivatus_F_Revolver
# - Item: Vivatus_F_C_Humma
# - Item: Vivatus_F_Humma
- Item: Pontifex_Courage
RandomOptionGroup: PONTIFEX_COURAGE
TargetItems:
- Item: Adulter_F_T_Sword
- Item: Adulter_F_Cakram
- Item: Adulter_F_Katar
- Item: Adulter_F_Lance
- Item: Adulter_F_T_Staff
- Item: Adulter_F_Rod
- Item: Adulter_F_Humma
- Item: Adulter_F_C_Humma
- Item: Adulter_F_C_Bow
- Item: Adulter_F_Ballista
- Item: Adulter_F_A_Bow
- Item: Adulter_F_Revolver
- Item: Adulter_F_Rifle
- Item: Adulter_F_Shotgun
- Item: Adulter_F_Gatling
- Item: Adulter_F_Launcher
- Item: Adulter_F_G_Sword
- Item: Adulter_F_Lapier
- Item: Adulter_F_Dagger
- Item: Adulter_F_Axe
- Item: Adulter_F_G_Spear
- Item: Adulter_F_M_Book
- Item: Adulter_F_P_Book
- Item: Adulter_F_Bible
- Item: Adulter_F_Moon_B
- Item: Adulter_F_Star_B
- Item: Adulter_F_Wand
- Item: Adulter_F_S_Stick
- Item: Adulter_F_D_Wand
- Item: Adulter_F_F_Wand
- Item: Adulter_F_F_model
- Item: Adulter_F_Knuckle
- Item: Adulter_F_Claw
- Item: Adulter_F_Violin
- Item: Adulter_F_Harp
- Item: Adulter_F_C_Rope
- Item: Adulter_F_Ribbon
- Item: Adulter_F_Mace
- Item: Adulter_F_Hall
- Item: Pontifex_Wisdom
RandomOptionGroup: PONTIFEX_WISDOM
TargetItems:
- Item: Adulter_F_T_Sword
- Item: Adulter_F_Cakram
- Item: Adulter_F_Katar
- Item: Adulter_F_Lance
- Item: Adulter_F_T_Staff
- Item: Adulter_F_Rod
- Item: Adulter_F_Humma
- Item: Adulter_F_C_Humma
- Item: Adulter_F_C_Bow
- Item: Adulter_F_Ballista
- Item: Adulter_F_A_Bow
- Item: Adulter_F_Revolver
- Item: Adulter_F_Rifle
- Item: Adulter_F_Shotgun
- Item: Adulter_F_Gatling
- Item: Adulter_F_Launcher
- Item: Adulter_F_G_Sword
- Item: Adulter_F_Lapier
- Item: Adulter_F_Dagger
- Item: Adulter_F_Axe
- Item: Adulter_F_G_Spear
- Item: Adulter_F_M_Book
- Item: Adulter_F_P_Book
- Item: Adulter_F_Bible
- Item: Adulter_F_Moon_B
- Item: Adulter_F_Star_B
- Item: Adulter_F_Wand
- Item: Adulter_F_S_Stick
- Item: Adulter_F_D_Wand
- Item: Adulter_F_F_Wand
- Item: Adulter_F_F_model
- Item: Adulter_F_Knuckle
- Item: Adulter_F_Claw
- Item: Adulter_F_Violin
- Item: Adulter_F_Harp
- Item: Adulter_F_C_Rope
- Item: Adulter_F_Ribbon
- Item: Adulter_F_Mace
- Item: Adulter_F_Hall
- Item: Pontifex_Tenacity
RandomOptionGroup: PONTIFEX_TENACITY
TargetItems:
- Item: Vivatus_F_T_Sword
- Item: Vivatus_F_Cakram
- Item: Vivatus_F_Katar
- Item: Vivatus_F_Lance
- Item: Vivatus_F_T_Staff
- Item: Vivatus_F_Rod
- Item: Vivatus_F_C_Bow
- Item: Vivatus_F_Ballista
- Item: Vivatus_F_A_Bow
- Item: Vivatus_F_G_Sword
- Item: Vivatus_F_Lapier
- Item: Vivatus_F_Dagger
- Item: Vivatus_F_Axe
- Item: Vivatus_F_G_Spear
- Item: Vivatus_F_M_Book
- Item: Vivatus_F_P_Book
- Item: Vivatus_F_Bible
- Item: Vivatus_F_Wand
- Item: Vivatus_F_Knuckle
- Item: Vivatus_F_Claw
- Item: Vivatus_F_Violin
- Item: Vivatus_F_Harp
- Item: Vivatus_F_C_Rope
- Item: Vivatus_F_Ribbon
- Item: Vivatus_F_Mace
- Item: Vivatus_F_Hall
- Item: Vivatus_F_D_Wand
- Item: Vivatus_F_S_Stick
- Item: Vivatus_F_F_Wand
- Item: Vivatus_F_F_model
- Item: Vivatus_F_Star_B
- Item: Vivatus_F_Moon_B
- Item: Vivatus_F_Gatling
- Item: Vivatus_F_Launcher
- Item: Vivatus_F_Rifle
- Item: Vivatus_F_Shotgun
- Item: Vivatus_F_Revolver
- Item: Vivatus_F_C_Humma
- Item: Vivatus_F_Humma
- Item: Pontifex_Belief
RandomOptionGroup: PONTIFEX_BELIEF
TargetItems:
- Item: Vivatus_F_T_Sword
- Item: Vivatus_F_Cakram
- Item: Vivatus_F_Katar
- Item: Vivatus_F_Lance
- Item: Vivatus_F_T_Staff
- Item: Vivatus_F_Rod
- Item: Vivatus_F_C_Bow
- Item: Vivatus_F_Ballista
- Item: Vivatus_F_A_Bow
- Item: Vivatus_F_G_Sword
- Item: Vivatus_F_Lapier
- Item: Vivatus_F_Dagger
- Item: Vivatus_F_Axe
- Item: Vivatus_F_G_Spear
- Item: Vivatus_F_M_Book
- Item: Vivatus_F_P_Book
- Item: Vivatus_F_Bible
- Item: Vivatus_F_Wand
- Item: Vivatus_F_Knuckle
- Item: Vivatus_F_Claw
- Item: Vivatus_F_Violin
- Item: Vivatus_F_Harp
- Item: Vivatus_F_C_Rope
- Item: Vivatus_F_Ribbon
- Item: Vivatus_F_Mace
- Item: Vivatus_F_Hall
- Item: Vivatus_F_D_Wand
- Item: Vivatus_F_S_Stick
- Item: Vivatus_F_F_Wand
- Item: Vivatus_F_F_model
- Item: Vivatus_F_Star_B
- Item: Vivatus_F_Moon_B
- Item: Vivatus_F_Gatling
- Item: Vivatus_F_Launcher
- Item: Vivatus_F_Rifle
- Item: Vivatus_F_Shotgun
- Item: Vivatus_F_Revolver
- Item: Vivatus_F_C_Humma
- Item: Vivatus_F_Humma
- Item: Bio_Helm_Refine_Cube
ResultRefine: 11
MaximumRefine: 10

File diff suppressed because it is too large Load Diff

View File

@@ -14252,7 +14252,7 @@
20943,DEATH_WITCH@NPC_PULSESTRIKE,attack,661,5,2000,0,30000,yes,self,always,0,,,,,,32,
20943,DEATH_WITCH@HW_GANBANTEIN,attack,483,1,2000,0,5000,yes,target,always,0,,,,,,,
// 20943,DEATH_WITCH@NPC_EARTHQUAKE_K,attack,750,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
20943,DEATH_WITCH@NPC_EARTHQUAKE,attack,653,5,10000,1500,25000,no,target,myhpltmaxrate,20,,,,,,,
20943,DEATH_WITCH@NPC_EARTHQUAKE,attack,653,5,10000,1500,25000,no,self,myhpltmaxrate,20,,,,,,,
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,chase,662,2,2000,500,5000,no,self,always,0,,,,,,,
20943,DEATH_WITCH@NPC_HELLJUDGEMENT,attack,662,2,2000,500,5000,no,self,always,0,,,,,,,
20943,DEATH_WITCH@NPC_CLOUD_KILL,attack,739,5,2000,500,16000,no,target,always,0,,,,,,,
@@ -14320,7 +14320,7 @@
20928,CHIMERA_THEONE@WZ_WATERBALL,chase,86,5,5000,1000,35000,no,target,always,0,,,,,,,
// TODO
// 20928,CHIMERA_THEONE@NPC_EARTHQUAKE_K,chase,750,5,10000,500,20000,no,target,myhpltmaxrate,40,,,,,,,
20928,CHIMERA_THEONE@NPC_EARTHQUAKE,chase,653,5,10000,500,20000,no,target,myhpltmaxrate,40,,,,,,,
20928,CHIMERA_THEONE@NPC_EARTHQUAKE,chase,653,5,10000,500,20000,no,self,myhpltmaxrate,40,,,,,,,
20928,CHIMERA_THEONE@NPC_CALLSLAVE,attack,352,1,10000,0,30000,yes,self,always,0,,,,,,,
20928,CHIMERA_THEONE@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,2,20920,20921,20922,20923,,,
20928,CHIMERA_THEONE@NPC_GROUNDATTACK,attack,185,3,500,0,5000,yes,target,always,0,,,,,,6,
@@ -14489,3 +14489,234 @@
21395,ILL_MAYA@NPC_IMMUNE_PROPERTY,attack,754,1,1500,1500,60000,no,self,longrangeattacked,0,,,,,,,
21395,ILL_MAYA@NPC_DAMAGE_HEAL,attack,753,1,500,1500,120000,no,target,myhpltmaxrate,50,,,,,,32,
21395,ILL_MAYA@NPC_ALL_STAT_DOWN,attack,751,5,5000,1500,45000,no,target,always,0,,,,,,18,
// Episode 18
20846,MD_HIDDEN_GROUND01@NPC_GRADUAL_GRAVITY,idle,752,3,1000,0,5000,no,target,always,0,,,,,,,
20846,MD_HIDDEN_GROUND01@NPC_GRADUAL_GRAVITY,attack,752,3,1000,0,5000,no,target,always,0,,,,,,,
21295,EP18_ASH_TOAD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21295,EP18_ASH_TOAD@NPC_GUIDEDATTACK,chase,172,3,2000,0,5000,yes,target,always,0,,,,,,,
21295,EP18_ASH_TOAD@NPC_POISONATTACK,attack,188,5,1000,0,5000,yes,target,always,0,,,,,,,
21295,EP18_ASH_TOAD@NPC_BLINDATTACK,chase,177,5,1000,500,5000,no,target,always,0,,,,,,,
21295,EP18_ASH_TOAD@NPC_BLINDATTACK,attack,177,3,1000,500,5000,no,target,always,0,,,,,,,
21296,EP18_RAKEHAND@NPC_GUIDEDATTACK,attack,172,3,2000,0,5000,yes,target,always,0,,,,,,,
21296,EP18_RAKEHAND@NPC_GROUNDATTACK,attack,185,3,500,500,5000,no,target,always,0,,,,,,12,
21296,EP18_RAKEHAND@NPC_STUNATTACK,attack,179,3,1000,500,5000,no,target,always,0,,,,,,11,
21296,EP18_RAKEHAND@RG_CLOSECONFINE,attack,1005,1,1000,0,30000,yes,target,always,0,,,,,,,
21297,EP18_SPARK@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21297,EP18_SPARK@MG_FIREBOLT,chase,19,3,2000,300,5000,no,target,always,0,,,,,,,
21297,EP18_SPARK@MG_FIREBALL,chase,17,3,5000,0,30000,yes,target,always,0,,,,,,,
21297,EP18_SPARK@NPC_GUIDEDATTACK,attack,172,3,2000,0,30000,yes,target,always,0,,,,,,,
21297,EP18_SPARK@MG_FIREBOLT,attack,19,3,1000,0,10000,yes,target,always,0,,,,,,,
21297,EP18_SPARK@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21297,EP18_SPARK@NPC_SELFDESTRUCTION,attack,173,1,10000,1000,0,no,self,myhpltmaxrate,30,,,,,,,
21297,EP18_SPARK@NPC_SELFDESTRUCTION,chase,173,1,2000,1000,0,no,self,myhpltmaxrate,30,,,,,,,
21298,EP18_HOT_MOLAR@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21298,EP18_HOT_MOLAR@NPC_COMBOATTACK,chase,171,3,5000,0,30000,yes,target,always,0,,,,,,,
21298,EP18_HOT_MOLAR@SM_BASH,attack,5,4,2000,0,5000,yes,target,always,0,,,,,,,
21298,EP18_HOT_MOLAR@NPC_GUIDEDATTACK,chase,172,3,2000,0,300000,yes,target,always,0,,,,,,,
21298,EP18_HOT_MOLAR@NPC_BLEEDING2,attack,764,3,2000,0,5000,yes,target,always,0,,,,,,,
21298,EP18_HOT_MOLAR@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21298,EP18_HOT_MOLAR@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
21299,EP18_VOLCARING@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21299,EP18_VOLCARING@MG_FIREBOLT,chase,19,5,1000,500,30000,yes,target,always,0,,,,,,,
21299,EP18_VOLCARING@NPC_FIREATTACK,attack,186,3,2000,0,5000,yes,target,always,0,,,,,,,
21300,EP18_LAVA_TOAD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21300,EP18_LAVA_TOAD@MG_FIREBOLT,chase,19,3,2000,0,30000,yes,target,always,0,,,,,,,
21300,EP18_LAVA_TOAD@NPC_CRITICALSLASH,attack,170,1,3000,0,10000,yes,target,always,0,,,,,,,
21300,EP18_LAVA_TOAD@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
21300,EP18_LAVA_TOAD@RG_STRIPSHIELD,attack,216,3,3000,0,30000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_COMBOATTACK,idle,171,4,5000,0,5000,yes,target,always,0,,,,,,7,
21301,EP18_BURNING_FANG@NPC_GUIDEDATTACK,chase,172,5,5000,0,1000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_MOVE_COORDINATE,chase,755,1,5000,0,30000,no,target,always,0,,,,,,39,
21301,EP18_BURNING_FANG@NPC_CRITICALWOUND,attack,673,4,500,500,5000,no,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_MENTALBREAKER,attack,159,4,500,1500,5000,yes,target,always,0,,,,,,42,
21301,EP18_BURNING_FANG@NPC_CRITICALSLASH,attack,170,1,10000,0,30000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_MOVE_COORDINATE,attack,755,1,5000,0,60000,no,target,longrangeattacked,0,,,,,,39,
21301,EP18_BURNING_FANG@NPC_CURSEATTACK,attack,181,5,4000,0,30000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_STUNATTACK,attack,179,5,2000,0,30000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@HW_GANBANTEIN,attack,483,1,7000,0,60000,no,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_POWERUP,attack,349,3,3000,0,60000,yes,self,always,0,,,,,,,
21301,EP18_BURNING_FANG@RG_STRIPHELM,attack,218,5,1000,0,30000,yes,target,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_SUMMONSLAVE,idle,196,1,10000,1000,30000,no,self,slavele,3,,,,,,,
21301,EP18_BURNING_FANG@NPC_CALLSLAVE,idle,352,1,10000,0,30000,no,self,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_CALLSLAVE,attack,352,1,10000,0,30000,no,self,always,0,,,,,,,
21301,EP18_BURNING_FANG@NPC_SUMMONSLAVE,attack,196,1,10000,700,10000,no,self,slavele,3,,,,,,,
21302,EP18_ASHHOPPER@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
21302,EP18_ASHHOPPER@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,44,
21302,EP18_ASHHOPPER@NPC_GUIDEDATTACK,chase,172,3,3000,500,30000,yes,target,always,0,,,,,,,
21302,EP18_ASHHOPPER@NPC_POISONATTACK,attack,188,5,1000,0,5000,yes,target,always,0,,,,,,,
21302,EP18_ASHHOPPER@NPC_POISON_BUSTER,attack,742,1,2000,1500,30000,no,self,always,0,,,,,,,
21302,EP18_ASHHOPPER@NPC_CLOUD_KILL,attack,739,3,2000,500,15000,no,target,always,0,,,,,,,
21302,EP18_ASHHOPPER@MO_BODYRELOCATION,chase,264,1,2000,500,5000,yes,target,always,0,,,,,,28,
21303,EP18_ASHRING@NPC_POISON,attack,176,3,500,800,5000,no,target,always,0,,,,,,,
21303,EP18_ASHRING@NPC_POISONATTACK,attack,188,3,2000,0,5000,yes,target,always,0,,,,,,,
21303,EP18_ASHRING@NPC_AGIUP,chase,350,1,1000,0,30000,yes,self,always,0,,,,,,,
21303,EP18_ASHRING@WZ_QUAGMIRE,chase,92,2,500,0,30000,yes,target,always,0,,,,,,6,
21304,EP18_GREY_WOLF@NPC_POISONATTACK,chase,188,3,2000,0,5000,yes,target,always,0,,,,,,,
21304,EP18_GREY_WOLF@NPC_COMBOATTACK,attack,171,3,2000,200,5000,yes,target,always,0,,,,,,,
21304,EP18_GREY_WOLF@NPC_COMBOATTACK,chase,171,3,2000,200,5000,yes,target,always,0,,,,,,,
21304,EP18_GREY_WOLF@NPC_STUNATTACK,attack,179,3,2000,0,5000,yes,target,always,0,,,,,,,
21304,EP18_GREY_WOLF@NPC_STUNATTACK,attack,179,3,2000,0,5000,yes,target,always,0,,,,,,,
21305,EP18_TUMBLE_RING@AL_TELEPORT,idle,26,3,7000,0,5000,yes,self,rudeattacked,0,,,,,,,
21305,EP18_TUMBLE_RING@NPC_CRITICALWOUND,attack,673,1,1000,300,5000,no,target,always,0,,,,,,,
21305,EP18_TUMBLE_RING@NPC_POISONATTACK,attack,188,2,2000,500,15000,no,target,always,0,,,,,,9,
21305,EP18_TUMBLE_RING@NPC_CLOUD_KILL,attack,739,5,2000,0,15000,yes,target,always,0,,,,,,,
21305,EP18_TUMBLE_RING@NPC_AGIUP,chase,350,10,2000,0,100000,yes,self,longrangeattacked,0,,,,,,,
21306,EP18_FIREWIND_KITE@AL_TELEPORT,idle,26,3,7000,0,5000,yes,self,rudeattacked,0,,,,,,,
21306,EP18_FIREWIND_KITE@MG_FIREBOLT,idle,19,5,5000,300,5000,no,target,always,0,,,,,,,
21306,EP18_FIREWIND_KITE@NPC_WINDATTACK,chase,187,5,2000,300,5000,yes,target,always,0,,,,,,,
21306,EP18_FIREWIND_KITE@NPC_FIREATTACK,chase,186,5,3000,300,5000,yes,target,always,0,,,,,,9,
21306,EP18_FIREWIND_KITE@NPC_CRITICALSLASH,attack,170,4,2000,500,15000,no,target,always,0,,,,,,9,
21307,EP18_PHANTOM_WOLF@NPC_GUIDEDATTACK,chase,172,2,5000,0,60000,yes,target,always,0,,,,,,,
21307,EP18_PHANTOM_WOLF@NPC_CRITICALSLASH,attack,170,1,500,300,30000,yes,target,always,0,,,,,,9,
21307,EP18_PHANTOM_WOLF@AS_CLOAKING,idle,135,1,1000,300,30000,yes,self,always,0,,,,,,9,
21307,EP18_PHANTOM_WOLF@AS_GRIMTOOTH,chase,137,5,5000,0,5000,yes,target,always,0,,,,,,,
21307,EP18_PHANTOM_WOLF@ASC_METEORASSAULT,attack,406,8,3000,0,10000,yes,self,always,0,,,,,,,
21307,EP18_PHANTOM_WOLF@ASC_BREAKER,chase,379,10,2000,0,5000,yes,target,always,0,,,,,,,
21308,EP18_MD_HEARTHUNTER_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21308,EP18_MD_HEARTHUNTER_A@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
21308,EP18_MD_HEARTHUNTER_A@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
21308,EP18_MD_HEARTHUNTER_A@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
21308,EP18_MD_HEARTHUNTER_A@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
21309,EP18_MD_THOR_GUARD@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21309,EP18_MD_THOR_GUARD@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21309,EP18_MD_THOR_GUARD@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
21309,EP18_MD_THOR_GUARD@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
21309,EP18_MD_THOR_GUARD@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
21310,EP18_MD_GUARD_A@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21310,EP18_MD_GUARD_A@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21310,EP18_MD_GUARD_A@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
21310,EP18_MD_GUARD_A@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
21310,EP18_MD_GUARD_A@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
21310,EP18_MD_GUARD_A@NPC_STUNATTACK,attack,179,1,500,500,5000,no,target,always,0,,,,,,9,
21311,EP18_MD_GUARD_B@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21311,EP18_MD_GUARD_B@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21311,EP18_MD_GUARD_B@SM_PROVOKE,chase,6,10,2000,100,10000,yes,target,always,0,,,,,,3,
21311,EP18_MD_GUARD_B@NPC_CURSEATTACK,attack,181,5,1000,300,5000,no,target,always,0,,,,,,,
21311,EP18_MD_GUARD_B@CR_AUTOGUARD,attack,249,3,3000,0,300000,no,self,always,0,,,,,,,
21311,EP18_MD_GUARD_B@NPC_STUNATTACK,attack,179,1,500,500,5000,no,target,always,0,,,,,,9,
21312,EP18_MD_HEARTHUNTER_R@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21312,EP18_MD_HEARTHUNTER_R@TF_SPRINKLESAND,attack,149,1,2000,300,30000,yes,target,always,0,,,,,,,
21312,EP18_MD_HEARTHUNTER_R@NPC_CRITICALSLASH,chase,170,1,3000,0,10000,yes,target,always,0,,,,,,,
21312,EP18_MD_HEARTHUNTER_R@SM_MAGNUM,attack,7,5,5000,0,5000,yes,self,attackpcge,2,,,,,,,
21312,EP18_MD_HEARTHUNTER_R@RG_STRIPSHIELD,attack,216,3,3000,0,60000,yes,target,always,0,,,,,,,
21313,EP18_MD_HEARTHUNTER_F@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21313,EP18_MD_HEARTHUNTER_F@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
21313,EP18_MD_HEARTHUNTER_F@NPC_BLINDATTACK,chase,177,3,1000,0,5000,yes,target,always,0,,,,,,39,
21313,EP18_MD_HEARTHUNTER_F@HT_BLASTMINE,idle,122,3,2000,500,180000,no,target,always,0,,,,,,,
21313,EP18_MD_HEARTHUNTER_F@NPC_COMBOATTACK,attack,171,2,3000,500,15000,yes,target,always,0,,,,,,,
21313,EP18_MD_HEARTHUNTER_F@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x2085,,,,,44,
21313,EP18_MD_HEARTHUNTER_F@TF_SPRINKLESAND,attack,149,1,3000,0,30000,yes,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
21314,EP18_MD_SCHULANG@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21314,EP18_MD_SCHULANG@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21314,EP18_MD_SCHULANG@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21314,EP18_MD_SCHULANG@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
21315,EP18_MD_DEMI_FREYJA@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
21315,EP18_MD_DEMI_FREYJA@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
21316,EP18_MD_SCHULANG_R@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21316,EP18_MD_SCHULANG_R@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21316,EP18_MD_SCHULANG_R@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21316,EP18_MD_SCHULANG_R@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
21317,EP18_MD_DEMI_FREYJA_R@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
21317,EP18_MD_DEMI_FREYJA_R@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,
21318,EP18_MD_SANARE_R@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,,
21318,EP18_MD_SANARE_R@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,12,
21318,EP18_MD_SANARE_R@NPC_EMOTION,chase,197,1,500,0,30000,yes,self,always,0,0x0091,,,,,19,
21318,EP18_MD_SANARE_R@AL_HEAL,idle,28,9,7000,500,5000,yes,friend,myhpltmaxrate,50,,,,,,3,
21318,EP18_MD_SANARE_R@NPC_EMOTION,idle,197,1,2000,0,30000,yes,self,always,0,0x3885,,,,,14,
21318,EP18_MD_SANARE_R@AL_HEAL,attack,28,9,7000,500,15000,yes,friend,always,0,,,,,,3,
21318,EP18_MD_SANARE_R@NPC_DARKCROSS,attack,338,5,3000,500,15000,yes,target,always,0,,,,,,,
21318,EP18_MD_SANARE_R@AL_HOLYLIGHT,chase,156,1,3000,300,15000,yes,target,always,0,,,,,,,
21318,EP18_MD_SANARE_R@NPC_HOLYATTACK,chase,189,3,4000,500,15000,yes,target,always,0,,,,,,,
21318,EP18_MD_SANARE_R@AL_HEAL,idle,28,9,10000,700,3000,yes,friend,friendhpltmaxrate,50,,,,,,,
21323,EP18_GREY_GOAT@BS_ADRENALINE,attack,111,10,500,1500,300000,no,self,always,0,,,,,,6,
21323,EP18_GREY_GOAT@BS_ADRENALINE,chase,111,10,500,1500,300000,no,self,always,0,,,,,,6,
21323,EP18_GREY_GOAT@NPC_EMOTION,chase,197,1,200,0,5000,yes,self,always,0,0x1089,,,,,19,
21323,EP18_GREY_GOAT@NPC_SPLASHATTACK,attack,174,1,2000,0,5000,yes,target,attackpcge,2,,,,,,,
21323,EP18_GREY_GOAT@NPC_STUNATTACK,attack,179,3,500,1500,5000,no,target,always,0,,,,,,6,
21323,EP18_GREY_GOAT@NPC_CRITICALWOUND,attack,673,1,500,0,5000,yes,target,always,0,,,,,,,
21323,EP18_GREY_GOAT@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
21323,EP18_GREY_GOAT@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
21324,EP18_GREY_WOLF_BABY@NPC_PROVOCATION,chase,194,1,200,0,5000,yes,target,always,0,,,,,,19,
21324,EP18_GREY_WOLF_BABY@NPC_STUNATTACK,attack,179,3,2000,500,5000,no,target,always,0,,,,,,19,
21324,EP18_GREY_WOLF_BABY@NPC_CRITICALWOUND,attack,673,5,2000,300,10000,no,target,always,0,,,,,,,
21324,EP18_GREY_WOLF_BABY@NPC_GUIDEDATTACK,attack,172,4,1500,300,10000,yes,target,always,0,,,,,,,
21324,EP18_GREY_WOLF_BABY@AL_TELEPORT,chase,26,1,3000,0,300000,yes,self,mobnearbygt,23,,,,,,,
21324,EP18_GREY_WOLF_BABY@AL_TELEPORT,idle,26,1,10000,0,0,yes,self,rudeattacked,0,,,,,,12,
21360,EP18_MD_SCHULANG_L@NPC_TELEKINESISATTACK,attack,191,2,3000,0,5000,yes,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,chase,340,3,3000,200,15000,yes,target,always,0,,,,,,,
// 21360,EP18_MD_SCHULANG_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
21360,EP18_MD_SCHULANG_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_WIDESTONE2,attack,759,3,3000,500,30000,no,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@MG_THUNDERSTORM,attack,21,5,7000,500,30000,no,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@MG_LIGHTNINGBOLT,chase,20,6,3000,300,5000,no,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_WIDECONFUSE2,attack,762,3,3000,500,30000,no,target,always,0,,,,,,,
21360,EP18_MD_SCHULANG_L@NPC_CHANGEWIND,attack,165,1,3000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21360,EP18_MD_SCHULANG_L@NPC_CHANGEHOLY,attack,167,1,5000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21360,EP18_MD_SCHULANG_L@NPC_CHANGETELEKINESIS,attack,169,1,1000,300,120000,yes,self,myhpltmaxrate,50,,,,,,47,
21360,EP18_MD_SCHULANG_L@WZ_VERMILION,chase,85,3,5000,500,60000,no,target,myhpltmaxrate,70,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKNESSATTACK,attack,190,4,3000,0,5000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,attack,340,3,3000,200,15000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_EARTHQUAKE,attack,653,4,2000,500,30000,yes,self,always,0,,,,,,6,
21361,EP18_MD_DEMI_FREYJA_L@NPC_POWERUP,attack,349,3,5000,0,30000,yes,self,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,chase,340,4,3000,200,15000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_BLOODDRAIN,attack,199,1,2000,0,10000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_DARKSTRIKE,attack,340,6,3000,200,15000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDESTONE2,attack,759,5,3000,500,30000,no,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDECONFUSE2,attack,762,5,3000,500,30000,no,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_WIDECURSE2,attack,761,3,3000,500,60000,no,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_HELLJUDGEMENT2,attack,768,5,1000,500,120000,yes,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEDARKNESS,attack,168,1,1000,0,120000,yes,self,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_CHANGEHOLY,attack,167,1,3000,0,120000,yes,self,always,0,,,,,,,
// 21361,EP18_MD_DEMI_FREYJA_L@NPC_DEADLYCURSE2,attack,779,5,5000,1000,30000,no,self,always,0,,,,,,55,
21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,chase,780,3,8000,300,30000,no,target,always,0,,,,,,,
21361,EP18_MD_DEMI_FREYJA_L@NPC_CANE_OF_EVIL_EYE,attack,780,5,7000,300,30000,yes,target,always,0,,,,,,,

File diff suppressed because it is too large Load Diff

View File

@@ -1571,8 +1571,32 @@ Body:
- Id: 3492
Title: (Skilled) Dragon Monster Hunting - Standby
TimeLimit: 4h
- Id: 3493
Title: Conversation with Jarad
- Id: 3494
Title: Conversation with Rohi
- Id: 3495
Title: Conversation with Jeojin
- Id: 3496
Title: Conversation with Squain
- Id: 3497
Title: Conversation with Senado
- Id: 3498
Title: Conversation with Japer
- Id: 3499
Title: Conversation with Shirouan
- Id: 3500
Title: Conversation with Ishira
- Id: 3501
Title: Conversation with Gina
- Id: 3502
Title: Conversation with Hari
- Id: 3503
Title: Examine the Sky
- Id: 3504
Title: Look at the Sky - Standby
- Id: 3505
Title: Report to Junok
TimeLimit: 4h
- Id: 3507
Title: Illusion Investigation Team - Sheshin
@@ -3209,6 +3233,27 @@ Body:
- Id: 5931
Title: "[Standby] Subjugation-Yanggeochon"
TimeLimit: 4h
- Id: 5932
Title: The Abused Child
- Id: 5933
Title: Business Plan Presentation
- Id: 5934
Title: Gathering Training (1)
- Id: 5935
Title: Gathering Training (2)
- Id: 5936
Title: Gathering Training (3)
- Id: 5937
Title: "[Standby] Flower Room's work"
TimeLimit: 4h
- Id: 5938
Title: Gathering Half Flower
- Id: 5939
Title: Gathering Half Flower
- Id: 5940
Title: Gathering Half Flower
- Id: 5941
Title: Gathering Half Flower
- Id: 6000
Title: Job Change to Taekwon
- Id: 6001
@@ -6270,6 +6315,56 @@ Body:
MAGMARING: true
DROSERA: true
MUSCIPULAR: true
- Id: 8681
Title: To Rachel (1)
- Id: 8682
Title: To Rachel (2)
- Id: 8683
Title: Please stop fighting
- Id: 8684
Title: It's over
- Id: 8685
Title: A suspicious movement detected in the temple
- Id: 8686
Title: The Intruder of the Temple
- Id: 8687
Title: Did you break it?
- Id: 8688
Title: Thanks for today's daily food
- Id: 8689
Title: Today's Daily food - Standby
TimeLimit: 4h
- Id: 8690
Title: Thanks for today's daily food
- Id: 8691
Title: Sacred Relics for Essence (1)
- Id: 8692
Title: Sacred Relics for Essence (2)
- Id: 8693
Title: Sacred Relics for Essence (3)
- Id: 8694
Title: Clean Water Procurement - Standby
TimeLimit: 4h
- Id: 8695
Title: Procurement of clean water (1)
- Id: 8696
Title: Procurement of clean water (2)
- Id: 8697
Title: Procurement of clean water (3)
- Id: 8698
Title: Late migration
- Id: 8699
Title: First Step Out of the City
- Id: 8700
Title: I couldn't even come halfway
- Id: 8701
Title: Scenery I've Seen for the First Time
- Id: 8702
Title: Smell of Volcanic Ash
- Id: 8703
Title: The easy way to go
- Id: 8718
Title: My friend's regards
- Id: 8719
Title: A new area somewhere in the anthill
- Id: 8720
@@ -8040,6 +8135,106 @@ Body:
- Id: 11667
Title: Squirrels are rats, too? Standby
TimeLimit: 4h
- Id: 11696
Title: Niren's Request
- Id: 11697
Title: Niren's Request
- Id: 11698
Title: Niren's Request
- Id: 11699
Title: Niren's Request
- Id: 11700
Title: Niren's Request
- Id: 11701
Title: Niren's Request
- Id: 11702
Title: Niren's Request
- Id: 11703
Title: Niren's Request
- Id: 11704
Title: Niren's Request
- Id: 11705
Title: Children of Grey
- Id: 11706
Title: Children of Grey
- Id: 11707
Title: Children of Grey
- Id: 11708
Title: Children of Grey
- Id: 11709
Title: Children of Grey
- Id: 11710
Title: Children of Grey
- Id: 11711
Title: Children of Grey
- Id: 11712
Title: Children of Grey
- Id: 11713
Title: Children of Grey
- Id: 11714
Title: Children of Grey
- Id: 11715
Title: Children of Grey
- Id: 11716
Title: Children of Grey
- Id: 11717
Title: Children of Grey
- Id: 11718
Title: Children of Grey
- Id: 11719
Title: Children of Grey
- Id: 11720
Title: Children of Grey
- Id: 11721
Title: Children of Grey
- Id: 11722
Title: Children of Grey
- Id: 11723
Title: Children of Grey
- Id: 11724
Title: Children of Grey
- Id: 11725
Title: Investigation of Oz Labyrinth
- Id: 11726
Title: Investigation of Oz Labyrinth
- Id: 11727
Title: Investigation of Oz Labyrinth
- Id: 11728
Title: Investigation of Oz Labyrinth
- Id: 11729
Title: Investigation of Oz Labyrinth
- Id: 11730
Title: Investigation of Oz Labyrinth
Targets:
- Id: 1
Location: oz_dun01
Count: 10
- Id: 11731
Title: Investigation of Oz Labyrinth
- Id: 11732
Title: Investigation of Oz Labyrinth
- Id: 11733
Title: Investigation of Oz Labyrinth
- Id: 11734
Title: Investigation of Oz Labyrinth
- Id: 11735
Title: Investigation of Oz Labyrinth
- Id: 11736
Title: Maze of Oz 1st Floor (170lv)
Targets:
- Mob: EP18_ASH_TOAD
Count: 20
- Id: 11737
Title: Maze of Oz Level 1 - Standby
TimeLimit: 4h
- Id: 11738
Title: Maze of Oz Level 2 (200lv)
Targets:
- Mob: EP18_HOT_MOLAR
Count: 20
- Id: 11739
Title: Maze of Oz Level 2 (200lv)
TimeLimit: 4h
- Id: 12000
Title: An old friend
- Id: 12001
@@ -9079,6 +9274,31 @@ Body:
- Id: 12506
Title: Let's try again to seal the crack
TimeLimit: 4h
- Id: 12520
Title: Villa of Deception
- Id: 12521
Title: Villa of Deception Hard
- Id: 12522
Title: Cooldown: Villa of Deception
TimeLimit: 4h
- Id: 12531
Title: Future General Candidate
- Id: 12532
Title: Trouble at the Top
- Id: 12533
Title: The Hidden Helper
- Id: 12534
Title: The Missing Camille
- Id: 12535
Title: The Governor's Decision
- Id: 12536
Title: The Scattered Luggage (North)
- Id: 12537
Title: Scattered Luggage (West)
- Id: 12538
Title: The Scattered Luggage (East)
- Id: 12539
Title: Scattered Luggage (South)
- Id: 13000
Title: RWC2011Card Gathering
- Id: 13001
@@ -11226,6 +11446,90 @@ Body:
Title: Farm Worker
- Id: 16547
Title: Juno Monster Society
- Id: 16548
Title: I can't sleep
Targets:
- Mob: EP18_FIREWIND_KITE
Count: 30
- Id: 16549
Title: I can't sleep
Targets:
- Mob: EP18_FIREWIND_KITE
Count: 30
- Id: 16550
Title: I Can't Sleep - Wait
TimeLimit: 4h
- Id: 16551
Title: The Story of Dinar
- Id: 16552
Title: Amira's Story
- Id: 16553
Title: Shanina's Grandma's Story
- Id: 16554
Title: Please collect the stories
- Id: 16555
Title: The Story of Dinar
- Id: 16556
Title: Amira's Story
- Id: 16557
Title: Shanina's Grandma's Story
- Id: 16558
Title: Please collect the stories
- Id: 16559
Title: Please collect the stories - Standby
TimeLimit: 4h
- Id: 16560
Title: This is not the place
- Id: 16561
Title: This is not the place
- Id: 16562
Title: This is not the place
- Id: 16563
Title: This is not the place
- Id: 16564
Title: This is not the place
- Id: 16565
Title: This is not the place
- Id: 16566
Title: This is not the place
- Id: 16567
Title: The Contest of the Grey Wolf Forest
- Id: 16568
Title: Everyone's Opinion
- Id: 16569
Title: Everyone's Opinion
- Id: 16570
Title: Everyone's Opinion
- Id: 16571
Title: Everyone's Opinion
- Id: 16572
Title: The Contest of the Grey Wolf Forest
- Id: 16573
Title: Source of Weapon
- Id: 16574
Title: Source of Weapon
- Id: 16575
Title: Source of Weapon
- Id: 16576
Title: Source of Weapon
- Id: 16577
Title: Source of Weapon
- Id: 16578
Title: Source of Weapon
- Id: 16579
Title: Source of Weapon
- Id: 16580
Title: Source of Weapon
- Id: 16581
Title: Children Know It
- Id: 16582
Title: Children Know It
- Id: 16583
Title: Children Know It
- Id: 16584
Title: The Price of Labor
- Id: 16585
Title: The Price of Labor
- Id: 17000
Title: Meet with Father Bamph
- Id: 17001
@@ -11487,12 +11791,61 @@ Body:
- Id: 17425
Title: (Standby) Thanatos Tower, 12th floor
TimeLimit: 4h
- Id: 17504
Title: Where's My Home
- Id: 17505
Title: Where's My Home
- Id: 17506
Title: Where's My Home
- Id: 17507
Title: Where's My Home
- Id: 17508
Title: Lack of Supplies
Drops:
- Mob: EP18_GREY_WOLF
Item: Ep18_Very_Ddan_Crystal
Rate: 5000
- Id: 17509
Title: (Standby) Lack of supplies
TimeLimit: 4h
- Id: 17510
Title: There are no bad beasts in the world
- Id: 17511
Title: There are no bad beasts in the world
- Id: 17512
Title: There are no bad beasts in the world
- Id: 17513
Title: The Unexpected Shepherd
- Id: 17514
Title: The Unexpected Shepherd
Targets:
- Mob: EP18_ASHRING
Count: 20
- Id: 17515
Title: The Unexpected Shepherd
- Id: 17516
Title: (Standby) Unexpected shepherd
TimeLimit: 4h
- Id: 17517
Title: The Rebels
- Id: 17518
Title: The Rebels
- Id: 17519
Title: The Rebels
- Id: 17520
Title: Wolf in the Sheep
- Id: 17521
Title: When you need a conversation
- Id: 17522
Title: Cleaning the Traitors
- Id: 17523
Title: Purification of the Sanctuary
- Id: 17524
Title: Cleaning the Traitors
- Id: 17525
Title: When you need a conversation
- Id: 17526
Title: Purification of the Sanctuary
- Id: 17527
Title: (Standby) Cleaning strategy
TimeLimit: 4h
@@ -11621,6 +11974,23 @@ Body:
- Id: 18080
Title: Goseong dungeon 1st floor attack
TimeLimit: 4h
- Id: 18082
Title: Eligibility to Participate in the Competition
- Id: 18083
Title: Investigation of Daishinkan's Villa
- Id: 18084
Title: Fact Investigation
- Id: 18085
Title: The Direction of Prayer
- Id: 18086
Title: Make the Grey Wolf Forest Safer
Targets:
- Id: 1
Location: gw_fild01
Count: 30
- Id: 18087
Title: Safer in the Gray Wolf Forest - Standby
TimeLimit: 4h
- Id: 18100
Title: Legends from Moscovia
- Id: 18101

File diff suppressed because it is too large Load Diff

View File

@@ -7864,3 +7864,178 @@ Body:
Royal_Guard: true
Royal_Guard_T: true
Imperial_Guard: true
- Job: Night_Watch
Inherit:
Novice: true
Gunslinger: true
Rebellion: true
Tree:
- Name: NW_P_F_I
MaxLevel: 10
- Name: NW_GRENADE_MASTERY
MaxLevel: 10
- Name: NW_INTENSIVE_AIM
MaxLevel: 1
Requires:
- Name: NW_P_F_I
Level: 1
- Name: NW_HIDDEN_CARD
MaxLevel: 10
Requires:
- Name: NW_P_F_I
Level: 5
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_BASIC_GRENADE
MaxLevel: 5
Requires:
- Name: NW_GRENADE_MASTERY
Level: 3
- Name: NW_GRENADE_FRAGMENT
MaxLevel: 7
Requires:
- Name: NW_GRENADE_MASTERY
Level: 1
- Name: NW_THE_VIGILANTE_AT_NIGHT
MaxLevel: 5
Requires:
- Name: NW_P_F_I
Level: 3
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_ONLY_ONE_BULLET
MaxLevel: 5
Requires:
- Name: NW_P_F_I
Level: 3
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_SPIRAL_SHOOTING
MaxLevel: 5
Requires:
- Name: NW_P_F_I
Level: 3
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_MAGAZINE_FOR_ONE
MaxLevel: 5
Requires:
- Name: NW_P_F_I
Level: 3
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_WILD_FIRE
MaxLevel: 5
Requires:
- Name: NW_P_F_I
Level: 3
- Name: NW_INTENSIVE_AIM
Level: 1
- Name: NW_HASTY_FIRE_IN_THE_HOLE
MaxLevel: 5
Requires:
- Name: NW_BASIC_GRENADE
Level: 3
- Name: NW_GRENADES_DROPPING
MaxLevel: 5
Requires:
- Name: NW_HASTY_FIRE_IN_THE_HOLE
Level: 3
- Name: NW_AUTO_FIRING_LAUNCHER
MaxLevel: 5
Requires:
- Name: NW_GRENADES_DROPPING
Level: 3
- Name: NW_MISSION_BOMBARD
MaxLevel: 10
Requires:
- Name: NW_GRENADE_MASTERY
Level: 5
- Name: NW_GRENADES_DROPPING
Level: 3
- Job: Hyper_Novice
Inherit:
Novice: true
Supernovice: true
Super_Novice_E: true
Tree:
- Name: HN_SELFSTUDY_TATICS
MaxLevel: 10
- Name: HN_SELFSTUDY_SOCERY
MaxLevel: 10
- Name: HN_DOUBLEBOWLINGBASH
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_TATICS
Level: 5
- Name: HN_SHIELD_CHAIN_RUSH
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_TATICS
Level: 5
- Name: HN_METEOR_STORM_BUSTER
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_JUPITEL_THUNDER_STORM
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_JACK_FROST_NOVA
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_HELLS_DRIVE
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_MEGA_SONIC_BLOW
MaxLevel: 10
Requires:
- Name: HN_DOUBLEBOWLINGBASH
Level: 7
- Name: HN_SPIRAL_PIERCE_MAX
MaxLevel: 10
Requires:
- Name: HN_SHIELD_CHAIN_RUSH
Level: 7
- Name: HN_GROUND_GRAVITATION
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_NAPALM_VULCAN_STRIKE
MaxLevel: 10
Requires:
- Name: HN_SELFSTUDY_SOCERY
Level: 5
- Name: HN_BREAKINGLIMIT
MaxLevel: 1
Requires:
- Name: HN_DOUBLEBOWLINGBASH
Level: 7
- Name: HN_MEGA_SONIC_BLOW
Level: 7
- Name: HN_SHIELD_CHAIN_RUSH
Level: 7
- Name: HN_SPIRAL_PIERCE_MAX
Level: 7
- Name: HN_RULEBREAK
MaxLevel: 1
Requires:
- Name: HN_METEOR_STORM_BUSTER
Level: 5
- Name: HN_JUPITEL_THUNDER_STORM
Level: 5
- Name: HN_JACK_FROST_NOVA
Level: 5
- Name: HN_HELLS_DRIVE
Level: 5
- Name: HN_GROUND_GRAVITATION
Level: 5
- Name: HN_NAPALM_VULCAN_STRIKE
Level: 5

View File

@@ -582,3 +582,33 @@ Body:
- Level: 250
Points: 4099
TraitPoints: 190
- Level: 251
Points: 4099
TraitPoints: 193
- Level: 252
Points: 4099
TraitPoints: 196
- Level: 253
Points: 4099
TraitPoints: 199
- Level: 254
Points: 4099
TraitPoints: 202
- Level: 255
Points: 4099
TraitPoints: 209
- Level: 256
Points: 4099
TraitPoints: 212
- Level: 257
Points: 4099
TraitPoints: 215
- Level: 258
Points: 4099
TraitPoints: 218
- Level: 259
Points: 4099
TraitPoints: 221
- Level: 260
Points: 4099
TraitPoints: 228

View File

@@ -165,6 +165,7 @@ Body:
- Status: Poison
DurationLookup: NPC_POISON
CalcFlags:
Def: true
Def2: true
Regen: true
Opt2:
@@ -261,6 +262,7 @@ Body:
- Status: Dpoison
DurationLookup: NPC_POISON
CalcFlags:
Def: true
Def2: true
Regen: true
Opt2:
@@ -1115,6 +1117,7 @@ Body:
Icon: EFST_GROUNDMAGIC
DurationLookup: SA_VOLCANO
CalcFlags:
Batk: true
Watk: true
Matk: true
Flags:
@@ -1139,8 +1142,14 @@ Body:
NoClearance: true
- Status: Watk_Element
DurationLookup: MS_MAGNUM
Flags:
NoSave: true
EndOnStart:
Watk_Element: true
- Status: Armor
DurationLookup: NPC_DEFENDER
CalcFlags:
Speed: true
- Status: Armor_Element_Water
Icon: EFST_RESIST_PROPERTY_WATER
CalcFlags:
@@ -2163,7 +2172,6 @@ Body:
NoBanishingBuster: true
NoClearance: true
- Status: Inchitrate
DurationLookup: NPC_POWERUP
CalcFlags:
Hit: true
Flags:
@@ -2182,7 +2190,6 @@ Body:
NoBanishingBuster: true
NoClearance: true
- Status: Incfleerate
DurationLookup: NPC_AGIUP
CalcFlags:
Flee: true
Flags:
@@ -2822,6 +2829,7 @@ Body:
CalcFlags:
Flee: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2830,6 +2838,7 @@ Body:
CalcFlags:
Watk: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2838,6 +2847,7 @@ Body:
CalcFlags:
MaxHp: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2846,6 +2856,7 @@ Body:
CalcFlags:
MaxSp: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -2854,6 +2865,7 @@ Body:
CalcFlags:
Hit: true
Flags:
BlEffect: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
@@ -5732,6 +5744,8 @@ Body:
DurationLookup: RA_UNLIMIT
Flags:
DisplayPc: true
NoDispell: true
NoClearance: true
- Status: Kings_Grace
Icon: EFST_KINGS_GRACE
DurationLookup: LG_KINGS_GRACE
@@ -7633,7 +7647,7 @@ Body:
RemoveOnDamaged: true
- Status: Handicapstate_Lightningstrike
Icon: EFST_HANDICAPSTATE_LIGHTNINGSTRIKE
DurationLookup: WH_SWIFTTRAP
DurationLookup: EM_LIGHTNING_LAND
States:
#NoMove: true
#NoCast: true
@@ -7646,7 +7660,7 @@ Body:
RemoveOnDamaged: true
- Status: Handicapstate_Crystallization
Icon: EFST_HANDICAPSTATE_CRYSTALLIZATION
DurationLookup: WH_SOLIDTRAP
DurationLookup: EM_TERRA_DRIVE
States:
#NoMove: true
#NoCast: true
@@ -7660,7 +7674,7 @@ Body:
RemoveOnDamaged: true
- Status: Handicapstate_Conflagration
Icon: EFST_HANDICAPSTATE_CONFLAGRATION
DurationLookup: WH_FLAMETRAP
DurationLookup: EM_CONFLAGRATION
Flags:
BlEffect: true
DisplayPc: true
@@ -7888,6 +7902,8 @@ Body:
BlEffect: true
DisplayPc: true
SendVal1: true
NoDispell: true
NoClearance: true
- Status: Shadow_Weapon
Icon: EFST_SHADOW_WEAPON
DurationLookup: SHC_ENCHANTING_SHADOW
@@ -7933,6 +7949,9 @@ Body:
Flags:
BlEffect: true
DisplayPc: true
NoBanishingBuster: true
NoDispell: true
NoClearance: true
- Status: Ultimate_S
Icon: EFST_ULTIMATE_S
DurationLookup: IG_ULTIMATE_SACRIFICE
@@ -8745,9 +8764,174 @@ Body:
DurationLookup: MT_RUSH_QUAKE
CalcFlags:
All: true
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: G_LIFEPOTION
Icon: EFST_G_LIFEPOTION
Flags:
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: Hnnoweapon
Icon: EFST_NOEQUIPWEAPON
DurationLookup: HN_DOUBLEBOWLINGBASH
- Status: Shieldchainrush
Icon: EFST_SHIELDCHAINRUSH
DurationLookup: HN_SHIELD_CHAIN_RUSH
CalcFlags:
Speed: true
Flags:
BossResist: true
- Status: Mistyfrost
Icon: EFST_MISTYFROST
DurationLookup: HN_JACK_FROST_NOVA
Flags:
BossResist: true
- Status: Groundgravity
Icon: EFST_GROUNDGRAVITY
DurationLookup: HN_GROUND_GRAVITATION
CalcFlags:
Speed: true
Flags:
BossResist: true
- Status: Breakinglimit
Icon: EFST_BREAKINGLIMIT
DurationLookup: HN_BREAKINGLIMIT
- Status: Rulebreak
Icon: EFST_RULEBREAK
DurationLookup: HN_RULEBREAK
- Status: Intensive_Aim
Icon: EFST_INTENSIVE_AIM
States:
NoMove: true
CalcFlags:
Batk: true
Hit: true
Cri: true
Flags:
BlEffect: true
DisplayPc: true
SendVal1: true
NoSave: true
NoBanishingBuster: true
NoDispell: true
NoClearance: true
- Status: Intensive_Aim_Count
Icon: EFST_INTENSIVE_AIM_COUNT
Flags:
DisplayPc: true
SendVal1: true
NoSave: true
NoBanishingBuster: true
NoDispell: true
NoClearance: true
- Status: Grenade_Fragment_1
Icon: EFST_GRENADE_FRAGMENT_1
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_2: true
Grenade_Fragment_3: true
Grenade_Fragment_4: true
Grenade_Fragment_5: true
Grenade_Fragment_6: true
- Status: Grenade_Fragment_2
Icon: EFST_GRENADE_FRAGMENT_2
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_1: true
Grenade_Fragment_3: true
Grenade_Fragment_4: true
Grenade_Fragment_5: true
Grenade_Fragment_6: true
- Status: Grenade_Fragment_3
Icon: EFST_GRENADE_FRAGMENT_3
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_1: true
Grenade_Fragment_2: true
Grenade_Fragment_4: true
Grenade_Fragment_5: true
Grenade_Fragment_6: true
- Status: Grenade_Fragment_4
Icon: EFST_GRENADE_FRAGMENT_4
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_1: true
Grenade_Fragment_2: true
Grenade_Fragment_3: true
Grenade_Fragment_5: true
Grenade_Fragment_6: true
- Status: Grenade_Fragment_5
Icon: EFST_GRENADE_FRAGMENT_5
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_1: true
Grenade_Fragment_2: true
Grenade_Fragment_3: true
Grenade_Fragment_4: true
Grenade_Fragment_6: true
- Status: Grenade_Fragment_6
Icon: EFST_GRENADE_FRAGMENT_6
DurationLookup: NW_GRENADE_FRAGMENT
EndOnStart:
Grenade_Fragment_1: true
Grenade_Fragment_2: true
Grenade_Fragment_3: true
Grenade_Fragment_4: true
Grenade_Fragment_5: true
- Status: Auto_Firing_Launcher
Icon: EFST_AUTO_FIRING_LAUNCHEREFST
DurationLookup: NW_AUTO_FIRING_LAUNCHER
Flags:
SendVal1: true
- Status: Hidden_Card
Icon: EFST_HIDDEN_CARD
DurationLookup: NW_HIDDEN_CARD
CalcFlags:
All: true
Flags:
NoBanishingBuster: true
NoDispell: true
NoClearance: true
- Status: Period_Receiveitem_2nd
Icon: EFST_PERIOD_RECEIVEITEM_2ND
Flags:
NoRemoveOnDead: true
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
SendVal1: true
- Status: Period_Plusexp_2nd
Icon: EFST_PERIOD_PLUSEXP_2ND
Flags:
NoRemoveOnDead: true
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
SendVal1: true
- Status: Powerup
Icon: EFST_POWERUP
DurationLookup: NPC_POWERUP
CalcFlags:
Hit: true
Flags:
NoClearbuff: true
NoDispell: true
NoBanishingBuster: true
NoClearance: true
- Status: Agiup
Icon: EFST_AGIUP
DurationLookup: NPC_AGIUP
CalcFlags:
Speed: true
Flee: true
Flags:
NoClearbuff: true
NoBanishingBuster: true
NoClearance: true
EndOnStart:
Decreaseagi: true

View File

@@ -780,6 +780,28 @@ To drop all weapons in inventory...
---------------------------------------
@stockall {<item type>}
Transfer all items from cart to inventory based on the item type.
Valid item types:
-1 = All (default)
0 = Healing
2 = Usable
3 = Etc
4 = Armors
5 = Weapons
6 = Cards
7 = Pet Eggs
8 = Pet Armors
10 = Ammunition
Example:
To transfer all weapons from cart to inventory...
@stockall 5
---------------------------------------
@storeall
Places all inventory and equipped items directly into your Kafra Storage.

View File

@@ -15,7 +15,7 @@ This list contains all available constants referenced in the 'bonus' commands.
* Status effect (eff)
Eff_Bleeding, Eff_Blind, Eff_Burning, Eff_Confusion, Eff_Crystalize, Eff_Curse, Eff_DPoison,
Eff_Fear, Eff_Freeze, Eff_Poison, Eff_Silence, Eff_Sleep, Eff_Stone, Eff_Stun, Eff_Freezing,
Eff_Heat, Eff_Deepsleep, Eff_WhiteImprison
Eff_Heat, Eff_Deepsleep, Eff_WhiteImprison, Eff_Hallucination
* Element (e)
Ele_Dark, Ele_Earth, Ele_Fire, Ele_Ghost, Ele_Holy, Ele_Neutral, Ele_Poison,
@@ -31,7 +31,7 @@ This list contains all available constants referenced in the 'bonus' commands.
RC2_Bio5_Swordman_Thief, RC2_Bio5_Acolyte_Merchant, RC2_Bio5_Mage_Archer, RC2_Bio5_MVP,
RC2_Clocktower, RC2_Thanatos, RC2_Faceworm, RC2_Hearthunter, RC2_Rockridge, RC2_Werner_Lab,
RC2_Temple_Demon, RC2_Illusion_Vampire, RC2_Malangdo, RC2_EP172ALPHA, RC2_EP172BETA, RC2_EP172BATH,
RC2_Illusion_Turtle, RC2_Rachel_Sanctuary
RC2_Illusion_Turtle, RC2_Rachel_Sanctuary, RC2_Illusion_Luanda
* Class (c)
Class_Normal, Class_Boss, Class_Guardian, Class_All

View File

@@ -125,6 +125,12 @@ item delay, etc).
---------------------------------------
*trade_unconditional
Allows player to ignore the trade conditions of items (drop, trade, sell, cart, storage/gstorage, mail and auction).
---------------------------------------
======================
| 3. Command-related |
======================

View File

@@ -20,11 +20,30 @@ Title: Quest title.
TimeLimit: Amount of time before the quest expires.
Use a number followed by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
Specifying with "+" will mark how long until the quest expires.
Specifying without "+" will mark the exact time the quest expires. Format: "d" (optional), [0-23]"h" (required), [0-59]"mn" (optional), [0-59]"s" (optional).
Use a number followed by "d" for day(s), "h" for hour(s), "mn" for minute(s), and "s" for second(s).
Format: "d" (optional), [0-23]"h" (optional), [0-59]"mn" (optional), [0-59]"s" (optional).
Please note the number before "d" only shifts the exact timer to the given day(s).
Example:
- Id: 2069
Title: Tierra Gorge Battle
# The quest expires 5 minutes after being taken.
TimeLimit: +5mn
Specifying without "+" will mark the exact time the quest expires.
Use a number followed by "d" for day(s) to shift the exact timer to the given day(s) or use the days of the week to set the expiration day,
and "h" for hour(s), "mn" for minute(s), and "s" for second(s).
Format: [days of the week] or "d" (optionals), [0-23]"h" (optional), [0-59]"mn" (optional), [0-59]"s" (optional).
Examples:
- Id: 9419
Title: Attack Sky Fortress Invading Prontera
# The quest expires 3 days after being taken at 4am.
TimeLimit: 3d 4h
- Id: 5965
Title: "[Standby] Devil's Special"
# The quest expires Monday at 4am.
TimeLimit: Monday 4h
---------------------------------------

View File

@@ -4212,7 +4212,11 @@ invoking RID. It returns 1 if successful and 0 upon failure.
4: All players in a specified area of the map of the invoking player (or NPC).
[ Parameters: <x0>,<y0>,<x1>,<y1> ]
5: All players in the map.
[ Parameters: "<map name>" ]
[ Parameters: "<map name>" ]
6: Battleground members of a specified battleground ID.
[ Parameters: <battleground id> ]
7: Clan members of a specified clan ID.
[ Parameters: <clan id> ]
Account ID: If type is Account ID, attach the specified account ID.
<flag> can prevent certain players from being attached:
@@ -7477,10 +7481,10 @@ This command lets you override the contents of an existing NPC shop or cashshop.
current sell list will be wiped, and only the items specified with the price
specified will be for sale.
The function returns 1 if shop was updated successfully, or 0 if not found.
The function returns 1 if shop was updated successfully, or 0 on failure.
NOTES:
- That you cannot use -1 to specify default selling price!
- That you cannot use -1 to specify default selling price for cashshops, pointshops, or itemshops.
- If the attached shop type is a market shop, notice that there is an extra parameter after price, <stock>. Make sure to not add duplicate items! For unlimited stock use -1.
---------------------------------------
@@ -7492,10 +7496,10 @@ This command will add more items at the end of the selling list for the
specified NPC shop or cashshop. If you specify an item already for sell, that item will
appear twice on the sell list.
The function returns 1 if shop was updated successfully, or 0 if not found.
The function returns 1 if shop was updated successfully, or 0 on failure.
NOTES:
- That you cannot use -1 to specify default selling price!
- That you cannot use -1 to specify default selling price for cashshops, pointshops, or itemshops.
- If attached shop type is market shop, need an extra param after price, it's <stock>
and make sure don't add duplication item! For unlimited stock use -1.
@@ -7539,6 +7543,13 @@ Update an entry from a shop. If the price is 0 it won't be changed. May also be
marketshop to update the stock quantity. For unlimited stock, use -1.
For other shop types, the stock value has no effect.
If the price is -1, it sets it to the default buy price.
The function returns 1 if shop was updated successfully, or 0 on failure.
NOTES:
- That you cannot use -1 to specify default selling price for cashshops, pointshops, or itemshops.
---------------------------------------
*waitingroom "<chatroom name>",<limit>{,"<event label>"{,<trigger>{,<required zeny>{,<min lvl>{,<max lvl>}}}}};
@@ -8413,6 +8424,14 @@ error message instead.
This command requires packet version 2021-11-03 or newer.
---------------------------------------
*opentips({<Tip ID>,{<char ID>}});
Opens the tip box UI for the attached player or the given character ID.
This command requires packet version 2017-11-22 or newer.
---------------------------------------
\\
6,1.- Unit-related commands
@@ -8947,8 +8966,9 @@ Get info of elemental of attached player or player by char_id.
Other info can be obtained by 'getunitdata' command.
Valid types are:
0: Elemental ID
1: Elemental Game ID
ELEMINFO_ID Elemental ID (ID unique to elementals unit type)
ELEMINFO_GAMEID Elemental Game ID
ELEMINFO_CLASS Elemental Class (ID defined in elemental_db.yml)
---------------------------------------
\\
@@ -10013,7 +10033,7 @@ Remove the quest of the given <ID> from the user's quest log.
*changequest <ID>,<ID2>{,<char_id>};
Remove quest of the given <ID> from the user's quest log.
Add quest of the <ID2> to the the quest log, and the state is "active".
Add quest <ID2> to the quest log, and the state is "active".
---------------------------------------
@@ -11117,7 +11137,7 @@ Use <color> hex code to set the color for this channel, if not defined, default
channel color will be used.
If <char_id> is defined, the channel will be a private channel and the player
will be the the channel owner.
will be the channel owner.
Returns 1 on success.
@@ -11132,6 +11152,17 @@ Returns 1 on success.
---------------------------------------
*channel_join "<channel_name>"{, <char_id>};
Join an existing channel.
The command returns 0 upon success, and these values upon failure:
-1 : Invalid channel or player
-2 : Player already in channel
-3 : Player banned
-4 : Reached max limit
---------------------------------------
*channel_setopt "<chname>",<option>,<value>;
Set option for the channel. Use 1 in <value> to set it, or 0 to unset.
@@ -11359,3 +11390,60 @@ Note: Only works with classes that use the ranking system.
Returns true if the player is dead else false.
---------------------------------------
*has_autoloot({<char_id>});
This command checks whether a player configured autoloot.
Returns current autoloot value on success.
---------------------------------------
*autoloot({<rate>{, <char_id>}});
This command sets the rate of autoloot.
If no rate is provided and the user has autoloot disabled it will default to 10000 = 100% (enabled) or
if the user has autoloot enabled it will default to 0 = 0% (disabled).
Returns true on success and false on failure.
Example:
autoloot(); // toggle on/off depend on existing autoloot
autoloot(0); // 0.00% or off
autoloot(100); // 1.00%
autoloot(3333); // 33.33%
autoloot(10000); // 100.00%
---------------------------------------
*setdialogalign(<align>);
Set vertical or horizontal align in NPC dialog.
Valid aligns:
- horizontal align:
DIALOG_ALIGN_LEFT
DIALOG_ALIGN_CENTER
DIALOG_ALIGN_RIGHT
- vertical align:
DIALOG_ALIGN_TOP
DIALOG_ALIGN_MIDDLE
DIALOG_ALIGN_BOTTOM
---------------------------------------
*setdialogsize(<width>, <height>)
Set size for NPC dialog in pixels.
---------------------------------------
*setdialogpos(<x>, <y>)
Set position for NPC dialog in pixels.
---------------------------------------
*setdialogpospercent(<x>, <y>)
Set position for NPC dialog in screen size percent.
---------------------------------------

View File

@@ -2832,3 +2832,13 @@ SC_WEAPONBREAKER
desc: Bonus given when using NPC_WEAPONBRAKER skill
val1: Skill level
val2: val1 * 2 weapon break chance
SC_POWERUP
desc: Increases ATKpercent and Hit.
val1: + ATKpercent
val2: +% Hit
SC_AGIUP
desc: Increase Speed and Flee.
val1: +% Walkspeed
val2: +% Flee

View File

@@ -823,7 +823,7 @@ airplane_01,50,66,5 script Apple Merchant#air01 86,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Meltz]";

View File

@@ -389,7 +389,7 @@ bat_room,160,150,3 script Erundek 109,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Erundek]";

View File

@@ -18,7 +18,7 @@ bat_room,133,178,5 script Flavius Officer#01a 418,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Guillaume Army Officer]";
@@ -87,7 +87,7 @@ bat_room,133,121,1 script Flavius Officer#01b 414,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Croix Army Officer]";
@@ -220,7 +220,7 @@ bat_room,148,178,5 script Flavius Officer#02a 418,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Guillaume Army Officer]";
@@ -289,7 +289,7 @@ bat_room,148,121,1 script Flavius Officer#02b 414,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Croix Army Officer]";

View File

@@ -30,7 +30,7 @@ bat_room,151,144,3 script KVM Logistic Officer#a 734,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Logistics]";

View File

@@ -19,7 +19,7 @@ bat_room,124,178,5 script Tierra Gorge Officer#01a 418,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Guillaume Army Officer]";
@@ -88,7 +88,7 @@ bat_room,140,178,5 script Tierra Gorge Officer#02a 418,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Guillaume Army Officer]";
@@ -225,7 +225,7 @@ bat_room,125,121,1 script Tierra Gorge Officer#01b 414,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Croix Army Officer]";
@@ -294,7 +294,7 @@ bat_room,140,121,1 script Tierra Gorge Officer#02b 414,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Croix Army Officer]";

View File

@@ -455,7 +455,7 @@ xmas,134,112,4 script Snowman 710,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close2;
cutin "",255;
end;

View File

@@ -34,7 +34,7 @@
//= 1.6 - Dungeon warp [Neouni] (beta only)
// - added option to add a extra fee for going down deeper into dungeon
// partly by rebuilding the dungeon warping into variable menu's
//= 1.6a - alot of fixes for beta release [Neouni] (public release)
//= 1.6a - a lot of fixes for beta release [Neouni] (public release)
// - fixed syntax problems
// - fixed missing pyramid gats in @DGat$ array
// - removed the culver level 5 that didn't exist

View File

@@ -14,7 +14,7 @@
//= with needed amount of Holy Water. Every citizen can take his part in the
//= saving of Prontera city. After some days of quiet life... the Cemetery strikes back.
//===== Additional Comments: =================================
//= 1.1 More advanced ver. Added some bonus the the one who'd kill the last walking undead
//= 1.1 More advanced ver. Added some bonus for the one who'd kill the last walking undead
//= 1.2 Added coords to the script to make label OmMobDead working
//= 1.2a Changed item names to item IDs. [Samuray22]
//============================================================

View File

@@ -97,7 +97,7 @@ M_CHOCO:
mes "[Stephen]";
mes "Hah!";
mes "I knew it!";
mes "But I can't sell you more then 5 at once....but, if you really need more....";
mes "But I can't sell you more than 5 at once....but, if you really need more....";
mes "you can come back again.";
mes "So how many do you want?";
next;
@@ -158,7 +158,7 @@ alberta,29,243,4 script Jainie#val1 53,{
M_CHOCO:
mes "[Jainie]";
mes "I can't sell you more then 5 at once....but, if you really need more....";
mes "I can't sell you more than 5 at once....but, if you really need more....";
mes "you can come back again.";
mes "So how many do you want? 1 portion is 4500z + 1 Milk.";
next;

View File

@@ -155,7 +155,7 @@ function Job_Options {
//dispbottom "Debug: eac ("+.@eac+"), third ("+.@third_possible+"), rebirth("+.@rebirth_possible+"), BaseClass ("+BaseClass+"), BaseJob ("+BaseJob+")";
// From here on the jobmaster checks the current class
// and fills the the array `.@job_opt` with possible
// and fills the array `.@job_opt` with possible
// job options for the player.
if( .@rebirth_possible ) {

View File

@@ -81,7 +81,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -95,7 +95,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;
@@ -214,7 +214,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -228,7 +228,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;
@@ -358,7 +358,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -372,7 +372,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;

View File

@@ -81,7 +81,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -95,7 +95,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;
@@ -214,7 +214,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -228,7 +228,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;
@@ -357,7 +357,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
mes "I am Morestone and I collect rare gems.";
next;
mes "[Morestone]";
mes "In my travels, I was told that there were alot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "In my travels, I was told that there were a lot of gems in Valfreyja and Nidhoggur, so I came down here.";
mes "But here, the soil is very hard to dig into. Fortunately, my ^3131FFPickaxe^000000 never lets me down!";
next;
select("Pickaxe!");
@@ -371,7 +371,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 826,{
next;
select("Something strange??");
mes "[Morestone]";
mes "No, but it was worth quite alot.";
mes "No, but it was worth quite a lot.";
mes "But we did not have much time to celebrate. Suddenly, a monster appeared that stole my pickaxe.";
mes "His name was^3131FFKublin^000000!";
next;

View File

@@ -37,7 +37,7 @@ alberta,26,243,4 script Stephen 58,{
mes "[Stephen]";
mes "Hah!";
mes "I knew it!";
mes "But I can't sell you more then 5 at once... but, if you really need more....";
mes "But I can't sell you more than 5 at once... but, if you really need more....";
mes "you can come back again.";
mes "So how many do you want?";
next;

View File

@@ -885,7 +885,7 @@ OnRecvCastle:
next;
cutin "",255;
mes "["+strnpcinfo(1)+"]";
mes "The Contract terms of the hired Kafra Employee are for 1 month and after this term, you will need to to pay an additional fee.";
mes "The Contract terms of the hired Kafra Employee are for 1 month and after this term, you will need to pay an additional fee.";
mes "It will be useful for our members.";
close;
case 2:

View File

@@ -833,7 +833,7 @@ OnTouch_:
mes "Now, we shall test you once more! Keep in mind, you must answer 9 questions out of 10 correctly. Remember I am doing you a favor...";
next;
mes "[The Anonymous One]";
mes "You must answer 9 questions out of 10 correctly. If you miss more then one question, you can never become an Assassin.";
mes "You must answer 9 questions out of 10 correctly. If you miss more than one question, you can never become an Assassin.";
next;
mes "[The Anonymous One]";
mes "Okay,";

View File

@@ -1272,7 +1272,7 @@ OnTouch_:
case 4: mapannounce "job_hunte",strcharinfo(0) + ", has failed me! Go back to where you started!",bc_map; break;
case 5: mapannounce "job_hunte",strcharinfo(0) + ", you have blundered into a trap. I'm sorry, but for now, YOU LOSE.",bc_map; break;
case 6: mapannounce "job_hunte",strcharinfo(0) + ", what are you doing!? Go back and do it again!",bc_map; break;
case 7: mapannounce "job_hunte",strcharinfo(0) + ", come on! You can do better then this!! Try again!",bc_map; break;
case 7: mapannounce "job_hunte",strcharinfo(0) + ", come on! You can do better than this!! Try again!",bc_map; break;
case 8: mapannounce "job_hunte",strcharinfo(0) + ", has fallen into a trap...again. But don't worry, you're getting better.",bc_map; break;
case 9: mapannounce "job_hunte",strcharinfo(0) + ", fail, fail, fail... Go back to where you started!",bc_map; break;
case 10: mapannounce "job_hunte",strcharinfo(0) + "... aww~ Try again! You can do it!",bc_map; break;

View File

@@ -2165,7 +2165,7 @@ monk_test,319,139,1 script Tomoon#mk 52,{
mes "My name is Tomoon, I am in charge of the last test of spiritual training!";
next;
mes "[Tomoon]";
mes "Now you don't need to be instructed any more then this:";
mes "Now you don't need to be instructed any more than this:";
mes "^990000Terminate every living thing in your way!^000000 That's all!";
next;
mes "[Tomoon]";

View File

@@ -228,7 +228,7 @@ poring_w01,96,97,3 script Sweet Devi#wop 738,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Deviruchi]";
@@ -626,7 +626,7 @@ poring_w02,26,181,3 script Mr. Doppel#wop_team_a 739,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
set .@a_tname$,getpartyname($@wop_team_a);
@@ -757,7 +757,7 @@ poring_w02,170,181,3 script Mr. Doppel#wop_team_d 739,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
set .@d_tname$,getpartyname($@wop_team_d);
@@ -1221,7 +1221,7 @@ poring_w02,99,201,3 script Deviruchi#wop_endmaster 738,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
set .@a_point,$@wop_deadcount_a;

View File

@@ -21,7 +21,7 @@ ayothaya,203,169,3 script Noi#ayo 839,{
mes "by a dense forest.";
next;
mes "[Noi]";
mes "There are many tourist attractions in this village that you won't be able to find anywhere else. Our fish markets and the the unique architecture of our buildings is enough reason to visit Ayotaya.";
mes "There are many tourist attractions in this village that you won't be able to find anywhere else. Our fish markets and the unique architecture of our buildings are enough reason to visit Ayotaya.";
next;
mes "[Noi]";
mes "Please feel free";

View File

@@ -17,7 +17,7 @@
//= 1.4b Uncommented ANOTHER warp! Yay! :D [L0ne_W0lf]
//============================================================
//= Sograt Dessert ===========================================
//= Sograt Desert ===========================================
//moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild04,317,376
moc_fild01,101,16,0 warp mocf01-1 15,3,moc_fild20,210,342
moc_fild01,22,242,0 warp mocf005 2,2,prt_fild09,380,237

View File

@@ -401,7 +401,7 @@ geffen_in,141,140,3 script Morgenstein#cm 121,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
if (MISC_QUEST & 4) {

View File

@@ -605,7 +605,7 @@ prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{
mes "After learning Level 2 Teleport, you can learn ^3131FFWarp Portal^000000 which will allow you to warp to a Memo Point, or saved destination, by consuming ^FF00001 Blue Gemstone^000000.";
next;
mes "[Asthe]";
mes "Once you have mastered Warp Portal you can ^3131FFremember three Memo Points^000000. You can't save Memo Points in in most fields or dungeons, but you can use the ^FF0000/memo^000000 command in";
mes "Once you have mastered Warp Portal you can ^3131FFremember three Memo Points^000000. You can't save Memo Points in most fields or dungeons, but you can use the ^FF0000/memo^000000 command in";
mes "towns and certain fields.";
next;
mes "[Asthe]";

File diff suppressed because it is too large Load Diff

View File

@@ -1804,7 +1804,7 @@ yuno_in03,20,18,6 script Nehris#1 726,{
close;
case 2:
mes "[Nehris]";
mes "This crown is inspired by the the one worn by the 'Isis' monster. It has a elegant look fitting for ancient royalty.";
mes "This crown is inspired by the one worn by the 'Isis' monster. It has an elegant look fitting for ancient royalty.";
next;
if (countitem(10006) > 0 && countitem(714) > 0 && countitem(969) > 2 && Zeny > 19999) {
mes "[Nehris]";

View File

@@ -2720,7 +2720,7 @@ mid_camp,123,290,4 script Otto#ep13bs 967,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
if (ep13_newbs == 23) {
@@ -3049,7 +3049,7 @@ mid_campin,106,122,4 script Receptionist Brink#ep13b 89,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
else {
@@ -3448,7 +3448,7 @@ spl_fild02,348,76,0 script Tree#ep13bs1::ep13tree 111,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
if (ep13_newbs == 6) {
@@ -9263,7 +9263,7 @@ mid_campin,94,118,3 script Staff Officer Abidal 755,{
mes "As a last resort, they had to select Commander Agip since he's unaffiliated with any of those countries, but is talented enough to lead the expedition.";
next;
mes "[Staff Officer Abidal]";
mes "We, the commander, Igrid, and I aren't used to the the leadership role. We're having trouble taking care of everything that's happening. *Sigh*";
mes "We, the commanders, Igrid, and I aren't used to the leadership role. We're having trouble taking care of everything that's happening. *Sigh*";
next;
mes "[Staff Officer Abidal]";
mes "The members of the Midgard Expedition are conducting various kinds of research about the Ash-Vacuum searching for possible living creatures and studying what might be beneficial for the development of the mainland.";

View File

@@ -743,7 +743,7 @@ alberta,136,79,1 script Hat store girl#new30 71,{
}
else {
mes "[Tempestra]";
mes "I will tell you a secret, beause you gave me the Yellow Potion~";
mes "I will tell you a secret, because you gave me the Yellow Potion~";
next;
mes "[Tempestra]";
mes "I'm looking forward seeing you again~~";
@@ -808,7 +808,7 @@ alberta,136,79,1 script Hat store girl#new30 71,{
}
else {
mes "[Tempestra]";
mes "I will tell you a secret, beause you gave me the Yellow Potion~";
mes "I will tell you a secret, because you gave me the Yellow Potion~";
next;
mes "[Tempestra]";
mes "I'm looking forward seeing you again~~";
@@ -872,7 +872,7 @@ alberta,136,79,1 script Hat store girl#new30 71,{
}
else {
mes "[Tempestra]";
mes "I will tell you a secret, beause you gave me the Yellow Potion~";
mes "I will tell you a secret, because you gave me the Yellow Potion~";
next;
mes "[Tempestra]";
mes "I'm looking forward seeing you again~~";

View File

@@ -2922,7 +2922,7 @@ geffen_in,71,112,2 script Blacksmith#SaYumMoon 731,{
mes "5 Live Coals^000000";
next;
mes "[Aumgarl]";
mes "It's quite alot, huh?";
mes "It's quite a lot, huh?";
mes "These are necessary supplies.";
mes "We need them to repair the sword.";
mes "I'll go find some other materials.";

View File

@@ -6399,7 +6399,7 @@ lighthalzen,179,170,4 script Ordinary Man 4W_M_02,{
mes "Ghalstein that you";
mes "just heard, he reacted";
mes "pretty strongly to what";
mes "you said to to him. Almost";
mes "you said to him. Almost";
mes "as if he had something to hide... ^000000";
close;
}

View File

@@ -9935,7 +9935,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "I don't understand you. What do you want? Kehehehehe.";
close;
} else if (.@input > 100) {
mes "I said no more then 100 at a time. Kehehehehe.";
mes "I said no more than 100 at a time. Kehehehehe.";
next;
} else break;
}

View File

@@ -430,7 +430,7 @@ yuno_in01,103,157,3 script Bain#juno 98,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
if (countitem(974) > 0 && countitem(612) > 4 && countitem(1003) > 4 && countitem(7068) > 4 && countitem(7043) > 4 && countitem(757) > 2 && countitem(756) > 2 && Zeny > 2000) {
@@ -562,7 +562,7 @@ yuno_in01,100,153,7 script Bajin 47,0,0,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
if (countitem(974) > 0 && countitem(612) > 4 && countitem(1003) > 4 && countitem(7068) > 4 && countitem(7043) > 4 && countitem(757) > 2 && countitem(756) > 2 && Zeny > 2000) {

View File

@@ -9757,7 +9757,7 @@ que_sign01,122,141,4 script Witch#s 792,{
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
mes "[Kirkena]";

View File

@@ -191,7 +191,7 @@ dewata,114,243,6 script Lazy Young Man#dew 536,1,1,{
mes "[Lazy Young Man]";
mes "Really? For me?? I'll give you this in return... Thanks... Hehe~";
delitem 11534,1; //Coco_Juice
getrandgroupitem(IG_GiftBox),1;
getgroupitem(IG_GiftBox);
close;
case 2:
mes "[Lazy Young Man]";

View File

@@ -3710,7 +3710,7 @@ lasagna,85,93,5 script Shaman meow#dorcon 4_DR_KID_01,{
npctalk "Meow meow", "", bc_self;
next;
mes "[Shaman meow]";
mes "When I told him that “a noble person from a new place solves the problem,” I meant that the the problem will move onto ^0000cda new person^000000. Seems like he misunderstood me and sent you.";
mes "When I told him that “a noble person from a new place solves the problem,” I meant that the problem will move onto ^0000cda new person^000000. Seems like he misunderstood me and sent you.";
next;
mes "[" + strcharinfo(0) + "]";
mes "T-then, you've also...";

View File

@@ -481,7 +481,7 @@ function GuardianData;
next;
cutin "",255;
mes .@npc_name$;
mes "The Contract terms of the hired Kafra Employee are for 1 month and after this term, you will need to to pay an additional fee.";
mes "The Contract terms of the hired Kafra Employee are for 1 month and after this term, you will need to pay an additional fee.";
mes "It will be useful for our members.";
close;

View File

@@ -10,6 +10,7 @@
//= 1.0 Initial release [crazyarashi]
//= 1.1 Optimizations and cleanup [Everade]
//= 1.2 Cleanup [Capuche]
//= 1.3 Updated monsters spawn times (significantly reduced). [Atemo]
//============================================================
ba_maison,120,320,0 script #herbs_chk HIDDEN_WARP_NPC,3,3,{
@@ -1623,36 +1624,36 @@ OnSummon:
'total_mobs = 16;
monster 'map_herbs$,77,197,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,51,196,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,63,217,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,81,195,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,61,217,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,57,193,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,56,191,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,59,193,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,59,192,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,60,222,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,58,191,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,78,199,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,54,192,"Flower Garden Watcher",20626,1, .@event$;
monster 'map_herbs$,79,195,"Flower Garden Watcher",20622,1, .@event$;
sleep 9000;
sleep 100;
monster 'map_herbs$,76,192,"Flower Garden Watcher",20626,1, .@event$;
monster 'map_herbs$,51,196,"Flower Garden Watcher",20624,1, .@event$;
}
else {
'total_mobs = 16;
monster 'map_herbs$,53,197,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,62,217,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,57,219,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,79,200,"Flower Garden Watcher",20623,1, .@event$;
@@ -1660,14 +1661,14 @@ OnSummon:
monster 'map_herbs$,80,199,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,58,193,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,56,192,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,51,191,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,51,192,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,83,199,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,83,191,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,83,196,"Flower Garden Watcher",20623,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,57,193,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,62,222,"Flower Garden Watcher",20623,1, .@event$;
}
@@ -1678,15 +1679,15 @@ OnSummon:
monster 'map_herbs$,114,226,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,114,227,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,119,217,"Flower Garden Watcher",20624,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,118,227,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,116,216,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,114,215,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,114,225,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,114,224,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,139,205,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,140,202,"Flower Garden Watcher",20622,1, .@event$;
@@ -1708,30 +1709,30 @@ OnSummon:
monster 'map_herbs$,142,205,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,145,200,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,146,201,"Flower Garden Watcher",20625,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,147,201,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,141,208,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,166,224,"Flower Garden Watcher",20625,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,171,217,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,172,225,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,173,214,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,174,225,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,174,223,"Flower Garden Watcher",20627,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,170,213,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,169,219,"Flower Garden Watcher",20623,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,136,205,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,136,210,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,120,224,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,118,223,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,117,219,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,115,214,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,115,233,"Flower Garden Watcher",20623,1, .@event$;
}
break;
@@ -1740,45 +1741,45 @@ OnSummon:
'total_mobs = 28;
monster 'map_herbs$,213,205,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,202,214,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,202,213,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,210,212,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,211,207,"Flower Garden Watcher",20624,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,209,214,"Flower Garden Watcher",20624,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,203,212,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,218,194,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,203,196,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,215,201,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,204,193,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,205,213,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,218,208,"Flower Garden Watcher",20622,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,210,210,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,245,214,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,220,192,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,248,208,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,253,208,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,253,208,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,246,212,"Flower Garden Watcher",20624,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,251,210,"Flower Garden Watcher",20622,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
monster 'map_herbs$,222,195,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,203,212,"Flower Garden Watcher",20624,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,208,213,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,219,192,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,245,209,"Flower Garden Watcher",20626,1, .@event$;
@@ -1787,35 +1788,35 @@ OnSummon:
'total_mobs = 27;
monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,217,204,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,210,210,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,218,195,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,211,209,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,210,211,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,207,194,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,216,192,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,208,211,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,214,208,"Flower Garden Watcher",20623,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,209,214,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,215,201,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,205,214,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,205,214,"Flower Garden Watcher",20625,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,220,207,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,208,213,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,202,212,"Flower Garden Watcher",20623,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,202,193,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,206,214,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,245,212,"Flower Garden Watcher",20627,1, .@event$;
@@ -1849,15 +1850,15 @@ OnSummon:
monster 'map_herbs$,285,210,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,283,228,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,294,252,"Flower Garden Watcher",20624,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,295,247,"Flower Garden Watcher",20626,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,294,245,"Flower Garden Watcher",20624,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,281,232,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,287,219,"Flower Garden Watcher",20626,1, .@event$;
monster 'map_herbs$,302,239,"Flower Garden Watcher",20626,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,307,217,"Flower Garden Watcher",20622,1, .@event$;
monster 'map_herbs$,300,235,"Flower Garden Watcher",20624,1, .@event$;
monster 'map_herbs$,295,249,"Flower Garden Watcher",20624,1, .@event$;
@@ -1873,18 +1874,18 @@ OnSummon:
monster 'map_herbs$,284,236,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,283,235,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,304,240,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,298,246,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,305,224,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,310,225,"Flower Garden Watcher",20627,1, .@event$;
sleep 9000;
sleep 100;
monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,298,213,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,308,224,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,290,210,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,310,224,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,308,220,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,284,211,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,284,218,"Flower Garden Watcher",20623,1, .@event$;
@@ -1892,22 +1893,22 @@ OnSummon:
monster 'map_herbs$,281,231,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,280,226,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,285,210,"Flower Garden Watcher",20625,1, .@event$;
sleep 6000;
sleep 100;
monster 'map_herbs$,280,227,"Flower Garden Watcher",20623,1, .@event$;
monster 'map_herbs$,285,234,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,283,236,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,284,233,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,284,237,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,284,239,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,293,246,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,300,247,"Flower Garden Watcher",20627,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,294,253,"Flower Garden Watcher",20627,1, .@event$;
monster 'map_herbs$,302,240,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,299,255,"Flower Garden Watcher",20625,1, .@event$;
monster 'map_herbs$,295,256,"Flower Garden Watcher",20625,1, .@event$;
sleep 3000;
sleep 100;
monster 'map_herbs$,310,218,"Flower Garden Watcher",20623,1, .@event$;
}
break;

View File

@@ -0,0 +1,615 @@
//===== rAthena script =======================================
//= Instance: The Maze of Oz.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Part of the episode 18.1 main quest.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
// Main Quest: Step 28.
ra_fild10,179,176,5 script Merchant#ep18_gorge 4_EP18_MERCHANT,{
.@md_name$ = "The Maze of Oz";
if (ep18_1_main == 29) {
mes "[Miriam in disguise]";
mes "From now on <FONT SIZE = 14><B>^e5555e" + .@md_name$ + "^000000</FONT></B>";
mes "^e5555ePrepare yourself and talk to me again^000000";
cutin "ep18_merchant.png",2;
changequest 11717,11719;
ep18_1_main = 30;
close3;
}
if (ep18_1_main == 30) {
mes "[Miriam in disguise]";
mes "Then I'll start the ^e5555e" + .@md_name$ + "^000000";
next;
if (getcharid(1) == 0 || is_party_leader() == false) {
mes "[Miriam in disguise]";
mes "I think it would be a good idea to form a ^ff0000party before enter ^000000..";
close;
}
switch( select( "Open the door", "Enter", "Stop" ) ) {
case 1:
if (instance_create(.@md_name$) < 0) {
mes "Party: " + getpartyname(getcharid(1)) + "";
mes "Leader: " + strcharinfo(0) + "";
mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
close;
}
mes "[Miriam in disguise]";
mes "You'd better wait a little before you go in.";
close;
case 2:
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "[Miriam in disguise]";
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
mes "[Miriam in disguise]";
mes "^ff0000Your party leader has not yet created the dungeon.^000000";
close;
case IE_NOMEMBER:
mes "[Miriam in disguise]";
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
close;
case IE_OK:
mapannounce "ra_fild10", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL ,12;
end;
}
case 3:
end;
}
}
cutin "ep18_merchant.png",2;
mes "[Vendor]";
mes "Someone must have been around here, but they just disappeared. Where did they go?";
close3;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11717) == 1" );
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
end;
}
// Step 1
1@oz,284,164,3 script Rope#outoz 4_ROPEPILE,{
mes "I think I can climb up with a rope.";
next;
if (select( "Use a rope to climb", "Do not use" ) == 2)
end;
warp "ra_fild10",180,174;
end;
}
1@oz,282,175,3 script Miriam#ozmd1 4_EP18_MIRIAM,{
if ('event_oz != 0)
end;
'event_oz = 1;
.@miriam1$ = instance_npcname("Miriam#ozmd1");
.@maggi1$ = instance_npcname("Magi#ozmd1");
.@mark1$ = instance_npcname("Mark#ozmd1");
.@tamarin1$ = instance_npcname("Tamarin#ozmd1");
.@miriam2$ = instance_npcname("Miriam#ozmd2");
setpcblock PCBLOCK_NPC, true;
npctalk "Miriam: This is the entrance to the labyrinth of Oz.", .@miriam1$;
cutin "ep18_miriam_03.png",2;
sleep2 2000;
npctalk "Miriam: Everyone, please move carefully.", .@miriam1$;
sleep2 2000;
npctalk "Magi: Something hot and dusty...", .@maggi1$;
cutin "4job_maggi_02.PNG",2;
enablenpc .@maggi1$;
enablenpc .@mark1$;
enablenpc .@tamarin1$;
sleep2 2000;
npctalk "Mark: Are you okay?", .@mark1$;
cutin "ep18_mark_01.png",2;
sleep2 2000;
npctalk "Miriam: There is lava flowing right below it, always scattering ashes.", .@miriam1$;
cutin "ep18_miriam_03.png",2;
sleep2 2000;
npctalk "Miriam: Beware there may be embers in the lava ash.", .@miriam1$;
sleep2 2000;
npctalk "Miriam: If you inhale incorrectly, you will burn your lungs.", .@miriam1$;
sleep2 2000;
npctalk "Miriam: There don't seem to be any monsters around here, so it's better to move slowly and check the situation again.", .@miriam1$;
sleep2 2000;
npctalk "Miriam: Please follow the road to the north first.", .@miriam1$;
sleep2 2000;
cutin "",255;
setpcblock PCBLOCK_NPC, false;
disablenpc .@maggi1$;
disablenpc .@mark1$;
disablenpc .@tamarin1$;
disablenpc .@miriam1$;
enablenpc .@miriam2$;
end;
}
1@oz,279,175,5 duplicate(dummy_npc) Magi#ozmd1 4_4JOB_MAGGI
1@oz,280,175,3 duplicate(dummy_npc) Mark#ozmd1 4_EP18_MARK
1@oz,279,177,3 duplicate(dummy_npc) Tamarin#ozmd1 4_EP18_TAMARIN
// Step 2
1@oz,271,272,3 script Miriam#ozmd2 4_EP18_MIRIAM,{
if ('event_oz != 1)
end;
'event_oz = 2;
.@miriam2$ = instance_npcname("Miriam#ozmd2");
'miriam3$ = instance_npcname("Miriam#ozmd3");
setpcblock PCBLOCK_NPC, true;
npctalk "Miriam: If you cross the bridge in front of you, it's a real maze.", .@miriam2$;
sleep2 2000;
npctalk "Miriam: We must be very careful crossing the bridge, let's talk again after.", .@miriam2$;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
disablenpc .@miriam2$;
enablenpc 'miriam3$;
end;
OnInstanceInit:
'miriam3_id = 0;
'event_oz = 0;
'map_name$ = instance_mapname("1@oz");
disablenpc instance_npcname("Miriam#ozmd2");
disablenpc instance_npcname("Miriam#ozmd3");
disablenpc instance_npcname("Miriam#ozmd4");
disablenpc instance_npcname("Maram#ozmd5");
disablenpc instance_npcname("Miriam#ozmd5");
disablenpc instance_npcname("Maram#ozmd7");
disablenpc instance_npcname("#oz_way");
disablenpc instance_npcname("Maram#ozmd6");
disablenpc instance_npcname("Magi#ozmd1");
disablenpc instance_npcname("Mark#ozmd1");
disablenpc instance_npcname("Tamarin#ozmd1");
disablenpc instance_npcname("Magi#ozmd3");
disablenpc instance_npcname("Mark#ozmd3");
disablenpc instance_npcname("Tamarin#ozmd3");
disablenpc instance_npcname("Maram#ozmd4");
disablenpc instance_npcname("Magi#ozmd5");
disablenpc instance_npcname("Mark#ozmd5");
disablenpc instance_npcname("Tamarin#ozmd5");
disablenpc instance_npcname("Maram#ozmd8");
disablenpc instance_npcname("Magi#ozmd6");
disablenpc instance_npcname("Mark#ozmd6");
disablenpc instance_npcname("Tamarin#ozmd6");
disablenpc instance_npcname("Miriam#ozmd7");
disablenpc instance_npcname("Imril#ozmd7");
end;
}
// Step 3
1@oz,241,272,3 script Miriam#ozmd3 EP18_NPC_MIRIAM,{
if ('event_oz != 2)
end;
'event_oz = 3;
'miriam3$ = instance_npcname("Miriam#ozmd3");
.@maggi3$ = instance_npcname("Magi#ozmd3");
.@mark3$ = instance_npcname("Mark#ozmd3");
.@tamarin3$ = instance_npcname("Tamarin#ozmd3");
setpcblock PCBLOCK_NPC, true;
npctalk "Miriam: This bridge is dangerous, so it's best to split your luggage and cross in turn.", 'miriam3$;
sleep2 2000;
npctalk "Miriam: Then I will cross first, so please follow slowly. It will help not to look under your feet.", 'miriam3$;
sleep2 2000;
npctalk "Tamarin: Wow I can't see the bottom.", .@tamarin3$;
enablenpc .@maggi3$;
enablenpc .@mark3$;
enablenpc .@tamarin3$;
sleep2 2000;
npctalk "Magi: Your legs look very old...", .@maggi3$;
sleep2 2000;
npctalk "Mark: Everyone be careful", .@mark3$;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
disablenpc .@maggi3$;
disablenpc .@mark3$;
disablenpc .@tamarin3$;
'miriam3_id = getnpcid(0);
unitwalk 'miriam3_id,231,272, 'miriam3$ + "::OnEvent1"; // several events are required to palliate to our too short value of MAX_WALKPATH (32) used to calculate the pathing
end;
OnEvent1:
unitwalk 'miriam3_id,211,272, 'miriam3$ + "::OnEvent2";
end;
OnEvent2:
unitwalk 'miriam3_id,191,272, 'miriam3$ + "::OnEvent3";
end;
OnEvent3:
unitwalk 'miriam3_id,171,272, 'miriam3$ + "::OnEvent4";
end;
OnEvent4:
unitwalk 'miriam3_id,157,272, 'miriam3$ + "::OnEvent5";
end;
OnEvent5:
disablenpc 'miriam3$;
enablenpc instance_npcname("Miriam#ozmd4");
enablenpc instance_npcname("Ash Toad#ozmd1");
end;
}
1@oz,245,272,3 duplicate(dummy_npc) Magi#ozmd3 4_4JOB_MAGGI
1@oz,244,273,3 duplicate(dummy_npc) Mark#ozmd3 4_EP18_MARK
1@oz,244,270,3 duplicate(dummy_npc) Tamarin#ozmd3 4_EP18_TAMARIN
// Step 4 + 5
1@oz,157,272,3 script Miriam#ozmd4 4_EP18_MIRIAM,{
if ('event_oz != 3)
end;
'event_oz = 4;
.@miriam4$ = instance_npcname("Miriam#ozmd4");
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
.@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
.@maggi4$ = instance_npcname("Magi#ozmd4");
.@mark4$ = instance_npcname("Mark#ozmd4");
.@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
setpcblock PCBLOCK_NPC, true;
mapannounce 'map_name$, "Miriam: Ah!! A monster!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 1500;
mapannounce 'map_name$, "Miriam: I'll take this rude bastard.", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 1500;
mapannounce 'map_name$, "Tamarin: Appeared in the back!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 2000;
enablenpc .@tamarin4$;
sleep2 500;
enablenpc .@ashtoad2$;
mapannounce 'map_name$, "Magi: Crazy!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 500;
enablenpc .@maggi4$;
enablenpc .@mark4$;
mapannounce 'map_name$, "Mark: Please support me in the front!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 1000;
'mob_count_oz = 0;
monster 'map_name$,145,274,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
enablenpc .@ashtoad3$;
monster 'map_name$,143,278,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
setpcblock PCBLOCK_NPC, false;
end;
// Note: on official the event seems to start right after killing the 2 mobs. The character can't move.
// There is no OnTouch area, a character outside the npc range can't see the dialog. Intended ?
OnMobDead:
'mob_count_oz++;
if ('mob_count_oz < 2)
end;
if ('event_oz != 4)
end;
'event_oz = 5;
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
.@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
.@maggi4$ = instance_npcname("Magi#ozmd4");
.@mark4$ = instance_npcname("Mark#ozmd4");
.@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
.@maram4$ = instance_npcname("Maram#ozmd4");
.@ashtoad1$ = instance_npcname("Ash Toad#ozmd1");
.@tamarin4$ = instance_npcname("Tamarin#ozmd4");
.@miriam4$ = instance_npcname("Miriam#ozmd4");
setpcblock PCBLOCK_NPC, true;
npctalk "Tamarin: I did it!!!", .@tamarin4$;
disablenpc .@ashtoad2$;
sleep2 2000;
npctalk "Magi: Me too!!", .@maggi4$;
disablenpc .@ashtoad3$;
sleep2 2000;
npctalk "Miriam: Huh It wasn't a great monster, but it would have been dangerous if they were ordinary merchants.", .@miriam4$;
disablenpc .@ashtoad1$;
sleep2 2000;
npctalk "Maram : " + strcharinfo(0) + " Are you okay?", .@maram4$;
enablenpc .@maram4$;
sleep2 2000;
npctalk "Miriam: You're late! Maram!!!", .@miriam4$;
sleep2 2000;
npctalk "Maram: I met a monster on the way, so I'm a little late.", .@maram4$;
sleep2 2000;
npctalk "Miriam: There were no monsters on the road we passed earlier.", .@miriam4$;
sleep2 2000;
npctalk "Maram: Yeah? Where the hell do monsters spring up like this...", .@maram4$;
sleep2 2000;
npctalk "Maram: It's a big deal because it's getting harder and harder to move goods because of these monsters.", .@maram4$;
sleep2 2000;
npctalk "Tamarin: If you go to the ground?", .@tamarin4$;
sleep2 2000;
npctalk "Tamarin: I heard there used to be a bridge to cross a canyon?", .@tamarin4$;
sleep2 2000;
npctalk "Tamarin: Because there are still remains...", .@tamarin4$;
sleep2 2000;
npctalk "Maram: It is said that the bridge above was destroyed when they saw the natives crossing to escape the hardliners' attacks.", .@maram4$;
sleep2 2000;
npctalk "Maram: The land across the bridge has become uninhabitable due to volcanic ash, so it must have been the intention to dry it to death.", .@maram4$;
sleep2 2000;
npctalk "Maram: It's not difficult to make a bridge again...", .@maram4$;
sleep2 2000;
npctalk "Maram: You can't advertise that you're hiding here by making a bridge because you're in hiding.", .@maram4$;
sleep2 2000;
npctalk "Maram: It's dangerous and inconvenient right now, but I have no choice but to use the maze of Oz.", .@maram4$;
sleep2 2000;
npctalk "Maram: In this state, it may not have been noticed until now.", .@maram4$;
sleep2 2000;
npctalk "Miriam: Without the Maze of Oz...", .@miriam4$;
sleep2 2000;
npctalk "Miriam: It must have been a lot harder than it is now.", .@miriam4$;
sleep2 2000;
npctalk "Maram: That's right", .@maram4$;
sleep2 2000;
npctalk "Maram: Now, shall we walk the lovely maze of Oz again?", .@maram4$;
sleep2 2000;
npctalk "Miriam: What do you mean", .@miriam4$;
sleep2 2000;
npctalk "Miriam : " + strcharinfo(0) + " From now on, go all the way down until you come to a fork.", .@miriam4$;
sleep2 2000;
npctalk "Miriam: It would be nice if the monsters didn't appear...", .@miriam4$;
sleep2 1000;
disablenpc .@maram4$;
setpcblock PCBLOCK_NPC, false;
disablenpc .@maggi4$;
disablenpc .@mark4$;
disablenpc .@tamarin4$;
disablenpc .@miriam4$;
enablenpc instance_npcname("Maram#ozmd5");
end;
}
1@oz,156,272,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd1 EP18_ASH_TOAD
1@oz,164,272,3 duplicate(dummy_disabled_npc) Ash Toad#ozmd2 EP18_ASH_TOAD
1@oz,153,275,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd3 EP18_ASH_TOAD
1@oz,155,275,3 duplicate(dummy_disabled_npc) Magi#ozmd4 4_4JOB_MAGGI
1@oz,156,274,3 duplicate(dummy_disabled_npc) Mark#ozmd4 4_EP18_MARK
1@oz,161,272,5 duplicate(dummy_disabled_npc) Tamarin#ozmd4 4_EP18_TAMARIN
1@oz,162,275,3 duplicate(dummy_npc) Maram#ozmd4 4_EP18_MARAM
// Step 6
1@oz,98,172,3 script Maram#ozmd5 EP18_NPC_MARAM,{
if ('event_oz != 5)
end;
'event_oz = 6;
.@miriam$ = instance_npcname("Miriam#ozmd5");
.@maram$ = instance_npcname("Maram#ozmd5");
enablenpc .@miriam$;
enablenpc instance_npcname("Magi#ozmd5");
enablenpc instance_npcname("Mark#ozmd5");
enablenpc instance_npcname("Tamarin#ozmd5");
npctalk "Maram: It wasn't like this before, but maybe it's the effect of Tor Volcano, as the ground below starts to melt, so more monsters are appearing.";
setpcblock PCBLOCK_NPC, true;
sleep2 2000;
npctalk "Maram: Especially in areas with a lot of molten ground, when trying to avoid monsters, the lava Because there are many people who are seriously injured or never come back... ";
sleep2 2000;
npctalk "Maram: How long will the maze of Oz last...";
sleep2 3000;
mapannounce 'map_name$, "??? : ugh!!!!!!!!!!!!!!!!!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
sleep2 2000;
npctalk "Maram: This voice?!?!?!?!?";
sleep2 2000;
npctalk "Miriam: Imril!!!!", .@miriam$;
sleep2 2000;
setpcblock PCBLOCK_NPC, false;
npctalk "Maram: I think your friend is in trouble! I'll go first, so please follow me carefully!";
disablenpc instance_npcname("Magi#ozmd5");
disablenpc instance_npcname("Mark#ozmd5");
disablenpc instance_npcname("Tamarin#ozmd5");
unitwalk getnpcid(0),68,165, .@maram$ + "::OnMove";
donpcevent .@miriam$ + "::OnMove";
end;
OnMove:
disablenpc instance_npcname("Maram#ozmd5");
enablenpc instance_npcname("Maram#ozmd7");
enablenpc instance_npcname("Imril#ozmd6");
end;
}
1@oz,97,167,3 script Miriam#ozmd5 EP18_NPC_MIRIAM,{
end;
OnMove:
npcwalkto 67,164;
end;
}
1@oz,92,170,3 duplicate(dummy_npc) Magi#ozmd5 4_4JOB_MAGGI
1@oz,91,169,3 duplicate(dummy_npc) Mark#ozmd5 4_EP18_MARK
1@oz,89,170,5 duplicate(dummy_npc) Tamarin#ozmd5 4_EP18_TAMARIN
// Step 7
1@oz,68,165,3 script Maram#ozmd7 4_EP18_MARAM,{
if ('event_oz != 6)
end;
'event_oz = 7;
npctalk "Maram: Are you okay, Imril?";
donpcevent instance_npcname("Imril#ozmd6") + "::OnStart";
disablenpc instance_npcname("Maram#ozmd7");
end;
}
// Step 8
1@oz,61,163,5 script Imril#ozmd6 4_EP18_IMRIL,{
end;
OnStart:
'mob_count_oz = 0;
.@npc_name$ = instance_npcname("Imril#ozmd6");
monster 'map_name$,64,164,"Ash Toad",21295,1, .@npc_name$ + "::OnMobDead"; // EP18_ASH_TOAD
monster 'map_name$,62,161,"rake hand",21296,1, .@npc_name$ + "::OnMobDead"; // EP18_RAKEHAND
end;
OnMobDead:
'mob_count_oz++;
if ('mob_count_oz < 2)
end;
if ('event_oz != 7)
end;
'event_oz = 8;
.@maram8$ = instance_npcname("Maram#ozmd8");
.@imril6$ = instance_npcname("Imril#ozmd6");
.@miriam5$ = instance_npcname("Miriam#ozmd5");
.@maggi6$ = instance_npcname("Magi#ozmd6");
.@mark6$ = instance_npcname("Mark#ozmd6");
.@tamarin6$ = instance_npcname("Tamarin#ozmd6");
setpcblock PCBLOCK_NPC, true;
enablenpc .@maram8$;
npctalk "Imril: Thanks! We almost died!", .@imril6$;
sleep2 2000;
npctalk "Imril: Don't go downstairs because the atmosphere isn't too bad.", .@imril6$;
sleep2 2000;
npctalk "Miriam: You seem to see monsters more often than last time.", .@miriam5$;
sleep2 2000;
npctalk "Imril: But what about those people?", .@imril6$;
enablenpc .@maggi6$;
enablenpc .@mark6$;
enablenpc .@tamarin6$;
sleep2 2000;
npctalk "Maram: They are adventurers who sometimes help with mother's work.", .@maram8$;
sleep2 2000;
npctalk "Maram: Trustworthy people, don't be so wary.", .@maram8$;
sleep2 2000;
npctalk "Imril: Because you trust people too easily.", .@imril6$;
sleep2 2000;
npctalk "Miriam: Yes.", .@miriam5$;
sleep2 2000;
npctalk "Maram: Anyway, let's escape before more monsters come out.", .@maram8$;
sleep2 2000;
npctalk "Maram: Not long left.", .@maram8$;
sleep2 2000;
npctalk "Maram: It's hard to see, but just follow the road up here!", .@maram8$;
sleep2 2000;
npctalk "Tamarin: I think this is the way!", .@tamarin6$;
disablenpc .@maggi6$;
disablenpc .@mark6$;
disablenpc .@tamarin6$;
disablenpc .@maram8$;
enablenpc instance_npcname("#oz_way");
setpcblock PCBLOCK_NPC, false;
end;
}
1@oz,68,165,3 duplicate(dummy_npc) Maram#ozmd8 4_EP18_MARAM
1@oz,61,168,3 duplicate(dummy_npc) Magi#ozmd6 4_4JOB_MAGGI
1@oz,65,167,3 duplicate(dummy_npc) Mark#ozmd6 4_EP18_MARK
1@oz,59,171,3 duplicate(dummy_npc) Tamarin#ozmd6 4_EP18_TAMARIN
// Step 9
1@oz,58,256,5 script #oz_way 1_SHADOW_NPC,3,3,{
end;
OnTouch:
if ('event_oz != 8)
end;
'event_oz = 9;
enablenpc instance_npcname("Maram#ozmd6");
end;
}
// Step 10 (maybe not required ?)
1@oz,44,255,5 script Maram#ozmd6 4_EP18_MARAM,{
if ('event_oz != 9)
end;
'event_oz = 10;
npctalk "Maram: This way!!!";
initnpctimer;
end;
OnTimer2000:
disablenpc instance_npcname("Maram#ozmd6");
enablenpc instance_npcname("Maram#ozmd9");
enablenpc instance_npcname("Rope#outoz2");
end;
}
// Step 11
// (Step 29 on the main quest).
1@oz,21,189,5 script Maram#ozmd9 4_EP18_MARAM,{
if ('event_oz != 10)
end;
'event_oz = 11;
.@maram9$ = instance_npcname("Maram#ozmd9");
.@miriam7$ = instance_npcname("Miriam#ozmd7");
.@imril7$ = instance_npcname("Imril#ozmd7");
setpcblock PCBLOCK_NPC, true;
npctalk "Maram: Climb up the rope in front of this to get out.", .@maram9$;
enablenpc .@miriam7$;
enablenpc .@imril7$;
sleep2 2000;
npctalk "Imril: I'll go get some hidden stuff here, so go up first.", .@imril7$;
sleep2 2000;
npctalk "Miriam: Everyone is very tired. Let's go upstairs.", .@miriam7$;
if (ep18_1_main == 30) {
changequest 11719,11720;
ep18_1_main = 31;
}
disablenpc .@miriam7$;
disablenpc .@imril7$;
setpcblock PCBLOCK_NPC, false;
end;
OnInstanceInit:
disablenpc instance_npcname("Maram#ozmd9");
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
end;
}
1@oz,22,187,5 duplicate(dummy_npc) Miriam#ozmd7 4_EP18_MIRIAM
1@oz,16,185,3 duplicate(dummy_npc) Imril#ozmd7 4_EP18_IMRIL
// Step 12
1@oz,28,190,3 script(DISABLED) Rope#outoz2 4_ROPEPILE,{
if ('event_oz < 11)
end;
mes "I think I can climb up with a rope.";
next;
switch( select( "Use a rope to climb", "Do not use" ) ) {
case 1:
close2;
warp "gw_fild01",275,337;
end;
case 2:
end;
}
end;
OnInstanceInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(11720) == 1" );
end;
}
// Spawn monsters
1@oz,22,207,5 script #oz01 1_SHADOW_NPC,4,4,{
end;
OnTouch_:
getmapxy .@map$,.@x,.@y, BL_NPC;
monster 'map_name$,.@x-1,.@y,"Ash Toad",21295,1; // EP18_ASH_TOAD
monster 'map_name$,.@x+1,.@y,"Rake Hand",21296,1; // EP18_RAKEHAND
disablenpc instance_npcname( strnpcinfo(0) );
end;
}
1@oz,30,237,5 duplicate(#oz01) #oz02 1_SHADOW_NPC,4,4
1@oz,44,264,5 duplicate(#oz01) #oz03 1_SHADOW_NPC,4,4
1@oz,62,247,5 duplicate(#oz01) #oz04 1_SHADOW_NPC,4,4
1@oz,72,222,5 duplicate(#oz01) #oz05 1_SHADOW_NPC,4,4
1@oz,79,203,5 duplicate(#oz01) #oz06 1_SHADOW_NPC,4,4
1@oz,124,261,5 duplicate(#oz01) #oz07 1_SHADOW_NPC,4,4
1@oz,139,279,5 duplicate(#oz01) #oz08 1_SHADOW_NPC,4,4

View File

@@ -3908,7 +3908,7 @@ OnStop:
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
mes "- after you lose some weight. -";
close;
}
cutin "min02",0;

View File

@@ -17,6 +17,8 @@
//= Cleaned up the script.
//= TODO: Confirm Hugin NPC's code flow.
//= 1.6 Cleaned up the dialogue. [Aleos]
//= 1.7 Implemented fast mode. [Atemo]
// Note: The treasure room is not accessible in fast mode.
//============================================================
glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
@@ -180,6 +182,28 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
cutin "gl_barmund2",2;
close3;
}
// If the instance has already been completed once, the player can skip sector 1,2,3 and starts from the 1st boss MG_CORRUPTION_ROOT
if (isbegin_quest(12321) == 2) {
mes "You have a previous clear record. You can skip the scenario and proceed accordingly.";
next;
if (select( "Omit moderately.", "Appreciate everything." ) == 1) {
cutin "GL_BARMUND1.bmp",2;
mes "[Barmund]";
mes "Have I seen you " + strcharinfo(0) + "";
mes "I'm sure I can trust you. Let's leave right away.";
close2;
cutin "",255;
if ('step == 0) {
'step = 1;
'mode = 2;
disablenpc();
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
}
end;
}
// (original scenario)
}
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
mes "[Varmundt]";
@@ -221,9 +245,13 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
npctalk "Varmundt: Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!";
close2;
cutin "",255;
disablenpc instance_npcname("Varmundt#0");
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
if ('step == 0) {
'step = 1;
'mode = 1;
disablenpc instance_npcname("Varmundt#0");
enablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Varmundt#1");
}
end;
}
@@ -311,13 +339,27 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
}
1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#21) Khalitzburg Knightage#22 4_F_KHALITZBURG
1@gl_k,149,100,6 script Heinrich#1 4_M_HEINRICH,{
if (is_party_leader() == false) {
1@gl_k,149,100,5 script Heinrich#1 4_M_HEINRICH,{
if (is_party_leader() == false || 'step != 1) {
mes "[Heinrich]";
mes "Where is your leader? I must talk to him.";
cutin "gl_heinrich2",2;
close3;
}
if ('mode == 2) {
cutin "GL_HEINRICH2.bmp",2;
select( "Heinrich, you are in the castle now..." );
mes "[Heinrich]";
mes "Ohh " + strcharinfo(0) + "";
mes "I guess I can trust you. Let's leave right away.";
close2;
cutin "",255;
if ('step == 1) {
'step = 2;
donpcevent instance_npcname("#talkinstance2") + "::OnEnable";
}
end;
}
.@account_id = getcharid(3);
.@player_name$ = strcharinfo(0);
cutin "gl_heinrich2",2;
@@ -368,15 +410,15 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
mes "We cannot risk moving the heart just because some stranger says so.";
npctalk "Heinrich: We cannot risk moving the heart just because some stranger says so.";
close2;
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
cutin "",255;
if ('step == 1) {
'step = 2;
donpcevent instance_npcname("#talkinstance1") + "::OnEnable";
}
end;
}
1@gl_k,152,97,3 script Varmundt#1 4_M_BARMUND,{ end; }
1@gl_k,152,97,3 duplicate(dummy_npc) Varmundt#1 4_M_BARMUND
1@gl_k,149,97,5 duplicate(Varmundt#1) Heinrich#2 4_M_HEINRICH
1@gl_k,149,100,5 duplicate(Varmundt#1) Heinrich#3 4_M_HEINRICH
1@gl_k,149,89,1 duplicate(Varmundt#1) Himelmez#1 4_F_HIMEL
@@ -386,6 +428,9 @@ glast_01,204,273,5 script Hugin 4_M_SAGE_C,{
1@gl_k,1,1,0 script #talkinstance1 HIDDEN_WARP_NPC,{
end;
OnEnable:
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
initnpctimer;
'npc_himelmez1$ = instance_npcname("Himelmez#1");
@@ -611,6 +656,174 @@ OnMyMobDead:
end;
}
// Fast mode
1@gl_k,1,1,0 script #talkinstance2 HIDDEN_WARP_NPC,{
end;
OnEnable:
disablenpc instance_npcname("Heinrich#1");
enablenpc instance_npcname("Heinrich#2");
enablenpc instance_npcname("Himelmez#1");
mapannounce 'map_name$[0], "????'s: Muahahahaha~!", bc_map,0xFFFF00,FW_NORMAL,18;
initnpctimer;
'npc_himelmez1$ = instance_npcname("Himelmez#1");
'npc_varmundt1$ = instance_npcname("Varmundt#1");
'npc_heinrich2$ = instance_npcname("Heinrich#2");
'npc_heinrich3$ = instance_npcname("Heinrich#3");
end;
OnTimer1500:
npctalk "Heinrich: Who are you?", 'npc_heinrich2$;
end;
OnTimer3500:
npctalk "Himelmez: Well well~ Am I interrupting you? Weren't you expecting me?", 'npc_himelmez1$;
end;
OnTimer7500:
npctalk "Himelmez: I have business to take care of. My minions will treat you well enough for me~", 'npc_himelmez1$;
end;
OnTimer11500:
disablenpc 'npc_himelmez1$;
end;
OnTimer12500:
npctalk "Heinrich: She probably already knows where the Ymir's heart piece is.", 'npc_heinrich2$;
end;
OnTimer16500:
for (.@i = 1; .@i <= 20; .@i += 4) {
hideonnpc instance_npcname("Khalitzburg Knightage#" + .@i);
hideonnpc instance_npcname("Khalitzburg Knightage#" + (.@i+1));
hideonnpc instance_npcname("White Knight#" + (.@i+2));
hideonnpc instance_npcname("White Knight#" + (.@i+3));
}
hideonnpc instance_npcname("Khalitzburg Knightage#21");
hideonnpc instance_npcname("Khalitzburg Knightage#22");
.@label$ = instance_npcname("#talkinstance1") + "::OnMyMobDead";
monster 'map_name$[0],145,59,"Abysmal Knight",2470,1,.@label$;// MG_KNIGHT_OF_ABYSS
monster 'map_name$[0],154,59,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,69,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,69,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,79,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,79,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,89,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,89,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,99,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],154,99,"Abysmal Knight",2470,1,.@label$;
monster 'map_name$[0],145,54,"Khalitzburg",2471,1,.@label$;// G_MG_KHALITZBURG
unittalk $@mobid[0],"Water... Someone give me water...";
monster 'map_name$[0],154,54,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Kkkrrrruughgh...";
monster 'map_name$[0],145,64,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Sir Heinrich. Save me...";
monster 'map_name$[0],154,64,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I miss my sister...";
monster 'map_name$[0],145,74,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Don't leave me alone, help me.";
monster 'map_name$[0],154,74,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Aaarrrrrhhhh";
monster 'map_name$[0],145,84,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I am so thirsty.";
monster 'map_name$[0],154,84,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Oh...No...I can't die yet...";
monster 'map_name$[0],145,94,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"I feel sick to my stomach urrgg";
monster 'map_name$[0],154,94,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Can someone...";
monster 'map_name$[0],145,104,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"Arrgg... My body";
monster 'map_name$[0],154,104,"Khalitzburg",2471,1,.@label$;
unittalk $@mobid[0],"My throat is burning!";
end;
OnTimer17500:
npctalk "The dead go where the dead belong! Everyone go back!", 'npc_heinrich2$;
end;
OnTimer18500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#1");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#2");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#1");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#2");
end;
OnTimer19000:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#3");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#4");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#5");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#6");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#3");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#4");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#5");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#6");
end;
OnTimer19500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#7");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#8");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#9");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#10");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#7");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#8");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#9");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#10");
end;
OnTimer20000:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#11");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#12");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#13");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#14");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#11");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#12");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#13");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#14");
end;
OnTimer20500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#15");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#16");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#17");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#18");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#15");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#16");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#17");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#18");
end;
OnTimer21500:
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#19");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("White Knight#20");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#21");
specialeffect EF_GRANDCROSS,AREA, instance_npcname("Khalitzburg Knightage#22");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#19");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("White Knight#20");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#21");
specialeffect EF_LEXAETERNA,AREA, instance_npcname("Khalitzburg Knightage#22");
disablenpc 'npc_heinrich2$;
enablenpc 'npc_heinrich3$;
killmonster 'map_name$[0], instance_npcname("#talkinstance1") + "::OnMyMobDead";
npctalk "Heinrich: Very well, Varmundt. Let's find Himelmez.", 'npc_heinrich3$;
end;
OnTimer25500:
npctalk "Varmundt: Wait, I don't have time to go around the castle and clear a path. I will open a portal that can be tracked as quickly as possible.", 'npc_varmundt1$;
end;
OnTimer27000:
specialeffect EF_BEGINSPELL_N5, AREA, 'npc_varmundt1$;
end;
OnTimer28500:
stopnpctimer;
disablenpc 'npc_heinrich3$;
disablenpc 'npc_varmundt1$;
enablenpc instance_npcname("#cut01");
enablenpc instance_npcname("#Mimelon");
enablenpc instance_npcname("Himelmez#2");
enablenpc instance_npcname("Varmundt#2");
enablenpc instance_npcname("Heinrich#4");
'step = 4;
'npc_himelmez1$ = 'npc_varmundt1$ = 'npc_heinrich2$ = 'npc_heinrich3$ = "";
end;
OnMyMobDead:
end;
}
1@gl_k,149,96,1 script #cut01 GATE_SKYBLUE,{
warp 'map_name$[0],151,232;
end;
}
// Sector 1 Mobs
//============================================================
1@gl_k,1,1,0 script #ghmemorialmob01 HIDDEN_WARP_NPC,{
@@ -642,7 +855,7 @@ OnMyMobDead:
}
1@gl_k,17,51,3 script Altar boy Domun#1 4_M_KID1,{
if (is_party_leader() == false) {
if (is_party_leader() == false || 'step != 2) {
mes "[Altar boy Domun]";
mes "Save me, save me, please...";
close;
@@ -683,8 +896,11 @@ OnMyMobDead:
mes "[Altar boy Domun]";
mes "Ok, I... I'll try.";
npctalk "Altar boy Domun: Ok, I... I'll try.";
disablenpc instance_npcname("Altar boy Domun#1");
donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
if ('step == 2) {
'step = 3;
disablenpc instance_npcname("Altar boy Domun#1");
donpcevent instance_npcname("#ghmemorialmob02") + "::OnStart";
}
close;
}
@@ -720,7 +936,7 @@ OnMyMobDead:
}
1@gl_k,291,145,3 script Holgren the Destroyer#1 4_F_JOB_BLACKSMITH,{
if (is_party_leader() == false) {
if (is_party_leader() == false || 'step != 3) {
mes "[Holgren the Destroyer]";
mes "You human?";
close;
@@ -758,8 +974,11 @@ OnMyMobDead:
mes "[Holgren the Destroyer]";
mes "It's ok. You've already done enough. I can help myself. Good luck to you too.";
npctalk "Holgren the Destroyer: It's ok. You've already done enough. I can help myself. Good luck to you too.";
disablenpc instance_npcname("Holgren the Destroyer#1");
donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
if ('step == 3) {
'step = 4;
disablenpc instance_npcname("Holgren the Destroyer#1");
donpcevent instance_npcname("#ghmemorialmob03") + "::OnEnable";
}
close;
}
@@ -887,7 +1106,20 @@ OnTimer5000:
1@gl_k,150,257,0 script #Mimelon HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
disablenpc instance_npcname("#Mimelon");
if ('step != 4)
end;
'step = 5;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance3") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance4") + "::OnStart";
end;
}
1@gl_k,1,1,0 script #talkinstance3 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_himelmez2$ = instance_npcname("Himelmez#2");
'npc_heinrich4$ = instance_npcname("Heinrich#4");
@@ -938,6 +1170,33 @@ OnTimer38000:
end;
}
1@gl_k,1,1,0 script #talkinstance4 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_himelmez2$ = instance_npcname("Himelmez#2");
'npc_heinrich4$ = instance_npcname("Heinrich#4");
npctalk "Himelmez: Guess you are either lucky or powerful to make it this far.", 'npc_himelmez2$;
end;
OnTimer3500:
disablenpc 'npc_himelmez2$;
end;
OnTimer4500:
npctalk "Heinrich: Sir Varmundt! Help those adventurers. I will go after Himelmez!", 'npc_heinrich4$;
end;
OnTimer6500:
disablenpc 'npc_heinrich4$;
end;
OnTimer9500:
mapannounce 'map_name$[0], "An echoing comes from deep inside of the knight's shrine.", bc_map,0xFFFFFF;
end;
OnTimer14500:
stopnpctimer;
donpcevent instance_npcname("#ghmemorialmob04") + "::OnStart";
'npc_himelmez2$ = 'npc_heinrich4$ = "";
end;
}
1@gl_k,1,1,0 script #ghmemorialmob04 HIDDEN_WARP_NPC,{
end;
OnStart:
@@ -984,11 +1243,23 @@ OnEffect:
end;
}
// note: this part can be skipped
2@gl_k,150,66,0 script #Servanton HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
disablenpc instance_npcname("#Servanton");
if ('step != 5)
end;
'step = 6;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance5") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance6") + "::OnStart";
end;
}
2@gl_k,1,1,0 script #talkinstance5 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_heinrich$ = instance_npcname("Heinrich#21");
'npc_varmundt$ = instance_npcname("Varmundt#21");
@@ -1071,6 +1342,28 @@ OnTimer69000:
end;
}
2@gl_k,1,1,0 script #talkinstance6 HIDDEN_WARP_NPC,{
end;
OnStart:
initnpctimer;
'npc_heinrich$ = instance_npcname("Heinrich#21");
'npc_varmundt$ = instance_npcname("Varmundt#21");
npctalk "Heinrich: This structure was not in the castle before!", 'npc_heinrich$;
end;
OnTimer2000:
npctalk "Varmundt: Ok, it's time to begin Heinrich.", 'npc_varmundt$;
end;
OnTimer3500:
stopnpctimer;
mapannounce 'map_name$[1], "A portal to the west has opened in the central hallway.", bc_map,0xFFFF00;
disablenpc 'npc_varmundt$;
disablenpc 'npc_heinrich$;
'npc_varmundt$ = 'npc_heinrich$ = "";
enablenpc instance_npcname("#22 Control");
enablenpc instance_npcname("#22 Control2");
end;
}
// Spots
// Note: timer is the only condition for them to respawn
2@gl_k,118,141,0 script #ogh_2-1 HIDDEN_WARP_NPC,20,20,{
@@ -1125,7 +1418,13 @@ OnStart:
end;
OnMyMobDead:
if (rand(50) == 0) {// can re-spawn
if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead") > 0) // Prevent boss re-spawn
end;
if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
.@r = 10;
else
.@r = 50;
if (rand(.@r) == 0) {
mapannounce 'map_name$[1], "Evil Forces are appearing in this area.", bc_map,0xFFFF44,FW_NORMAL,15;
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnBossDead";
@@ -1136,14 +1435,17 @@ OnMyMobDead:
end;
OnBossDead:
disablenpc();
mapannounce 'map_name$[1], "A portal has opened to the east in the central hallway.", bc_map,0xFFFF00;
enablenpc instance_npcname("#23 Control");
enablenpc instance_npcname("#23 Control2");
donpcevent instance_npcname("#ghmemorialmob06") + "::OnStart";
disablenpc instance_npcname("#ghmemorialmob05");
// Event stopped and monsters in this sector killed
for ( .@i = 1; .@i <= 7; .@i++ )
donpcevent instance_npcname("#ogh_2-" + .@i) + "::OnStop";
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob05") + "::OnMyMobDead";
end;
}
@@ -1204,7 +1506,13 @@ OnStart:
end;
OnMyMobDead:
if (rand(50) == 0) {// can re-spawn
if (mobcount('map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead") > 0) // Prevent boss re-spawn
end;
if ('mode == 2) // Higher (but unknown) spawn rate in fast mode
.@r = 10;
else
.@r = 50;
if (rand(.@r) == 0) {
mapannounce 'map_name$[1], "An evil presence has teleported into this area.", bc_map,0xFFFF44,FW_NORMAL,15;
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnBossDead";
@@ -1215,6 +1523,7 @@ OnMyMobDead:
end;
OnBossDead:
disablenpc();
mapannounce 'map_name$[1], "A new portal has appeared at the end of the central corridor.", bc_map,0xFFFF00;
enablenpc instance_npcname("#24 Control");
enablenpc instance_npcname("#24 Control2");
@@ -1222,10 +1531,12 @@ OnBossDead:
for ( .@i = 1; .@i <= 35; .@i++ )
enablenpc instance_npcname("Decomposed body#" + .@i);
disablenpc instance_npcname("#ghmemorialmob06");
// Event stopped and monsters in this sector killed
for ( .@i = 1; .@i <= 7; .@i++ )
donpcevent instance_npcname("#ogh_3-" + .@i) + "::OnStop";
killmonster 'map_name$[1], instance_npcname("#ghmemorialmob06") + "::OnMyMobDead";
// Hidden mobs
setarray .@coord[0],
37,265, 57,265, 77,265, 97,265, 117,265, 188,264, 208,264,
@@ -1241,6 +1552,9 @@ OnBossDead:
2@gl_k,150,180,0 script #Geron HIDDEN_WARP_NPC,7,7,{
end;
OnTouch_:
if ('step != 6)
end;
'step = 7;
disablenpc instance_npcname("#Geron");
mapannounce 'map_name$[1], "???: Do not come here! It's a trap... Kkkkah!!!", bc_map,0xFF7777,FW_NORMAL,15;
enablenpc instance_npcname("Himelmez#22");
@@ -1331,11 +1645,21 @@ OnTimer45000:
mes "[Himelmez]";
mes "That is amazing ~ you made it all the way here. May I say thank you?";
close3;
OnTouch:
end;
OnTouch_:
disablenpc instance_npcname("Himelmez#22");
if ('step != 7)
end;
'step = 8;
disablenpc();
if ('mode == 1)
donpcevent instance_npcname("#talkinstance7") + "::OnStart";
else if ('mode == 2)
donpcevent instance_npcname("#talkinstance8") + "::OnStart";
end;
}
2@gl_k,1,1,0 script #talkinstance7 HIDDEN_WARP_NPC,{
end;
OnStart:
enablenpc instance_npcname("Himelmez#23");
initnpctimer;
'npc_himelmez$ = instance_npcname("Himelmez#23");
@@ -1435,6 +1759,62 @@ OnTimer80000:
end;
}
2@gl_k,1,1,0 script #talkinstance8 HIDDEN_WARP_NPC,{
end;
OnStart:
enablenpc instance_npcname("Himelmez#23");
initnpctimer;
'npc_himelmez$ = instance_npcname("Himelmez#23");
'npc_gerhalt$ = instance_npcname("Gerhalt#23");
'npc_heinrich$ = instance_npcname("Heinrich#23");
'npc_varmundt$ = instance_npcname("Varmundt#23");
npctalk "Himelmez: Amazing~ I thought that you were not even close to getting here...", 'npc_himelmez$;
end;
OnTimer1500:
specialeffect EF_BARRIER, AREA, 'npc_gerhalt$;
end;
OnTimer3500:
specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
end;
OnTimer5000:
specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
end;
OnTimer5500:
disablenpc 'npc_himelmez$;
end;
OnTimer7000:
specialeffect EF_CHAINCOMBO, AREA, 'npc_gerhalt$;
end;
OnTimer10000:
npctalk "Heinrich: I'll never let you get away Himelmez!!", 'npc_heinrich$;
end;
OnTimer11000:
disablenpc 'npc_heinrich$;
npctalk "Varmundt: We have no choice. We have to fight against Amdarais!", 'npc_varmundt$;
end;
OnTimer14000:
specialeffect EF_MAPPILLAR2, AREA, 'npc_gerhalt$;
specialeffect EF_MAPPILLAR, AREA, 'npc_gerhalt$;
end;
OnTimer14500:
mapannounce 'map_name$[1], "Gerhalt's body is changing.", bc_map,0xFFFFFF;
end;
OnTimer15500:
disablenpc 'npc_varmundt$;
mapannounce 'map_name$[1], "Varmundt: Let me help this battle with my illusion. Just follow the illusion's orders.", bc_map,0xFFFF00;
end;
OnTimer17500:
specialeffect EF_LORD, AREA, 'npc_gerhalt$;
end;
OnTimer20500:
stopnpctimer;
disablenpc 'npc_gerhalt$;
donpcevent instance_npcname("#ghmemorialmob07") + "::OnStart";
'npc_himelmez$ = 'npc_gerhalt$ = 'npc_heinrich$ = 'npc_varmundt$ = "";
end;
}
2@gl_k,158,252,4 script Himelmez#23 4_F_HIMEL,{
cutin "gl_himel2",2;
mes "[Himelmez]";
@@ -1592,6 +1972,8 @@ OnTimer10000:
2@gl_k,158,241,1 script Hugin#21 4_M_SAGE_C,{
if ('step != 8)
end;
if (checkquest(12319,HUNTING) == 2) {// note: complete hunting 'Corrupted Soul Hunt' prerequis
mes "[Hugin]";
mes "Hm, you are very well. First of all, let me give you some loot from Amdarais.";
@@ -1649,6 +2031,8 @@ OnTimer10000:
// Treasure Room
//============================================================
1@gl_k,165,136,3 script Strange crack#2 CLEAR_NPC,{
if ('step != 8)
end;
if (isbegin_quest(12322) == 0) {// Space Distortion
mes "The crack looks suspicious but nothing more to check.";
close;
@@ -1729,6 +2113,8 @@ OnTimer10000:
end;
OnInstanceInit:
'step = 0;
'mode = 0;
'map_name$[0] = instance_mapname("1@gl_k");
'map_name$[1] = instance_mapname("2@gl_k");
@@ -1810,5 +2196,8 @@ OnInstanceInit:
disablenpc instance_npcname("#24 Control");
disablenpc instance_npcname("#24 Control2");
disablenpc instance_npcname("#Secret Room Exit");
// Fast mode
disablenpc instance_npcname("#cut01");
end;
}

View File

@@ -0,0 +1,462 @@
//===== rAthena Script =======================================
//= Instance: Thor Gunsu Base.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Part of the episode 18.1 main quest.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
// Main Quest: Step 47.
que_thr,133,53,5 script Maram#Armybase1 4_EP18_MARAM,{
if (ep18_1_main != 45 && ep18_1_main != 46)
end;
if (ep18_1_main == 45) {
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "You have arrived, adventurer!";
mes "You did a great job getting here.";
next;
cutin "ep18_maram_03.png",2;
mes "[Maram]";
mes "After all, it looks like this next one is real. The guards are different from before...";
mes "Let's look inside, being careful not to be caught by the guards.";
next;
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "Make sure to move out of sight of the guards as much as possible.";
mes "If you make a mistake, you will be attacked, so if you don't break through, we'll meet again here.";
changequest 16577,16578;
ep18_1_main = 46;
next;
}
else if (ep18_1_main == 46) {
mes "[Maram]";
mes "Let's try to get in as far as possible from the guard tower.";
next;
}
.@md_name$ = "Thor Gunsu Base";
cutin "",255;
mes "^FF0000 Any arbitrary processing such as taming monsters in the dungeon is not considered normal. Please note.^000000";
next;
// player has party
if (is_party_leader()) {
// player is leader of the party
.@create$ = "Open " + .@md_name$;
}
switch( select( .@create$, .@md_name$ + " entry" ) ) {
case 1:
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "When the application is complete, talk to me again and select ^0000CD Thor military base entry^000000";
if (instance_create(.@md_name$) < 0) {
mes "Party: " + getpartyname(getcharid(1)) + "";
mes "Leader: " + strcharinfo(0) + "";
mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
close3;
}
close3;
case 2:
// Note: instance not forced solo
switch( instance_enter(.@md_name$) ) {
case IE_OTHER:
mes "[Maram]";
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "I don't think the dungeon has been created yet? Please check later.";
close3;
case IE_NOMEMBER:
mes "[Maram]";
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
close;
case IE_OK:
mapannounce "que_thr", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12;
// warp 1@tcamp,103,237;
end;
}
}
end;
OnInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16577) == 1" );
end;
}
1@tcamp,106,237,3 script Maram#base1 4_EP18_MARAM,{
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "Be careful and explore the inside.";
mes "I heard from Mr. Dandelion earlier, there aren't many people, but there are Watch Towers here and there that monitor a fairly wide area.";
next;
mes "[Maram]";
mes "If you get caught by the Watch Tower, soldiers will appear, so be careful not to get caught.";
mes "Well, if you find something, please contact me!";
close3;
OnInstanceInit:
'map_tcamp$ = instance_mapname("1@tcamp");
disablenpc instance_npcname("Document Pile#Site1");
disablenpc instance_npcname("Document Pile#Site2");
disablenpc instance_npcname("Document Pile#Site3");
disablenpc instance_npcname("Document Pile#Site4");
disablenpc instance_npcname("Document Pile#Site5");
disablenpc instance_npcname("Maram#Lock1");
disablenpc instance_npcname("Maram#Lock2");
disablenpc instance_npcname("Maram#Lock3");
disablenpc instance_npcname("Maram#Lock4");
setcell 'map_tcamp$,137,216,142,216,cell_walkable,0;
setcell 'map_tcamp$,135,145,144,145,cell_walkable,0;
setcell 'map_tcamp$,223,105,223,110,cell_walkable,0;
setcell 'map_tcamp$,80,94,80,100,cell_walkable,0;
// some monsters spawn randomly
monster 'map_tcamp$,0,0,"Base Soldier",21310,18; // EP18_MD_GUARD_A
monster 'map_tcamp$,0,0,"Base Soldier",21309,18; // EP18_MD_THOR_GUARD
end;
}
// unknown npc effect
// 1@tcamp,244,152,3 duplicate(dummy_npc) #Remote 1 CLEAR_NPC
//-------------------------------------------------------------------
// Traps
//-------------------------------------------------------------------
1@tcamp,120,228,3 script Watch Tower#Watch1 4_SYSTEM_BOX,7,7,{
end;
OnTouch: // note: hidden player trigger the event
npctalk "Detect intruders. Exclude them.";
mapannounce 'map_tcamp$, "Intruder detected, intruder detected. We rule out immediately.", bc_map, 0xFF0000;
getmapxy .@map$,.@x,.@y, BL_NPC;
areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21309,3; // EP18_MD_THOR_GUARD
areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21310,3; // EP18_MD_GUARD_A
end;
OnTimer2000:
specialeffect EF_WARP;
initnpctimer;
end;
OnInstanceInit:
initnpctimer;
end;
}
1@tcamp,135,228,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch2 4_SYSTEM_BOX,7,7
1@tcamp,152,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch3 4_SYSTEM_BOX,7,7
1@tcamp,167,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch4 4_SYSTEM_BOX,7,7
1@tcamp,182,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch5 4_SYSTEM_BOX,7,7
1@tcamp,161,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch6 4_SYSTEM_BOX,7,7
1@tcamp,146,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch7 4_SYSTEM_BOX,7,7
1@tcamp,116,102,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch8 4_SYSTEM_BOX,7,7
1@tcamp,88,92,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch9 4_SYSTEM_BOX,7,7
1@tcamp,240,148,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch10 4_SYSTEM_BOX,7,7
1@tcamp,156,71,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch11 4_SYSTEM_BOX,7,7
1@tcamp,176,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch12 4_SYSTEM_BOX,7,7
1@tcamp,192,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch13 4_SYSTEM_BOX,7,7
1@tcamp,142,153,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch14 4_SYSTEM_BOX,7,7
1@tcamp,142,168,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch15 4_SYSTEM_BOX,7,7
1@tcamp,192,179,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch16 4_SYSTEM_BOX,7,7
1@tcamp,237,90,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch17 4_SYSTEM_BOX,7,7
//-------------------------------------------------------------------
// Walls
//-------------------------------------------------------------------
1@tcamp,138,216,3 script Lock#1-1 4_ROPEPILE,{
.@maram$ = instance_npcname("Maram#Lock1");
enablenpc .@maram$;
npctalk "Maram: Wait a minute. I know how to open it.", .@maram$;
progressbar_npc "3131FF",10;
npctalk "Maram: Now we can pass!", .@maram$;
disablenpc instance_npcname("Lock#1-1");
disablenpc instance_npcname("Lock#1-2");
disablenpc .@maram$;
setcell 'map_tcamp$,137,216,142,216,cell_walkable,1;
end;
}
1@tcamp,141,216,3 duplicate(Lock#1-1) Lock#1-2 4_ROPEPILE
1@tcamp,140,218,3 duplicate(dummy_npc) Maram#Lock1 4_EP18_MARAM
1@tcamp,136,145,3 script Lock#2-1 4_ROPEPILE,{
.@maram$ = instance_npcname("Maram#Lock2");
enablenpc .@maram$;
progressbar_npc "3131FF",10;
npctalk "It would be better to proceed with caution.", .@maram$;
disablenpc instance_npcname("Lock#2-1");
disablenpc instance_npcname("Lock#2-2");
disablenpc instance_npcname("Lock#2-3");
disablenpc instance_npcname("Lock#2-4");
disablenpc .@maram$;
setcell 'map_tcamp$,135,145,144,145,cell_walkable,1;
end;
}
1@tcamp,138,145,3 duplicate(Lock#2-1) Lock#2-2 4_ROPEPILE
1@tcamp,141,145,3 duplicate(Lock#2-1) Lock#2-3 4_ROPEPILE
1@tcamp,143,145,3 duplicate(Lock#2-1) Lock#2-4 4_ROPEPILE
1@tcamp,142,147,3 duplicate(dummy_npc) Maram#Lock2 4_EP18_MARAM
1@tcamp,223,109,3 script Lock#3-1 4_ROPEPILE,{
.@maram$ = instance_npcname("Maram#Lock3");
enablenpc .@maram$;
npctalk "Maram: This building looks pretty suspicious, right? There must be a surveillance system in it as well.", .@maram$;
progressbar_npc "3131FF",10;
npctalk "Maram: Let's explore carefully, being careful not to get caught this time.", .@maram$;
disablenpc instance_npcname("Lock#3-1");
disablenpc instance_npcname("Lock#3-2");
disablenpc .@maram$;
setcell 'map_tcamp$,223,105,223,110,cell_walkable,1;
end;
}
1@tcamp,223,106,3 duplicate(Lock#3-1) Lock#3-2 4_ROPEPILE
1@tcamp,226,114,3 duplicate(dummy_npc) Maram#Lock3 4_EP18_MARAM
1@tcamp,80,99,3 script Lock#4-1 4_ROPEPILE,{
.@maram$ = instance_npcname("Maram#Lock4");
enablenpc .@maram$;
npctalk "Maram: I think you've gotten pretty deep. You should be able to find what you need safely.", .@maram$;
progressbar_npc "3131FF",10;
npctalk "Maram: Shall we wish you luck?", .@maram$;
disablenpc instance_npcname("Lock#4-1");
disablenpc instance_npcname("Lock#4-2");
disablenpc instance_npcname("Lock#4-3");
disablenpc .@maram$;
setcell 'map_tcamp$,80,94,80,100,cell_walkable,1;
enablenpc instance_npcname("Document Pile#Site1");
enablenpc instance_npcname("Document Pile#Site2");
enablenpc instance_npcname("Document Pile#Site3");
enablenpc instance_npcname("Document Pile#Site4");
enablenpc instance_npcname("Document Pile#Site5");
enablenpc instance_npcname("Miriam#base1");
enablenpc instance_npcname("Maram#base5");
end;
}
1@tcamp,80,97,3 duplicate(Lock#4-1) Lock#4-2 4_ROPEPILE
1@tcamp,80,95,3 duplicate(Lock#4-1) Lock#4-3 4_ROPEPILE
1@tcamp,82,100,3 duplicate(dummy_npc) Maram#Lock4 4_EP18_MARAM
//-------------------------------------------------------------------
// Final
//-------------------------------------------------------------------
1@tcamp,32,100,3 script Document Pile#Site1 4_EP18_PAPERS,{
mes "[Pile of Papers]";
mes "All the papers are jumbled up.";
mes "I took out a few sheets from the middle These are the expiry date of the weapon and the sales statement.";
next;
mes "[Pile of Papers]";
mes "Even the date is very recent. There is a record of handing over a large number of weapons to Mr. Dandelion.";
mes "I think I found what I was looking for. I put the documents in my pocket.";
close2;
getitem 1000409,1; // Ep18_Docu_File
cloakonnpcself( instance_npcname("Document Pile#Site1") );
end;
}
1@tcamp,49,123,3 script Document Pile#Site2 4_EP18_PAPERS,{
mes "[Pile of Papers]";
mes "All the papers are jumbled up.";
mes "At the top of the page the final menu for luncheon dinner?";
next;
mes "[Pile of Papers]";
mes "It seems that the menu is fried fish with sauce.";
mes "You seem to have left unimportant documents. Let's take care of them first.";
close2;
getitem 1000409,1; // Ep18_Docu_File
cloakonnpcself( instance_npcname("Document Pile#Site2") );
end;
}
1@tcamp,29,86,3 script Document Pile#Site3 4_EP18_PAPERS,{
mes "[Pile of Papers]";
mes "All the papers are jumbled up.";
mes "I took one out of the middle The layout of the military base guards?";
next;
mes "[Pile of Papers]";
mes "Looking at the date, it was a long time ago.";
mes "You seem to have left unimportant documents. Let's take care of them first.";
close2;
getitem 1000409,1; // Ep18_Docu_File
cloakonnpcself( instance_npcname("Document Pile#Site3") );
end;
}
1@tcamp,60,122,3 script Document Pile#Site4 4_EP18_PAPERS,{
mes "[Pile of Papers]";
mes "All the papers are jumbled up.";
mes "The top one... 'If you feed the magmaring potatoes and hunt them after a while, will they drop the baked potatoes?'";
next;
mes "[Pile of Papers]";
mes "why is this here. But I'm curious about the result!";
mes "You seem to have left unimportant documents. Let's take care of them first.";
close2;
getitem 1000409,1; // Ep18_Docu_File
cloakonnpcself( instance_npcname("Document Pile#Site4") );
end;
}
1@tcamp,31,84,3 script Document Pile#Site5 4_EP18_PAPERS,{
mes "[Pile of Papers]";
mes "All the papers are jumbled up.";
mes "Picking one out of the middle I found an illustration of the Pope drawn by icing the Pope's cookie icing with a pen.";
next;
mes "[Pile of Papers]";
mes "What kind of picture is it? Besides, you drew it very well.";
mes "You seem to have left unimportant documents. Let's take care of them first.";
close2;
getitem 1000409,1; // Ep18_Docu_File
cloakonnpcself( instance_npcname("Document Pile#Site5") );
end;
}
1@tcamp,34,100,3 script Miriam#base1 4_EP18_MIRIAM,3,3,{
disable_items;
if (countitem(1000409) < 5) { // Ep18_Docu_File
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes "As expected, you are talented, adventurer. I used all sorts of connections to find the position.";
mes "It seems that Adventurer and Maram found it at once.";
next;
mes "[Miriam]";
mes "Read some of the documents here. We have what we were looking for.";
mes "I think it would be better to come and see it firsthand than to explain everything.";
close3;
}
if (getequipid(EQI_HEAD_TOP) != 400127) { // Ep18_Mini_Elly
mes "[Mini Elly]";
mes "Get it out of the bag. Put it on your head.";
close;
}
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes ".";
next;
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "No, Miriam! How are you here?";
mes "They said they would investigate separately!";
next;
cutin "ep18_miriam_01.png",2;
mes "[Miriam]";
mes "How did you and the adventurer dig this far?";
mes "You have good skills, too. It was a location that I found using all kinds of connections, but you found it at once.";
next;
cutin "ep18_maram_02.png",2;
mes "[Maram]";
mes "Let's do some, right, adventurer?";
mes "Anyway, what information did you get?";
next;
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes "Look at this document here.";
next;
cutin "",255;
mes "[Mini Elly]";
mes "This is a sales statement for arms. Show it to me as well.";
mes "The weapons and firearms these men have disposed of are all less than a year old.";
next;
cutin "ep18_miriam_03.png",2;
mes "[Miriam]";
mes "How dare you sell such weapons.";
mes "A weapon that is not properly maintained may not function properly.";
next;
cutin "ep18_maram_03.png",2;
mes "[Maram]";
mes "The weapons that come out of the back hole are all the same.";
mes "but, at least it's at this point.";
next;
mes "[Maram]";
mes "A year is not a long term, but it is not tight.";
mes "Why did we pour out at this moment in preparation for the protest?";
next;
mes "[Maram]";
mes "You wouldn't have to dispose of it right away.";
next;
npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
sleep2 300;
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes "This is one of the military bases managed by my stepfather.";
mes "Just by chance, it really came out at a time like this.";
next;
cutin "",255;
select( "If your stepfather is a priest, Youth Amal?", "The hard-line and pro-war stepfather?" );
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes "That's right, adventurer. Looking at the ledger, it doesn't seem like the stepfather was involved.";
mes "I think it was a single corruption at the end, the weapon leak case.";
next;
mes "[Miriam]";
mes "I'll have to dig a little deeper, but that's my guess for now.";
mes "Oh, give me the documents. I'll take it as evidence.";
delitem 1000409,5; // Ep18_Docu_File
if (isbegin_quest(16578) == 1) {
erasequest 16578;
setquest 16579;
}
close2;
cutin "",255;
npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
end;
OnTouch:
npctalk "Miriam: Oh, adventurer? Maram you too!?";
end;
OnInstanceInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16578) == 1 && countitem(1000409) > 4" ); // Ep18_Docu_File
disablenpc instance_npcname("Miriam#base1");
end;
}
1@tcamp,32,102,3 script Maram#base5 4_EP18_MARAM,{
if (isbegin_quest(16579) == 0) {
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "I didn't know Miriam was here, right, adventurer?";
close3;
}
cutin "ep18_maram_02.png",2;
mes "[Maram]";
mes "We moved separately, but in the end we are in the same position.";
mes "Still, what I got in the process was different, so I guess it has its own meaning.";
next;
cutin "ep18_miriam_02.png",2;
mes "[Miriam]";
mes "Then I must be away for a while.";
mes "I'm going to pass on my findings to my stepfather.";
next;
mes "[Miriam]";
mes "Because there is a possibility that the adoptive father may not know yet if it is a single corruption.";
next;
cutin "ep18_maram_03.png",2;
mes "[Maram]";
mes "Is it really an independent corruption? That's probably what bothers me.";
mes "I have something to give to Rachel, Miriam, let's go together.";
next;
cutin "ep18_maram_01.png",2;
mes "[Maram]";
mes "I'll give you a shortcut, so can you please tell Suad what you found out here?";
mes "We will follow soon, so please go ahead and tell me.";
if (ep18_1_main == 46) {
ep18_1_main = 47;
erasequest 16579;
setquest 16580;
getitem "Ep18_Amethyst_Fragment",50;
}
close2;
warp "wolfvill",162,154;
end;
OnInstanceInit:
questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16579) == 1" );
disablenpc instance_npcname("Maram#base5");
end;
}

View File

@@ -0,0 +1,959 @@
//===== rAthena Script =======================================
//= Instance Villa of Deception.
//===== Description: =========================================
//- [Walkthrough conversion]
//- Require to complete the episode 18.1 main quest.
//- The function to drop an item with random option is defined in re/other/glocal_npc2.txt
// Notes:
// Some of the setting can be modified in 'Optional settings'.
// The monster inside the hard mode are using relieve level 10 (-99% damages).
// Change it if you think the player damage are too low, this level is a workaround but the damages
// on the mobs are lower in hard mode than in normal on official. The level is 9 on official.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//============================================================
wolfvill,79,260,0 script #con_wp11 HIDDEN_WARP_NPC,4,4,{
end;
OnTouch:
if (ep18_1_main < 57)
end;
cloakoffnpcself( "Aira#con" );
end;
}
wolfvill,79,260,4 script(CLOAKED) Aira#con 4_M_BRZ_JACI,{
if (ep18_1_main < 57)
end;
switch( checkquest(12522,PLAYTIME) ) {
case -1:
break;
case 0:
case 1:
mes "[Aira]";
mes "Please wait the end of the quest delay.";
close;
case 2:
erasequest 12522;
mes "^0000ff All the aftereffects of access are gone.^000000";
close;
}
mes "[Aira]";
mes "" + strcharinfo(0) + "Thanks to Mr. I arrived safely in the village.";
mes "But it seems that something has been revived in the villa. I think I need to get help one more time.";
next;
.@md_name_normal$ = "Villa of Deception";
.@md_name_hard$ = "Villa of Deception Advanced";
if (is_party_leader() == true) {
.@create_normal$ = "^000044Create " + .@md_name_normal$ + "^000000";
if (countitem(1000471) > 0)
.@create_hard$ = "^000044Create " + .@md_name_hard$ + "^000000";
}
switch( select( "Entry", .@create_normal$, .@create_hard$ ) ) {
case 1:
if (select( .@md_name_normal$, .@md_name_hard$ ) == 1) {
if (BaseLevel < 170) {
mes "[Aira]";
mes "You must be at least BaseLevel 170 to enter.";
close;
}
.@enter_to$ = .@md_name_normal$;
}
else {
if (BaseLevel < 200) {
mes "[Aira]";
mes "You must be at least BaseLevel 200 to enter.";
close;
}
.@enter_to$ = .@md_name_hard$;
}
switch( instance_enter(.@enter_to$) ) {
case IE_OTHER:
mes "^ff0000An unknown error occurred.^000000";
close;
case IE_NOINSTANCE:
mes "^0000ff The dungeon has not been created or you are trying to enter a dungeon different from the party leader.^000000";
close;
case IE_NOMEMBER:
mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
close;
case IE_OK:
mapannounce "wolfvill", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@enter_to$ + ".",bc_map,"0x00ff99",FW_NORMAL,12;
if (.@enter_to$ == .@md_name_normal$)
setquest 12520;
else
setquest 12521;
setquest 12522;
// warp "1@advs",111,19;
end;
}
end;
case 2:
if (BaseLevel < 170) {
mes "[Aira]";
mes "You must be at least BaseLevel 170 to create the instance.";
close;
}
if (instance_create(.@md_name_normal$) < 0) {
mes "Party: " + getpartyname(getcharid(1)) + "";
mes "Leader: " + strcharinfo(0) + "";
mes "^0000ff" + .@md_name_normal$ + " ^000000- Unknown error";
close;
}
end;
case 3:
if (BaseLevel < 200) {
mes "[Aira]";
mes "You must be at least BaseLevel 200 to create the instance.";
close;
}
if (countitem(1000471) < 1) {
mes "[Aira]";
mes "Where is the " + getitemname(1000471) + "?";
close;
}
if (instance_create(.@md_name_hard$) < 0) {
mes "Party: " + getpartyname(getcharid(1)) + "";
mes "Leader: " + strcharinfo(0) + "";
mes "^0000ff" + .@md_name_hard$ + " ^000000- Unknown error";
close;
}
delitem 1000471,1;
end;
}
end;
}
1@advs,1,1,0 script advs_init -1,{
end;
OnInstanceInit:
//--------------------------------------------
// variables initialization
//--------------------------------------------
'advs_step = 0;
'map_advs$ = instance_mapname("1@advs");
// variables step 1
'sw_timer = 0;
deletearray 'sw[0], 2;
// variables step 3
deletearray 'x_reaper[0], 'size_reaper;
deletearray 'y_reaper[0], 'size_reaper;
'size_reaper = 0;
//--------------------------------------------
// Optional settings
//--------------------------------------------
// Number minimum of reaper spawn on step 3
'min_reaper = 3;
// Setting according to the mode
if (instance_live_info(ILI_NAME) == "Villa of Deception Advanced") {
'advs_difficult = 1;
'sanare_id = 21377; // EP18_MD_SANARE_L
'hunter_id = 21378; // EP18_MD_HEARTHUNTER_L
'monster_relieve = 10; // need check but the damages are very low compared to normal mode
// Total of monster to kill in step 1, 2, 3
'total_monster_step_1 = 80;
'total_monster_step_2 = 70;
'total_monster_step_3 = 80;
// Number of monster spawn at the start of step 1, 2, 3
'init_monster_step_1 = 40;
'init_monster_step_2 = 30;
'init_monster_step_3 = 40;
'schulang_id = 21360; // EP18_MD_SCHULANG_L
'freyja_id = 21361; // EP18_MD_DEMI_FREYJA_L
// Don't touch this unless you know what you're doing
.@interval = 5; // distance between each reaper
.@max_reaper = 48; // number max of reaper spawn
}
else {
'advs_difficult = 0;
'sanare_id = 21318; // EP18_MD_SANARE_R
'hunter_id = 21319; // EP18_MD_HEARTHUNTER_R2
'monster_relieve = 9;
// Total of monster to kill in step 1, 2, 3
'total_monster_step_1 = 35;
'total_monster_step_2 = 35;
'total_monster_step_3 = 35;
// Number of monster spawn at the start of step 1, 2, 3
'init_monster_step_1 = 35;
'init_monster_step_2 = 25;
'init_monster_step_3 = 24;
'schulang_id = 21316; // EP18_MD_SCHULANG_R
'freyja_id = 21317; // EP18_MD_DEMI_FREYJA_R
// Don't touch this unless you know what you're doing
.@interval = 10;
.@max_reaper = 16;
}
for ( .@i = 109; .@i <= 139; .@i += .@interval ) {
for ( .@j = 219; .@j <= 249; .@j += .@interval ) {
if (.@i == 124 && .@j == 234)
continue;
'x_reaper[ 'size_reaper ] = .@i;
'y_reaper[ 'size_reaper ] = .@j;
'size_reaper++;
}
}
'total_reaper = min(.@max_reaper, 'size_reaper);
// number total of food necessary to reduce the number of reaper to 'min_reaper
'max_food = ('total_reaper * 2) - ('min_reaper * 2);
// debug
'total_monster_step_1 = max('init_monster_step_1, 'total_monster_step_1);
'total_monster_step_2 = max('init_monster_step_2, 'total_monster_step_2);
'total_monster_step_3 = max('init_monster_step_3, 'total_monster_step_3);
//--------------------------------------------
// npcs management
//--------------------------------------------
disablenpc instance_npcname("#boss2");
disablenpc instance_npcname("#box_admin");
// warps
disablenpc instance_npcname("#wp1");
disablenpc instance_npcname("#wp2");
disablenpc instance_npcname("#wp3");
disablenpc instance_npcname("#wp4");
disablenpc instance_npcname("#food1");
disablenpc instance_npcname("#food2");
disablenpc instance_npcname("#food3");
disablenpc instance_npcname("#food4");
// circles step final
disablenpc instance_npcname("#b_tr1");
disablenpc instance_npcname("#b_tr2");
disablenpc instance_npcname("#b_tr3");
disablenpc instance_npcname("#b_tr4");
// stop circles from moving
disablenpc instance_npcname("#b_sw1");
disablenpc instance_npcname("#b_sw2");
disablenpc instance_npcname("#b_sw3");
disablenpc instance_npcname("#b_sw4");
disablenpc instance_npcname("#boss1");
disablenpc instance_npcname("#boss2_sw");
donpcevent instance_npcname("#advs_step_1") + "::OnStart";
end;
}
// Entrance
// (npc probably used to enable the npcs according to the instance mode - normal or hard)
// 1@advs,111,19,0 duplicate(dummy_npc) #hidden_wp1 HIDDEN_WARP_NPC,2,2
// 1@advs,134,19,0 duplicate(dummy_npc) #hidden_wp2 HIDDEN_WARP_NPC,2,2
//---------------------------------------------------------------
// Warps
//---------------------------------------------------------------
1@advs,124,101,0 warp #wp1 2,2,1@advs,124,115
1@advs,124,205,0 script #wp2 WARPNPC,2,2,{
end;
OnTouch:
.@r = rand(3);
if (.@r == 0)
warp 'map_advs$,101,235;
else if (.@r == 1)
warp 'map_advs$,155,233;
else
warp 'map_advs$,124,211;
end;
}
1@advs,124,266,0 warp #wp3 2,2,1@advs,124,277
1@advs,124,307,0 warp #wp4 2,2,1@advs,124,319
// 1@advs,124,307,0 duplicate(dummy_npc) #wp4 WARPNPC,10,10
//---------------------------------------------------------------
// Step 1
//---------------------------------------------------------------
1@advs,1,1,0 script #advs_step_1 -1,{
end;
OnStart:
'mob_to_respawn = 'total_monster_step_1 - 'init_monster_step_1;
// The coordinates may be inaccurates (maybe not random on official)
for ( .@i = 0; .@i < 'init_monster_step_1; ++.@i )
callsub( S_Spawn );
end;
OnMobDead:
if ('mob_to_respawn > 0)
'mob_to_respawn--;
initnpctimer;
sleep 2000;
if ('advs_step == 0 && 'mob_to_respawn > 0) {
if ('mob_to_respawn > 0)
callsub( S_Spawn );
if ('mob_to_respawn > 1)
callsub( S_Spawn );
}
end;
OnTimer2000:
stopnpctimer;
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_1") + "::OnMobDead");
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
end;
S_Spawn:
.@label$ = instance_npcname("#advs_step_1") + "::OnMobDead";
if (rand(2))
.@mob_id = 'hunter_id;
else
.@mob_id = 'sanare_id;
.@r = rand(3);
if (.@r == 0)
areamonster 'map_advs$,63,89,72,182,"--en--",.@mob_id,1, .@label$;
else if (.@r == 1)
areamonster 'map_advs$,63,89,184,101,"--en--",.@mob_id,1, .@label$;
else
areamonster 'map_advs$,184,89,174,182,"--en--",.@mob_id,1, .@label$;
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
return;
}
1@advs,67,182,5 script #sw_1 4_NFWISP,1,1,{
if ('advs_step != 0)
end;
mes "[Unidentified grudge]";
mes "Are you here to set me free?";
next;
if (select( "Stop", "Do it" ) == 1)
end;
if ('advs_step != 0)
end;
disablenpc instance_npcname("#sw_1");
'sw[0] = 1;
donpcevent instance_npcname("#sw_timer") + "::OnStart";
end;
OnTouch_:
end;
}
1@advs,180,182,5 script #sw_2 4_NFWISP,1,1,{
if ('advs_step != 0)
end;
mes "[Unidentified grudge]";
mes "Are you here to set me free?";
next;
if (select( "Stop", "Do it" ) == 1)
end;
if ('advs_step != 0)
end;
disablenpc instance_npcname("#sw_2");
'sw[1] = 1;
donpcevent instance_npcname("#sw_timer") + "::OnStart";
end;
OnTouch_:
end;
}
1@advs,1,1,5 script #sw_timer -1,{
end;
OnStart:
if ('sw_timer == 1)
end;
'sw_timer = 1;
initnpctimer;
end;
OnTimer3000:
stopnpctimer;
if ('sw[0] != 1 || 'sw[1] != 1) {
'sw_timer = 0;
if ('sw[0] == 1)
enablenpc instance_npcname("#sw_1");
if ('sw[1] == 1)
enablenpc instance_npcname("#sw_2");
'sw[0] = 0;
'sw[1] = 0;
npctalk "Ah... my half soul beyond this hallway is still unfulfilled...", instance_npcname("#sw_1");
npctalk "Ah... my half soul beyond this hallway is still unfulfilled...", instance_npcname("#sw_2");
mapannounce 'map_advs$, "You must free both souls on the left and right of the hallway at the same time.", bc_map, 0xAAAAFF;
end;
}
if ('advs_step != 0)
end;
mapannounce 'map_advs$, "Two souls are simultaneously liberated, opening the door to the center.", bc_map, 0xAAAAFF;
donpcevent instance_npcname("#advs_step_2") + "::OnStart";
end;
}
1@advs,75,89,5 script #trap_1 4_M_DEATH,1,1,{
end;
OnTouch:
specialeffect2 EF_FIREHIT;
specialeffect2 EF_ACIDDEMON;
getmapxy( .@map$, .@x, .@y, BL_PC );
getmapxy( .@map$, .@x_npc, .@y_npc, BL_NPC );
if (.@x == .@x_npc) {
if (.@y < 89)
pushpc DIR_SOUTH, 1;
else if (.@y > 99)
pushpc DIR_NORTH, 1;
else
pushpc DIR_EAST, 1; // default
}
else if (.@x < .@x_npc)
pushpc DIR_WEST, 1;
else
pushpc DIR_EAST, 1;
heal -((MaxHp*50)/100),0; // note: heal command is used to (potentially) kill the target
end;
OnMove1:
getmapxy( .@map$, .@x, .@y, BL_NPC );
unitwalk( getnpcid(0),.@x,99, instance_npcname( strnpcinfo(0) ) + "::OnMove2" );
end;
OnMove2:
getmapxy( .@map$, .@x, .@y, BL_NPC );
unitwalk( getnpcid(0),.@x,89, instance_npcname( strnpcinfo(0) ) + "::OnMove1" );
end;
OnInstanceInit:
npcspeed 150;
sleep rand(100,3000);
donpcevent instance_npcname( strnpcinfo(0) ) + "::OnMove1";
end;
}
// traps left
1@advs,80,89,1 duplicate(#trap_1) #trap_2 4_M_DEATH,1,1
1@advs,85,89,1 duplicate(#trap_1) #trap_3 4_M_DEATH,1,1
1@advs,90,89,1 duplicate(#trap_1) #trap_4 4_M_DEATH,1,1
1@advs,95,89,1 duplicate(#trap_1) #trap_5 4_M_DEATH,1,1
1@advs,100,89,1 duplicate(#trap_1) #trap_6 4_M_DEATH,1,1
1@advs,105,89,1 duplicate(#trap_1) #trap_7 4_M_DEATH,1,1
1@advs,110,89,1 duplicate(#trap_1) #trap_8 4_M_DEATH,1,1
1@advs,115,89,1 duplicate(#trap_1) #trap_9 4_M_DEATH,1,1
// traps right
1@advs,130,89,1 duplicate(#trap_1) #trap_10 4_M_DEATH,1,1
1@advs,135,89,1 duplicate(#trap_1) #trap_11 4_M_DEATH,1,1
1@advs,140,89,1 duplicate(#trap_1) #trap_12 4_M_DEATH,1,1
1@advs,145,89,1 duplicate(#trap_1) #trap_13 4_M_DEATH,1,1
1@advs,150,89,1 duplicate(#trap_1) #trap_14 4_M_DEATH,1,1
1@advs,155,89,1 duplicate(#trap_1) #trap_15 4_M_DEATH,1,1
1@advs,160,89,1 duplicate(#trap_1) #trap_16 4_M_DEATH,1,1
1@advs,165,89,1 duplicate(#trap_1) #trap_17 4_M_DEATH,1,1
1@advs,170,89,1 duplicate(#trap_1) #trap_18 4_M_DEATH,1,1
//---------------------------------------------------------------
// Step 2
//---------------------------------------------------------------
1@advs,1,1,0 script #advs_step_2 -1,{
end;
OnStart:
if ('advs_step != 0)
end;
'advs_step = 1;
disablenpc instance_npcname("#advs_step_1");
enablenpc instance_npcname("#wp1");
enablenpc instance_npcname("#food1");
enablenpc instance_npcname("#food2");
enablenpc instance_npcname("#food3");
enablenpc instance_npcname("#food4");
killmonster 'map_advs$, instance_npcname("#advs_step_1") + "::OnMobDead";
'mob_to_respawn = 'total_monster_step_2 - 'init_monster_step_2;
for ( .@i = 0; .@i < 'init_monster_step_2; ++.@i )
callsub( S_Spawn );
end;
OnMobDead:
if ('mob_to_respawn > 0)
'mob_to_respawn--;
initnpctimer;
sleep 2000;
if ('advs_step == 1 && 'mob_to_respawn > 0) {
if ('mob_to_respawn > 0)
callsub( S_Spawn );
if ('mob_to_respawn > 1)
callsub( S_Spawn );
}
end;
OnTimer2000:
stopnpctimer;
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_2") + "::OnMobDead");
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
if ('advs_step == 1 && 'mob_to_respawn == 0 && .@alive == 0)
donpcevent instance_npcname("#advs_step_3_A") + "::OnStart";
end;
S_Spawn:
.@label$ = instance_npcname("#advs_step_2") + "::OnMobDead";
if (rand(2))
.@mob_id = 'hunter_id;
else
.@mob_id = 'sanare_id;
.@r = rand(3);
if (.@r == 0)
areamonster 'map_advs$,76,145,171,139,"--en--",.@mob_id,1, .@label$;
else if (.@r == 1)
areamonster 'map_advs$,113,205,135,125,"--en--",.@mob_id,1, .@label$;
else
areamonster 'map_advs$,113,205,135,125,"--en--",.@mob_id,1, .@label$;
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
return;
}
1@advs,101,159,5 script #food1 4_EP16_FOOD,1,1,{
if ('max_food <= 0) {
mapannounce 'map_advs$, "??? : You really don't know how to cook well, you deserve a casual tour of my garden.", bc_map, 0xAAAAFF;
end;
}
progressbar "",4;
'max_food--;
.@r = rand(5);
if (.@r == 0)
sc_start SC_CONFUSION,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
else if (.@r == 1)
sc_start SC_CURSE,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
else if (.@r == 2)
sc_start SC_BLIND,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
else if (.@r == 3)
sc_start SC_POISON,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
else
sc_start SC_SILENCE,30000,0,100, SCSTART_NOAVOID|SCSTART_NOTICKDEF|SCSTART_NORATEDEF;
if ('total_reaper > 'min_reaper && ('max_food % 2) == 0)
'total_reaper--;
end;
}
1@advs,101,125,5 duplicate(#food1) #food2 4_EP16_FOOD,1,1
1@advs,147,162,5 duplicate(#food1) #food3 4_EP16_FOOD,1,1
1@advs,147,122,5 duplicate(#food1) #food4 4_EP16_FOOD,1,1
//---------------------------------------------------------------
// Step 3
//---------------------------------------------------------------
1@advs,1,1,5 script #advs_step_3_A -1,{
end;
OnStart:
if ('advs_step != 1)
end;
'advs_step = 2;
enablenpc instance_npcname("#wp2");
disablenpc instance_npcname("#advs_step_2");
donpcevent instance_npcname("#advs_step_3_A") + "::OnEvent";
donpcevent instance_npcname("#advs_step_3_B") + "::OnEvent";
end;
OnEvent:
.@label$ = instance_npcname("#advs_step_3_A") + "::OnMobDead";
copyarray .@x[0], 'x_reaper[0], 'size_reaper;
copyarray .@y[0], 'y_reaper[0], 'size_reaper;
.@size = 'size_reaper;
for ( .@i = 0; .@i < 'total_reaper; ++.@i ) {
.@r = rand(.@size);
monster 'map_advs$,.@x[.@r],.@y[.@r],"--en--",20846,1, .@label$; // MD_HIDDEN_GROUND01
deletearray .@x[.@r],1;
deletearray .@y[.@r],1;
.@size--;
}
initnpctimer;
end;
OnTimer10000:
killmonster 'map_advs$, instance_npcname("#advs_step_3_A") + "::OnMobDead";
donpcevent instance_npcname("#advs_step_3_A") + "::OnEvent"; // this event never stop
end;
OnMobDead:
end;
}
1@advs,1,1,0 script #advs_step_3_B -1,{
end;
OnEvent:
'mob_to_respawn = 'total_monster_step_3 - 'init_monster_step_3;
for ( .@i = 0; .@i < 'init_monster_step_3; ++.@i )
callsub( S_Spawn );
end;
OnMobDead:
if ('mob_to_respawn > 0)
'mob_to_respawn--;
initnpctimer;
sleep 2000;
if ('advs_step == 2 && 'mob_to_respawn > 0) {
if ('mob_to_respawn > 0)
callsub( S_Spawn );
if ('mob_to_respawn > 1)
callsub( S_Spawn );
}
end;
OnTimer2000:
stopnpctimer;
.@alive = mobcount('map_advs$, instance_npcname("#advs_step_3_B") + "::OnMobDead");
mapannounce 'map_advs$, "Number of monsters left: " + .@alive, bc_map, 0xAAAAFF;
if ('advs_step == 2 && 'mob_to_respawn == 0 && .@alive == 0)
donpcevent instance_npcname("#boss1_advs") + "::OnStart";
end;
S_Spawn:
.@label$ = instance_npcname("#advs_step_3_B") + "::OnMobDead";
if (rand(2))
.@mob_id = 'hunter_id;
else
.@mob_id = 'sanare_id;
.@r = rand(4);
if (.@r == 0)
areamonster 'map_advs$,109,238,119,248,"--en--",.@mob_id,1, .@label$;
else if (.@r == 1)
areamonster 'map_advs$,109,219,119,229,"--en--",.@mob_id,1, .@label$;
else if (.@r == 2)
areamonster 'map_advs$,128,238,138,248,"--en--",.@mob_id,1, .@label$;
else
areamonster 'map_advs$,128,219,138,229,"--en--",.@mob_id,1, .@label$;
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
return;
}
//---------------------------------------------------------------
// Step 4
//---------------------------------------------------------------
1@advs,1,1,4 script #boss1_advs -1,{
end;
OnStart:
if ('advs_step != 2)
end;
'advs_step = 3;
enablenpc instance_npcname("#wp3");
disablenpc instance_npcname("#advs_step_3_B");
enablenpc instance_npcname("#boss1");
end;
OnMobDead:
if ('advs_step != 4)
end;
'advs_step = 5;
enablenpc instance_npcname("#wp4");
enablenpc instance_npcname("#boss2_sw");
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStop";
end;
}
// 1@advs,124,295,4 script #boss1 EP18_MD_SCHULANG_R,1,1,{
1@advs,124,295,4 script #boss1 EP18_MD_SCHULANG_R,{
if ('advs_step != 3)
end;
if (is_party_leader() == false)
end;
'advs_step = 4;
npctalk "That's all human.";
unitwalk getnpcid(0), 124,290, instance_npcname("#boss1") + "::OnMove";
end;
OnMove:
disablenpc instance_npcname("#boss1");
monster 'map_advs$,124,290,"--en--",'schulang_id,1, instance_npcname("#boss1_advs") + "::OnMobDead";
'schulang_gid = $@mobid[0];
unitskilluseid $@mobid[0], 771, 1; // NPC_RELIEVE_ON
unittalk 'schulang_gid, "I'm in a bit of trouble if I approach this more than that!!!";
monster 'map_advs$,123,285,"--en--",21319,1; // EP18_MD_HEARTHUNTER_R2
unitskilluseid $@mobid[0], 771, 'monster_relieve; // NPC_RELIEVE_ON
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStart";
end;
// OnTouch: // effect ?
// end;
}
1@advs,1,1,0 script #boss1_advs_skill_1 -1,{
end;
OnStart:
initnpctimer;
getunitdata 'schulang_gid, .@data;
'x_sch_event = .@data[UMOB_X];
'y_sch_event = .@data[UMOB_Y];
'ignore_column = rand(5); // one column is randomly free
end;
OnTimer1000:
callsub( S_Skill,-8 );
end;
OnTimer1500:
callsub( S_Skill,-4 );
end;
OnTimer2000:
callsub( S_Skill,0 );
end;
OnTimer2500:
callsub( S_Skill,4 );
end;
OnTimer3000:
callsub( S_Skill,8 );
stopnpctimer;
donpcevent instance_npcname("#boss1_advs_skill_1") + "::OnStart";
end;
S_Skill:
.@dxy = getarg(0);
if ('ignore_column != 0)
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event - 8), ('y_sch_event + .@dxy), -50;
if ('ignore_column != 1)
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event - 4), ('y_sch_event + .@dxy), -50;
if ('ignore_column != 2)
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, 'x_sch_event, ('y_sch_event + .@dxy), -50;
if ('ignore_column != 3)
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event + 4), ('y_sch_event + .@dxy), -50;
if ('ignore_column != 4)
unitskillusepos 'schulang_gid,"MG_THUNDERSTORM",4, ('x_sch_event + 8), ('y_sch_event + .@dxy), -50;
return;
OnStop:
stopnpctimer;
end;
}
//---------------------------------------------------------------
// Step 5 (final)
//---------------------------------------------------------------
// 1@advs,124,358,4 script #boss2_sw CLEAR_NPC,1,1,{
1@advs,124,358,4 script #boss2_sw CLEAR_NPC,{
if ('advs_step != 5)
end;
if (is_party_leader() == false)
end;
'advs_step = 6;
cloakonnpc instance_npcname("#boss2_sw"); // cloakonnpc to display effect
specialeffect EF_CLOUD4;
specialeffect EF_DQ9_CHARGE3;
sleep 4000;
specialeffect EF_SCREEN_QUAKE;
setnpcdisplay( instance_npcname("#boss2"), 'freyja_id );
enablenpc instance_npcname("#boss2");
specialeffect EF_BEGINSPELL_YB;
sleep 2000;
npctalk "I... and... together... let's play...", instance_npcname("#boss2");
unitwalk getnpcid(0, instance_npcname("#boss2")), 124,346, instance_npcname("#boss2_sw") + "::OnMove";
end;
OnMove:
setnpcdisplay( instance_npcname("#boss2"), CLEAR_NPC );
disablenpc instance_npcname("#boss2");
monster 'map_advs$,124,346,"--en--",'freyja_id,1, instance_npcname("#boss2_sw") + "::OnMobDead";
'freyja_gid = $@mobid[0];
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStart";
sleep 3000;
mapannounce 'map_advs$, "Tip: Twisted God Freyja is weaken as it get closer to the chandelier.", bc_map, 0xFFCC;
if ('advs_difficult == 1)
sleep 8000;
else
sleep 30000;
// circles
if ('advs_difficult == 1) {
donpcevent instance_npcname("#b_tr1") + "::OnEnable";
donpcevent instance_npcname("#b_tr2") + "::OnEnable";
}
donpcevent instance_npcname("#b_tr3") + "::OnEnable";
donpcevent instance_npcname("#b_tr4") + "::OnEnable";
// stop the circles from moving
enablenpc instance_npcname("#b_sw1");
enablenpc instance_npcname("#b_sw2");
enablenpc instance_npcname("#b_sw3");
enablenpc instance_npcname("#b_sw4");
end;
OnMobDead:
'freyja_gid = 0;
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStop";
disablenpc instance_npcname("#boss2_sw");
enablenpc instance_npcname("#box_admin");
if ('advs_difficult == 1) {
donpcevent instance_npcname("#b_tr1") + "::OnStop";
donpcevent instance_npcname("#b_tr2") + "::OnStop";
}
donpcevent instance_npcname("#b_tr3") + "::OnStop";
donpcevent instance_npcname("#b_tr4") + "::OnStop";
end;
// OnTouch: // effect ?
// end;
}
1@advs,124,356,4 duplicate(dummy_npc) #boss2 CLEAR_NPC,1,1
1@advs,1,1,4 script #advs_boss_relieve -1,{
end;
OnStart:
if (unitexists('freyja_gid) == false)
end;
getunitdata 'freyja_gid, .@data;
.@d = distance(124,356,.@data[UMOB_X],.@data[UMOB_Y]);
.@lv = (.@d / 2) + 1; // level 6 on spawn
.@lv = min(10,.@lv);
.@lv = max(1,.@lv);
unitskilluseid 'freyja_gid, 772, 1; // NPC_RELIEVE_OFF
unitskilluseid 'freyja_gid, 771, .@lv; // NPC_RELIEVE_ON
initnpctimer;
end;
OnTimer2000:
donpcevent instance_npcname("#advs_boss_relieve") + "::OnStart";
end;
OnStop:
stopnpctimer;
end;
}
// circles
1@advs,124,337,5 script #b_tr1 MD_HIDDEN_GROUND02,2,2,{
end;
OnTouch: // note: warp dead player
if ('freyja_gid == 0)
end;
specialeffect2 EF_FIREHIT;
specialeffect2 EF_ACIDDEMON;
percentheal -10,0; // deal some damage
if (rand(2))
warp 'map_advs$,67,182;
else
warp 'map_advs$,180,182;
end;
OnEnable:
enablenpc instance_npcname( strnpcinfo(0) );
OnStart:
'circle_move = 1;
OnMove:
if ('freyja_gid == 0)
end;
if ('circle_move == 0)
end;
getmapxy( .@map$, .@x, .@y, BL_NPC );
do {
.@dx = rand(-2,2);
.@dy = rand(-2,2);
.@new_x = .@x + .@dx;
.@new_y = .@y + .@dy;
}
while ((.@dx == 0 && .@dy == 0) || .@new_x < 108 || .@new_x > 139 || .@new_y < 325 || .@new_y > 351);
unitwalk( getnpcid(0),.@new_x,.@new_y, instance_npcname( strnpcinfo(0) ) + "::OnMove" );
end;
OnStop:
'circle_move = 0; // double check just because
unitstopwalk getnpcid(0);
end;
}
1@advs,124,337,5 duplicate(#b_tr1) #b_tr2 MD_HIDDEN_GROUND02,2,2
1@advs,124,337,5 duplicate(#b_tr1) #b_tr3 MD_HIDDEN_GROUND02,2,2
1@advs,124,337,5 duplicate(#b_tr1) #b_tr4 MD_HIDDEN_GROUND02,2,2
// stop the circles from moving
1@advs,108,358,4 script #b_sw1 4_ENERGY_YELLOW,2,2,{
mes "Ddispel the circle ^ff0000requires your health and mana.^000000 During the process, you ^ff0000becomes immobile and defenseless.^000000 Are you sure you want to start dispelling?";
next;
if (select( "Cancel", "Proceed" ) == 1)
end;
if ('freyja_gid == 0)
end;
// this part need to be checked when more information are available
.@success = callsub( S_Venom );
mes "^0000ffThe magic stone that absorbed your stamina and magic resonates. The magic circle that has been wandering disappears.^000000";
specialeffect EF_BASH3D6;
if (.@success == true && 'circle_move == 1) {
disablenpc();
if ('advs_difficult == 1) {
donpcevent instance_npcname("#b_tr1") + "::OnStop";
donpcevent instance_npcname("#b_tr2") + "::OnStop";
}
donpcevent instance_npcname("#b_tr3") + "::OnStop";
donpcevent instance_npcname("#b_tr4") + "::OnStop";
initnpctimer;
}
close;
S_Venom:
.@percent_hp = max(1, (MaxHp/100)); // deal random damage to the player
.@percent_sp = max(1, (MaxSp/100));
.@r = rand(2,20);
for ( .@i = 0; .@i < .@r; ++.@i ) {
specialeffect2 EF_INVENOM;
heal -.@percent_hp, -.@percent_sp;
if (Hp < 1)
return 0;
sleep2 500;
}
return (Hp > 0);
OnTimer10000: // seems to be around 10s to re-enable the circle, 20s the npc
if ('freyja_gid == 0)
end;
if ('advs_difficult == 1) {
donpcevent instance_npcname("#b_tr1") + "::OnStart";
donpcevent instance_npcname("#b_tr2") + "::OnStart";
}
donpcevent instance_npcname("#b_tr3") + "::OnStart";
donpcevent instance_npcname("#b_tr4") + "::OnStart";
end;
OnTimer20000:
stopnpctimer;
enablenpc();
end;
OnTouch: // effect ?
end;
}
1@advs,101,351,4 duplicate(#b_sw1) #b_sw2 4_ENERGY_YELLOW,2,2
1@advs,139,358,4 duplicate(#b_sw1) #b_sw3 4_ENERGY_YELLOW,2,2
1@advs,145,351,4 duplicate(#b_sw1) #b_sw4 4_ENERGY_YELLOW,2,2
// exit
1@advs,123,358,4 script #box_admin 4_ENERGY_YELLOW,2,2,{
.@is_hard = (instance_live_info(ILI_NAME) == "Villa of Deception Advanced");
if (isbegin_quest(12520) == 1 && !.@is_hard || isbegin_quest(12521) == 1 && .@is_hard) {
if (checkweight(1000405,10, 1000471,1) == 0) {
mes "- Wait a minute !! -";
mes "- Currently you're carrying -";
mes "- too many items with you. -";
mes "- Please try again -";
mes "- after you loose some weight. -";
close;
}
mes "^0000ffFound something in a bright glowing halo.^000000";
if (get_reputation_points(3) >= 5000)
.@bonus = 2;
getitem 1000405,8+.@bonus; // Ep18_Amethyst_Fragment
if (.@is_hard)
erasequest 12521;
else
erasequest 12520;
if (rand(100) < 10)
getitem 1000471,1;
close;
}
mes "^0000ffI think you can get out now.^000000";
next;
if (select( "Cancel", "Exit" ) == 1)
end;
warp "wolfvill",77,258;
end;
}

File diff suppressed because it is too large Load Diff

3238
npc/re/instances/Wolves.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1135,7 +1135,7 @@ job3_arch02,113,327,5 script Valkyrie#arch_01 403,{
mes "It'll be helpful to find the rest of pieces.";
next;
mes "[Valkyrie Anguhilde]";
mes "Then I look forward a good news.";
mes "Then I look forward to good news.";
close2;
getitem 12382,1; //ValkyrieB_Scroll
viewpoint 1,244,46,1,0xFFFF99;

View File

@@ -1710,7 +1710,7 @@ OnTouch:
mes "Why don't we go back to Prontera?";
next;
mes "[Karian]";
mes "I can't get rid of the the memories that I was impressed with when I entered Prontera's gates.";
mes "I can't get rid of the memories that I was impressed with when I entered Prontera's gates.";
set job_min,22;
changequest 11153,11154;
donpcevent "Karian#cmd8::OnDisable";

View File

@@ -448,7 +448,7 @@ comodo,140,86,5 script Cheerless Maestro 479,{
next;
emotion ET_QUESTION, playerattached();
mes "[" + strcharinfo(0) + "]";
mes "I've seen other Maestro's performances but there was no one better then Guitar Song.";
mes "I've seen other Maestro's performances but there was no one better than Guitar Song.";
next;
mes "[Guitar Song]";
mes "He he he! Yes, I know I am super great!";

View File

@@ -2624,7 +2624,7 @@ iz_ac01,100,39,5 script Academy Receptionist#1 4_F_01,{
mes "You can choose the course freely and each course has individual features.";
next;
mes "[Receptionist]";
mes "And this is the the basic equipment for the educational course.";
mes "And this is the basic equipment for the educational course.";
mes "Please make a good use of it.";
mes "Be careful with it as it won't be provided again.";
setquest 4269;
@@ -6249,7 +6249,7 @@ iz_ac01,138,69,3 script Lady#ac 1_F_ORIENT_02,{
mes "^3377FF Haven't the kids feeding Picky awaken yet?^000000";
next;
mes "[Lady]";
mes "^3377FF When are you going to Morocc over the dessert?^000000";
mes "^3377FF When are you going to Morocc over the desert?^000000";
next;
mes "[Lady]";
mes "... Anonymous...";
@@ -7330,7 +7330,7 @@ iz_ac02,142,85,6 script Lusa#ac 4_F_GUNSLINGER,{
mes "Now y'all need to understand, guns aren't some little thing that you just swing at an animal, you don't wiggle those there fingers and shock them to death.";
next;
mes "[Lusa]";
mes "No! You shoot things, which means ya need to aim straight. This takes alot of ^ff0000dexterity^000000 on the part of the gunslinger.";
mes "No! You shoot things, which means ya need to aim straight. This takes a lot of ^ff0000dexterity^000000 on the part of the gunslinger.";
next;
mes "[Lusa]";
mes "Now before ya go running off shooting dem guns in the air, all high fallootin and dancing around. Ya need to understand that this isn't an easy job!";

View File

@@ -60,3 +60,4 @@ Footer:
- Path: npc/re/merchants/barters/enchan_illusion_dungeons.yml
- Path: npc/re/merchants/barters/quests_exp_175.yml
- Path: npc/re/merchants/barters/mysterious_cookie_shop.yml
- Path: npc/re/merchants/barters/quests_18_1.yml

View File

@@ -412,3 +412,419 @@ Body:
- Index: 3
Item: IllusionStone
Amount: 120
- Name: resonance_stone_barter
Items:
- Index: 0
Item: ILL_Piece_A
RequiredItems:
- Index: 0
Item: IllusionStone
Amount: 10
- Index: 1
Item: ILL_Piece_B
RequiredItems:
- Index: 0
Item: IllusionStone
Amount: 10
- Name: barter_ill_moonlight
Items:
- Index: 0
Item: Staff_Of_Bordeaux_IL
RequiredItems:
- Index: 0
Item: Staff_Of_Bordeaux
- Index: 1
Item: IllusionStone
Amount: 30
- Index: 2
Item: HazyDream
Amount: 100
- Index: 1
Item: Moonlight_Sword_IL
RequiredItems:
- Index: 0
Item: Moonlight_Sword
- Index: 1
Item: IllusionStone
Amount: 60
- Index: 2
Item: HazyDream
Amount: 100
- Index: 2
Item: Long_Mace_IL
RequiredItems:
- Index: 0
Item: Long_Mace
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyDream
Amount: 20
- Index: 3
Item: Spectral_Spear_IL
RequiredItems:
- Index: 0
Item: Spectral_Spear
- Index: 1
Item: IllusionStone
Amount: 20
- Index: 2
Item: HazyDream
Amount: 100
- Index: 4
Item: Nurse_Cap_IL
RequiredItems:
- Index: 0
Item: Nurse_Cap
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: Bloody_LoveLetter
Amount: 100
- Index: 5
Item: Apple_Of_Archer_IL
RequiredItems:
- Index: 0
Item: Apple_Of_Archer
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: BrokenArrow
Amount: 100
- Index: 6
Item: Puente_Robe_IL
RequiredItems:
- Index: 0
Item: Puente_Robe
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyDream
Amount: 100
- Index: 7
Item: Muffler_IL
RequiredItems:
- Index: 0
Item: Muffler_
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyMooncake
Amount: 100
- Index: 8
Item: Shoes_IL
RequiredItems:
- Index: 0
Item: Shoes_
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: HazyMooncake
Amount: 100
- Name: barter_ill_frozen
Items:
- Index: 0
Item: Huuma_Flutter_Snow_IL
RequiredItems:
- Index: 0
Item: Huuma_Fluttering_Snow
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: KTULLANUXsEye
Amount: 20
- Index: 1
Item: Combo_Battle_Glove_IL
RequiredItems:
- Index: 0
Item: Combo_Battle_Glove
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: Snowball
Amount: 100
- Index: 2
Item: Herald_Of_GOD_IL
RequiredItems:
- Index: 0
Item: Herald_Of_GOD_
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: SpritJewel
Amount: 300
- Index: 3
Item: Clack_Of_Servival_IL
RequiredItems:
- Index: 0
Item: Clack_Of_Servival
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: Frozen_PieceOfRock
Amount: 200
- Index: 4
Item: Cap_IL
RequiredItems:
- Index: 0
Item: Cap_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Frozen_PieceOfRock
Amount: 100
- Name: barter_ill_vampire
Items:
- Index: 0
Item: Infiltrator_IL
RequiredItems:
- Index: 0
Item: Infiltrator_
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Torn_Diary
Amount: 20
- Index: 1
Item: Ghoul_Leg_IL
RequiredItems:
- Index: 0
Item: Ghoul_Leg
- Index: 1
Item: IllusionStone
Amount: 10
- Index: 2
Item: NightmareOfLump
Amount: 100
- Index: 2
Item: Wizardy_Staff_IL
RequiredItems:
- Index: 0
Item: Wizardy_Staff
- Index: 1
Item: IllusionStone
Amount: 40
- Index: 2
Item: SuspiciousMagicCircle
Amount: 100
- Index: 3
Item: Balistar_IL
RequiredItems:
- Index: 0
Item: Balistar_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Shining_Spore
Amount: 100
- Index: 4
Item: Book_Of_The_Apo_IL
RequiredItems:
- Index: 0
Item: Book_Of_The_Apocalypse
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Dried_Clover
Amount: 10
- Index: 5
Item: Cape_Of_Ancient_Lord_IL
RequiredItems:
- Index: 0
Item: Cape_Of_Ancient_Lord_
- Index: 1
Item: IllusionStone
Amount: 30
- Index: 2
Item: Short_Bat_Fur
Amount: 200
- Index: 6
Item: Skul_Ring_IL
RequiredItems:
- Index: 0
Item: Skul_Ring_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Dried_Leaf_Of_Ygg
Amount: 400
- Index: 7
Item: Ring_IL
RequiredItems:
- Index: 0
Item: Ring_
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: SuspiciousMagicCircle
Amount: 400
- Name: barter_ill_turtle
Items:
- Index: 0
Item: Immaterial_Sword_IL
RequiredItems:
- Index: 0
Item: Immaterial_Sword
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: ShipsLog
Amount: 50
- Index: 1
Item: War_Axe_IL
RequiredItems:
- Index: 0
Item: War_Axe
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: PieceOfBlackSpirit
Amount: 200
- Index: 2
Item: Pole_Axe_IL
RequiredItems:
- Index: 0
Item: Pole_Axe
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: PieceOfBlackSpirit
Amount: 200
- Index: 3
Item: Huuma_Bird_Wing_IL
RequiredItems:
- Index: 0
Item: Huuma_Bird_Wing
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: OldShell
Amount: 200
- Index: 4
Item: Iron_Driver_IL
RequiredItems:
- Index: 0
Item: Iron_Driver
- Index: 1
Item: IllusionStone
Amount: 100
- Index: 2
Item: OldShell
Amount: 200
- Index: 5
Item: Fancy_Flower_IL
RequiredItems:
- Index: 0
Item: Fancy_Flower
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: OldDoll
Amount: 50
- Name: barter_ill_luanda
Items:
- Index: 0
Item: Tablet_IL
RequiredItems:
- Index: 0
Item: Tablet
- Index: 1
Item: IllusionStone
Amount: 50
- Index: 2
Item: Weak_Worm
Amount: 100
- Index: 1
Item: Hunter_Bow_IL
RequiredItems:
- Index: 0
Item: Hunter_Bow_
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Shooting_Stone
Amount: 50
- Index: 3
Item: Pot_Stone
Amount: 50
- Index: 4
Item: Hair_Leaf
Amount: 50
- Index: 2
Item: Goibne_Helmet_IL
RequiredItems:
- Index: 0
Item: Goibne's_Helmet
- Index: 1
Item: IllusionStone
Amount: 120
- Index: 2
Item: Wootan_D_S_Piece
Amount: 30
- Index: 3
Item: Token_Of_Wootan
Amount: 150
- Index: 3
Item: Goibne_Armor_IL
RequiredItems:
- Index: 0
Item: Goibne's_Armor
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Hard_Mud
Amount: 100
- Index: 3
Item: Token_Of_Bigstone
Amount: 150
- Index: 4
Item: Goibne_Boots_IL
RequiredItems:
- Index: 0
Item: Goibne's_Combat_Boots
- Index: 1
Item: IllusionStone
Amount: 80
- Index: 2
Item: Wootan_F_Fur
Amount: 100
- Index: 3
Item: Token_Of_Wootan
Amount: 150
- Index: 5
Item: Goibne_Shoulder_IL
RequiredItems:
- Index: 0
Item: Goibne's_Shoulder_Arms
- Index: 1
Item: IllusionStone
Amount: 120
- Index: 2
Item: Fragment_Of_Rock
Amount: 30
- Index: 3
Item: Token_Of_Bigstone
Amount: 150

View File

@@ -0,0 +1,132 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Barter Database
###########################################################################
#
# Barter Settings
#
###########################################################################
# - Name NPC name.
# Map Map name. (Default: not on a map)
# X Map x coordinate. (Default: 0)
# Y Map y coordinate. (Default: 0)
# Direction Direction the NPC is looking. (Default: North)
# Sprite Sprite name of the NPC. (Default: FakeNpc)
# Items: List of sold items.
# - Index Index of the item inside the shop. (0-...)
# Maximum index depends on client.
# Item Aegis name of the item.
# Stock Amount of item in stock. 0 means unlimited. (Default: 0)
# Zeny Cost of them item in Zeny. (Default: 0)
# RequiredItems: List of required items (Optional)
# - Index Index of the required item. (0-4)
# Item Aegis name of required item.
# Amount Amount of required item. (Default: 1)
# Refine Refine level of required item. (Default: 0)
###########################################################################
Header:
Type: BARTER_DB
Version: 1
Body:
- Name: barter_ep18_1
Items:
- Index: 0
Item: Gray_W_Suits
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 1
Item: Gray_W_Robe
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 2
Item: Gray_W_Manteau
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 3
Item: Gray_W_Muffler
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 4
Item: Gray_W_Boots
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 5
Item: Gray_W_Shoes
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 6
Item: Gray_W_Pendant
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 7
Item: Gray_W_Robe
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 8
Item: Gray_W_Ring
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Index: 9
Item: Gray_W_Earing
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 350
- Name: barter_ep18_2
Items:
- Index: 0
Item: GrayWolf_7_Ticket
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 1050
- Name: barter_ep18_3
Items:
- Index: 0
Item: GrayWolf_7_Ticket
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 1050
- Index: 1
Item: GrayWolf_9_Ticket
RequiredItems:
- Index: 0
Item: Ep18_Amethyst_Fragment
Amount: 2250

File diff suppressed because it is too large Load Diff

View File

@@ -9,35 +9,66 @@
// monsters killed. [Capuche]
//============================================================
lhz_dun_n,0,0 monster Eremes Guille 3208,20,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Magaleta Sorin 3209,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Catherine Cheiron 3210,15,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Shecil Damon 3211,20,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Harword Alt-Eisen 3212,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Seyren Windsor 3213,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Eremes Guille 3208,20,5000,0,"lhz_dun_n::OnRegularDead3208"
lhz_dun_n,0,0 monster Magaleta Sorin 3209,10,5000,0,"lhz_dun_n::OnRegularDead3209"
lhz_dun_n,0,0 monster Catherine Cheiron 3210,15,5000,0,"lhz_dun_n::OnRegularDead3210"
lhz_dun_n,0,0 monster Shecil Damon 3211,20,5000,0,"lhz_dun_n::OnRegularDead3211"
lhz_dun_n,0,0 monster Harword Alt-Eisen 3212,10,5000,0,"lhz_dun_n::OnRegularDead3212"
lhz_dun_n,0,0 monster Seyren Windsor 3213,10,5000,0,"lhz_dun_n::OnRegularDead3213"
lhz_dun_n,0,0 monster Randel Lawrence 3226,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Flamel Emule 3227,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Celia Alde 3228,15,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Chen Liu 3229,15,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Gertie Wie 3230,15,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Alphoccio Basil 3231,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Trentini 3232,10,5000,0,"lhz_dun_n::OnRegularDead"
lhz_dun_n,0,0 monster Randel Lawrence 3226,10,5000,0,"lhz_dun_n::OnRegularDead3226"
lhz_dun_n,0,0 monster Flamel Emule 3227,10,5000,0,"lhz_dun_n::OnRegularDead3227"
lhz_dun_n,0,0 monster Celia Alde 3228,15,5000,0,"lhz_dun_n::OnRegularDead3228"
lhz_dun_n,0,0 monster Chen Liu 3229,15,5000,0,"lhz_dun_n::OnRegularDead3229"
lhz_dun_n,0,0 monster Gertie Wie 3230,15,5000,0,"lhz_dun_n::OnRegularDead3230"
lhz_dun_n,0,0 monster Alphoccio Basil 3231,10,5000,0,"lhz_dun_n::OnRegularDead3231"
lhz_dun_n,0,0 monster Trentini 3232,10,5000,0,"lhz_dun_n::OnRegularDead3232"
lhz_dun_n,0,0,0 script lhz_dun_n -1,{
end;
OnRegularDead:
.@mob_id = killedrid;
OnRegularDead3208: callsub( S_Regular, 3208 );
OnRegularDead3209: callsub( S_Regular, 3209 );
OnRegularDead3210: callsub( S_Regular, 3210 );
OnRegularDead3211: callsub( S_Regular, 3211 );
OnRegularDead3212: callsub( S_Regular, 3212 );
OnRegularDead3213: callsub( S_Regular, 3213 );
OnRegularDead3226: callsub( S_Regular, 3226 );
OnRegularDead3227: callsub( S_Regular, 3227 );
OnRegularDead3228: callsub( S_Regular, 3228 );
OnRegularDead3229: callsub( S_Regular, 3229 );
OnRegularDead3230: callsub( S_Regular, 3230 );
OnRegularDead3231: callsub( S_Regular, 3231 );
OnRegularDead3232: callsub( S_Regular, 3232 );
S_Regular:
.@mob_id = getarg(0);
if (.lhz_dun_n[.@mob_id] < 110 && .lhz_dun_n_boss == 0) {
.lhz_dun_n[.@mob_id]++;
if (.lhz_dun_n[.@mob_id] == 110) {
.@mini_boss = .@mob_id + 6 + (.@mob_id > 3213); // mini boss version ID: regular ID +6 for non-transcendent, +7 for others
monster "lhz_dun_n",0,0,"--en--",.@mini_boss,1, "lhz_dun_n::OnMiniDead";
.@mini_boss = .@mob_id + 6 + (.@mob_id > 3219); // mini boss version ID: regular ID +6 for non-transcendent, +7 for others
monster "lhz_dun_n",0,0,"--en--",.@mini_boss,1, "lhz_dun_n::OnMiniDead" + .@mini_boss;
}
}
end;
OnMiniDead:
.@mob_id = killedrid;
OnMiniDead3214: callsub( S_Mini, 3214 );
OnMiniDead3215: callsub( S_Mini, 3215 );
OnMiniDead3216: callsub( S_Mini, 3216 );
OnMiniDead3217: callsub( S_Mini, 3217 );
OnMiniDead3218: callsub( S_Mini, 3218 );
OnMiniDead3219: callsub( S_Mini, 3219 );
OnMiniDead3233: callsub( S_Mini, 3233 );
OnMiniDead3234: callsub( S_Mini, 3234 );
OnMiniDead3235: callsub( S_Mini, 3235 );
OnMiniDead3236: callsub( S_Mini, 3236 );
OnMiniDead3237: callsub( S_Mini, 3237 );
OnMiniDead3238: callsub( S_Mini, 3238 );
OnMiniDead3239: callsub( S_Mini, 3239 );
S_Mini:
.@mob_id = getarg(0);
if (.lhz_dun_n[.@mob_id] < 4 && .lhz_dun_n_boss == 0) {
.lhz_dun_n[.@mob_id]++;
.@regular = .@mob_id - 6 - (.@mob_id > 3219);
@@ -53,11 +84,7 @@ OnMiniDead:
monster "lhz_dun_n",140,230,"--en--", F_Rand(3220,3221,3222,3223,3224,3225,3240,3241,3242,3243,3244,3245,3246),1, "lhz_dun_n::OnMyMVPDead";
mapannounce "lhz_dun_n", "Voice of Reaper: It's been a while.", bc_map; // unknown message
.lhz_dun_n_boss = 1;
for ( .@i = 0; .@i < 13; ++.@i ) {
.@regular = .@mini_boss_list[.@i] - 6 - (.@mini_boss_list[.@i] > 3219);
.lhz_dun_n[.@regular] = 0;
.lhz_dun_n[.@mini_boss_list[.@i]] = 0;
}
deletearray .lhz_dun_n;
}
}
end;

Some files were not shown because too many files have changed in this diff Show More