Jump to content

Batang Kuneho

Members
  • Content Count

    39
  • Joined

  • Last visited

Posts posted by Batang Kuneho


  1. 17 hours ago, 4144 said:

    file should be service_korea\ExternalSettings_kr.lub if you using lagtype 0 or enabled patch use korean external settings.

    In other way you should find service_COUNTRY\ExternalSettings_LANG.lub for your language. where COUNTRY and LANG can be any other values.

     

    Also for ragexeRE clients, after kr in name can be _sak. for example ExternalSettings_kr_sak.lub

     

     

    Good Day sir 4144 i just did what you said 

    my first servicetype is Korea and langtype 0 then i change to this its same no aura

        <servicetype>AMERICA</servicetype>
        <servertype>sakray</servertype>
        <connection>
                  <port>6900</port>
                  <version>55</version>
                  <langtype>1</langtype>
            <registrationweb>http://puyat.ro-game.net/</registrationweb>
            <aid>
                <admin>2000000</admin>
                <admin>2000001</admin>
                <admin>2000002</admin>
            </aid>

    Untitled.jpg


  2. 22 hours ago, hauren said:

    if i not mistaken u dont even need this diff anymore just edit the lua files "data\luafiles514\lua files\service_korea\ExternalSettings_kr.lub"

    i edit this files\service_korea\ExternalSettings_kr.lub" already but its same can you send youre's that i can test it on my server thanks for the reply


  3. On 3/29/2019 at 4:29 AM, AnnieRuru said:

    hercules is compatible with newer hexed client
    but that doesn't mean every hexed client is stable for use in live server

    currently the recommended client date everyone using is 2018-06-21aRagexeRE
    I'm just using this one to test some newer stuffs, like the barter system

    yeah, this client seems to crash... probably because of gravity ... doing that ragexe/ragexere name restriction ..

    also can't enable zoom out, and can't remove chat limit ...

    i use this client 20180621 but i got disconnected all clientinfo sclientinfo are correct ip version langtype but i got disconnected no error on server side  and i use 20180620 same disconnect on server dont know why


  4.  

    Does anybody shares a HP/SP TABLES for Base: 255 and Job: 120?

    use mine it will generate HP tables 400/120 :)

     

    >Thanks a lot. It worked ... until the lvl 401. Seems like a stupid bug, even the file itself says

     

    "// Note: If table index size is smaller than the max level the server will automatically generate the missing index based on the average increase per level."

     

    But it just doesn't :/.

     

    Welp, i'm just generating every HP and SP table with the old rAthena formula for every classes. Weird "bug"? though.

    ill help you make 1000/1000 rathena forumla :)

     

    thanks its so helpful !!


  5. ah 

     

    It's cause you have their type set as 4, Weapon.
    You should use type 5, Armor.

    View IDs for weapons have to be these listings here:


    G3HdVRU.png

     

    ah grazie ba vene 

    thanks im being slow solve..about the problem!


  6. Mind posting that part of your item_db2?

     

    {
        Id: 20005
        AegisName: "_archangelwings"
        Name: "archabgel_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1371
        Script: <"
            bonus bInt,3;
            bonus bDex,3;
        ">
    },
    {
        Id: 20006
        AegisName: "_archdemonwings"
        Name: "archdemon_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1372
        Script: <"
            bonus bStr,3;
            bonus bAgi,3;
        ">
    },
    {
        Id: 20007
        AegisName: "_arcticwings"
        Name: "arctic_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1373
        Script: <"
            bonus bInt,10;
            bonus2 bSubEle,Ele_Water,10;
        ">
    },
    {
        Id: 20008
        AegisName: "_darkfairywings"
        Name: "Black_fairy_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1374
        Script: <"
            bonus bAgi,10;
            bonus bStr,5;
            bonus bSpeedRate,15;
        ">
    },
    {
        Id: 20009
        AegisName: "_devilingwings"
        Name: "Devil_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1375
        Script: <"
            bonus bStr,3;
            bonus bVit,2;
        ">
    },
    {
        Id: 20010
        AegisName: "_dragonwings"
        Name: "Dragon_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1376
        Script: <" bonus bAllStats,5; ">
    },
    {
        Id: 20012
        AegisName: "_elementalwings"
        Name: "Elemental_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1377
        Script: <"
            bonus bDex,2;
            bonus bAgi,2;
            bonus bInt,2;
        ">
    },
    {
        Id: 20013
        AegisName: "_fireywings"
        Name: "Icarus_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1378
        Script: <"
            specialeffect2 375;
            bonus bAgi,15;
            bonus3 bSubEle,Ele_Water,15,BF_SHORT;
            bonus3 bSubEle,Ele_Earth,15,BF_SHORT;
            bonus3 bSubEle,Ele_Fire,15,BF_SHORT;
            bonus3 bSubEle,Ele_Wind,15,BF_SHORT;
            bonus3 bSubEle,Ele_Poison,15,BF_SHORT;
            bonus3 bSubEle,Ele_Holy,15,BF_SHORT;
            bonus3 bSubEle,Ele_Dark,15,BF_SHORT;
            bonus3 bSubEle,Ele_Ghost,15,BF_SHORT;
            bonus3 bSubEle,Ele_Undead,15,BF_SHORT;
        ">
    },
    {
        Id: 20014
        AegisName: "_gargoylewings"
        Name: "Gargoyle_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1379
        Script: <"
            bonus bDex,10;
            bonus2 bSubEle,Ele_Undead,10;
            bonus2 bAddEff,Eff_Stone,100;
        ">
    },
    {
        Id: 20015
        AegisName: "_greatevilwings"
        Name: "Demon_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1380
        Script: <" bonus bStr,10; ">
    },
    {
        Id: 20016
        AegisName: "_vampirewings"
        Name: "Vampire_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1381
        Script: <" bonus bAllStats,5; ">
    },
    {
        Id: 20017
        AegisName: "_whitefairywings"
        Name: "White_fairy_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1382
        Script: <"
            bonus bAgi,10;
            bonus bFlee,30;
            bonus bSpeedRate,15;
        ">
    },
    {
        Id: 20018
        AegisName: "_wingofbalance"
        Name: "Fusion_wings"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1383
        Script: <"
            bonus bVit,10;
            bonus bMaxHPrate,10;
            bonus bAtkEle,Ele_Holy;
            bonus2 bAddRace,RC_DemiHuman,10;
            specialeffect2 375;
            specialeffect2 590;
            if(isequipped(20034))  skill "TF_HIDING",1;
        ">
        OnEquipScript: <" sc_end SC_HIDING; ">
    },
    {
        Id: 20019
        AegisName: "back_sword"
        Name: "Back Sword"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1384
        Script: <"
            bonus bAllStats,3;
            bonus2 bSubRace,RC_DemiHuman,10;
        ">
    },
    {
        Id: 20020
        AegisName: "black_helm"
        Name: "Black Helm"
        Type: 4
        Buy: 20
        Weight: 150
        Def: 6
        Slots: 1
        Loc: 256
        EquipLv: 1
        View: 1385
        Script: <"
            bonus2 bSubRace,RC_DemiHuman,10;
            bonus bStr,5;
            bonus bDex,5;
        ">
    },
    {
        Id: 20023
        AegisName: "Circulo_de_Amor"
        Name: "Flower Ring"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1386
    },
    {
        Id: 20024
        AegisName: "Circulo_de_Dragao"
        Name: "Dragon Aura"
        Type: 4
        Buy: 20
        Def: 2
        Loc: 1
        EquipLv: 1
        Refine: false
        View: 1387
        Script: <"
            bonus bInt,15;
            bonus bMatkRate,15;
            bonus3 bAutoSpellWhenHit,"NPC_EARTHQUAKE",3,100;
        ">
    },
    {
     

  7. Help how to make @disguise into a SKill With Fakename and On & Off


    i try it but no luck !!

    		{		int id = 0;		nullpo_retr(-1, sd);        	{		if( sd->fakename[0] )		{		sd->fakename[0] = '0';		clif_charnameack(0, &sd->bl);		if (sd->disguise)			clif_charnameack(sd, &sd->bl);			return -1;		}		if (sd->disguise) // Another packet should be sent so the client updates the name for sd			clif_charnameack(0, &sd->bl);			return -1;		}		if (id == 0)		{			return -1;		}		if(pc_isriding(sd))		{			return -1;		}		if (sd->sc.data[SC_MONSTER_TRANSFORM]) {			return -1;		}		pc_disguise(sd, id);			clif_skill_nodamage(src,bl,skill_id,skill_lv,1);		}		break;

    Help and more power


  8.  

    Hello Hercules Community i would like to share a copy of Working 2013-08-07 compiled by me. 

     

    Download

     

    Client Diff Patch

     

     Allow space in guild name
    Cancel to Login Window
    Change Gravity Error Handler
    Disable 1rag1 type parameters
    Disable Ragexe Filename Check
    Disable HShield
    Disable Packet Encryption
    Enable Multiple GRFs
    Ignore Missing File Error
    Ignore Missing Palette Error
    Increase Headgear ViewID to 5000
    Increase Zoom Out 50%
    Load ItemInfo.lua before lub
    Read Data Folder First
    Read msgstringtable.txt
    Read questid2display.txt
    Remove Gravity Ads
    Remove Gravity Logo
    Remove Hourly Annonce
    Remove Serial Display
    Restore Login Window
    Skip License Screen
    Translate Client In English
    Use Normal Guild Brackets
    Use Ragnarok Icon
    eXtract MsgStringTable.txt
    eXtract txt file strings

     

    If you have any problem or trouble kindly reply on this topic. I will do my best to help you.

    Credits: To all the contributors from Ragnarok Online Community.

    i try this but 2013-08-07ragexe not showing on my windows .. and no error nothing client.exe showing ..


  9. you recompiled Hercules after adding the server changes right?

    yes and i try 2 to rathena and its same i cant change job  

     

    	JOB_Goku = 4230,	case JOB_Goku:		return msg_txt(NULL,739);        MAPID_Goku = 0x11,	[PCJobTable.JT_Goku] 			=	"Goku",       and the other files

     

    14_zpsol0z8dzl.jpg

     

    I solve the problem of @job for 4230 but i give Rouge Class not my Custom Job ? What is wrong ?

     

    Help PLSS wont show the Sprite Of the Custom job!! 


  10. N.E.M.O. - Neo Exe Modification Organizer

     

    Why another client patcher? well

    1) WeeDiffGen - isn't working for 2013 clients + it depends on dlls (not that its a bad thing but i like scripting :P)

    2) xDiffGen - yes its scripted but we need to depend on xdiff files.

     

    so i made a new one based on xDiffGen and here it is. The patches are written in QtScript format.

    Details of making a patch have already been written in a seperate topic - although now it needs to be updated with more details.

    I have already converted most of the patches from xDiffGen.

     

    Why this name? - well I didn't want it to be called * Gen No offense :D 

    plus someone keeps calling me Nemo in IRC which gave me the idea :P

     

    Snapshot

    NEMO_2_0_Snapshot.png

     

    How to use?

    1) First you need to specify your client file in Input Exe file box. If you browse to select the file name, Output Patched box gets updated with a _patched suffix filename automatically. Ofcourse you can select your own name for the output.

     

    2) Next we need to load both the client and the scripts (patches & addons). so click Load Client button.

     

    3) Select the patches you want . In case you patched once before (for whatever date) they will be saved in your local and you can use the Select Previous button to select them again. Also you can try using the Select Rcomnded button to select all the Recommended patches.

     

    4) So your patches are selected and client is loaded what next but to Apply Patches  which will generate the output file. In 2.0 version , NEMO also generates a .secure.txt file containing the MD5, SHA1 and CRC32 values of the output exe file which you can use in various tools.

     

    5) You can use the Save Profile and  Load Profile buttons for saving/reloading a set of patches & input values, that you have selected (even if they are not applied) for future use.

     

    6) Whenever you apply patches to a client, NEMO updates the patchlist.log file (along with Inputlist.db) in the folder where NEMO.exe is. This file will contain the list of patches you have applied along with their IDs (do not tamper with either of them).

     

    Changes in 2.0:

    ----------------------

    1) I have made some obvious modifications to the interface (you can definitely see the change in case you have seen v1.0).

         i) Buttons have come downwards and is no longer strippable (toolbar has been fixed in position)

     

         ii) New status Label has been added which shows your currently loaded client date and how many patches are selected.

     

         iii) NEMO now has support for Addons - scripts that are meant to retrieve data from the client and do its own thing (not patch the client).

              All the Extract xDiff patches has been added here already. 1 extra addon will be coming soon once i can fix it.

     

         iv) New Filter box has been added which does live search (i.e. filter as you type) for filtering out only the patches u want to see.

               For e.g. if you type color, it will only show patches that have the string color in either it's name or the description.

              You can also use regular expression :). Also you can sort the columns now :D

     

        v) An upcoming feature - Test Patches. this one you can use for testing a newly added patch for a variety of clients that you select.

     

    2) NEMO is no longer there in SVN. I have shifted it to GitHub :D. The rar file uploaded has the .git file so you should be able to directly pull to get updates. But just in case I have also provided the repository link below.

     

    Remember to pull for updates before using NEMO and let me know if you are facing any bugs or issues or if i have missed out on anything. Enjoy ^_^.

     

    Repository: https://github.com/MStr3am/NEMO.git

     

    Download Link: NEMO zip file 

    sir 

    Neo

    Increase Custom Item Wont Work 32000  2012-04-10 client is that compatible on your Patch?


  11.  

    Introduction

         For our Example we will create the Custom Class "Shinobi" and its Child version i.e. "Baby Shinobi" along with their Cash Mounts/Halter Mounts. Each Job has 3 ID values :

     

    1) Job ID - we will use 4230 & 4231 respectively for the jobs (4232 & 4233 will be reserved for the mounts client side).
     
    2) Map ID - Also called EA Mask. If we are extending a class we OR the existing class with a modifier. Since Shinobi is going to be a seperate branch, we will use 0x11 for Shinobi and 0x11 | 0x2000 for Baby Shinobi (0x2000 is the JOBL_BABY mask).
     
    3) Msg ID - Defined in messages.conf file. We will use 700 and 701.
     

    Before we begin, A few points to note:

    1) For the client side i will be using my own patch from NEMO not Xray clients - So dont ask me about Xray.

     

    2) This guide is meant to be an overview towards adding jobs - meaning that your job will be enabled once you have done the changes     specified here . You can add further details on your own which depends on your Class.

     

    3) If i am missing out on anything please let me know. Nobody is perfect including me :)

     

    4) We will use Sprite and some data from Ninja class for the time being but you can add your own entries just as easily.

     

     

    Server Source
    1) src/common/mmo.h: look for JOB_REBELLION assignment and insert our Job IDs after it.
     

        attachicon.gifCJob_mmo_h.PNG

     

    2) src/map/map.h: look for MAPID_BABY_CHASER and insert our Map IDs after it.
     
     
    3) src/map/pc.c:
     
      i) find case JOB_BABY_CHASER: and insert our cases after it
     
      ii) find case MAPID_BABY_CHASER: and insert our cases after it
     
     
      iii) find case JOB_REBELLION: followed by return msg_txt(655); and insert our cases after it. (returns the Msg ID)
     
      iv) find { "Rebellion", JOB_REBELLION }, and insert our Job Names after it
     
     
    4) src/map/itemdb.c: Here we check the job masks that is specified in item_db.conf. There is one limitation, however.
        Currently there is only 1 more slot left in the job mask since it is 32 bit. In case you need to add more you will need to
        change the variable to 64 bit.
       
        Find jobmask & 1<<30 and insert our class check after it.
     
     
    5) src/char/inter.c: Find case JOB_REBELLION: and insert our case after it.(returns the Msg ID)
     
     
    Server Config
    1) db/const.txt:
       
      i) Find Job_Rebellion and insert our Job IDs after it
     
     
      ii) Find EAJ_BABY_CHASER and insert our Map IDs after it
     
       
    2) db/<pre-re|re>/exp.txt: Insert your IDs in one of the entries (or if you want to specify your own exp per level you can add that).
       Since our jobs are meant to be amongst First Class, we will simply add it into existing ones.
       
      i) Base:
      ii) Job:
    3) db/<pre-re|re>/job_db.conf: Add entry for your Job. We will copy the entry from Ninja with slight changes for now.
     
     
    4) db/job_db2.txt: Add entry for your Job. Again we will reuse the data from Ninja.
     
     
    5) conf/help.txt: Insert your class entries to the @go message
     
     
    6) conf/messages.conf: Add the Msg IDs after Shadow Chaser T
     
       
    7) db/<pre-re|re>/skill_tree.conf: Add entry for your Job similar to the others.
     
       -pic to be added-
     
     
    Client Lua Files
    Now to make the client support Custom Jobs it should be patched with "Enable Custom Jobs" patch in NEMO
    Also you should copy the lua files inside Support folder to different area so we can Add entries of our jobs. 
    (LuaFiles514/Lua Files/Admin folder inside is what we need essentially)
     
    1) PCIDs.lub :
     
      i) First we add all our Job IDs (look for JT_2004_JOB_LAST entry).
     
      ii) Next we connect the Cash Mount Job IDs to Main Job IDs (Look for JT_REBELLION mapping).
     
      iii) Lastly we need to add our Baby Class & its mount to the Baby_List (Look for JT_LION_CRUSADER_B).
     
       
    2) PCNames.lub: To illustrate that different names can be assigned based on gender, I am calling them as Shinobi M & Shinobi F for Male & Female respectively.
     
      i) First we add the Job Name for Male Characters (Look for Rebellion)
     
      ii) Next we make the Cash Mounts inherit Names from their respective Main Jobs - since Mounting don't change the name (Look for JT_PECO_REBELLION).
     
       
      iii) Last but not least we add the Job Name for Female characters - Only necessary if it differs from Male name (Look for JT_SORCERER_B).
     
       
    3) PCPaths.lub: Here we specify the job specific prefix used by the client to get the job sprite.
      i) First we add the Path prefix for Jobs that is not shared with any existing ones.
      ii) Next we make the Jobs that has shared path inherit from existing (for e.g. Baby Jobs inherit from Adult versions).
     
    4)PCHands.lub: Here we specify the job specific prefix used by the client to get the weapon and shield sprite locations
     
      i) Like before, First we add the Hand prefix for Jobs that is not shared with any existing ones.
     
      ii) Next we make the Jobs with shared prefix inherit from existing (e.g. Baby Jobs, Mounts, Baby Mounts etc. all can inherit from Adult versions).
     
    5)PCPals.lub: Here we specify the job specific prefix used by the client to get the Palette file location.
     
      i) Like before, First we add the Pal prefix for Jobs that is not shared with any existing ones.
     
      ii) Next we make the Jobs with shared prefix inherit from existing (e.g. Baby Jobs, Mounts, Baby Mounts etc. all can inherit from Adult versions).
     
     
    Note: You can also optionally add entries in PCImfs.lub file in case you have an Imf file, but I haven't seen any issues even without it. 
    Hence I am not pursuing it.
     
    Once the edits are done pack it into your grf or put it in your data folder and use it.
    With this much your job will be visible and able to do everything provided you have the sprite files in the right location.
     
    spriteÀΰ£Á·¸öÅë³²<pathprefix>_³².spr and act for Male Job 
    spriteÀΰ£Á·¸öÅë¿©<pathprefix>_¿©.spr and act for Female Job
     
    Snapshot: (to be added)

    i use this Guide but  When i  use @changejob or @job i can't Change to my custom job always say  

    yOU are unable to cHANGE YOUr job @job 4230>? @job Failed @changejob Failed!

  12. Check "Enable Custom Job" in your Diff.

    Add this files: https://github.com/MStr3am/NEMO/tree/master/Support/Luafiles514/Lua%20Files/Admin in Luafiles514/Lua Files/Admin/

     

    So read this Guide and do step to step.

    http://herc.ws/board/topic/9273-guide-how-to-add-custom-jobs/

     

    An Example:

     

    1 of 4 of my Custom Jobs:

    screenHercules016.jpg

     

    PS: Death Knight is already in Official Ro, I edited this as I wanted, as well the Sprite.

    i ADD that files Already but My Custom Job Are not working T_T not event  a sprite  I did all the problem  Well I will all over again for all the files i use! i will post here again if  i solve it or not thank you both of you #

    Easycore Dastgir

     

     

    Check "Enable Custom Job" in your Diff.

    Add this files: https://github.com/MStr3am/NEMO/tree/master/Support/Luafiles514/Lua%20Files/Admin in Luafiles514/Lua Files/Admin/

     

    So read this Guide and do step to step.

    http://herc.ws/board/topic/9273-guide-how-to-add-custom-jobs/

     

    An Example:

     

    1 of 4 of my Custom Jobs:

    screenHercules016.jpg

     

    PS: Death Knight is already in Official Ro, I edited this as I wanted, as well the Sprite.

    i ADD that files Already but My Custom Job Are not working T_T not event  a sprite  I did all the problem  Well I will all over again for all the files i use! i will post here again if  i solve it or not thank you both of you #

    Easycore Dastgir

    GOT A PROBLEM HAHAH IT WONT CHANGE  my Class @job 4230 ? you can't change a job


  13. HOW CAN I HEX MY CUSTOM JOB ON MY CLIENT.exe  LIKE OTHER SERVER OR HOW TO ADD JOB ON CLIENT.EXE 

     

    Example 00 00 00 00 00 00 00 00 73 69 74 68 28 BF A9 29 ........Custom(¿©)00 00 00 00 00 00 00 00 73 69 74 68 28 B3 B2 29 ........Custom(³²)HERE MY EXAMPLE HEX CODE PLSS HELP ME 

     

    THANK YOU FOR THE REPLY AND MORE POWER

     

    When i add those hex my client.exe are color white and blank image T_T plss 


  14. I've just made up a solution.

    open src/map/status.c

     

    find:

     

    // Applies even if the target hides
    if ((skill->get_ele(skill_id,1) == ELE_EARTH && skill_id != MG_STONECURSE) // Ground type
     || (flag&1 && skill->get_nk(skill_id)&NK_NO_DAMAGE && skill_id != ALL_RESURRECTION )) // Buff/debuff skills started before hiding
    hide_flag &= ~OPTION_HIDE;

     

    Then just add this " && skill_id !=  MO_ABSORBSPIRITS "

     

    It would be look like this:

     

    if ((skill->get_ele(skill_id,1) == ELE_EARTH && skill_id != MG_STONECURSE) // Ground type
     || (flag&1 && skill->get_nk(skill_id)&NK_NO_DAMAGE && skill_id != ALL_RESURRECTION && skill_id !=  MO_ABSORBSPIRITS )) // Buff/debuff skills started before hiding
    hide_flag &= ~OPTION_HIDE;

     

     

    tested it ^_^

     

    Sorry i dont know how to use box code

    NICE !


  15.  

     

    How can I disable Absorb Spirit effect when the opponents already hide.

    Do you mean by this example?

     

    - You cast "Absorb Spirit" on the enemy but in mid casting, the enemy hides and his spheres still get absorbed? You want it so that the hiding cancels the absorb cast/or doesn't absorb when in hiding?

    yes it is.

    	case MO_ABSORBSPIRITS:		i = 0;		if (dstsd && dstsd->spiritball && (sd == dstsd || map_flag_vs(src->m) || (sd && sd->state.pvpmode && dstsd->state.pvpmode)) && ((dstsd->class_&MAPID_BASEMASK) != MAPID_GUNSLINGER || (dstsd->class_&MAPID_UPPERMASK) != MAPID_REBELLION || (dstsd->class_&MAPID_UPPERMASK) != MAPID_THIEF || (dstsd->class_&MAPID_UPPERMASK) != MAPID_ASSASSIN))		{	// split the if for readability, and included gunslingers in the check so that their coins cannot be removed [Reddozen]			i = dstsd->spiritball * 7;			pc_delspiritball(dstsd,dstsd->spiritball,0);		} else if (dstmd && !(tstatus->mode&MD_BOSS) && rnd() % 100 < 20)		{	// check if target is a monster and not a Boss, for the 20% chance to absorb 2 SP per monster's level [Reddozen]			i = 2 * dstmd->level;			mob_target(dstmd,src,0);		}		if (i) status_heal(src, 0, i, 3);		clif_skill_nodamage(src,bl,skill_id,skill_lv,i?1:0);		break;

    HERE TRY IT!

×
×
  • Create New...

Important Information

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