M2 Docs
questlua_dungeon.cpp File Reference

Macros

#define D_JOIN_AS_JUMP_PARTY
 d.join will be internally handled differently More...
 

Functions

int32_t dungeon_notice (lua_State *L)
 it will send a notice [text] inside the current dungeon More...
 
int32_t dungeon_set_quest_flag (lua_State *L)
 it will change the current quest's [flag_name] to [flag_value] from everyone inside the current dungeon More...
 
int32_t dungeon_set_flag (lua_State *L)
 it will change the current dungeon's flag [flag_name] to [flag_value] More...
 
int32_t dungeon_get_flag (lua_State *L)
 lua will return the current dungeon's flag [flag_name]'s value More...
 
int32_t dungeon_get_flag_from_map_index (lua_State *L)
 lua will return the dungeon [map_index]'s flag [flag_name]'s value More...
 
int32_t dungeon_get_map_index (lua_State *L)
 lua will return the current dungeon's map index More...
 
int32_t dungeon_regen_file (lua_State *L)
 it will read and spawn ONCE the regen file [regen_filename], respawn event NOT included, in the current dungeon More...
 
int32_t dungeon_set_regen_file (lua_State *L)
 it will read and spawn the regen file [regen_filename], respawn event included, in the current dungeon More...
 
int32_t dungeon_clear_regen (lua_State *L)
 it will clear any regen of the current dungeon More...
 
int32_t dungeon_check_eliminated (lua_State *L)
 it there will be 0 monsters in the current dungeon, it will check if an exit or warp condition has been set, and creates the relative event runned after n seconds (specified by d.set_exit/warp_all_at_eliminate) More...
 
int32_t dungeon_set_exit_all_at_eliminate (lua_State *L)
 it will set an exit all condition after [seconds] in the current dungeon; it's triggered by d.check_eliminated and only if there is no monster left. More...
 
int32_t dungeon_set_warp_at_eliminate (lua_State *L)
 it will set a warp all condition after [seconds] to map [map_index] coordinates [map_x] [map_y], inside the current dungeon;
it's triggered either by d.check_eliminated when there is no monster left or if [regen_filename] has been cleared More...
 
int32_t dungeon_new_jump (lua_State *L)
 it will create a new dungeon instance from map [map_index] and warp yourself to the generated map at [world_x] [world_y] coordinates More...
 
int32_t dungeon_new_jump_guild (lua_State *L)
 it will create a new dungeon instance from map [map_index] and warp you and every guild member of yours of your current map to the generated map at [world_x] [world_y] coordinates More...
 
int32_t dungeon_new_jump_all (lua_State *L)
 it will create a new dungeon instance from map [map_index] and warp you and everyone else of your current map to the generated map at [world_x] [world_y] coordinates More...
 
int32_t dungeon_new_jump_party (lua_State *L)
 it will create a new dungeon instance from map [map_index] and warp you and every party member of yours of your current map to the generated map at [world_x] [world_y] coordinates More...
 
int32_t dungeon_jump_all (lua_State *L)
 it will warp you and every party member of yours in the current dungeon at [world_x] [world_y] coordinates (no uiloading refresh) More...
 
int32_t dungeon_warp_all (lua_State *L)
 it will warp you and every party member of yours in the current dungeon at [world_x] [world_y] coordinates (there will be a uiloading refresh) More...
 
int32_t dungeon_get_kill_stone_count (lua_State *L)
 lua will return the count of every metin stone destroyed in the current dungeon
[unk1] and [unk2] are unused, but required, otherwise it will return 0 (two random numbers is enough) More...
 
int32_t dungeon_get_kill_mob_count (lua_State *L)
 lua will return the count of every monster destroyed in the current dungeon
[unk1] and [unk2] are unused, but required, otherwise it will return 0 (two random numbers is enough) More...
 
int32_t dungeon_is_use_potion (lua_State *L)
 lua will return false if you cannot use potions in the current dungeon, true otherwise (don't use it for the contrary reason)
[unk1] and [unk2] are unused, but required, otherwise it will return true (two random numbers is enough) More...
 
int32_t dungeon_revived (lua_State *L)
 lua will return false if you cannot be revived in the current dungeon, true otherwise (don't use it for the contrary reason)
[unk1] and [unk2] are unused, but required, otherwise it will return true (two random numbers is enough) More...
 
int32_t dungeon_set_dest (lua_State *L)
 it will move your current dungeon's party to the local [map_x] and [map_y] coordinates, no refresh (mostly client-side) More...
 
int32_t dungeon_unique_set_maxhp (lua_State *L)
 it will set the unique mob [unique_name]'s max hp to [max_hp] (in the current dungeon) More...
 
int32_t dungeon_unique_set_hp (lua_State *L)
 it will set the unique mob [unique_name]'s hp to [hp] (in the current dungeon) More...
 
int32_t dungeon_unique_set_def_grade (lua_State *L)
 it will set the unique mob [unique_name]'s def_grade to [def_grade] (in the current dungeon) More...
 
int32_t dungeon_unique_get_hp_perc (lua_State *L)
 lua will return the unique mob [unique_name]'s hp percent (in the current dungeon) More...
 
int32_t dungeon_is_unique_dead (lua_State *L)
 lua will return whether or not the unique mob [unique_name] dungeon is dead (in the current dungeon) More...
 
int32_t dungeon_purge_unique (lua_State *L)
 it will purge (destroy/make disappear) the unique mob [unique_name] (in the current dungeon) More...
 
int32_t dungeon_purge_area (lua_State *L)
 it will purge (destroy/make disappear) all the monsters in the square range [StartPosX],[StartPosY] until [EndPosX],[EndPosY] (in the current dungeon) More...
 
int32_t dungeon_kill_area (lua_State *L)
 it will kill all the monsters in the square range [StartPosX],[StartPosY] until [EndPosX],[EndPosY] (in the current dungeon) More...
 
int32_t dungeon_kill_unique (lua_State *L)
 it will kill the unique mob [unique_name] (in the current dungeon) More...
 
int32_t dungeon_spawn_stone_door (lua_State *L)
 it will spawn a stone door (vnum 13001) with the unique name [unique_name] in the area name [area_name] (in the current dungeon) More...
 
int32_t dungeon_spawn_wooden_door (lua_State *L)
 it will spawn a wooden door (vnum 13000) with the unique name [unique_name] in the area name [area_name] (in the current dungeon)
its hp/max_hp are hardcoded to 10000, and def grade to 300 (unique bonus) More...
 
int32_t dungeon_spawn_move_group (lua_State *L)
 it will spawn a monster group [group_id] in the area [pos_from],[pos_to] (in the current dungeon) More...
 
int32_t dungeon_spawn_move_unique (lua_State *L)
 it will spawn the monster [mob_vnum] with unique name [unique_name] in the area [pos_from],[pos_to] (in the current dungeon) More...
 
int32_t dungeon_spawn_unique (lua_State *L)
 it will spawn the monster [mob_vnum] with unique name [unique_name] in the area [area_name] (in the current dungeon) More...
 
int32_t dungeon_spawn (lua_State *L)
 it will spawn the monster [mob_vnum] in the area [area_name] (in the current dungeon) More...
 
int32_t dungeon_set_unique (lua_State *L)
 it will set to the monster [mob_vid] the unique name [unique_name] (in the current dungeon) More...
 
int32_t dungeon_get_damage_from_race (lua_State *L)
 lua will return the DamageRaceFlag of the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_get_damage_from_affect (lua_State *L)
 lua will return the list of any DamageAffectFlag of the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_set_damage_from_race (lua_State *L)
 it will append the DamageRaceFlag [damage_race_flag] to the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_set_damage_from_affect (lua_State *L)
 it will append the DamageAffectFlag [damage_affect_flag] to the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_unset_damage_from_race (lua_State *L)
 it will remove the DamageRaceFlag [damage_race_flag] from the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_unset_damage_from_affect (lua_State *L)
 it will remove the DamageAffectFlag [damage_affect_flag] from the mob [mob_vid] More...
 
int32_t dungeon_reset_damage_from_race (lua_State *L)
 it will remove all the DamageRaceFlag from the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_reset_damage_from_affect (lua_State *L)
 it will remove all the DamageAffectFlag from the mob [mob_vid]
available even outside of dungeons, like with the return of the spawn_mob0 func More...
 
int32_t dungeon_is_available0 (lua_State *L)
 lua will return true if the current dungeon is not nullptr, false otherwise More...
 
int32_t dungeon_get_unique_vid (lua_State *L)
 lua will return the vid of the specific [unique_name] monster (in the current dungeon) More...
 
int32_t dungeon_spawn_mob (lua_State *L)
 it will spawn a mob [mob_vnum] in the coordinates [map_x][map_y] (in the current dungeon)
if [radius] is specified, the spawn coordinates will be affect by a little
if [count] is specified, there will be spawned a total of [count] mobs instead of one, and the returned vid will be the one of the first spawned one More...
 
int32_t dungeon_spawn_mob_dir (lua_State *L)
 it will spawn a mob [mob_vnum] in the coordinates [map_x][map_y] and in the direction of [direction] (in the current dungeon) More...
 
int32_t dungeon_spawn_mob_ac_dir (lua_State *L)
 it will spawn a mob [mob_vnum] in the coordinates [map_x][map_y] and in the direction of [direction] (in the current dungeon)
the spawned monster will have no spawn effect More...
 
int32_t dungeon_spawn_goto_mob (lua_State *L)
 it will spawn a mob (vnum 20039) in the square range from [from_x][from_y] to [to_x][to_y] More...
 
int32_t dungeon_spawn_name_mob (lua_State *L)
 it will spawn a mob [mob_vnum] in [map_x][map_y] with the name [name] (mostly, for NPCs) More...
 
int32_t dungeon_spawn_group (lua_State *L)
 it will spawn the mob group [group_vnum] in [map_x][map_y] with radius [radius] and the aggressive flag as [is_aggressive] for [count] times
the [radius] isn't fundamental, even 0 for it is enough More...
 
int32_t dungeon_join (lua_State *L)
 it will create a dungeon in [map_index] and warp yourself (or your whole party if near) into it
this function is famous for being instable, use d.new_jump and d.new_jump_party altogether with party.is_party() instead More...
 
int32_t dungeon_exit (lua_State *L)
 it will warp yourself to the saved exit location (not specifically in the current dungeon) More...
 
int32_t dungeon_exit_all (lua_State *L)
 it will warp everyone to the saved exit location (in the current dungeon) More...
 
int32_t dungeon_say_diff_by_item_group (lua_State *L)
 it will show to everyone in the current dungeon the [can_proceed_text] say if individually they have at least one of the items of the [item_group_name] item group
otherwise they will get the [cannot_proceed_text] say and will be warped out of the current dungeon More...
 
int32_t dungeon_exit_all_by_item_group (lua_State *L)
 it will warp out everyone who doesn't have at least one of the items of the [item_group_name] item group (in the current dungeon) More...
 
int32_t dungeon_delete_item_in_item_group_from_all (lua_State *L)
 it will warp out everyone who doesn't have at least one of the items of the [item_group_name] item group (in the current dungeon) More...
 
int32_t dungeon_kill_all (lua_State *L)
 it will kill every monster in the current dungeon More...
 
int32_t dungeon_purge (lua_State *L)
 it will purge (destroy/make disappear) every monster in the current dungeon More...
 
int32_t dungeon_exit_all_to_start_position (lua_State *L)
 it will warp out everyone to the start position (in the current dungeon) More...
 
int32_t dungeon_count_monster (lua_State *L)
 lua will return the count of the monsters residing in the current dungeon More...
 
int32_t dungeon_select (lua_State *L)
 it will set the dungeon map [map_index] as the current dungeon More...
 
int32_t dungeon_find (lua_State *L)
 lua will return whether or not the dungeon map [map_index] has been found More...
 
int32_t dungeon_all_near_to (lua_State *L)
 it will warp everyone near the coordinates [map_x],[map_y] with a max distance of 30px More...
 
int32_t dungeon_set_warp_location (lua_State *L)
 it will set the warp location to map [map_index] in the coordinates [map_x],[map_y] More...
 
int32_t dungeon_set_item_group (lua_State *L)
 it will set the item group [item_group_name] with [total_count] elements and for each of them two additional [item_vnum],[item_count] arguments More...
 
int32_t dungeon_set_quest_flag2 (lua_State *L)
 it will change the [quest_name]'s [flag_name] to [flag_value] from everyone inside the current dungeon More...
 

Detailed Description

"d" Lua functions

Macro Definition Documentation

◆ D_JOIN_AS_JUMP_PARTY

#define D_JOIN_AS_JUMP_PARTY

d.join will be internally handled differently

Defines:
d.join will be internally handled differently
NewStuff:
d.join will be internally handled differently
New Defines:
d.join will be internally handled differently