Jump to content

Skyzone

Members
  • Content Count

    107
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

Community Reputation

22 Excellent

6 Followers

About Skyzone

  • Rank
    Poporing
  • Birthday 05/03/1989

Profile Information

  • Gender
    Male
  • Location
    Philippines
  • Server
    Ragnarok Private Servers
  • Github: Denzone
  • Discord: Skyzone#5671
  • Interests
    Weapon Sprite Editor, NPC Scripter, Website Developing, Software Developing.

Contact Methods

  • Skype
    Denz

Recent Profile Visitors

2,421 profile views
  1. Grate Job Frost.. Take my money soon hahahaha
  2. diff --git a/db/soul_link.yml b/db/soul_link.yml --- db/soul_link.yml | 74 ++++++++++++++++++++++++++++++++++++ src/map/script.cpp | 1 + src/map/script_constants.hpp | 17 +++++++++ src/map/status.cpp | 50 ++++++++++++++++++++++++ 4 files changed, 142 insertions(+) create mode 100644 db/soul_link.yml diff --git a/db/soul_link.yml b/db/soul_link.yml new file mode 100644 index 000000000..bdcf72cb0 --- /dev/null +++ b/db/soul_link.yml @@ -0,0 +1,74 @@ +# Custom soul link buffs. +# Author: Secret <[email protected]> +# +# Format +# <SL_ constant>: <YAML string literal with a pair of enclosing bracket for the script> +# +# You can code the script just like an item script. +# +# Use ONLY spaces to indent. +# DONT USE TABS + +# Header: # Metadata for future use +# Version: 1 +# Type: MOD_SECRET_SOUL_LINK +SL_ALCHEMIST: | + { + bonus bStr,1; + } +SL_MONK: | + { + bonus bStr,1; + } +SL_STAR: | + { + bonus bStr,1; + } +SL_SAGE: | + { + bonus bStr,1; + } +SL_CRUSADER: | + { + bonus bStr,1; + } +SL_SUPERNOVICE: | + { + bonus bStr,1; + } +SL_KNIGHT: | + { + bonus bStr,1; + } +SL_WIZARD: | + { + bonus bStr,1; + } +SL_PRIEST: | + { + bonus bStr,1; + } +SL_BARDDANCER: | + { + bonus bStr,1; + } +SL_ROGUE: | + { + bonus bStr,1; + } +SL_ASSASIN: | + { + bonus bStr,1; + } +SL_BLACKSMITH: | + { + bonus bStr,1; + } +SL_HUNTER: | + { + bonus bStr,1; + } +SL_SOULLINKER: | + { + bonus bStr,1; + } + SL_GUNNER: | + { + bonus bMaxHPrate,50; bonus2 bSkillAtk,"GS_DESPERADO",30; + } +SL_NINJA: | + { + bonus bMaxHPrate,50; bonus2 bSkillAtk,"NJ_ISSEN",30; + } diff --git a/src/map/script.cpp b/src/map/script.cpp index e9e10a643..69c9a0ab6 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -60,6 +60,7 @@ #include "pc_groups.hpp" #include "pet.hpp" #include "quest.hpp" +#include "status.hpp" #include "storage.hpp" using namespace rathena; diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index 16e405d0e..8e7bf166d 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -16,6 +16,23 @@ export_constant(INT_MIN); export_constant(INT_MAX); + /* soul links */ + export_constant(SL_ALCHEMIST); + export_constant(SL_MONK); + export_constant(SL_STAR); + export_constant(SL_SAGE); + export_constant(SL_CRUSADER); + export_constant(SL_SUPERNOVICE); + export_constant(SL_KNIGHT); + export_constant(SL_WIZARD); + export_constant(SL_PRIEST); + export_constant(SL_BARDDANCER); + export_constant(SL_ROGUE); + export_constant(SL_ASSASIN); + export_constant(SL_BLACKSMITH); + export_constant(SL_HUNTER); + export_constant(SL_SOULLINKER); + export_constant(SL_GUNNER); + export_constant(SL_NINJA); + /* server defines */ export_constant(PACKETVER); export_constant(MAX_LEVEL); diff --git a/src/map/status.cpp b/src/map/status.cpp index 84b832e12..2c51d139d 100644 --- a/src/map/status.cpp +++ b/src/map/status.cpp @@ -7,6 +7,7 @@ #include <math.h> #include <stdlib.h> #include <string> +#include <unordered_map> //SKYZONE NOTE: DONOT PUT ON TOP MAKE SURE THIS ALWAYS BELOW OF STRING #include <yaml-cpp/yaml.h> #include "../common/cbasetypes.hpp" @@ -66,6 +67,8 @@ bool running_npc_stat_calc_event; /// Indicate if OnPCStatCalcEvent is running. // We need it for new cards 15 Feb 2005, to check if the combo cards are insrerted into the CURRENT weapon only to avoid cards exploits short current_equip_opt_index; /// Contains random option index of an equipped item. [Secret] +std::unordered_map<int, script_code*> soul_link; + unsigned int SCDisabled[SC_MAX]; ///< List of disabled SC on map zones. [Cydh] sc_type SkillStatusChangeTable[MAX_SKILL]; @@ -4086,6 +4089,13 @@ int status_calc_pc_sub(struct map_session_data* sd, enum e_status_calc_opt opt) current_equip_opt_index = -1; } + if (sd && sc->count && sc->data[SC_SPIRIT]) { + auto spirit = sc->data[SC_SPIRIT]; + if (spirit != nullptr && soul_link.find(spirit->val2) != soul_link.end() && soul_link[spirit->val2] != nullptr) { + run_script(soul_link[spirit->val2], 0, sd->bl.id, 0); + } + } + if (sc->count && sc->data[SC_ITEMSCRIPT]) { struct item_data *data = itemdb_exists(sc->data[SC_ITEMSCRIPT]->val1); if (data && data->script) @@ -15491,6 +15501,45 @@ static bool status_readdb_attrfix(const char *basedir,bool silent) return true; } +void status_read_soullink_db(const char* file_name) { + YAML::Node root; + int count = 0; + try { + root = YAML::LoadFile(file_name); + if (root.IsMap()) { + for (auto node : root) { + struct script_code *code; + std::string key = node.first.as<std::string>(); + int64 constant = 0; + if (key.compare(0, 3, "SL_")) { + ShowWarning("status_read_soullink_db: Expected a constant with SL_ prefix, got %s.\n", key.c_str()); + continue; + } + if (!script_get_constant(key.c_str(), &constant)) { + ShowWarning("status_read_soullink_db: Tried to assign custom buff to nonexistent constant %s.\n", key.c_str()); + continue; + } + if ((code = parse_script(node.second.as<std::string>().c_str(), file_name, node.second.Mark().line, 0)) == NULL) { + ShowWarning("status_read_soullink_db: Invalid or empty script on custom soul link %s.\n", key.c_str()); + continue; + } + if (soul_link[constant] != nullptr) + script_free_code(soul_link[constant]); + soul_link[constant] = code; + count++; + } + } + else { + ShowError("status_read_soullink_db: The file's structure is broken. Root node is not a map.\n"); + } + } + catch (...) { + ShowError("status_read_soullink_db: Cannot load custom soul link buffs from %s.\n", file_name); + } + + ShowInfo("status_read_soullink_db: Done reading %d custom soul links.\n", count); +} /** *CLEAR THE STATUS AFTER DEATH */ +void status_clear_soul_link_db() +{ + for (const auto& entry : soul_link) { + script_free_code(entry.second); + } + soul_link.clear(); +} + /** * Sets defaults in tables and starts read db functions * sv_readdb reads the file, outputting the information line-by-line to @@ -15557,6 +15606,7 @@ int status_readdb(void) size_fix_db.load(); + status_read_soullink_db((char*)"db/soul_link.yml"); return 0; } /** *CLEAR THE STATUS AFTER DEATH */ @@ find void do_final_status(void) { + status_clear_soul_link_db(); //SKYZONE ers_destroy(sc_data_ers); } Read Some Note I put. I saw some error because they don't know the pattern of the script. the script is working on any version you only need is to spot the pattern. I put some added clear the status after death I saw it some of comment how to do it.
  3. you can take this error if you modified your Skills. sometimes it is because of the monsters
  4. the client date is 20180621
  5. Hello rADevs, Anyone have the same issue of this? because this WFIFOSET is giving huge Lag on during WOE some of my client server. this is my first time to see this error. my client is using 2018 Client. if anyone have idea on this issue to be fixed please help us. this kind of error was not seeing on other that they have this on there server specially to latest rAthena Users this kind of error from the latest rA. Thank you in Advance.
  6. Hello I will Re-Upload this on bootstrap Flux Integrate is it ok to you? I will credit your design
  7. anyone know how to change the Atk Multiplier when I put STR. the Red Down Arrow will be increase too. I want only increase is the Red Arrow UP. anyone how can I edit this on SRC?
  8. this will giving you exploit in bound items. better to change the Clip Display Message clif_displaymessage(sd->fd, "Cannot buy with Bound Items."); To clif_displaymessage(sd->fd, "Please put your bound items on your storage and try again.."); or its up to you.
  9. I best recommend this for custom server to show the Custom Level Aura.
  10. Thank you for supporting Rathena ^_^
  11. Message me for this issue. we have updated version of this Themes. Updated Product will be posted after this year end
  12. @Secrets hello madam how I can fixed this Warning?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.