Jump to content

Normynator

Developer
  • Posts

    292
  • Joined

  • Days Won

    16

Posts posted by Normynator

  1. 59 minutes ago, Mahiro said:

    Go to this directory:

    src/map/status.cpp

    Search for;

    
    // Status that are blocked by Golden Thief Bug card or Wand of Hermod
    	if (status_isimmune(bl)) {
    		switch (type) {
    			case SC_DECREASEAGI:
    			case SC_SILENCE:
    			case SC_COMA:
    			case SC_INCREASEAGI:
    			case SC_BLESSING:
    			case SC_SLOWPOISON:
    			case SC_IMPOSITIO:
    			case SC_AETERNA:
    			case SC_SUFFRAGIUM:
    			case SC_BENEDICTIO:
    			case SC_PROVIDENCE:
    			case SC_KYRIE:
    			case SC_ASSUMPTIO:
    			case SC_ANGELUS:
    			case SC_MAGNIFICAT:
    			case SC_GLORIA:
    			case SC_WINDWALK:
    			case SC_MAGICROD:
    			case SC_HALLUCINATION:
    			case SC_STONE:
    			case SC_QUAGMIRE:
    			case SC_SUITON:
    			case SC_SWINGDANCE:
    			case SC_FIRE_INSIGNIA:
    			case SC_WATER_INSIGNIA:
    			case SC_WIND_INSIGNIA:
    			case SC_EARTH_INSIGNIA:
    				return 0;
    		}
    	}

    Example:

    Let's say you want "Bypass" in COMA, even GTB, COMA is still effective. Just remove it and stay;

    
    // Status that are blocked by Golden Thief Bug card or Wand of Hermod
    	if (status_isimmune(bl)) {
    		switch (type) {
    			case SC_DECREASEAGI:
    			case SC_SILENCE:
    			case SC_INCREASEAGI:
    			case SC_BLESSING:
    			case SC_SLOWPOISON:
    			case SC_IMPOSITIO:
    			case SC_AETERNA:
    			case SC_SUFFRAGIUM:
    			case SC_BENEDICTIO:
    			case SC_PROVIDENCE:
    			case SC_KYRIE:
    			case SC_ASSUMPTIO:
    			case SC_ANGELUS:
    			case SC_MAGNIFICAT:
    			case SC_GLORIA:
    			case SC_WINDWALK:
    			case SC_MAGICROD:
    			case SC_HALLUCINATION:
    			case SC_STONE:
    			case SC_QUAGMIRE:
    			case SC_SUITON:
    			case SC_SWINGDANCE:
    			case SC_FIRE_INSIGNIA:
    			case SC_WATER_INSIGNIA:
    			case SC_WIND_INSIGNIA:
    			case SC_EARTH_INSIGNIA:
    				return 0;
    		}
    	}

    Then just compile the emulator. You will notice that now with the COMA modification will apply its effect even being with GTB equipped.

    Maybe i got something wrong, but since heal is no SC it shouldnt work that way. Its not even in the first list.

    I think you have to change:

    skill.cpp at line 6262 (least recent commit)

    case AL_HEAL:
    	case AB_HIGHNESSHEAL:
    		{
    			int heal = skill_calc_heal(src, bl, skill_id, skill_lv, true);
    			int heal_get_jobexp;
    
    			if (status_isimmune(bl) || (dstmd && (status_get_class(bl) == MOBID_EMPERIUM || status_get_class_(bl) == CLASS_BATTLEFIELD)))
    				heal = 0;

    To:

    case AL_HEAL:
    	case AB_HIGHNESSHEAL:
    		{
    			int heal = skill_calc_heal(src, bl, skill_id, skill_lv, true);
    			int heal_get_jobexp;
    
    			if ((dstmd && (status_get_class(bl) == MOBID_EMPERIUM || status_get_class_(bl) == CLASS_BATTLEFIELD)))
    				heal = 0;

    I did not test it but maybe it helps if the solution by Mahiro did not work.

    • Upvote 2
    • Like 1
  2. I would suggest that you get more knowledge about scripting. 
    Here is a basic guide about scripting: Click me!
    and here are the docs, there you can find documentation about every script command: Click me, i am cooler!

    But here comes the problem, the basic guide and also probably most guides just teach you the syntax but not „How to code“.
    Most languages have the typical things like „if“, „for-loop“, „while-loop“ and „functions“ and you have to learn how all that works.
    If you already know a programming language then you probably know about all these things and learn to write rA-scripts is just about learning the syntax.
    My suggestion would be to try to acutal learn a programming language (via youtube tutorial or whatever) to get a basic understanding of how coding works and then go and learn rA-scripting syntax.

    When I started I didn‘t have clue either. Lucky me, I learned some Java at school. With my basic knowledge of the typical things I took a NPC and tried to understand how it works and later change it, that way I learned more and more about the syntax of rA-Scripts but most of the knowledge I got until now is from learning programming „concepts“ in school & university. 

    Hoped this helped a least a little.

  3. In function „Job_Menu“ you can add:

    if ((.@class == Job_Novice_High) && ((Zeny < 2000000) || (countitem(1337421337) < 1))) {
    	mes "You do not have enough zeny or missing the required item!";
        return;
    }




    To get the item after rebirth do:

    if (.@to_cls == Job_Novice_High) {
    	resetlvl(1);
        getitem 40030, 1;
    }

     

  4. If you did not edit „new_account“ in /conf/login_athena.conf then you can create an account with _M/_F.
    For example:
    normynator_m

    Then you can login with the username without the _M/_F
    For example:
    normynator

     

     

×
×
  • Create New...