Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/20/24 in all areas

  1. View File Mob Element View A small mod that allows you to display a custom icon and a title referring to the element and element level of the mob. It can be disabled by changing it in monster.conf // Show Element Info [Hyroshima] // 0= Off, 1= On mob_ele_view: 1 I have an observation to inform, if any of the information related to show_mob_info is enabled the mod will behave as disabled. // Display some mob info next to their name? (add as needed) // (does not works on guardian or Emperium) // 1: Display mob HP (Hp/MaxHp format) // 2: Display mob HP (Percent of full life format) // 4: Display mob's level show_mob_info: 0 Obs: i am making 2 diff files available: _A = Closest to current revision. _B = A little older compared to the current review The video quality is not very good (sorry), watch the preview video in fullscreen Submitter Hyroshima Submitted 10/04/24 Category Source Modifications Video Content Author Hyroshima  
    1 point
  2. Took me a while to figure this out, but you could set the skill to have its cast time not being influenced by status changes by adding this to skill.yml: CastTimeFlags: IgnoreStatus: true The only downside is that it also makes Suffragium not work.
    1 point
  3. This is official behavior though. GTB only blocks magic-type skills, it does not protect from Coma. I guess looking at your code, you want to customize it so that GTB also blocks various other effects. I don't understand why someone would want to buff GTB card even more, but if you really want to still do it, you need to understand that Coma is no longer a status change, it actually overwrites damage and sets it to "TargetCurrentHP - 1". The logic for Coma is now in status_damage: // We need to log the real damage on exp_calc_type 1 if (battle_config.exp_calc_type == 1) { dhp = hp; // Coma real damage if (flag&16) dhp = status->hp - 1; } status->hp-= hp; status->sp-= sp; status->ap-= ap; // Coma if (flag&16) { status->hp = 1; status->sp = 1; if (!sp) sp = 1; // To make sure the status bar is updated } It's called from battle_damage in battle.cpp here: else if (sd && battle_check_coma(*sd, *target, (e_battle_flag)attack_type)) dmg_change = status_damage(src, target, damage, 0, delay, 16, skill_id); // Coma attack Probably easiest to add the check for status_isimmune there: else if (sd && battle_check_coma(*sd, *target, (e_battle_flag)attack_type) && !status_isimmune(target)) dmg_change = status_damage(src, target, damage, 0, delay, 16, skill_id); // Coma attack
    1 point
  4. WARP-rock_win32.zipcant find exe file
    1 point
  5. The only easy way with 1 random option group id to all equip dropped by monster is to mod the source diff --git a/conf/battle/feature.conf b/conf/battle/feature.conf index aa08ec4dd..49f9f64ab 100644 --- a/conf/battle/feature.conf +++ b/conf/battle/feature.conf @@ -175,3 +175,9 @@ feature.stylist: on // If this is allowed the "nosave" mapflag is still being respected // and may prevent players from warping back into the instance. //feature.instance_allow_reconnect: yes + +// Default random option group attached to all equipment +// This random option group id will be attached +// If the original drop entry on mob_db.yml +// Do not have RandomOptionGroup entry on it. +feature.default_randomopt_group: 1111 diff --git a/src/map/battle.cpp b/src/map/battle.cpp index 908d67571..1b6f3f030 100644 --- a/src/map/battle.cpp +++ b/src/map/battle.cpp @@ -10476,6 +10476,8 @@ static const struct _battle_data { + { "feature.default_randomopt_group", &battle_config.default_randomopt_group, 0, 0, INT_MAX, }, + #include <custom/battle_config_init.inc> }; diff --git a/src/map/battle.hpp b/src/map/battle.hpp index 015249b5d..5b8b1063b 100644 --- a/src/map/battle.hpp +++ b/src/map/battle.hpp @@ -735,6 +735,8 @@ struct Battle_Config + int default_randomopt_group; + #include <custom/battle_config_struct.inc> }; diff --git a/src/map/mob.cpp b/src/map/mob.cpp index a4e73ea5d..b8bee338b 100644 --- a/src/map/mob.cpp +++ b/src/map/mob.cpp @@ -2124,6 +2124,16 @@ void mob_setdropitem_option(item *item, s_mob_drop *mobdrop) { std::shared_ptr<s_random_opt_group> group = random_option_group.find(mobdrop->randomopt_group); + if (group == nullptr && battle_config.default_randomopt_group) { + if (itemdb_isequip(item->nameid)) { + group = random_option_group.find(battle_config.default_randomopt_group); + if (group == nullptr) { + ShowWarning("Battle setting 'feature.default_randomopt_group' is disabled as random option group with id %d is not exist.\n", battle_config.default_randomopt_group); + battle_config.default_randomopt_group = 0; + } + } + } + if (group != nullptr) { group->apply( *item ); }
    1 point
  6. Version 1.0.0

    806 downloads

    I Decide to release it for free ? Enjoy!
    Free
    1 point
×
×
  • Create New...