Jump to content

Zirius

Members
  • Content Count

    261
  • Joined

  • Last visited

Posts posted by Zirius


  1. With the change you put, you have added a cooldown of 1 second and not reduced by ASPD.

     

    sorry, just to confirm. So I added 1 sec additional cooldown aside from ASPD? so its 1 sec + ASPD now?


  2.  

    SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time

     

    In Renewal:

    CastingTime:

    • The time it takes to load a skill before being released.
    • It can be affected by status, skills, equipment and sc.
    • At renewal time minimum casting is 20% of the time, unless something espeficiques "Fixed Casting Time".

    AfterCastActDelay:

    • It is a delay that is applied AFTER the skills to been used.
    • While this delay is active, any skill can be used.
    • Normally it is not affected by status.
    • Certain skills, sc and equipment can reduce AfterCastActDelay.
    • When AfterCastActDelay equals 0, the reuse time of a skill depends on your ASPD.

    Cool Down

    • It is a delay that is applied AFTER the skills to been used.
    • Only affects a specific skill. while this skill have cooldown can not be used, but you can use any other skill.
    • No Status affects the cooldown.
    • Skills, equipment and SC may affect the cooldown.

    Fixed Casting Time

    • Special condition for skill with cast time.
    • when 0, the minimum cast time is equal to 20% of the total cast.
    • When it is less than 0, no minimum cast time.
    • Any other positive number is a minimum time for casting specific skill.

     

    sorry, i have a question. so based on this interpretation.

     

    Say, I want to put a fixed cool down on skill say, 1 sec at Archer Double Strafe.

    So, skill_cast_db.txt

     

    //-- AC_DOUBLE
    46,0,100,0,100,0,0,0
    

    becomes

    //-- AC_DOUBLE
    46,0,100,0,100,0,1000,0
    

     

    Correct me if I'm wrong, if hercules follows official behavior too, double strafe cool down is completely based on ASPD..

    So with the change I made above, the final cool down of Double Strafe would be:

    1 sec + ASPD

    (1) is this correct and my emulator will behave the same?

     

    (2) So, some skills' cooldown are ASPD based, are we assured that modification at "skill_cast_db.txt" skill Cooldown adds up to the cooldown calculated by the source file? and not completely overrides it?

     

    thanks!

     

    P.S. i am curious, because iRO did some custom changes on some skills like Double Strafe and Bowling Bash, they added 0.3 sec of cast delay to it. So its formula became

    0.3 sec + ASPD ( http://irowiki.org/wiki/Servers#Skills )

    just wondering if Herc is flexible at handling these modification.

     


  3. first, at renewal environment

     

    db\re\level_penalty.txt

    1,12,2,0
    1,12,-2,0

    meaning 3 level difference, monster won't give any form of experience

     

    src\map\pc.c

     

    int pc_level_penalty_mod(int diff, unsigned char race, uint32 mode, int type)
    {
    #if defined(RENEWAL_DROP) || defined(RENEWAL_EXP)
    	int rate = 100, i;
    
    	if( diff < 0 )
    		diff = MAX_LEVEL + ( ~diff + 1 );
    
    	for (i = RC_FORMLESS; i < RC_MAX; i++) {
    		int tmp;
    
    		if (race != i) {
    			if (mode&MD_BOSS && i < RC_BOSS)
    				i = RC_BOSS;
    			else if (i <= RC_BOSS)
    				continue;
    		}
    
    		if ((tmp=pc->level_penalty[type][i][diff]) > 0) {
    			rate = tmp;
    			break;
    		}
                    // Allow rate = 0
                    if ((tmp=pc->level_penalty[type][i][diff]) == 0) {
                        rate = 0;
                        break;
                    }
    	}
    
    	return rate;
    #else
    	return 100;
    #endif
    }
    

    allow looping for pc->level_penalty[type][diff]) == 0, then assign rate = 0

     

    src\map\mob.c

     

    #ifdef RENEWAL_EXP
    					int rate = pc->level_penalty_mod(md->level - (tmpsd[i])->status.base_level, md->status.race, md->status.mode, 1);
    					base_exp = (unsigned int)cap_value(base_exp * rate / 100, 0, UINT_MAX);
    					job_exp = (unsigned int)cap_value(job_exp * rate / 100, 0, UINT_MAX);
    #endif
    

    cap_value(a, min, UINT_MAX), where min was changed to 0 from 1, allow min to be 0. if zero base_exp and job_exp both 0.

     

    But still:

     

    monster is giving 1 exp


    IN3n6pk.png

     

    Is there other place where this is hardcoded?

     

    Thanks!


  4. I'd been lurking Hercules for sometime now, and got some free time I want to use in anyway to help the community. I am interested in making Hercules emulate the official RO behavior, specifically pre Renewal, but I need to clear some things up. As far as I know, hercules shadows the Aegis emulator, the emulator that official servers uses. So, which servers official/Aegis that are still running, I can play/bot with?

    My current candidate is iRO classic Loki server. If I try to make accounts there, are those usable to gather info for official preRE hercules needs?

     

    Thanks!


  5. rAthena has option to change whether you want to delete via email/birthdate via "char_del_option"

     

    // Restrict character deletion by email address or birthdate.
    // This restricts players from changing the langtype and deleting characters.
    // For birthdate, the client must be 20100803 or newer.
    // 1: Email address
    // 2: Birthdate (default)
    // 3: Email address or Birthdate
    

    Does hercules have option for this?

     

    I am thinking I can hex the new client 2014+ to say instead of birthdate to email address..

    but on client side, i don't know where can i make the character deletion to check the email address field instead of birthdate?

     

    thanks!


  6. classic Pnuema blocks Arrow Repel damage, but the knock back effect will still occur.

    Then, after Trans was released, they nerfed Pnuema by also nullifying the knockback effect.

    Since, Herc only classify 2 major Ragnarok version, Pre-Re and Renewal, the Classic feature was ignored.

     

    So at least, I suggest that there's a conf option where if Pre-RE is enabled, another option:

     

    PnuemaClassicEffect = on //Pnuema does not nullify Arrow Repel knockback

     

    I actually reported this to old Bug Tracker, but it seems I was misunderstood there, I did put a reliable source both from iroWiki-classic and the fix made by Rathena. I don't want to bump it anymore since Herc is moving to another new Bug tracker system.

     

    http://herc.ws/board/tracker/issue-8490-pnuema-blocks-arrow-repel/

     

    Pneuma cannot be cast if it is targeted to overlap an already existing Pneuma area, Magnetic Earth, or a Safety Wall. It can also be used to prevent a Safety Wall from being created on the target area. Note that only damage is blocked by Pneuma; other effects like Stun and knockback will retain their abilities. It is therefore possible to use Arrow Repel to knock a player out of a Pneuma and into harm's way. http://irowiki.org/classic/Pneuma



     


  7. Hello! I am just wondering, where do you host your server?

     

    I tried almost all host the Paid Section offers, but none of them can really host a growing server.

    Even the biggest 20GBps DDOS protection some host offers does not work anymore

     

    Which tells me, I must get my own dedicated server... then get a DDOS protection.

    The problem is where?

     

    For every server owner there, can somebody refer me to any decent Asian Optimized Network servers? I am willing to be your referral, I just need to find a decent host for my Asian players. LOL.

     

    Thanks in advance!


  8. hello, I am currently using the snippet:

    switch(select(gettime(6),(gettime(6)+1),(gettime(6)+2))){	case 1:		.@month = gettime(6);		break;	case 2:		.@month = (gettime(6)+1);		break;	case 3:		.@month = (gettime(6)+2);		break;}

    As you can see, I am using function that returns an integer inside a select() function, it works great, except that console keeps showing debug at console because ofc select requires string

     

    [Warning]: Unexpected type for argument 1. Expected string.
    [Debug]: Data: number value=2
    [Debug]: Function: select

    is there a way I can convert those gettime() into a string so I can use it inside select() function without showing debug errors?

     

    Thank you!


  9.  

    Hello! I have a host which is using a shared SQL (it works great, saves resources), the problem is, the SQL is installed on a server with a different timezone with my VPS. Now, all my logs time are recorded with different time, it is pretty hard for me to use the logs with this...

     

    Any workaround?

     

    Thanks in advance!

    try:

    MySQL: SET time_zone='-03:00';"-03:00" - timezone u need. 

     

    if no what os at your vps?

     

    Oh, so that's how it should works?

    I'll try this tomorrow on my server's maintenance.

     

    Should I only query this on LOG database or also on main sql tables?

     

    Thanks!

×
×
  • Create New...

Important Information

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