Spawn and Free Cell Search Behavior (#8324)
- When searching for a map-wide free cell, the tiles 15 cells from the edge are no longer considered * Added a configuration to change the edge size to any value between 1 and 40 - When searching for a free cell, the tiles 4-5 cells from the edge are now considered invalid and trigger a retry * If you make the edge size smaller than this, it will use edge size instead - Searching for a free cell now defaults to 50 tries, but if the "no spawn on player" option is active, those failed attempts are not counted towards the limit anymore - When a monster spawns in a defined area there will now be 8 attempts to spawn it on a valid cell within the area and then one attempt on the center cell; if all 9 attempts fail, there will now be 50 tries to spawn it map-wide before it gives up - When a monster has fixed spawn coordinates, but those coordinates are a wall, it will now spawn in a random location map-wide instead * This also applies to icewall blocking the cell unless the boss_monster command was used - Each monster in an area spawn will now receive its own spawn center within the spawn area on server start * This results in the spawn area being larger but having a bias towards the center * Added a configuration to disable this behavior - Fixed slave monsters always being active and constantly calling the "search freecell" function even though neither them nor their master have been spotted yet - Fixed map server crash when setting no_spawn_on_player to 100 (follow-up to 33b2b02) - Updated prontera field spawns to official episode 18+ - Updated all champion mob respawn times to 3 minutes and sorted them by map name - Fixes #8300
This commit is contained in:
parent
949a33081f
commit
5d232db89e
@ -183,3 +183,10 @@ mail_delay: 1000
|
|||||||
|
|
||||||
// Hides items from the player's favorite tab from being sold to a NPC. (Note 1)
|
// Hides items from the player's favorite tab from being sold to a NPC. (Note 1)
|
||||||
hide_fav_sell: no
|
hide_fav_sell: no
|
||||||
|
|
||||||
|
// When searching for a random position on the map, how much of the border of the map shall not be considered?
|
||||||
|
// Officially the 15 tiles from the edge of the map on each side are not considered as target cells.
|
||||||
|
// On some maps like in Pyramids this causes there to be very few monsters in the outer areas. This also
|
||||||
|
// affects teleportation. Set this to 1 if you want it to be closer to the old emulator behavior.
|
||||||
|
// Valid values: 1-40
|
||||||
|
map_edge_size: 15
|
||||||
|
@ -163,6 +163,15 @@ no_spawn_on_player: 0
|
|||||||
// map regardless of what the mob-spawn file says.
|
// map regardless of what the mob-spawn file says.
|
||||||
force_random_spawn: no
|
force_random_spawn: no
|
||||||
|
|
||||||
|
// Should each monster's center cell be randomized? (Note 1)
|
||||||
|
// Officially, at server start, each monster's center cell is set to a random cell in the spawn area.
|
||||||
|
// Each time the monster spawns it will spawn in an area around its center cell rather than the
|
||||||
|
// original center of the spawn definition. This results in a much larger total spawn area and a
|
||||||
|
// different experience each server start.
|
||||||
|
// Set this to "no" if you want all monsters of a spawn to spawn around the original center of the
|
||||||
|
// spawn definition, making the total spawn area much smaller (old eAthena behavior).
|
||||||
|
randomize_center_cell: yes
|
||||||
|
|
||||||
// Do summon slaves inherit the passive/aggressive traits of their master?
|
// Do summon slaves inherit the passive/aggressive traits of their master?
|
||||||
// 0: No, retain original mode.
|
// 0: No, retain original mode.
|
||||||
// 1: Slaves are always aggressive.
|
// 1: Slaves are always aggressive.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
//===== rAthena Documentation================================
|
//===== rAthena Documentation================================
|
||||||
//= rAthena Script Commands
|
//= rAthena Script Commands
|
||||||
//===== By:==================================================
|
//===== By:==================================================
|
||||||
//= rAthena Dev Team
|
//= rAthena Dev Team
|
||||||
@ -135,11 +135,26 @@ and 'doc/mapflags.txt'.
|
|||||||
<map name>{,<x>{,<y>{,<xs>{,<ys>}}}}%TAB%monster%TAB%<monster name>{,<monster level>}%TAB%<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
|
<map name>{,<x>{,<y>{,<xs>{,<ys>}}}}%TAB%monster%TAB%<monster name>{,<monster level>}%TAB%<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
|
||||||
|
|
||||||
Map name is the name of the map the monsters will spawn on. x,y are the
|
Map name is the name of the map the monsters will spawn on. x,y are the
|
||||||
coordinates where the mob should spawn. If xs and ys are non-zero, they
|
coordinates where the mob should spawn. Putting zeros instead of these
|
||||||
specify the 'radius' of a spawn-rectangle area centered at x,y.
|
coordinates will spawn the monsters randomly.
|
||||||
Putting zeros instead of these coordinates will spawn the monsters randomly.
|
|
||||||
|
If the coordinates are non-zero and xs and ys are above 1, each monster will
|
||||||
|
spawn in a radius around x,y. At server start, each monster will get assigned
|
||||||
|
its own center cell adding or substracting up to (xs-1),(ys-1) from the given
|
||||||
|
x,y coordinates. Each time a monster respawns, it will spawn in a radius around
|
||||||
|
its personal center cell by adding or substracting up to (xs-1),(ys-1) again.
|
||||||
|
This results in a total possible spawn area over all monsters of the spawn line
|
||||||
|
of (xs,ys)*4-3, but with a strong bias towards the center of that area:
|
||||||
|
2,2 - 5x5
|
||||||
|
3,3 - 9x9
|
||||||
|
4,4 - 13x13
|
||||||
|
5,5 - 17x17
|
||||||
|
etc.
|
||||||
|
|
||||||
Note this is only the initial spawn zone, as mobs random-walk, they are free
|
Note this is only the initial spawn zone, as mobs random-walk, they are free
|
||||||
to move away from their specified spawn region.
|
to move away from their specified spawn region.
|
||||||
|
You can disable the picking of a random center cell for each monster in the
|
||||||
|
battle config. (See /conf/battle/monster.conf::randomize_center_cell.)
|
||||||
|
|
||||||
Monster name is the name the monsters will have on screen, and has no relation
|
Monster name is the name the monsters will have on screen, and has no relation
|
||||||
whatsoever to their names anywhere else. It's the mob id that counts, which
|
whatsoever to their names anywhere else. It's the mob id that counts, which
|
||||||
@ -188,6 +203,8 @@ Natural enemies for AI monsters are normal monsters.
|
|||||||
|
|
||||||
Alternately, a monster spawned using 'boss_monster' instead of 'monster' is able
|
Alternately, a monster spawned using 'boss_monster' instead of 'monster' is able
|
||||||
to be detected on the map with the SC_BOSSMAPINFO status (used by Convex Mirror).
|
to be detected on the map with the SC_BOSSMAPINFO status (used by Convex Mirror).
|
||||||
|
A boss monster spawn with fixed coordinates will always spawn at the given
|
||||||
|
coordinates, even if they are blocked (e.g. by Icewall).
|
||||||
|
|
||||||
** NPC names
|
** NPC names
|
||||||
|
|
||||||
|
@ -3,329 +3,334 @@
|
|||||||
//===== By: ==================================================
|
//===== By: ==================================================
|
||||||
//= nanakiwurtz
|
//= nanakiwurtz
|
||||||
//===== Current Version: =====================================
|
//===== Current Version: =====================================
|
||||||
//= 1.1
|
//= 1.2
|
||||||
//===== Compatible With: =====================================
|
//===== Compatible With: =====================================
|
||||||
//= rAthena Project
|
//= rAthena Project
|
||||||
//===== Additional Comments: =================================
|
//===== Additional Comments: =================================
|
||||||
//= 1.0 First version
|
//= 1.0 First version
|
||||||
//= 1.1 Correct Spawn by Navigation's mob data. [attackjom]
|
//= 1.1 Correct Spawn by Navigation's mob data. [attackjom]
|
||||||
|
//= 1.2 Correct respawn times and prontera field spawns [Playtester]
|
||||||
//============================================================
|
//============================================================
|
||||||
|
|
||||||
abbey02,0,0 monster Swift Zombie Slaughter 2603,3,300000
|
abbey01,0,0 monster Swift Banshee 2887,3,180000
|
||||||
gl_prison,0,0 monster Solid Zombie Prisoner 2604,1,300000
|
abbey02,0,0 monster Swift Zombie Slaughter 2603,3,180000
|
||||||
gld_dun04,0,0 monster Zombie Master Ringleader 2605,2,300000
|
abbey03,0,0 monster Necromancer Ringleader 2736,2,180000
|
||||||
pay_dun00,0,0 monster Furious Zombie 2606,2,300000
|
abyss_01,0,0 monster Furious Ferus 2832,2,180000
|
||||||
schg_dun01,0,0 monster Elusive Zakudam 2607,2,300000
|
abyss_02,0,0 monster Acidus Ringleader 2913,2,180000
|
||||||
prt_fild03,0,0 monster Swift Yoyo 2608,2,300000
|
abyss_03,0,0 monster Solid Acidus 2912,2,180000
|
||||||
ayo_fild02,0,0 monster Solid Yoyo 2609,1,300000
|
alde_dun01,0,0 monster Arclouze Ringleader 2894,1,180000
|
||||||
pay_fild06,0,0 monster Wormtail Ringleader 2610,3,300000
|
alde_dun02,0,0 monster Solid High Orc 2805,2,180000
|
||||||
um_fild02,0,0 monster Furious Wootan Fighter 2611,1,300000
|
alde_dun03,0,0 monster Furious Penomena 2717,2,180000
|
||||||
mosk_dun01,0,0 monster Elusive Wood Goblin 2612,2,300000
|
alde_dun04,0,0 monster Furious Bathory 2885,1,180000
|
||||||
moc_fild03,0,0 monster Swift Wolf 2613,2,300000
|
ama_dun01,0,0 monster Miyabi Doll Ringleader 2746,2,180000
|
||||||
gl_step,0,0 monster Solid Wind Ghost 2614,2,300000
|
ama_dun02,0,0 monster Swift Poison Toad 2704,1,180000
|
||||||
gef_dun03,0,0 monster Solid Wind Ghost 2614,1,300000
|
ama_dun03,0,0 monster Furious Shinobi 2664,2,180000
|
||||||
pay_fild01,0,0 monster Willow Ringleader 2615,2,300000
|
ama_fild01,0,0 monster Swift Karakasa 2789,2,180000
|
||||||
um_fild04,0,0 monster Furious Wild Rose 2616,1,300000
|
anthell01,0,0 monster Elusive Deniro 2857,3,180000
|
||||||
gon_dun03,0,0 monster Elusive Evil Nymph 2617,2,300000
|
anthell02,0,0 monster Solid Andre 2902,2,180000
|
||||||
gl_sew01,0,0 monster Solid Whisper 2618,1,300000
|
arug_dun01,0,0 monster Elusive Banshee Master 2886,2,180000
|
||||||
treasure_n2,0,0 monster Weak Skeleton Ringleader 2619,2,300000
|
ayo_dun01,0,0 monster Leaf Cat Ringleader 2781,2,180000
|
||||||
gl_cas02,0,0 monster Furious Wanderer 2620,2,300000
|
ayo_dun02,0,0 monster Furious Tamruan 2639,2,180000
|
||||||
gefenia04,0,0 monster Elusive Violy 2621,2,300000
|
ayo_fild01,0,0 monster Furious Smokie 2654,2,180000
|
||||||
gefenia03,0,0 monster Swift Violy 2622,2,300000
|
ayo_fild02,0,0 monster Solid Yoyo 2609,1,180000
|
||||||
gefenia02,0,0 monster Solid Violy 2623,2,300000
|
beach_dun,0,0 monster Swift Medusa 2759,2,180000
|
||||||
ein_fild04,0,0 monster Venomous Ringleader 2624,2,300000
|
beach_dun2,0,0 monster Furious Stalactic Golem 2644,2,180000
|
||||||
juperos_01,0,0 monster Furious Venatu 2625,3,300000
|
beach_dun3,0,0 monster Elusive Thara Frog 2635,2,180000
|
||||||
mosk_dun03,0,0 monster Elusive Vavayaga 2626,2,300000
|
bif_fild01,0,0 monster Miming Ringleader 2751,2,180000
|
||||||
ra_san01,0,0 monster Swift Vanberk 2627,2,300000
|
bif_fild02,0,0 monster Furious Little Fatum 2777,2,180000
|
||||||
iz_dun01,0,0 monster Solid Vadon 2628,2,300000
|
bra_dun01,0,0 monster Swift Piranha 2709,2,180000
|
||||||
ein_fild02,0,0 monster Ungoliant Ringleader 2629,2,300000
|
bra_dun02,0,0 monster Solid Iara 2795,3,180000
|
||||||
bra_fild01,0,0 monster Furious Toucan 2630,3,300000
|
bra_fild01,0,0 monster Furious Toucan 2630,3,180000
|
||||||
ma_fild01,0,0 monster Elusive Tiyanak 2631,2,300000
|
c_tower1,0,0 monster Solid Rideword 2682,2,180000
|
||||||
prt_sewb4,0,0 monster Solid Thief Bug 2632,2,300000
|
c_tower2,0,0 monster Furious Clock 2871,1,180000
|
||||||
prt_sewb3,0,0 monster Thief Bug Ringleader 2633,3,300000
|
c_tower3,0,0 monster Elusive Alarm 2910,1,180000
|
||||||
prt_sewb2,0,0 monster Furious Thief Bug 2634,2,300000
|
c_tower4,0,0 monster Clock Ringleader 2870,2,180000
|
||||||
beach_dun3,0,0 monster Elusive Thara Frog 2635,2,300000
|
cmd_fild01,0,0 monster Elusive Grove 2808,2,180000
|
||||||
ein_fild03,0,0 monster Swift Teddy Bear 2636,2,300000
|
cmd_fild02,0,0 monster Swift Seal 2829,3,180000
|
||||||
man_fild03,0,0 monster Solid Tatacho 2637,1,300000
|
cmd_fild03,0,0 monster Solid Alligator 2907,3,180000
|
||||||
mjo_dun01,0,0 monster Tarou Ringleader 2638,2,300000
|
cmd_fild04,0,0 monster Sea Otter Ringleader 2668,2,180000
|
||||||
ayo_dun02,0,0 monster Furious Tamruan 2639,2,300000
|
cmd_fild06,0,0 monster Furious Golem 2812,2,180000
|
||||||
gl_sew03,0,0 monster Elusive Sting 2640,2,300000
|
cmd_fild07,0,0 monster Elusive Raggler 2694,2,180000
|
||||||
lhz_fild02,0,0 monster Swift Stem Worm 2641,2,300000
|
cmd_fild08,0,0 monster Elusive Deniro 2857,2,180000
|
||||||
moc_fild13,0,0 monster Solid Steel Chonchon 2642,3,300000
|
cmd_fild09,0,0 monster Swift Metaller 2754,2,180000
|
||||||
ve_fild07,0,0 monster Stapo Ringleader 2643,2,300000
|
dew_dun01,0,0 monster Elusive Comodo 2867,2,180000
|
||||||
beach_dun2,0,0 monster Furious Stalactic Golem 2644,2,300000
|
dew_dun02,0,0 monster Solid Banaspaty 2888,2,180000
|
||||||
prt_fild02,0,0 monster Elusive Stainer 2645,3,300000
|
dew_fild01,0,0 monster Swift Rafflesia Arnoldi 2906,2,180000
|
||||||
treasure_n1,0,0 monster Swift Spore 2646,2,300000
|
dic_dun01,0,0 monster Swift Uni-horn Scaraba 2799,2,180000
|
||||||
tur_dun02,0,0 monster Solid Solider 2647,2,300000
|
dic_dun02,0,0 monster Elusive Antler Scaraba 2896,2,180000
|
||||||
pay_dun02,0,0 monster Soldier Skeleton Ringleader 2648,3,300000
|
dic_dun03,0,0 monster Furious Rake Scaraba 2693,2,180000
|
||||||
pay_dun01,0,0 monster Furious Soldier Skeleton 2649,2,300000
|
dic_fild01,0,0 monster Swift Centipede 2873,2,180000
|
||||||
tha_t09,0,0 monster Elusive Lady Solace 2650,2,300000 //--Remove after Thanatos Ravamped Patch
|
dic_fild02,0,0 monster Dolomedes Ringleader 2850,2,180000
|
||||||
pay_dun03,0,0 monster Swift Sohee 2651,2,300000
|
ecl_fild01,0,0 monster Elusive Menblatt 2758,1,180000
|
||||||
ice_dun02,0,0 monster Solid Snowier 2652,2,300000
|
ecl_tdun01,0,0 monster Solid Cenere 2874,1,180000
|
||||||
pay_fild02,0,0 monster Boa Ringleader 2653,3,300000
|
ecl_tdun02,0,0 monster Solid Antique Book 2898,1,180000
|
||||||
ayo_fild01,0,0 monster Furious Smokie 2654,2,300000
|
ecl_tdun03,0,0 monster Swift Antique Book 2897,1,180000
|
||||||
yuno_fild06,0,0 monster Elusive Sleeper 2655,1,300000
|
ein_dun01,0,0 monster Elusive Pitman 2708,2,180000
|
||||||
yuno_fild02,0,0 monster Swift Sleeper 2656,2,300000
|
ein_dun02,0,0 monster Solid Mineral 2750,2,180000
|
||||||
odin_tem02,0,0 monster Solid Skogul 2657,1,300000
|
ein_fild02,0,0 monster Ungoliant Ringleader 2629,2,180000
|
||||||
gld2_pay,0,0 monster Skeleton General Ringleader 2658,2,300000
|
ein_fild03,0,0 monster Swift Teddy Bear 2636,2,180000
|
||||||
gld_dun01_2,0,0 monster Furious Skeleton General 2659,2,300000
|
ein_fild04,0,0 monster Venomous Ringleader 2624,2,180000
|
||||||
mjo_dun03,0,0 monster Elusive Skeleton Worker 2660,2,300000
|
ein_fild05,0,0 monster Furious Noxious 2727,2,180000
|
||||||
ice_dun01,0,0 monster Swift Siroma 2661,1,300000
|
ein_fild06,0,0 monster Solid Holden 2745,2,180000
|
||||||
mosk_fild02,0,0 monster Solid Side Winder 2662,1,300000
|
ein_fild07,0,0 monster Metaling Ringleader 2756,2,180000
|
||||||
mjolnir_03,0,0 monster Side Winder Ringleader 2663,2,300000
|
ein_fild08,0,0 monster Solid Metaling 2755,2,180000
|
||||||
ama_dun03,0,0 monster Furious Shinobi 2664,2,300000
|
ein_fild09,0,0 monster Solid Porcellio 2700,2,180000
|
||||||
tha_t11,0,0 monster Elusive Mistress of Shelter 2665,2,300000 //--Remove after Thanatos Ravamped Patch
|
gef_dun00,0,0 monster Furious Hunter Fly 2797,1,180000
|
||||||
hu_fild06,0,0 monster Swift Shellfish 2666,1,300000
|
gef_dun01,0,0 monster Elusive Ghoul 2823,2,180000
|
||||||
lhz_dun03,0,0 monster Solid Cecil Damon 2667,3,300000
|
gef_dun02,0,0 monster Solid Deviruchi 2854,2,180000
|
||||||
cmd_fild04,0,0 monster Sea Otter Ringleader 2668,2,300000
|
gef_dun03,0,0 monster Solid Wind Ghost 2614,1,180000
|
||||||
iz_dun05,0,0 monster Furious Lamp Rey 2669,2,300000
|
gef_fild00,0,0 monster Elusive Chonchon 2872,2,180000
|
||||||
moc_fild18,0,0 monster Elusive Scorpion 2670,3,300000
|
gef_fild01,0,0 monster Furious Roda Frog 2679,2,180000
|
||||||
mjolnir_09,0,0 monster Swift Savage Babe 2671,2,300000
|
gef_fild02,0,0 monster Solid Coco 2869,3,180000
|
||||||
prt_maze01,0,0 monster Solid Savage 2672,2,300000
|
gef_fild03,0,0 monster Solid Orc Lady 2725,3,180000
|
||||||
mjolnir_07,0,0 monster Savage Ringleader 2673,3,300000
|
gef_fild04,0,0 monster Solid Mandragora 2765,2,180000
|
||||||
moc_fild16,0,0 monster Furious Sandman 2674,2,300000
|
gef_fild05,0,0 monster Swift Creamy 2863,2,180000
|
||||||
thor_v03,0,0 monster Elusive Salamander 2675,2,300000
|
gef_fild06,0,0 monster Solid Petite 2715,2,180000
|
||||||
treasure02,0,0 monster Swift Sailor Skeleton 2676,1,300000
|
gef_fild07,0,0 monster Swift Poring 2699,2,180000
|
||||||
ra_fild12,0,0 monster Solid Roween 2677,2,300000
|
gef_fild08,0,0 monster Swift Petite 2714,2,180000
|
||||||
prt_fild00,0,0 monster Roda Frog Ringleader 2678,2,300000
|
gef_fild09,0,0 monster Swift Coco 2868,2,180000
|
||||||
gef_fild01,0,0 monster Furious Roda Frog 2679,2,300000
|
gef_fild10,0,0 monster Furious Orc Warrior 2722,2,180000
|
||||||
prt_fild07,0,0 monster Elusive Rocker 2680,2,300000
|
gef_fild11,0,0 monster Swift Goblin 2814,3,180000
|
||||||
tha_t01,0,0 monster Swift Rideword 2681,2,300000
|
gefenia01,0,0 monster Swift False Angel 2834,2,180000
|
||||||
//tha_t01,0,0 monster Swift Rideword 2681,1,300000 //--Applied after Thanatos Revamped Patch.
|
gefenia02,0,0 monster Solid Violy 2623,2,180000
|
||||||
c_tower1,0,0 monster Solid Rideword 2682,2,300000
|
gefenia03,0,0 monster Swift Violy 2622,2,180000
|
||||||
gon_fild01,0,0 monster Dumpling Child Ringleader 2683,2,300000
|
gefenia04,0,0 monster Elusive Violy 2621,2,180000
|
||||||
tha_t10,0,0 monster Furious Baroness of Retribution 2684,2,300000 //--Remove after Thanatos Ravamped Patch
|
gl_cas01,0,0 monster Elusive Carat 2877,2,180000
|
||||||
tha_t08,0,0 monster Elusive Baroness of Retribution 2685,2,300000
|
|
||||||
//tha_t08,0,0 monster Elusive Baroness of Retribution 2685,1,300000 //--Applied after Thanatos Revamped Patch.
|
|
||||||
tha_t07,0,0 monster Swift Baroness of Retribution 2686,2,300000
|
|
||||||
//tha_t07,0,0 monster Swift Baroness of Retribution 2686,1,300000 //--Applied after Thanatos Revamped Patch.
|
|
||||||
in_sphinx2,0,0 monster Solid Requiem 2687,2,300000
|
|
||||||
lhz_dun01,0,0 monster Remover Ringleader 2688,3,300000
|
|
||||||
mal_dun01,0,0 monster Elusive Red Eruma 2689,2,300000
|
|
||||||
gl_knt02,0,0 monster Swift Raydric 2690,2,300000
|
|
||||||
gl_knt01,0,0 monster Solid Raydric 2691,2,300000
|
|
||||||
lhz_dun02,0,0 monster Laurell Weinder Ringleader 2692,3,300000
|
|
||||||
dic_dun03,0,0 monster Furious Rake Scaraba 2693,2,300000
|
|
||||||
cmd_fild07,0,0 monster Elusive Raggler 2694,2,300000
|
|
||||||
lhz_fild01,0,0 monster Swift Rafflesia 2695,3,300000
|
|
||||||
lhz_fild01,0,0 monster Poring Ringleader 2696,2,300000
|
|
||||||
lhz_fild01,0,0 monster Furious Poring 2697,2,300000
|
|
||||||
lhz_fild01,0,0 monster Elusive Poring 2698,2,300000
|
|
||||||
gef_fild07,0,0 monster Swift Poring 2699,2,300000
|
|
||||||
ein_fild09,0,0 monster Solid Porcellio 2700,2,300000
|
|
||||||
prt_maze03,0,0 monster Poporing Ringleader 2701,2,300000
|
|
||||||
prt_maze02,0,0 monster Furious Poporing 2702,2,300000
|
|
||||||
pay_fild04,0,0 monster Elusive Poporing 2703,2,300000
|
|
||||||
ama_dun02,0,0 monster Swift Poison Toad 2704,1,300000
|
|
||||||
mjolnir_06,0,0 monster Solid Poison Spore 2705,3,300000
|
|
||||||
odin_tem03,0,0 monster Plasma Ringleader 2706,2,300000
|
|
||||||
iz_dun00,0,0 monster Furious Plankton 2707,2,300000
|
|
||||||
ein_dun01,0,0 monster Elusive Pitman 2708,2,300000
|
|
||||||
bra_dun01,0,0 monster Swift Piranha 2709,2,300000
|
|
||||||
spl_fild01,0,0 monster Solid Dark Pinguicula 2710,2,300000
|
|
||||||
spl_fild02,0,0 monster Pinguicula Ringleader 2711,2,300000
|
|
||||||
moc_fild12,0,0 monster Furious Picky 2712,2,300000
|
|
||||||
iz_dun03,0,0 monster Elusive Phen 2713,2,300000
|
|
||||||
gef_fild08,0,0 monster Swift Petite 2714,2,300000
|
|
||||||
gef_fild06,0,0 monster Solid Petite 2715,2,300000
|
|
||||||
treasure02,0,0 monster Penomena Ringleader 2716,2,300000
|
|
||||||
alde_dun03,0,0 monster Furious Penomena 2717,2,300000
|
|
||||||
moc_fild02,0,0 monster Elusive Peco Peco 2718,2,300000
|
|
||||||
in_sphinx5,0,0 monster Swift Pasana 2719,2,300000
|
|
||||||
um_fild03,0,0 monster Solid Parasite 2720,1,300000
|
|
||||||
tha_t05,0,0 monster Owl Duke Ringleader 2721,2,300000
|
|
||||||
//tha_t05,0,0 monster Owl Duke Ringleader 2721,3,300000 //--Applied after Thanatos Revamped Patch.
|
|
||||||
gef_fild10,0,0 monster Furious Orc Warrior 2722,2,300000
|
|
||||||
orcsdun01,0,0 monster Elusive Orc Zombie 2723,2,300000
|
|
||||||
orcsdun02,0,0 monster Swift Orc Skeleton 2724,2,300000
|
|
||||||
gef_fild03,0,0 monster Solid Orc Lady 2725,3,300000
|
|
||||||
tha_t12,0,0 monster Dame of Sentinel Ringleader 2726,2,300000 //--Remove after Thanatos Ravamped Patch
|
|
||||||
ein_fild05,0,0 monster Furious Noxious 2727,2,300000
|
|
||||||
hu_fild05,0,0 monster Elusive Novus 2728,2,300000
|
|
||||||
hu_fild04,0,0 monster Swift Novus 2729,2,300000
|
|
||||||
hu_fild02,0,0 monster Solid Novus 2730,2,300000
|
|
||||||
hu_fild01,0,0 monster Novus Ringleader 2731,2,300000
|
|
||||||
mag_dun02,0,0 monster Furious Nightmare Terror 2732,2,300000
|
|
||||||
gl_chyard_,0,0 monster Elusive Wraith Dead (Nightmare) 2733,2,180000,0
|
|
||||||
gl_cas02_,0,0 monster Furious Wanderer (Nightmare) 2734,2,180000,0
|
gl_cas02_,0,0 monster Furious Wanderer (Nightmare) 2734,2,180000,0
|
||||||
man_fild01,0,0 monster Solid Nephentes 2735,2,300000
|
gl_cas02,0,0 monster Furious Wanderer 2620,2,180000
|
||||||
abbey03,0,0 monster Necromancer Ringleader 2736,2,300000
|
gl_church,0,0 monster Elusive Evil Druid 2838,2,180000
|
||||||
xmas_dun02,0,0 monster Furious Myst Case 2737,2,300000
|
gl_chyard_,0,0 monster Elusive Wraith Dead (Nightmare) 2733,2,180000,0
|
||||||
ve_fild04,0,0 monster Elusive Muscipular 2738,2,300000
|
gl_chyard,0,0 monster Furious Dark Priest 2861,2,180000
|
||||||
moc_pryd03,0,0 monster Swift Mummy 2739,2,300000
|
gl_dun01,0,0 monster Solid Arclouze 2893,1,180000
|
||||||
moc_pryd02,0,0 monster Solid Mummy 2740,2,300000
|
gl_dun02,0,0 monster Furious Majoruros 2767,1,180000
|
||||||
moc_fild01,0,0 monster Muka Ringleader 2741,3,300000
|
gl_in01,0,0 monster Marionette Ringleader 2761,1,180000
|
||||||
moc_fild22,0,0 monster Furious Incarnation of Morocc 2742,3,300000
|
gl_knt01,0,0 monster Solid Raydric 2691,2,180000
|
||||||
moc_fild21,0,0 monster Elusive Incarnation of Morocc 2743,2,300000
|
gl_knt02,0,0 monster Swift Raydric 2690,2,180000
|
||||||
moc_fild20,0,0 monster Swift Incarnation of Morocc 2744,1,300000
|
gl_prison,0,0 monster Solid Zombie Prisoner 2604,1,180000
|
||||||
ein_fild06,0,0 monster Solid Holden 2745,2,300000
|
gl_prison1,0,0 monster Furious Injustice 2792,2,180000
|
||||||
ama_dun01,0,0 monster Miyabi Doll Ringleader 2746,2,300000
|
gl_sew01,0,0 monster Solid Whisper 2618,1,180000
|
||||||
moc_prydn1,0,0 monster Furious Minorous 2747,2,300000
|
gl_sew02,0,0 monster Furious Gargoyle 2827,1,180000
|
||||||
moc_pryd05,0,0 monster Elusive Minorous 2748,2,300000
|
gl_sew03,0,0 monster Elusive Sting 2640,2,180000
|
||||||
in_sphinx4,0,0 monster Swift Minorous 2749,1,300000
|
gl_sew04,0,0 monster Furious Anolian 2899,2,180000
|
||||||
ein_dun02,0,0 monster Solid Mineral 2750,2,300000
|
gl_step,0,0 monster Solid Wind Ghost 2614,2,180000
|
||||||
bif_fild01,0,0 monster Miming Ringleader 2751,2,300000
|
glast_01,0,0 monster Gargoyle Ringleader 2826,1,180000
|
||||||
moc_prydn2,0,0 monster Furious Mimic 2752,2,300000
|
gld_dun01_2,0,0 monster Furious Skeleton General 2659,2,180000
|
||||||
moc_pryd06,0,0 monster Elusive Mimic 2753,2,300000
|
gld_dun01,0,0 monster Solid Leib Olmai 2780,2,180000
|
||||||
cmd_fild09,0,0 monster Swift Metaller 2754,2,300000
|
gld_dun02_2,0,0 monster Swift Angra Mantis 2901,2,180000
|
||||||
ein_fild08,0,0 monster Solid Metaling 2755,2,300000
|
gld_dun02,0,0 monster Giant Hornet Ringleader 2821,2,180000
|
||||||
ein_fild07,0,0 monster Metaling Ringleader 2756,2,300000
|
gld_dun03_2,0,0 monster Elusive Dark Hammer Kobold 2818,2,180000
|
||||||
iz_dun04,0,0 monster Furious Merman 2757,2,300000
|
gld_dun03,0,0 monster Furious Caterpillar 2876,2,180000
|
||||||
ecl_fild01,0,0 monster Elusive Menblatt 2758,1,300000
|
gld_dun04_2,0,0 monster Solid Dark Shadow 2820,2,180000
|
||||||
beach_dun,0,0 monster Swift Medusa 2759,2,300000
|
gld_dun04,0,0 monster Zombie Master Ringleader 2605,2,180000
|
||||||
mjo_dun02,0,0 monster Solid Martin 2760,2,300000
|
gld2_ald,0,0 monster Elusive Angra Mantis 2900,2,180000
|
||||||
gl_in01,0,0 monster Marionette Ringleader 2761,1,300000
|
gld2_gef,0,0 monster Swift Dark Shadow 2819,2,180000
|
||||||
xmas_fild01,0,0 monster Furious Marin 2762,1,300000
|
gld2_pay,0,0 monster Skeleton General Ringleader 2658,2,180000
|
||||||
in_sphinx3,0,0 monster Elusive Marduk 2763,1,300000
|
gld2_prt,0,0 monster Furious Dark Hammer Kobold 2817,2,180000
|
||||||
prt_maze03,0,0 monster Swift Mantis 2764,2,300000
|
gon_dun01,0,0 monster Swift Bloody Butterfly 2883,2,180000
|
||||||
gef_fild04,0,0 monster Solid Mandragora 2765,2,300000
|
gon_dun02,0,0 monster Solid Enchanted Peach Tree 2775,1,180000
|
||||||
ma_dun01,0,0 monster Manananggal Ringleader 2766,2,300000
|
gon_dun03,0,0 monster Elusive Evil Nymph 2617,2,180000
|
||||||
gl_dun02,0,0 monster Furious Majoruros 2767,1,300000
|
gon_fild01,0,0 monster Dumpling Child Ringleader 2683,2,180000
|
||||||
prt_fild09,0,0 monster Elusive Magnolia 2768,2,300000
|
hu_fild01,0,0 monster Novus Ringleader 2731,2,180000
|
||||||
ve_fild03,0,0 monster Swift Magmaring 2769,2,300000
|
hu_fild02,0,0 monster Solid Novus 2730,2,180000
|
||||||
prt_fild08,0,0 monster Solid Lunatic 2770,1,300000
|
hu_fild04,0,0 monster Swift Novus 2729,2,180000
|
||||||
prt_fild01,0,0 monster Lunatic Ringleader 2771,2,300000
|
hu_fild05,0,0 monster Elusive Novus 2728,2,180000
|
||||||
niflheim,0,0 monster Furious Lude 2772,1,300000
|
hu_fild06,0,0 monster Swift Shellfish 2666,1,180000
|
||||||
spl_fild03,0,0 monster Elusive Luciola Vespa 2773,1,300000
|
ice_dun01,0,0 monster Swift Siroma 2661,1,180000
|
||||||
nif_fild02,0,0 monster Swift Loli Ruri 2774,1,300000
|
ice_dun02,0,0 monster Solid Snowier 2652,2,180000
|
||||||
gon_dun02,0,0 monster Solid Enchanted Peach Tree 2775,1,300000
|
ice_dun03,0,0 monster Swift Ice Titan 2794,2,180000
|
||||||
new_1-3,0,0 monster Baby Poring Ringleader 2776,2,300000
|
in_sphinx1,0,0 monster Elusive Drainliar 2847,1,180000
|
||||||
bif_fild02,0,0 monster Furious Little Fatum 2777,2,300000
|
in_sphinx2,0,0 monster Solid Requiem 2687,2,180000
|
||||||
lou_dun01,0,0 monster Elusive Jing Guai 2778,2,300000
|
in_sphinx3,0,0 monster Elusive Marduk 2763,1,180000
|
||||||
mosk_dun02,0,0 monster Swift Les 2779,1,300000
|
in_sphinx4,0,0 monster Swift Minorous 2749,1,180000
|
||||||
gld_dun01,0,0 monster Solid Leib Olmai 2780,2,300000
|
in_sphinx5,0,0 monster Swift Pasana 2719,2,180000
|
||||||
ayo_dun01,0,0 monster Leaf Cat Ringleader 2781,2,300000
|
iz_dun00,0,0 monster Furious Plankton 2707,2,180000
|
||||||
teg_dun02,0,0 monster Furious Wickebine Tres 2782,2,300000,0
|
iz_dun01,0,0 monster Solid Vadon 2628,2,180000
|
||||||
teg_dun01,0,0 monster Elusive Eremes 2783,2,300000,0
|
iz_dun02,0,0 monster Solid Cornutus 2864,2,180000
|
||||||
ra_fild06,0,0 monster Swift Kobold Archer 2784,3,300000
|
iz_dun03,0,0 monster Elusive Phen 2713,2,180000
|
||||||
ra_fild05,0,0 monster Solid Kobold 2785,3,300000
|
iz_dun04,0,0 monster Furious Merman 2757,2,180000
|
||||||
thor_v02,0,0 monster Knocker Ringleader 2786,1,300000
|
iz_dun05,0,0 monster Furious Lamp Rey 2669,2,180000
|
||||||
mjolnir_08,0,0 monster Furious Beetle King 2787,2,300000
|
jupe_core,0,0 monster Swift Dimik 2853,3,180000
|
||||||
thor_v01,0,0 monster Elusive Kasa 2788,2,300000
|
juperos_01,0,0 monster Furious Venatu 2625,3,180000
|
||||||
ama_fild01,0,0 monster Swift Karakasa 2789,2,300000
|
juperos_02,0,0 monster Furious Apocalypse 2895,3,180000
|
||||||
moc_pryd04,0,0 monster Solid Isis 2790,2,300000
|
kh_dun01,0,0 monster Aliza Ringleader 2908,1,180000
|
||||||
ra_san02,0,0 monster Isilla Ringleader 2791,2,300000
|
kh_dun02,0,0 monster Furious Alicel 2909,1,180000
|
||||||
gl_prison1,0,0 monster Furious Injustice 2792,2,300000
|
kh_kiehl01,0,0 monster Furious Constant 2866,2,180000
|
||||||
lou_fild01,0,0 monster Elusive Mi Gao 2793,1,300000
|
lhz_dun01,0,0 monster Remover Ringleader 2688,3,180000
|
||||||
ice_dun03,0,0 monster Swift Ice Titan 2794,2,300000
|
lhz_dun02,0,0 monster Laurell Weinder Ringleader 2692,3,180000
|
||||||
bra_dun02,0,0 monster Solid Iara 2795,3,300000
|
lhz_dun03,0,0 monster Solid Cecil Damon 2667,3,180000
|
||||||
lou_dun02,0,0 monster Yao Jun Ringleader 2796,1,300000
|
lhz_dun04,0,0 monster Celia Ringleader 2875,3,180000
|
||||||
gef_dun00,0,0 monster Furious Hunter Fly 2797,1,300000
|
lhz_fild01,0,0 monster Swift Rafflesia 2695,3,180000
|
||||||
prt_fild05,0,0 monster Elusive Hornet 2798,2,300000
|
lhz_fild01,0,0 monster Poring Ringleader 2696,2,180000
|
||||||
dic_dun01,0,0 monster Swift Uni-horn Scaraba 2799,2,300000
|
lhz_fild01,0,0 monster Furious Poring 2697,2,180000
|
||||||
pay_fild09,0,0 monster Solid Horn 2800,2,300000
|
lhz_fild01,0,0 monster Elusive Poring 2698,2,180000
|
||||||
ra_san03,0,0 monster Hodremlin Ringleader 2801,2,300000
|
lhz_fild02,0,0 monster Swift Stem Worm 2641,2,180000
|
||||||
moc_fild17,0,0 monster Furious Hode 2802,2,300000
|
lhz_fild03,0,0 monster Furious Breeze 2881,3,180000
|
||||||
ra_fild04,0,0 monster Elusive Hill Wind 2803,3,300000
|
lou_dun01,0,0 monster Elusive Jing Guai 2778,2,180000
|
||||||
ra_fild03,0,0 monster Swift Hill Wind 2804,3,300000
|
lou_dun02,0,0 monster Yao Jun Ringleader 2796,1,180000
|
||||||
alde_dun02,0,0 monster Solid High Orc 2805,2,300000
|
lou_dun03,0,0 monster Elusive Zhu Po Long 2862,1,180000
|
||||||
yuno_fild04,0,0 monster Harpy Ringleader 2806,3,300000
|
lou_fild01,0,0 monster Elusive Mi Gao 2793,1,180000
|
||||||
yuno_fild03,0,0 monster Furious Harpy 2807,3,300000
|
ma_dun01,0,0 monster Manananggal Ringleader 2766,2,180000
|
||||||
cmd_fild01,0,0 monster Elusive Grove 2808,2,300000
|
ma_fild01,0,0 monster Elusive Tiyanak 2631,2,180000
|
||||||
pay_fild10,0,0 monster Swift Greatest General 2809,2,300000
|
ma_fild02,0,0 monster Solid Bungisngis 2879,2,180000
|
||||||
yuno_fild09,0,0 monster Solid Grand Peco 2810,2,300000
|
mag_dun01,0,0 monster Furious Explosion 2837,1,180000
|
||||||
yuno_fild08,0,0 monster Grand Peco Ringleader 2811,2,300000
|
mag_dun02,0,0 monster Furious Nightmare Terror 2732,2,180000
|
||||||
cmd_fild06,0,0 monster Furious Golem 2812,2,300000
|
mal_dun01,0,0 monster Elusive Red Eruma 2689,2,180000
|
||||||
prt_fild11,0,0 monster Elusive Goblin 2813,3,300000
|
man_fild01,0,0 monster Solid Nephentes 2735,2,180000
|
||||||
gef_fild11,0,0 monster Swift Goblin 2814,3,300000
|
man_fild02,0,0 monster Elusive Bradium Golem 2882,2,180000
|
||||||
yuno_fild11,0,0 monster Solid Goat 2815,2,300000
|
man_fild03,0,0 monster Solid Tatacho 2637,1,180000
|
||||||
yuno_fild07,0,0 monster Goat Ringleader 2816,2,300000
|
mjo_dun01,0,0 monster Tarou Ringleader 2638,2,180000
|
||||||
gld2_prt,0,0 monster Furious Dark Hammer Kobold 2817,2,300000
|
mjo_dun02,0,0 monster Solid Martin 2760,2,180000
|
||||||
gld_dun03_2,0,0 monster Elusive Dark Hammer Kobold 2818,2,300000
|
mjo_dun03,0,0 monster Elusive Skeleton Worker 2660,2,180000
|
||||||
gld2_gef,0,0 monster Swift Dark Shadow 2819,2,300000
|
mjolnir_01,0,0 monster Swift Caramel 2878,2,180000
|
||||||
gld_dun04_2,0,0 monster Solid Dark Shadow 2820,2,300000
|
mjolnir_02,0,0 monster Solid Elder Willow 2840,3,180000
|
||||||
gld_dun02,0,0 monster Giant Hornet Ringleader 2821,2,300000
|
mjolnir_03,0,0 monster Side Winder Ringleader 2663,2,180000
|
||||||
nameless_n,0,0 monster Furious Ghoul 2822,1,300000
|
mjolnir_04,0,0 monster Furious Driller 2846,3,180000
|
||||||
gef_dun01,0,0 monster Elusive Ghoul 2823,2,300000
|
mjolnir_05,0,0 monster Swift Argiope 2892,2,180000
|
||||||
yuno_fild12,0,0 monster Swift Geographer 2824,1,300000
|
mjolnir_06,0,0 monster Solid Poison Spore 2705,3,180000
|
||||||
yuno_fild01,0,0 monster Solid Geographer 2825,2,300000
|
mjolnir_07,0,0 monster Savage Ringleader 2673,3,180000
|
||||||
glast_01,0,0 monster Gargoyle Ringleader 2826,1,300000
|
mjolnir_08,0,0 monster Furious Beetle King 2787,2,180000
|
||||||
gl_sew02,0,0 monster Furious Gargoyle 2827,1,300000
|
mjolnir_09,0,0 monster Swift Savage Babe 2671,2,180000
|
||||||
ve_fild01,0,0 monster Elusive Galion 2828,1,300000
|
mjolnir_10,0,0 monster Furious Argos 2890,2,180000
|
||||||
cmd_fild02,0,0 monster Swift Seal 2829,3,300000
|
mjolnir_11,0,0 monster Elusive Argiope 2891,2,180000
|
||||||
tur_dun05,0,0 monster Solid Freezer 2830,1,300000
|
mjolnir_12,0,0 monster Furious Dustiness 2842,2,180000
|
||||||
tur_dun03,0,0 monster Freezer Ringleader 2831,1,300000
|
moc_fild01,0,0 monster Muka Ringleader 2741,3,180000
|
||||||
abyss_01,0,0 monster Furious Ferus 2832,2,300000
|
moc_fild02,0,0 monster Elusive Peco Peco 2718,2,180000
|
||||||
prt_sewb1,0,0 monster Elusive Familiar 2833,1,300000
|
moc_fild03,0,0 monster Swift Wolf 2613,2,180000
|
||||||
gefenia01,0,0 monster Swift False Angel 2834,2,300000
|
moc_fild07,0,0 monster Drops Ringleader 2845,3,180000
|
||||||
prt_fild06,0,0 monster Solid Fabre 2835,2,300000
|
moc_fild11,0,0 monster Furious Baby Desert Wolf 2856,3,180000
|
||||||
pay_fild03,0,0 monster Fabre Ringleader 2836,3,300000
|
moc_fild12,0,0 monster Furious Picky 2712,2,180000
|
||||||
mag_dun01,0,0 monster Furious Explosion 2837,1,300000
|
moc_fild13,0,0 monster Solid Steel Chonchon 2642,3,180000
|
||||||
gl_church,0,0 monster Elusive Evil Druid 2838,2,300000
|
moc_fild16,0,0 monster Furious Sandman 2674,2,180000
|
||||||
prt_fild10,0,0 monster Swift Elder Willow 2839,3,300000
|
moc_fild17,0,0 monster Furious Hode 2802,2,180000
|
||||||
mjolnir_02,0,0 monster Solid Elder Willow 2840,3,300000
|
moc_fild18,0,0 monster Elusive Scorpion 2670,3,180000
|
||||||
ra_san04,0,0 monster Echio Ringleader 2841,1,300000
|
moc_fild20,0,0 monster Swift Incarnation of Morocc 2744,1,180000
|
||||||
mjolnir_12,0,0 monster Furious Dustiness 2842,2,300000
|
moc_fild21,0,0 monster Elusive Incarnation of Morocc 2743,2,180000
|
||||||
um_fild01,0,0 monster Swift Dryad 2843,2,300000
|
moc_fild22,0,0 monster Furious Incarnation of Morocc 2742,3,180000
|
||||||
ve_fild02,0,0 monster Solid Drosera 2844,2,300000
|
moc_pryd02,0,0 monster Solid Mummy 2740,2,180000
|
||||||
moc_fild07,0,0 monster Drops Ringleader 2845,3,300000
|
moc_pryd03,0,0 monster Swift Mummy 2739,2,180000
|
||||||
mjolnir_04,0,0 monster Furious Driller 2846,3,300000
|
moc_pryd04,0,0 monster Solid Isis 2790,2,180000
|
||||||
in_sphinx1,0,0 monster Elusive Drainliar 2847,1,300000
|
moc_pryd05,0,0 monster Elusive Minorous 2748,2,180000
|
||||||
tur_dun01,0,0 monster Swift Dragon Tail 2848,1,300000
|
moc_pryd06,0,0 monster Elusive Mimic 2753,2,180000
|
||||||
nyd_dun01,0,0 monster Solid Draco 2849,2,300000
|
moc_prydn1,0,0 monster Furious Minorous 2747,2,180000
|
||||||
dic_fild02,0,0 monster Dolomedes Ringleader 2850,2,300000
|
moc_prydn2,0,0 monster Furious Mimic 2752,2,180000
|
||||||
pay_dun04,0,0 monster Furious Dokebi 2851,2,300000
|
mosk_dun01,0,0 monster Elusive Wood Goblin 2612,2,180000
|
||||||
nif_fild01,0,0 monster Elusive Disguise 2852,2,300000
|
mosk_dun02,0,0 monster Swift Les 2779,1,180000
|
||||||
jupe_core,0,0 monster Swift Dimik 2853,3,300000
|
mosk_dun03,0,0 monster Elusive Vavayaga 2626,2,180000
|
||||||
gef_dun02,0,0 monster Solid Deviruchi 2854,2,300000
|
mosk_fild02,0,0 monster Solid Side Winder 2662,1,180000
|
||||||
ra_fild01,0,0 monster Baby Desert Wolf Ringleader 2855,2,300000
|
nameless_n,0,0 monster Furious Ghoul 2822,1,180000
|
||||||
moc_fild11,0,0 monster Furious Baby Desert Wolf 2856,3,300000
|
new_1-3,0,0 monster Baby Poring Ringleader 2776,2,180000
|
||||||
cmd_fild08,0,0 monster Elusive Deniro 2857,2,300000
|
nif_fild01,0,0 monster Elusive Disguise 2852,2,180000
|
||||||
anthell01,0,0 monster Elusive Deniro 2857,3,300000
|
nif_fild02,0,0 monster Swift Loli Ruri 2774,1,180000
|
||||||
tha_t06,0,0 monster Swift Death Word 2858,2,300000
|
niflheim,0,0 monster Furious Lude 2772,1,180000
|
||||||
//tha_t06,0,0 monster Swift Death Word 2858,3,300000 //--Applied after Thanatos Revamped Patch.
|
nyd_dun01,0,0 monster Solid Draco 2849,2,180000
|
||||||
tha_t04,0,0 monster Solid Death Word 2859,2,300000
|
odin_tem01,0,0 monster Breeze Ringleader 2880,1,180000
|
||||||
tha_t03,0,0 monster Death Word Ringleader 2860,2,300000
|
odin_tem02,0,0 monster Solid Skogul 2657,1,180000
|
||||||
gl_chyard,0,0 monster Furious Dark Priest 2861,2,300000
|
odin_tem03,0,0 monster Plasma Ringleader 2706,2,180000
|
||||||
lou_dun03,0,0 monster Elusive Zhu Po Long 2862,1,300000
|
orcsdun01,0,0 monster Elusive Orc Zombie 2723,2,180000
|
||||||
gef_fild05,0,0 monster Swift Creamy 2863,2,300000
|
orcsdun02,0,0 monster Swift Orc Skeleton 2724,2,180000
|
||||||
iz_dun02,0,0 monster Solid Cornutus 2864,2,300000
|
pay_dun00,0,0 monster Furious Zombie 2606,2,180000
|
||||||
xmas_dun01,0,0 monster Cookie Ringleader 2865,2,300000
|
pay_dun01,0,0 monster Furious Soldier Skeleton 2649,2,180000
|
||||||
kh_kiehl01,0,0 monster Furious Constant 2866,2,300000
|
pay_dun02,0,0 monster Soldier Skeleton Ringleader 2648,3,180000
|
||||||
dew_dun01,0,0 monster Elusive Comodo 2867,2,300000
|
pay_dun03,0,0 monster Swift Sohee 2651,2,180000
|
||||||
gef_fild09,0,0 monster Swift Coco 2868,2,300000
|
pay_dun04,0,0 monster Furious Dokebi 2851,2,180000
|
||||||
gef_fild02,0,0 monster Solid Coco 2869,3,300000
|
pay_fild01,0,0 monster Willow Ringleader 2615,2,180000
|
||||||
c_tower4,0,0 monster Clock Ringleader 2870,2,300000
|
pay_fild02,0,0 monster Boa Ringleader 2653,3,180000
|
||||||
c_tower2,0,0 monster Furious Clock 2871,1,300000
|
pay_fild03,0,0 monster Fabre Ringleader 2836,3,180000
|
||||||
gef_fild00,0,0 monster Elusive Chonchon 2872,2,300000
|
pay_fild04,0,0 monster Elusive Poporing 2703,2,180000
|
||||||
dic_fild01,0,0 monster Swift Centipede 2873,2,300000
|
pay_fild06,0,0 monster Wormtail Ringleader 2610,3,180000
|
||||||
ecl_tdun01,0,0 monster Solid Cenere 2874,1,300000
|
pay_fild07,0,0 monster Bigfoot Ringleader 2884,2,180000
|
||||||
lhz_dun04,0,0 monster Celia Ringleader 2875,3,300000
|
pay_fild09,0,0 monster Solid Horn 2800,2,180000
|
||||||
gld_dun03,0,0 monster Furious Caterpillar 2876,2,300000
|
pay_fild10,0,0 monster Swift Greatest General 2809,2,180000
|
||||||
gl_cas01,0,0 monster Elusive Carat 2877,2,300000
|
prt_fild00,0,0 monster Roda Frog Ringleader 2678,2,180000
|
||||||
mjolnir_01,0,0 monster Swift Caramel 2878,2,300000
|
prt_fild01,0,0 monster Lunatic Ringleader 2771,2,180000
|
||||||
ma_fild02,0,0 monster Solid Bungisngis 2879,2,300000
|
prt_fild02,0,0 monster Elusive Stainer 2645,3,180000
|
||||||
odin_tem01,0,0 monster Breeze Ringleader 2880,1,300000
|
prt_fild03,0,0 monster Swift Yoyo 2608,2,180000
|
||||||
lhz_fild03,0,0 monster Furious Breeze 2881,3,300000
|
prt_fild04,0,0 monster Elusive Ambernite 2905,2,180000
|
||||||
man_fild02,0,0 monster Elusive Bradium Golem 2882,2,300000
|
prt_fild05,0,0 monster Elusive Hornet 2798,2,180000
|
||||||
gon_dun01,0,0 monster Swift Bloody Butterfly 2883,2,300000
|
prt_fild06,0,0 monster Solid Fabre 2835,2,180000
|
||||||
pay_fild07,0,0 monster Bigfoot Ringleader 2884,2,300000
|
prt_fild07,0,0 monster Elusive Rocker 2680,3,180000
|
||||||
alde_dun04,0,0 monster Furious Bathory 2885,1,300000
|
prt_fild08,0,0 monster Solid Lunatic 2770,1,180000
|
||||||
arug_dun01,0,0 monster Elusive Banshee Master 2886,2,300000
|
prt_fild08,0,0 monster Poring Ringleader 2696,1,180000
|
||||||
abbey01,0,0 monster Swift Banshee 2887,3,300000
|
prt_fild08,0,0 monster Furious Poring 2697,1,180000
|
||||||
dew_dun02,0,0 monster Solid Banaspaty 2888,2,300000
|
prt_fild08,0,0 monster Elusive Poring 2698,1,180000
|
||||||
tur_dun04,0,0 monster Assaulter Ringleader 2889,1,300000
|
prt_fild08,0,0 monster Swift Poring 2699,1,180000
|
||||||
mjolnir_10,0,0 monster Furious Argos 2890,2,300000
|
prt_fild09,0,0 monster Elusive Magnolia 2768,2,180000
|
||||||
mjolnir_11,0,0 monster Elusive Argiope 2891,2,300000
|
prt_fild10,0,0 monster Swift Elder Willow 2839,3,180000
|
||||||
mjolnir_05,0,0 monster Swift Argiope 2892,2,300000
|
prt_fild11,0,0 monster Elusive Goblin 2813,3,180000
|
||||||
gl_dun01,0,0 monster Solid Arclouze 2893,1,300000
|
prt_maze01,0,0 monster Solid Savage 2672,2,180000
|
||||||
alde_dun01,0,0 monster Arclouze Ringleader 2894,1,300000
|
prt_maze02,0,0 monster Furious Poporing 2702,2,180000
|
||||||
juperos_02,0,0 monster Furious Apocalypse 2895,3,300000
|
prt_maze03,0,0 monster Poporing Ringleader 2701,2,180000
|
||||||
dic_dun02,0,0 monster Elusive Antler Scaraba 2896,2,300000
|
prt_maze03,0,0 monster Swift Mantis 2764,2,180000
|
||||||
ecl_tdun03,0,0 monster Swift Antique Book 2897,1,300000
|
prt_sewb1,0,0 monster Elusive Familiar 2833,1,180000
|
||||||
ecl_tdun02,0,0 monster Solid Antique Book 2898,1,300000
|
prt_sewb2,0,0 monster Furious Thief Bug 2634,2,180000
|
||||||
gl_sew04,0,0 monster Furious Anolian 2899,2,300000
|
prt_sewb3,0,0 monster Thief Bug Ringleader 2633,3,180000
|
||||||
gld2_ald,0,0 monster Elusive Angra Mantis 2900,2,300000
|
prt_sewb4,0,0 monster Solid Thief Bug 2632,2,180000
|
||||||
gld_dun02_2,0,0 monster Swift Angra Mantis 2901,2,300000
|
ra_fild01,0,0 monster Baby Desert Wolf Ringleader 2855,2,180000
|
||||||
anthell02,0,0 monster Solid Andre 2902,2,300000
|
ra_fild03,0,0 monster Swift Hill Wind 2804,3,180000
|
||||||
tha_t02,0,0 monster Ancient Mimic Ringleader 2903,2,300000
|
ra_fild04,0,0 monster Elusive Hill Wind 2803,3,180000
|
||||||
ra_fild08,0,0 monster Furious Anacondaq 2904,2,300000
|
ra_fild05,0,0 monster Solid Kobold 2785,3,180000
|
||||||
prt_fild04,0,0 monster Elusive Ambernite 2905,2,300000
|
ra_fild06,0,0 monster Swift Kobold Archer 2784,3,180000
|
||||||
dew_fild01,0,0 monster Swift Rafflesia Arnoldi 2906,2,300000
|
ra_fild08,0,0 monster Furious Anacondaq 2904,2,180000
|
||||||
cmd_fild03,0,0 monster Solid Alligator 2907,3,300000
|
ra_fild12,0,0 monster Solid Roween 2677,2,180000
|
||||||
kh_dun01,0,0 monster Aliza Ringleader 2908,1,300000
|
ra_san01,0,0 monster Swift Vanberk 2627,2,180000
|
||||||
kh_dun02,0,0 monster Furious Alicel 2909,1,300000
|
ra_san02,0,0 monster Isilla Ringleader 2791,2,180000
|
||||||
c_tower3,0,0 monster Elusive Alarm 2910,1,300000
|
ra_san03,0,0 monster Hodremlin Ringleader 2801,2,180000
|
||||||
ra_san05,0,0 monster Swift Agav 2911,2,300000
|
ra_san04,0,0 monster Echio Ringleader 2841,1,180000
|
||||||
abyss_03,0,0 monster Solid Acidus 2912,2,300000
|
ra_san05,0,0 monster Swift Agav 2911,2,180000
|
||||||
abyss_02,0,0 monster Acidus Ringleader 2913,2,300000
|
schg_dun01,0,0 monster Elusive Zakudam 2607,2,180000
|
||||||
|
spl_fild01,0,0 monster Solid Dark Pinguicula 2710,2,180000
|
||||||
|
spl_fild02,0,0 monster Pinguicula Ringleader 2711,2,180000
|
||||||
|
spl_fild03,0,0 monster Elusive Luciola Vespa 2773,1,180000
|
||||||
|
teg_dun01,0,0 monster Elusive Eremes 2783,2,180000,0
|
||||||
|
teg_dun02,0,0 monster Furious Wickebine Tres 2782,2,180000,0
|
||||||
|
tha_t01,0,0 monster Swift Rideword 2681,2,180000
|
||||||
|
//tha_t01,0,0 monster Swift Rideword 2681,1,180000 //--Applied after Thanatos Revamped Patch.
|
||||||
|
tha_t02,0,0 monster Ancient Mimic Ringleader 2903,2,180000
|
||||||
|
tha_t03,0,0 monster Death Word Ringleader 2860,2,180000
|
||||||
|
tha_t04,0,0 monster Solid Death Word 2859,2,180000
|
||||||
|
tha_t05,0,0 monster Owl Duke Ringleader 2721,2,180000
|
||||||
|
//tha_t05,0,0 monster Owl Duke Ringleader 2721,3,180000 //--Applied after Thanatos Revamped Patch.
|
||||||
|
tha_t06,0,0 monster Swift Death Word 2858,2,180000
|
||||||
|
//tha_t06,0,0 monster Swift Death Word 2858,3,180000 //--Applied after Thanatos Revamped Patch.
|
||||||
|
tha_t07,0,0 monster Swift Baroness of Retribution 2686,2,180000
|
||||||
|
//tha_t07,0,0 monster Swift Baroness of Retribution 2686,1,180000 //--Applied after Thanatos Revamped Patch.
|
||||||
|
tha_t08,0,0 monster Elusive Baroness of Retribution 2685,2,180000
|
||||||
|
//tha_t08,0,0 monster Elusive Baroness of Retribution 2685,1,180000 //--Applied after Thanatos Revamped Patch.
|
||||||
|
tha_t09,0,0 monster Elusive Lady Solace 2650,2,180000 //--Remove after Thanatos Ravamped Patch
|
||||||
|
tha_t10,0,0 monster Furious Baroness of Retribution 2684,2,180000 //--Remove after Thanatos Ravamped Patch
|
||||||
|
tha_t11,0,0 monster Elusive Mistress of Shelter 2665,2,180000 //--Remove after Thanatos Ravamped Patch
|
||||||
|
tha_t12,0,0 monster Dame of Sentinel Ringleader 2726,2,180000 //--Remove after Thanatos Ravamped Patch
|
||||||
|
thor_v01,0,0 monster Elusive Kasa 2788,2,180000
|
||||||
|
thor_v02,0,0 monster Knocker Ringleader 2786,1,180000
|
||||||
|
thor_v03,0,0 monster Elusive Salamander 2675,2,180000
|
||||||
|
treasure_n1,0,0 monster Swift Spore 2646,2,180000
|
||||||
|
treasure_n2,0,0 monster Weak Skeleton Ringleader 2619,2,180000
|
||||||
|
treasure02,0,0 monster Swift Sailor Skeleton 2676,1,180000
|
||||||
|
treasure02,0,0 monster Penomena Ringleader 2716,2,180000
|
||||||
|
tur_dun01,0,0 monster Swift Dragon Tail 2848,1,180000
|
||||||
|
tur_dun02,0,0 monster Solid Solider 2647,2,180000
|
||||||
|
tur_dun03,0,0 monster Freezer Ringleader 2831,1,180000
|
||||||
|
tur_dun04,0,0 monster Assaulter Ringleader 2889,1,180000
|
||||||
|
tur_dun05,0,0 monster Solid Freezer 2830,1,180000
|
||||||
|
um_fild01,0,0 monster Swift Dryad 2843,2,180000
|
||||||
|
um_fild02,0,0 monster Furious Wootan Fighter 2611,1,180000
|
||||||
|
um_fild03,0,0 monster Solid Parasite 2720,1,180000
|
||||||
|
um_fild04,0,0 monster Furious Wild Rose 2616,1,180000
|
||||||
|
ve_fild01,0,0 monster Elusive Galion 2828,1,180000
|
||||||
|
ve_fild02,0,0 monster Solid Drosera 2844,2,180000
|
||||||
|
ve_fild03,0,0 monster Swift Magmaring 2769,2,180000
|
||||||
|
ve_fild04,0,0 monster Elusive Muscipular 2738,2,180000
|
||||||
|
ve_fild07,0,0 monster Stapo Ringleader 2643,2,180000
|
||||||
|
xmas_dun01,0,0 monster Cookie Ringleader 2865,2,180000
|
||||||
|
xmas_dun02,0,0 monster Furious Myst Case 2737,2,180000
|
||||||
|
xmas_fild01,0,0 monster Furious Marin 2762,1,180000
|
||||||
|
yuno_fild01,0,0 monster Solid Geographer 2825,2,180000
|
||||||
|
yuno_fild02,0,0 monster Swift Sleeper 2656,2,180000
|
||||||
|
yuno_fild03,0,0 monster Furious Harpy 2807,3,180000
|
||||||
|
yuno_fild04,0,0 monster Harpy Ringleader 2806,3,180000
|
||||||
|
yuno_fild06,0,0 monster Elusive Sleeper 2655,1,180000
|
||||||
|
yuno_fild07,0,0 monster Goat Ringleader 2816,2,180000
|
||||||
|
yuno_fild08,0,0 monster Grand Peco Ringleader 2811,2,180000
|
||||||
|
yuno_fild09,0,0 monster Solid Grand Peco 2810,2,180000
|
||||||
|
yuno_fild11,0,0 monster Solid Goat 2815,2,180000
|
||||||
|
yuno_fild12,0,0 monster Swift Geographer 2824,1,180000
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
//===== By: ==================================================
|
//===== By: ==================================================
|
||||||
//= Athena (1.0)
|
//= Athena (1.0)
|
||||||
//===== Current Version: =====================================
|
//===== Current Version: =====================================
|
||||||
//= 1.7
|
//= 1.8
|
||||||
//===== Additional Comments: =================================
|
//===== Additional Comments: =================================
|
||||||
//= 1.2 fixed some map name typos [Lupus]
|
//= 1.2 fixed some map name typos [Lupus]
|
||||||
//= 1.3 Official kRO 10.1 spawns [Playtester]
|
//= 1.3 Official kRO 10.1 spawns [Playtester]
|
||||||
@ -11,6 +11,7 @@
|
|||||||
//= 1.5 Updated to Renewal spawns.
|
//= 1.5 Updated to Renewal spawns.
|
||||||
//= 1.6 Added Prontera Field 8 duplicates. [Euphy]
|
//= 1.6 Added Prontera Field 8 duplicates. [Euphy]
|
||||||
//= 1.7 Correct Spawn by Navigation's mob data. [attackjom]
|
//= 1.7 Correct Spawn by Navigation's mob data. [attackjom]
|
||||||
|
//= 1.8 Official 18.1 Field 8 spawns, duplicates removed [Playtester]
|
||||||
//============================================================
|
//============================================================
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
@ -90,36 +91,27 @@ prt_fild07,225,110,5,5 monster Black Mushroom 1084,3,360000,180000
|
|||||||
//==================================================
|
//==================================================
|
||||||
// prt_fild08 - Prontera Field
|
// prt_fild08 - Prontera Field
|
||||||
//==================================================
|
//==================================================
|
||||||
prt_fild08,0,0 monster Poring 1002,110,5000
|
prt_fild08,0,0 monster Poring 1002,20,5000
|
||||||
prt_fild08,0,0 monster Lunatic 1063,110,5000
|
prt_fild08,0,0 monster Lunatic 1063,20,5000
|
||||||
prt_fild08,0,0 monster Fabre 1007,88,5000
|
prt_fild08,0,0 monster Fabre 1007,10,5000
|
||||||
prt_fild08,0,0 monster Little Poring 2398,33,50000
|
prt_fild08,305,233,10,10 monster Poring 1002,2,15000
|
||||||
prt_fild08,0,0 monster Pupa 1008,66,5000
|
prt_fild08,305,233,10,10 monster Lunatic 1063,2,15000
|
||||||
|
prt_fild08,305,233,10,10 monster Fabre 1007,2,15000
|
||||||
//==================================================
|
prt_fild08,271,249,20,20 monster Poring 1002,5,15000
|
||||||
// prt_fild08 - Duplicates
|
prt_fild08,271,249,20,20 monster Lunatic 1063,5,15000
|
||||||
//==================================================
|
prt_fild08,271,249,20,20 monster Fabre 1007,5,15000
|
||||||
prt_fild08a,0,0 monster Poring 1002,110,5000
|
prt_fild08,94,335,50,50 monster Poring 1002,20,10000
|
||||||
prt_fild08a,0,0 monster Lunatic 1063,110,5000
|
prt_fild08,166,334,50,50 monster Poring 1002,20,10000
|
||||||
prt_fild08a,0,0 monster Fabre 1007,88,5000
|
prt_fild08,253,337,50,50 monster Poring 1002,20,10000
|
||||||
prt_fild08a,0,0 monster Little Poring 2398,33,50000
|
prt_fild08,228,230,30,30 monster Lunatic 1063,10,10000
|
||||||
prt_fild08a,0,0 monster Pupa 1008,66,5000
|
prt_fild08,246,263,50,50 monster Lunatic 1063,10,10000
|
||||||
prt_fild08b,0,0 monster Poring 1002,110,5000
|
prt_fild08,190,237,50,50 monster Lunatic 1063,10,10000
|
||||||
prt_fild08b,0,0 monster Lunatic 1063,110,5000
|
prt_fild08,100,256,50,50 monster Lunatic 1063,10,10000
|
||||||
prt_fild08b,0,0 monster Fabre 1007,88,5000
|
prt_fild08,70,164,70,70 monster Fabre 1007,20,10000
|
||||||
prt_fild08b,0,0 monster Little Poring 2398,33,50000
|
prt_fild08,144,147,70,70 monster Fabre 1007,20,10000
|
||||||
prt_fild08b,0,0 monster Pupa 1008,66,5000
|
prt_fild08,263,79,90,90 monster Fabre 1007,20,10000
|
||||||
prt_fild08c,0,0 monster Poring 1002,110,5000
|
prt_fild08,336,113,40,40 monster Pupa 1008,20,10000
|
||||||
prt_fild08c,0,0 monster Lunatic 1063,110,5000
|
prt_fild08,330,269,40,40 monster Little Poring 2398,20,10000
|
||||||
prt_fild08c,0,0 monster Fabre 1007,88,5000
|
|
||||||
prt_fild08c,0,0 monster Little Poring 2398,33,50000
|
|
||||||
prt_fild08c,0,0 monster Pupa 1008,66,5000
|
|
||||||
prt_fild08d,0,0 monster Poring 1002,110,5000
|
|
||||||
prt_fild08d,0,0 monster Lunatic 1063,110,5000
|
|
||||||
prt_fild08d,0,0 monster Fabre 1007,88,5000
|
|
||||||
prt_fild08d,0,0 monster Little Poring 2398,33,50000
|
|
||||||
prt_fild08d,0,0 monster Pupa 1008,66,5000
|
|
||||||
|
|
||||||
|
|
||||||
//==================================================
|
//==================================================
|
||||||
// prt_fild09 - Prontera Field
|
// prt_fild09 - Prontera Field
|
||||||
|
@ -11497,6 +11497,8 @@ static const struct _battle_data {
|
|||||||
|
|
||||||
{ "mob_respawn_time", &battle_config.mob_respawn_time, 1000, 1000, INT_MAX, },
|
{ "mob_respawn_time", &battle_config.mob_respawn_time, 1000, 1000, INT_MAX, },
|
||||||
{ "mob_unlock_time", &battle_config.mob_unlock_time, 2000, 0, INT_MAX, },
|
{ "mob_unlock_time", &battle_config.mob_unlock_time, 2000, 0, INT_MAX, },
|
||||||
|
{ "map_edge_size", &battle_config.map_edge_size, 15, 1, 40, },
|
||||||
|
{ "randomize_center_cell", &battle_config.randomize_center_cell, 1, 0, 1, },
|
||||||
|
|
||||||
{ "feature.stylist", &battle_config.feature_stylist, 1, 0, 1, },
|
{ "feature.stylist", &battle_config.feature_stylist, 1, 0, 1, },
|
||||||
{ "feature.banking_state_enforce", &battle_config.feature_banking_state_enforce, 0, 0, 1, },
|
{ "feature.banking_state_enforce", &battle_config.feature_banking_state_enforce, 0, 0, 1, },
|
||||||
|
@ -749,6 +749,8 @@ struct Battle_Config
|
|||||||
|
|
||||||
int mob_respawn_time;
|
int mob_respawn_time;
|
||||||
int mob_unlock_time;
|
int mob_unlock_time;
|
||||||
|
int map_edge_size;
|
||||||
|
int randomize_center_cell;
|
||||||
|
|
||||||
int feature_stylist;
|
int feature_stylist;
|
||||||
int feature_banking_state_enforce;
|
int feature_banking_state_enforce;
|
||||||
|
@ -1699,9 +1699,9 @@ static int map_count_sub(struct block_list *bl,va_list ap)
|
|||||||
* &2 = the target should be able to walk to the target tile.
|
* &2 = the target should be able to walk to the target tile.
|
||||||
* &4 = there shouldn't be any players around the target tile (use the no_spawn_on_player setting)
|
* &4 = there shouldn't be any players around the target tile (use the no_spawn_on_player setting)
|
||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
int map_search_freecell(struct block_list *src, int16 m, int16 *x,int16 *y, int16 rx, int16 ry, int flag)
|
int map_search_freecell(struct block_list *src, int16 m, int16 *x, int16 *y, int16 rx, int16 ry, int flag, int32 tries)
|
||||||
{
|
{
|
||||||
int tries, spawn=0;
|
int spawn=0;
|
||||||
int bx, by;
|
int bx, by;
|
||||||
|
|
||||||
if( !src && (!(flag&1) || flag&2) )
|
if( !src && (!(flag&1) || flag&2) )
|
||||||
@ -1731,21 +1731,23 @@ int map_search_freecell(struct block_list *src, int16 m, int16 *x,int16 *y, int1
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rx >= 0 && ry >= 0) {
|
int16 edge = battle_config.map_edge_size;
|
||||||
tries = (rx * 2 + 1) * (ry * 2 + 1);
|
int16 edge_valid = std::min(edge, (int16)5);
|
||||||
if (tries > 100) tries = 100;
|
// In most situations there are 50 tries officially (default value)
|
||||||
} else {
|
|
||||||
tries = mapdata->xs*mapdata->ys;
|
|
||||||
if (tries > 500) tries = 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
while(tries--) {
|
while(tries--) {
|
||||||
*x = (rx >= 0) ? rnd_value(bx - rx, bx + rx) : rnd_value<int16>(1, mapdata->xs - 1);
|
// For map-wide search, the configured tiles from the edge are not considered (default: 15)
|
||||||
*y = (ry >= 0) ? rnd_value(by - ry, by + ry) : rnd_value<int16>(1, mapdata->ys - 1);
|
*x = (rx >= 0) ? rnd_value(bx - rx, bx + rx) : rnd_value<int16>(edge, mapdata->xs - edge - 1);
|
||||||
|
*y = (ry >= 0) ? rnd_value(by - ry, by + ry) : rnd_value<int16>(edge, mapdata->ys - edge - 1);
|
||||||
|
|
||||||
if (*x == bx && *y == by)
|
if (*x == bx && *y == by)
|
||||||
continue; //Avoid picking the same target tile.
|
continue; //Avoid picking the same target tile.
|
||||||
|
|
||||||
|
// Cells outside the map or within 4-5 cells of the map edge are considered invalid officially
|
||||||
|
// Note that unlike the other edge, this isn't symmetric (NE - 4 cells, SW - 5 cells)
|
||||||
|
// If for some reason edge size was set to below 5 cells, we consider them as valid
|
||||||
|
if (*x < edge_valid || *x > mapdata->xs - edge_valid || *y < edge_valid || *y > mapdata->ys - edge_valid)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (map_getcell(m,*x,*y,CELL_CHKREACH))
|
if (map_getcell(m,*x,*y,CELL_CHKREACH))
|
||||||
{
|
{
|
||||||
if(flag&2 && !unit_can_reach_pos(src, *x, *y, 1))
|
if(flag&2 && !unit_can_reach_pos(src, *x, *y, 1))
|
||||||
@ -1754,11 +1756,12 @@ int map_search_freecell(struct block_list *src, int16 m, int16 *x,int16 *y, int1
|
|||||||
if (spawn >= 100) return 0; //Limit of retries reached.
|
if (spawn >= 100) return 0; //Limit of retries reached.
|
||||||
if (spawn++ < battle_config.no_spawn_on_player &&
|
if (spawn++ < battle_config.no_spawn_on_player &&
|
||||||
map_foreachinallarea(map_count_sub, m,
|
map_foreachinallarea(map_count_sub, m,
|
||||||
*x-AREA_SIZE, *y-AREA_SIZE,
|
*x - AREA_SIZE, *y - AREA_SIZE,
|
||||||
*x+AREA_SIZE, *y+AREA_SIZE, BL_PC)
|
*x + AREA_SIZE, *y + AREA_SIZE, BL_PC)) {
|
||||||
)
|
tries++; // This failure should not affect the number of official tries
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1124,7 +1124,7 @@ int map_count_oncell(int16 m,int16 x,int16 y,int type,int flag);
|
|||||||
struct skill_unit *map_find_skill_unit_oncell(struct block_list *,int16 x,int16 y,uint16 skill_id,struct skill_unit *, int flag);
|
struct skill_unit *map_find_skill_unit_oncell(struct block_list *,int16 x,int16 y,uint16 skill_id,struct skill_unit *, int flag);
|
||||||
// search and creation
|
// search and creation
|
||||||
int map_get_new_object_id(void);
|
int map_get_new_object_id(void);
|
||||||
int map_search_freecell(struct block_list *src, int16 m, int16 *x, int16 *y, int16 rx, int16 ry, int flag);
|
int map_search_freecell(struct block_list *src, int16 m, int16 *x, int16 *y, int16 rx, int16 ry, int flag, int32 tries = 50);
|
||||||
bool map_closest_freecell(int16 m, int16 *x, int16 *y, int type, int flag);
|
bool map_closest_freecell(int16 m, int16 *x, int16 *y, int type, int flag);
|
||||||
//
|
//
|
||||||
int map_quit(map_session_data *);
|
int map_quit(map_session_data *);
|
||||||
|
@ -474,6 +474,8 @@ struct mob_data* mob_spawn_dataset(struct spawn_data *data)
|
|||||||
md->spawn_timer = INVALID_TIMER;
|
md->spawn_timer = INVALID_TIMER;
|
||||||
md->deletetimer = INVALID_TIMER;
|
md->deletetimer = INVALID_TIMER;
|
||||||
md->skill_idx = -1;
|
md->skill_idx = -1;
|
||||||
|
md->centerX = data->x;
|
||||||
|
md->centerY = data->y;
|
||||||
status_set_viewdata(&md->bl, md->mob_id);
|
status_set_viewdata(&md->bl, md->mob_id);
|
||||||
status_change_init(&md->bl);
|
status_change_init(&md->bl);
|
||||||
unit_dataset(&md->bl);
|
unit_dataset(&md->bl);
|
||||||
@ -1084,11 +1086,12 @@ int mob_setdelayspawn(struct mob_data *md)
|
|||||||
int mob_count_sub(struct block_list *bl, va_list ap) {
|
int mob_count_sub(struct block_list *bl, va_list ap) {
|
||||||
int mobid[10], i;
|
int mobid[10], i;
|
||||||
ARR_FIND(0, 10, i, (mobid[i] = va_arg(ap, int)) == 0); //fetch till 0
|
ARR_FIND(0, 10, i, (mobid[i] = va_arg(ap, int)) == 0); //fetch till 0
|
||||||
if (mobid[0]) { //if there one let's check it otherwise go backward
|
mob_data* md = BL_CAST(BL_MOB, bl);
|
||||||
TBL_MOB *md = BL_CAST(BL_MOB, bl);
|
if (md && mobid[0]) { //if there one let's check it otherwise go backward
|
||||||
ARR_FIND(0, 10, i, md->mob_id == mobid[i]);
|
ARR_FIND(0, 10, i, md->mob_id == mobid[i]);
|
||||||
return (i < 10) ? 1 : 0;
|
return (i < 10) ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
// If not counting monsters, count all
|
||||||
return 1; //backward compatibility
|
return 1; //backward compatibility
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1116,20 +1119,33 @@ int mob_spawn (struct mob_data *md)
|
|||||||
|
|
||||||
if (md->spawn) { //Respawn data
|
if (md->spawn) { //Respawn data
|
||||||
md->bl.m = md->spawn->m;
|
md->bl.m = md->spawn->m;
|
||||||
md->bl.x = md->spawn->x;
|
md->bl.x = md->centerX;
|
||||||
md->bl.y = md->spawn->y;
|
md->bl.y = md->centerY;
|
||||||
|
|
||||||
if( (md->bl.x == 0 && md->bl.y == 0) || md->spawn->xs || md->spawn->ys )
|
// Search can be skipped for boss monster spawns if spawn location is fixed
|
||||||
{ //Monster can be spawned on an area.
|
// We can't skip normal monsters as they should pick a random location if the cell is blocked (e.g. Icewall)
|
||||||
if( !map_search_freecell(&md->bl, -1, &md->bl.x, &md->bl.y, md->spawn->xs, md->spawn->ys, battle_config.no_spawn_on_player?4:0) )
|
// The center cell has a 1/(xs*ys) chance to be picked if free
|
||||||
{ // retry again later
|
if ((!md->spawn->state.boss || (md->bl.x == 0 && md->bl.y == 0) || md->spawn->xs != 1 || md->spawn->ys != 1)
|
||||||
if( md->spawn_timer != INVALID_TIMER )
|
&& (md->spawn->xs + md->spawn->ys < 1 || !rnd_chance(1, md->spawn->xs * md->spawn->ys) || !map_getcell(md->bl.m, md->bl.x, md->bl.y, CELL_CHKREACH)))
|
||||||
|
{
|
||||||
|
// Officially the area is split into 4 squares, 4 lines and 1 dot and for each of those there is one attempt
|
||||||
|
// We simplify this to trying 8 times in the whole area and then at the center cell even though that's not fully accurate
|
||||||
|
|
||||||
|
// Try to spawn monster in defined area (8 tries)
|
||||||
|
if (!map_search_freecell(&md->bl, -1, &md->bl.x, &md->bl.y, md->spawn->xs-1, md->spawn->ys-1, battle_config.no_spawn_on_player?4:0, 8))
|
||||||
|
{
|
||||||
|
// If area search failed and center cell not reachable, try to spawn the monster anywhere on the map (50 tries)
|
||||||
|
if (!map_getcell(md->bl.m, md->bl.x, md->bl.y, CELL_CHKREACH) && !map_search_freecell(&md->bl, -1, &md->bl.x, &md->bl.y, -1, -1, battle_config.no_spawn_on_player?4:0))
|
||||||
|
{
|
||||||
|
// Retry again later
|
||||||
|
if (md->spawn_timer != INVALID_TIMER)
|
||||||
delete_timer(md->spawn_timer, mob_delayspawn);
|
delete_timer(md->spawn_timer, mob_delayspawn);
|
||||||
md->spawn_timer = add_timer(tick + battle_config.mob_respawn_time,mob_delayspawn,md->bl.id,0);
|
md->spawn_timer = add_timer(tick + battle_config.mob_respawn_time, mob_delayspawn, md->bl.id, 0);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( battle_config.no_spawn_on_player > 99 && map_foreachinallrange(mob_count_sub, &md->bl, AREA_SIZE, BL_PC) )
|
}
|
||||||
|
if( battle_config.no_spawn_on_player > 99 && map_foreachinallrange(mob_count_sub, &md->bl, AREA_SIZE, BL_PC) )
|
||||||
{ // retry again later (players on sight)
|
{ // retry again later (players on sight)
|
||||||
if( md->spawn_timer != INVALID_TIMER )
|
if( md->spawn_timer != INVALID_TIMER )
|
||||||
delete_timer(md->spawn_timer, mob_delayspawn);
|
delete_timer(md->spawn_timer, mob_delayspawn);
|
||||||
@ -2091,6 +2107,13 @@ static int mob_ai_sub_lazy(struct mob_data *md, va_list args)
|
|||||||
md->last_thinktime=tick;
|
md->last_thinktime=tick;
|
||||||
|
|
||||||
if (md->master_id) {
|
if (md->master_id) {
|
||||||
|
if (!mob_is_spotted(md)) {
|
||||||
|
// Get mob data of master
|
||||||
|
mob_data* mmd = map_id2md(md->master_id);
|
||||||
|
// If neither master nor slave have been spotted we don't have to execute the slave AI
|
||||||
|
if (mmd && !mob_is_spotted(mmd))
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
mob_ai_sub_hard_slavemob (md,tick);
|
mob_ai_sub_hard_slavemob (md,tick);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -354,6 +354,7 @@ struct mob_data {
|
|||||||
uint32 spotted_log[DAMAGELOG_SIZE];
|
uint32 spotted_log[DAMAGELOG_SIZE];
|
||||||
struct spawn_data *spawn; //Spawn data.
|
struct spawn_data *spawn; //Spawn data.
|
||||||
int spawn_timer; //Required for Convex Mirror
|
int spawn_timer; //Required for Convex Mirror
|
||||||
|
int16 centerX, centerY; // Spawn center of this individual monster
|
||||||
struct s_mob_lootitem *lootitems;
|
struct s_mob_lootitem *lootitems;
|
||||||
short mob_id;
|
short mob_id;
|
||||||
unsigned int tdmg; //Stores total damage given to the mob, for exp calculations. [Skotlex]
|
unsigned int tdmg; //Stores total damage given to the mob, for exp calculations. [Skotlex]
|
||||||
|
@ -5180,6 +5180,13 @@ void npc_parse_mob2(struct spawn_data* mob)
|
|||||||
{
|
{
|
||||||
struct mob_data* md = mob_spawn_dataset(mob);
|
struct mob_data* md = mob_spawn_dataset(mob);
|
||||||
md->spawn = mob;
|
md->spawn = mob;
|
||||||
|
// Determine center cell for each mob in the spawn line
|
||||||
|
if (battle_config.randomize_center_cell) {
|
||||||
|
if (mob->xs > 1)
|
||||||
|
md->centerX = rnd_value(mob->x - mob->xs + 1, mob->x + mob->xs - 1);
|
||||||
|
if (mob->ys > 1)
|
||||||
|
md->centerY = rnd_value(mob->y - mob->ys + 1, mob->y + mob->ys - 1);
|
||||||
|
}
|
||||||
md->spawn->active++;
|
md->spawn->active++;
|
||||||
mob_spawn(md);
|
mob_spawn(md);
|
||||||
}
|
}
|
||||||
@ -5188,7 +5195,7 @@ void npc_parse_mob2(struct spawn_data* mob)
|
|||||||
static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
|
static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath)
|
||||||
{
|
{
|
||||||
int num, mob_id, mob_lv = -1, delay = 5000, size = -1, w1count, w4count;
|
int num, mob_id, mob_lv = -1, delay = 5000, size = -1, w1count, w4count;
|
||||||
short m, x = 0, y = 0, xs = -1, ys = -1;
|
short m, x = 0, y = 0, xs = 0, ys = 0;
|
||||||
char mapname[MAP_NAME_LENGTH_EXT], mobname[NAME_LENGTH], sprite[NAME_LENGTH];
|
char mapname[MAP_NAME_LENGTH_EXT], mobname[NAME_LENGTH], sprite[NAME_LENGTH];
|
||||||
struct spawn_data mob, *data;
|
struct spawn_data mob, *data;
|
||||||
int ai = AI_NONE; // mob_ai
|
int ai = AI_NONE; // mob_ai
|
||||||
@ -5197,7 +5204,7 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
|
|||||||
|
|
||||||
mob.state.boss = !strcmpi(w2,"boss_monster");
|
mob.state.boss = !strcmpi(w2,"boss_monster");
|
||||||
|
|
||||||
// w1=<map name>{,<x>,<y>,<xs>{,<ys>}}
|
// w1=<map name>{,<x>,<y>{,<xs>,<ys>}}
|
||||||
// w3=<mob name>{,<mob level>}
|
// w3=<mob name>{,<mob level>}
|
||||||
// w4=<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
|
// w4=<mob id>,<amount>{,<delay1>{,<delay2>{,<event>{,<mob size>{,<mob ai>}}}}}
|
||||||
if( ( w1count = sscanf(w1, "%15[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) ) < 1
|
if( ( w1count = sscanf(w1, "%15[^,],%6hd,%6hd,%6hd,%6hd", mapname, &x, &y, &xs, &ys) ) < 1
|
||||||
@ -5289,28 +5296,35 @@ static const char* npc_parse_mob(char* w1, char* w2, char* w3, char* w4, const c
|
|||||||
mob.state.ai = static_cast<enum mob_ai>(ai);
|
mob.state.ai = static_cast<enum mob_ai>(ai);
|
||||||
|
|
||||||
if (mob.xs < 0) {
|
if (mob.xs < 0) {
|
||||||
if (w1count > 3) {
|
ShowWarning("npc_parse_mob: Negative x-span %hd for mob ID %d (file '%s', line '%d'). Defaulting to map-wide.\n", mob.xs, mob_id, filepath, strline(buffer, start - buffer));
|
||||||
ShowWarning("npc_parse_mob: Negative x-span %hd for mob ID %d (file '%s', line '%d').\n", mob.xs, mob_id, filepath, strline(buffer, start - buffer));
|
|
||||||
}
|
|
||||||
mob.xs = 0;
|
mob.xs = 0;
|
||||||
}
|
}
|
||||||
|
else if (mob.xs == 0 && mob.x > 0) {
|
||||||
|
// Fixed X coordinate
|
||||||
|
// Need to set this to 1 as we reduce it by 1 when calling the search function
|
||||||
|
mob.xs = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (mob.ys < 0) {
|
if (mob.ys < 0) {
|
||||||
if (w1count > 4) {
|
ShowWarning("npc_parse_mob: Negative y-span %hd for mob ID %d (file '%s', line '%d'). Defaulting to map-wide.\n", mob.ys, mob_id, filepath, strline(buffer, start - buffer));
|
||||||
ShowWarning("npc_parse_mob: Negative y-span %hd for mob ID %d (file '%s', line '%d').\n", mob.ys, mob_id, filepath, strline(buffer, start - buffer));
|
|
||||||
}
|
|
||||||
mob.ys = 0;
|
mob.ys = 0;
|
||||||
}
|
}
|
||||||
|
else if (mob.ys == 0 && mob.y > 0) {
|
||||||
|
// Fixed Y coordinate
|
||||||
|
// Need to set this to 1 as we reduce it by 1 when calling the search function
|
||||||
|
mob.ys = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (mob.num > 1 && battle_config.mob_count_rate != 100) {
|
if (mob.num > 1 && battle_config.mob_count_rate != 100) {
|
||||||
if ((mob.num = mob.num * battle_config.mob_count_rate / 100) < 1)
|
if ((mob.num = mob.num * battle_config.mob_count_rate / 100) < 1)
|
||||||
mob.num = 1;
|
mob.num = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (battle_config.force_random_spawn || (mob.x == 0 && mob.y == 0))
|
if (battle_config.force_random_spawn || (mob.x == 0 && mob.y == 0)
|
||||||
|
|| (mob.xs == 1 && mob.ys == 1 && !map_getcell(mob.m, mob.x, mob.y, CELL_CHKREACH)))
|
||||||
{ //Force a random spawn anywhere on the map.
|
{ //Force a random spawn anywhere on the map.
|
||||||
mob.x = mob.y = 0;
|
mob.x = mob.y = 0;
|
||||||
mob.xs = mob.ys = -1;
|
mob.xs = mob.ys = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if monsters should have variance applied to their respawn time
|
// Check if monsters should have variance applied to their respawn time
|
||||||
|
@ -7037,7 +7037,7 @@ enum e_setpos pc_setpos_savepoint( map_session_data& sd, clr_type clrtype ){
|
|||||||
*------------------------------------------*/
|
*------------------------------------------*/
|
||||||
char pc_randomwarp(map_session_data *sd, clr_type type, bool ignore_mapflag)
|
char pc_randomwarp(map_session_data *sd, clr_type type, bool ignore_mapflag)
|
||||||
{
|
{
|
||||||
int x,y,i=0;
|
int16 x,y,i=0;
|
||||||
|
|
||||||
nullpo_ret(sd);
|
nullpo_ret(sd);
|
||||||
|
|
||||||
@ -7046,9 +7046,10 @@ char pc_randomwarp(map_session_data *sd, clr_type type, bool ignore_mapflag)
|
|||||||
if (mapdata->getMapFlag(MF_NOTELEPORT) && !ignore_mapflag) //Teleport forbidden
|
if (mapdata->getMapFlag(MF_NOTELEPORT) && !ignore_mapflag) //Teleport forbidden
|
||||||
return 3;
|
return 3;
|
||||||
|
|
||||||
|
int edge = battle_config.map_edge_size;
|
||||||
do {
|
do {
|
||||||
x = rnd()%(mapdata->xs-2)+1;
|
x = rnd_value<int16>(edge, mapdata->xs - edge - 1);
|
||||||
y = rnd()%(mapdata->ys-2)+1;
|
y = rnd_value<int16>(edge, mapdata->ys - edge - 1);
|
||||||
} while((map_getcell(sd->bl.m,x,y,CELL_CHKNOPASS) || (!battle_config.teleport_on_portal && npc_check_areanpc(1,sd->bl.m,x,y,1))) && (i++) < 1000);
|
} while((map_getcell(sd->bl.m,x,y,CELL_CHKNOPASS) || (!battle_config.teleport_on_portal && npc_check_areanpc(1,sd->bl.m,x,y,1))) && (i++) < 1000);
|
||||||
|
|
||||||
if (i < 1000)
|
if (i < 1000)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user