Jump to content

Shade

Members
  • Posts

    123
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Shade

  1.  

    status.c

    find:

    /* Other SC which are not necessarily associated to skills */
    

    add above

     

    	StatusIconChangeTable[SC_STONE] = SI_STONE;
    	StatusIconChangeTable[SC_FREEZE] = SI_FREEZE;
    	StatusIconChangeTable[SC_STUN] = SI_STUN;
    	StatusIconChangeTable[SC_SLEEP] = SI_SLEEP;
    	StatusIconChangeTable[SC_POISON] = SI_POISON;
    	StatusIconChangeTable[SC_CURSE] = SI_CURSE;
    	StatusIconChangeTable[SC_SILENCE] = SI_SILENCE;
    	StatusIconChangeTable[SC_CONFUSION] = SI_CONFUSION;
    	StatusIconChangeTable[SC_BLIND] = SI_BLIND;
    	StatusIconChangeTable[SC_DPOISON] = SI_DPOISON;
    

    It is not necessary to do this. It will still work without it.

  2. Hi!

     

    I have this custom status called SC_PERFECTAIM that reduces casting time on Falcon Assault ONLY by 100%. I tried adding in skill.c the following (in between the ---Shade--- lines) but it didn't work:

     

    int skill_vfcastfix (struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv)
    {
    struct status_change *sc = status_get_sc(bl);
    struct map_session_data *sd = BL_CAST(BL_PC,bl);
    int fixed = skill_get_fixed_cast(skill_id, skill_lv), fixcast_r = 0, varcast_r = 0, i = 0;
    
    
    if( time < 0 )
    return 0;
    
    
    if( bl->type == BL_MOB )
    return (int)time;
    
    
    if( fixed == 0 ){
    fixed = (int)time * 20 / 100; // fixed time
    time = time * 80 / 100; // variable time
    }else if( fixed < 0 ) // no fixed cast time
    fixed = 0;
    
    //---------------------------------------Shade-----------------------------------------------------------------------------
    if (sc->data[SC_PERFECTAIM]) {
    VARCAST_REDUCTION(100);
    status_change_end(bl, SC_PERFECTAIM, INVALID_TIMER);
    }
    //---------------------------------------Shade-----------------------------------------------------------------------------
    
    if(sd  && !(skill_get_castnodex(skill_id, skill_lv)&4) ){ // Increases/Decreases fixed/variable cast time of a skill by item/card bonuses.
    if( sd->bonus.varcastrate < 0 )
    VARCAST_REDUCTION(sd->bonus.varcastrate);
    if( sd->bonus.add_varcast != 0 ) // bonus bVariableCast
    time += sd->bonus.add_varcast;
    if( sd->bonus.add_fixcast != 0 ) // bonus bFixedCast
    fixed += sd->bonus.add_fixcast;
    for (i = 0; i < ARRAYLENGTH(sd->skillfixcast) && sd->skillfixcast[i].id; i++)
    if (sd->skillfixcast[i].id == skill_id){ // bonus2 bSkillFixedCast
    fixed += sd->skillfixcast[i].val;
    break;
    }
    for( i = 0; i < ARRAYLENGTH(sd->skillvarcast) && sd->skillvarcast[i].id; i++ )
    if( sd->skillvarcast[i].id == skill_id ){ // bonus2 bSkillVariableCast
    time += sd->skillvarcast[i].val;
    break;
    }
    for( i = 0; i < ARRAYLENGTH(sd->skillcast) && sd->skillcast[i].id; i++ )
    if( sd->skillcast[i].id == skill_id ){ // bonus2 bVariableCastrate
    VARCAST_REDUCTION(sd->skillcast[i].val);
    break;
    }
    for( i = 0; i < ARRAYLENGTH(sd->skillfixcastrate) && sd->skillfixcastrate[i].id; i++ )
    if( sd->skillfixcastrate[i].id == skill_id ){ // bonus2 bFixedCastrate
    fixcast_r = sd->skillfixcastrate[i].val; // just speculation
    break;
    }
    }
    
    
    if (sc && sc->count && !(skill_get_castnodex(skill_id, skill_lv)&2) ) {
    // All variable cast additive bonuses must come first
    if (sc->data[SC_SLOWCAST])
    VARCAST_REDUCTION(-sc->data[SC_SLOWCAST]->val2);
    if( sc->data[SC__LAZINESS] )
    VARCAST_REDUCTION(-sc->data[SC__LAZINESS]->val2);
    
    
    // Variable cast reduction bonuses
    if (sc->data[SC_SUFFRAGIUM]) {
    VARCAST_REDUCTION(sc->data[SC_SUFFRAGIUM]->val2);
    status_change_end(bl, SC_SUFFRAGIUM, INVALID_TIMER);
    }
    if (sc->data[SC_MEMORIZE]) {
    VARCAST_REDUCTION(50);
    if ((--sc->data[SC_MEMORIZE]->val2) <= 0)
    status_change_end(bl, SC_MEMORIZE, INVALID_TIMER);
    }
    if (sc->data[SC_POEMBRAGI])
    VARCAST_REDUCTION(sc->data[SC_POEMBRAGI]->val2);
    if (sc->data[SC_IZAYOI])
    VARCAST_REDUCTION(50);
    if (sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 3 && (skill_get_ele(skill_id, skill_lv) == ELE_WATER))
    VARCAST_REDUCTION(30); //Reduces 30% Variable Cast Time of Water spells.
    if( sc->data[SC_TELEKINESIS_INTENSE] )
    VARCAST_REDUCTION(sc->data[SC_TELEKINESIS_INTENSE]->val2);
    // Fixed cast reduction bonuses
    if( sc->data[SC_SECRAMENT] )
    fixcast_r = max(fixcast_r, sc->data[SC_SECRAMENT]->val2);
    if( sd && ( skill_lv = pc_checkskill(sd, WL_RADIUS) ) && skill_id >= WL_WHITEIMPRISON && skill_id <= WL_FREEZE_SP  )
    fixcast_r = max(fixcast_r, 5 + skill_lv * 5);
    // Fixed cast non percentage bonuses
    if( sc->data[SC_MANDRAGORA] )
    fixed += sc->data[SC_MANDRAGORA]->val1 * 1000 / 2;
    if( sc->data[SC_GUST_OPTION] || sc->data[SC_BLAST_OPTION] || sc->data[SC_WILD_STORM_OPTION] )
    fixed -= 1000;
    if (sc->data[SC_DANCEWITHWUG])
    fixed -= fixed * sc->data[SC_DANCEWITHWUG]->val4 / 100;
    if( sc->data[SC_HEAT_BARREL] )
    fixcast_r = max(fixcast_r, sc->data[SC_HEAT_BARREL]->val2);
    if (sc->data[SC_IZAYOI])
    fixed = 0;
    }
    
    
    if( sd && !(skill_get_castnodex(skill_id, skill_lv)&4) ){
    VARCAST_REDUCTION( max(sd->bonus.varcastrate, 0) + max(i, 0) );
    fixcast_r = max(fixcast_r, sd->bonus.fixcastrate) + min(sd->bonus.fixcastrate,0);
    }
    
    
    if( varcast_r < 0 ) // now compute overall factors
    time = time * (1 - (float)varcast_r / 100);
    if( !(skill_get_castnodex(skill_id, skill_lv)&1) )// reduction from status point
    time = (1 - sqrt( ((float)(status_get_dex(bl)*2 + status_get_int(bl)) / battle_config.vcast_stat_scale) )) * time;
    // underflow checking/capping
    time = max(time, 0) + (1 - (float)min(fixcast_r, 100) / 100) * max(fixed,0);
    
    
    return (int)time;
    }
    #endif

    How do I set it so that it would specifically remove cast time on ONE SKILL ONLY without affecting others?

     

    Thanks in advance,

    Shade

  3.  

    i already follow all ur step

    but it seem the icon not show up

    bcn03hgsiy.png

     

    just as Shade said, change everything UNDEAD to CHANGEUNDEAD, also on cons.txt also on .tga files and also on all lua/lub files and it should work o: i had the same problem of you

     

    are you getting any errors when you open your client or something?

     

    Shade ty awsm guide i luv it and it's working >:3!!

     

    Thanks for the confimation and I'm glad you like it.

  4. yes you should be able, are you talking about the option part?

    Just to be clear, if you use Stone Curse VISUAL effect, you won't be immobile right? Since you're only taking the visual effects.

  5. Hey guys,

     

    I've made a HEAVILY customized server (especially in the skill) and it is really close to completion (will be open for closed beta soon-ish).

     

    I wanted to introduce the server to rA.

    Unfortunately, since I made major change on the EXP table instead of the rates (still x1 for all), I don't know what category of server does it belongs.

    It is not that hard to level up but then again, it is not easy either.

     

    Most of the heavy modification is done on existing skills and so far there are no custom skills added.

    I don't know if I should put it under projects.

     

    Let me know what you think.

     

    Thanks,

    Shade

  6. Well this is odd, what do you have with :

    ls -la config.log

     

    Hey Lighta,

    ls: cannot access config.log: No such file or directory

    I tried adding in config.log from my old revision (before I updated it to the latest) and give the server permission and it still didn't work.

  7. Hi,

     

    I have a problem while compiling:

     

    ./configure: line 1815: config.log: Permission denied
    ./configure: line 1825: config.log: Permission denied

    I am using root permission and my configure run without any problems or error.

     

    Thanks,

    Shade

     

    I can compile manually, just now on the host for some reason. Should not be related to any rA changes.

  8. Hi,

     

    I'm planning to copy the effect of Assumptio on my custom status. But I couldn't make the visual effect stay. Is there anyway to make it stay when my status effect is on and goes away when its off?

     

    Right now I'm using this on my SC_CUSTOMSTATUS:

    clif_specialeffect(&sd->bl,375,AREA);

     

    Looking forward to your reply. 

     

    Thanks,

    Shade

  9.  

    Read this

     

     

    ========================
    | 5. AutoSpell Bonuses |
    ========================
    NOTES:
      - For all AutoSpell bonuses, target must be within the spell's range to go off.
      - By default, AutoSpell skills are casted on target unless it is a self or support skill (inf = 4/16).
     
    bonus3 bAutoSpell,sk,y,n;       Adds a n/10% chance to cast skill sk of level y when attacking
    bonus3 bAutoSpellWhenHit,sk,y,n; Adds a n/10% chance to cast skill sk of level y when being hit by a direct attack
     
    bonus4 bAutoSpell,sk,y,n,i;           Adds a n/10% chance to cast skill sk of level y when attacking
    bonus5 bAutoSpell,sk,y,n,bf,i;       Adds a n/10% chance to cast skill sk of level y when attacking with trigger criteria bf
    bonus4 bAutoSpellWhenHit,sk,y,n,i;   Adds a n/10% chance to cast skill sk of level y when being hit by a direct attack
    bonus5 bAutoSpellWhenHit,sk,y,n,bf,i; Adds a n/10% chance to cast skill sk of level y when being hit by a direct attack with trigger criteria bf
                                            i provides additional options (bitfield):
                                              &0 = cast on self
                                              &1 = cast on enemy
                                              &2 = use random skill level in [1..y]
                                              &3 = 1+2 (random level on enemy)
     
    bonus4 bAutoSpellOnSkill,sk,x,y,n;   Adds a n/10% chance to autospell skill x at level y when using skill sk
    bonus5 bAutoSpellOnSkill,sk,x,y,n,i; Adds a n/10% chance to autospell skill x at level y when using skill sk
                                        i provides additional options (bitfield):
                                         &1 = forces the skill to be casted on self, rather than on the target of skill sk
                                         &2 = random skill level in [1..y] is chosen

     

    I meant the Sage's Autocast not the item script autospell. Sorry for not being clear.

  10. Hi,

     

    Does anyone know how to change/add trigger on autospell skill (not itemscript but the skill that sages have)? I'm trying to make it trigger when you're attacked by enemy (both melee and ranged physical damage). But I'm not sure where to start.

     

    Thanks,

    Shade

  11. Hi,

     

    Is there a way to force players to capitalize the first letter of their name and the rest would be lowercase.

     

    For example:

    Good names:

    Shade

    Rathena

    Forum

     

    Bad names (not allowed to use):

    ShadE

    rAthena

    FoRuM

     

    Since I only allow "abcdefghijklmnopqrstuvwxyz", I would prefer if the server would automatically make the first letter to be uppercase the rest is lowercase.

     

    Thanks,

    Shade

  12. SI_ like a bundle from client

    when you execute for example SI_BANDING, it will give you banding icon and banding effect

    Hey Kichi, I don't get it. Since not all statuses have "SI_" how are they defined?

    How does the client know to put in that status effect visuals on the character?

    I wanted to use the Stone Curse visual effects (character turn black) on my custom status but there are no such thing as SI_STONECURSE.

    How do I put in the effect?

  13.  

    I'm using Hercules. i guess it's not compatible at the moment  :D

     

    I have zero knowledge on Hercules, but based on the error, it is just stating that there are no such thing as bleeding status. What you can do is to delete any lines that are related to bleeding. See if this works for you.

     

    error sir im used svn 17072

    Do you mind posting the error message?

    • Upvote 1
×
×
  • Create New...