Jump to content

Shade

Members
  • Posts

    123
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Shade

  1. Help I'm using your code it didn't work.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Just kidding  /meh .

    Since the characters are going to be stuck there forever, isn't that the same as deleting the character? Or will someone come to save you?

    I don't know what to say to this project since I don't know what is the main reason you put their character in there in the first place.

    I bet there's something you've come up with that you haven't share with us.

  2. If you want to change it for skill damage, go to battle.c look for:

    			if( sc->data[SC_EDP] ){
    				switch(skill_id){
    					case AS_SPLASHER:
    			// Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP
    			// Renewal only: Grimtooth and Venom Knife ignore EDP
    			// Both: Venom Splasher ignores EDP [helvetica]
    #ifndef RENEWAL
    					case ASC_BREAKER:       case ASC_METEORASSAULT:
    #else
    					case AS_GRIMTOOTH:	case AS_VENOMKNIFE:
    #endif
    						break; // skills above have no effect with edp
    
    #ifdef RENEWAL
    					// renewal EDP mode requires renewal enabled as well
    					// Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica]
    					// * Sonic Blow
    					// * Soul Breaker
    					// * Counter Slash
    					// * Cross Impact
    					case AS_SONICBLOW:
    					case ASC_BREAKER:
    					case GC_COUNTERSLASH:
    					case GC_CROSSIMPACT:
    						ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50);
    						ATK_RATE(wd.equipAtk, wd.equipAtk2, 50);
    					default: // fall through to apply EDP bonuses
    						// Renewal EDP formula [helvetica]
    						// weapon atk * (1 + (edp level * .8))
    						// equip atk * (1 + (edp level * .6))
    						ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 100 + (sc->data[SC_EDP]->val1 * 80));
    						ATK_RATE(wd.equipAtk, wd.equipAtk2, 100 + (sc->data[SC_EDP]->val1 * 60));
    						break;
    #else
    					default:
    						ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_EDP]->val3);
    
    #endif
    				}
    			} 

     

    change to

    			if( sc->data[SC_EDP] ){
    				switch(skill_id){
    					case AS_SPLASHER:
    			// Pre-Renewal only: Soul Breaker and Meteor Assault ignores EDP
    			// Renewal only: Grimtooth and Venom Knife ignore EDP
    			// Both: Venom Splasher ignores EDP [helvetica]
    #ifndef RENEWAL
    					case ASC_BREAKER:       case ASC_METEORASSAULT:
    #else
    					case AS_GRIMTOOTH:	case AS_VENOMKNIFE:
    #endif
    						break; // skills above have no effect with edp
    
    #ifdef RENEWAL
    					// renewal EDP mode requires renewal enabled as well
    					// Renewal EDP: damage gets a half modifier on top of EDP bonus for skills [helvetica]
    					// * Sonic Blow
    					// * Soul Breaker
    					// * Counter Slash
    					// * Cross Impact
    					case AS_SONICBLOW:
    					case ASC_BREAKER:
    					case GC_COUNTERSLASH:
    					case GC_CROSSIMPACT:
    						ATK_RATE(wd.weaponAtk, wd.weaponAtk2, 50/2);
    						ATK_RATE(wd.equipAtk, wd.equipAtk2, 50/2);
    					default: // fall through to apply EDP bonuses
    						// Renewal EDP formula [helvetica]
    						// weapon atk * (1 + (edp level * .8))
    						// equip atk * (1 + (edp level * .6))
    						ATK_RATE(wd.weaponAtk, wd.weaponAtk2, (100 + (sc->data[SC_EDP]->val1 * 80))/2);
    						ATK_RATE(wd.equipAtk, wd.equipAtk2, (100 + (sc->data[SC_EDP]->val1 * 60))/2);
    						break;
    #else
    					default:
    						ATK_ADDRATE(wd.damage, wd.damage2, (sc->data[SC_EDP]->val3)/2);
    
    #endif
    				}
    			}
    

    Re-compile.

     

    ______________________________________________________________________________________

     

     

    If you want to change EDP status in general go to status.c, look for:

    case SC_EDP:
    			val2 = val1 + 2; // Chance to Poison enemies.
    #ifndef RENEWAL
    			val3 = 50*(val1+1); // Damage increase (+50 +50*lv%)
    #endif
    			if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds
    				tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000;
    			break; 

    change to

    case SC_EDP:
    			val2 = val1 + 2; // Chance to Poison enemies.
    #ifndef RENEWAL
    			val3 = (50*(val1+1))/2; // Damage increase (+50 +50*lv%)
    #endif
    			if( sd )// [Ind] - iROwiki says each level increases its duration by 3 seconds
    				tick += pc_checkskill(sd,GC_RESEARCHNEWPOISON)*3000;
    			break; 

    Re-compile.

     

    Let me know if it works.

     

    Cheers,

    Shade

    • Upvote 1
  3. Hi,

     

    I'm thinking of implementing a queue system where any number party leaders with specific number of members can queue up for a dungeon/instance. Since the dungeon is limited to 2 parties at any one time, the other parties have to wait until they are done with the dungeon.

     

    How to get into a queue:

    1. Get about 10 members (including the leader) in one party

    2. Get your party leader to use the NPC to queue up

     

    Things that will automatically drop you from the queue (this is the main thing I'm looking to learn how to make):

    1. Changes in party member count (if a member leaves or joins party)

    2. If any party member goes offline

     

     

    Does anyone know a script that I can refer to on this? or can someone help with this please?

     

    Thanks,

    Shade

  4.  

    Find this:

    status.c

    map_freeblock_lock();
    	if(status->hp >= max(status->max_hp>>2, sce->val4)) //Stop damaging after 25% HP left.
    		status_zap(bl, sce->val4, 0);
    

    Change to

     

    map_freeblock_lock();
    		if(status->hp >= max(status->max_hp/10, sce->val4)) //Stop damaging after 10% HP left.
    		status_zap(bl, sce->val4, 0);
    

    I did that, recompiled, still stays @ 25% max hp.

  5.  

    NYc work!!!

     

    um..could you add icons for new statuses like burning and fear?? (IDK what the 3 others do exactly by default)

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

    heres the list of bonuses according to doc/item_bonus.txt

     

    Eff_Stone, Eff_Freeze, Eff_Stun, Eff_Sleep, Eff_Poison, Eff_Curse, Eff_Silence,
    Eff_Confusion, Eff_Blind, Eff_Bleeding, Eff_DPoison, Eff_Fear, Eff_Burning
    --------------------------------------------------------------------------------------------------------------------------------------------------------

     

    I have burning icon, but I'm quite sure it has already been implemented.

     

    how about the SC_DPOISON

    I wasn't sure before, I got confused between Enchant Deadly Poison and Deadly Poison debuff. I'll include that on v2 soon (including other statuses that I've completed like CHANGEUNDEAD).

  6.  

     

    Ah my bad, the admin has not approved it yet. Looks like we have to wait for awhile.

     

    Your submission was successful! An administrator must review your submission before it will be available publicly. 

     

    i see.that's why i say the download link is not available. btw have you completed all the negative status icon? thanks.

     

     

    I check with RO, there are 9 main status ailment without skill icon and here are my icons:

    Status_Icon_Preview2.png

  7. I didn't read all of the script but I assume all the members will also be in the same map. So why don't you use a script to give items to everyone in that particular map.

     

    Here's a reference that might be useful. http://rathena.org/board/topic/86286-get-map-player-list/

    Instead of giving one random person apple, edit that script to make it give apple to everyone in the map by adding a for-loop like so:

    prontera,150,150,5	script	Give Item	100,{
    	set(.player,getcharid(3));
    	deletearray(.players[0],128); addrid(1);
    	set(.players[getarraysize(.players)],getcharid(3));
    	detachrid; attachrid(.player);
    	for(set @i,0; @i < getarraysize(.players); set @i,@i+1) {
    	    getitem(512,1,set(.@a,.players[@i]));
    	    npctalk rid2name(.@a)+" got a Apple!";
    }
    	end;
    }
    

    This code is untested.

    • Upvote 1
  8. Thanks for the quick response guys, I just need two more icons.

    Once I've get all of them tested and guide finished, I'll release them here.

    Some of the icons are already implemented in RO so here's a list of status I'd be releasing:

    1. Bleeding
    2. Blind
    3. Burning
    4. Chaos
    5. Curse
    6. Frozen
    7. Poison
    8. Silence
    9. Sleep
    10. Stone
    11. Stun
    12. Undead

    On iRO Wiki, they've stated that there are 23 total status effects in RO. Since I just got back to RO after 3 years and I'm not sure what's the status of the new icon (I saw some of them when I was browsing through kRO texture folder so I decided to assume they are already implemented).

     

    I'll update this page once, I've done testing and editing the icons. Hopefully by next week.

     

    Thanks,

    Shade 

    • Upvote 2
  9. RELEASED: LINK

     

    Hi guys,

     

    I've always been disappointed on how RO is missing a lot of status icon to show how long the status is going to linger on you. So, I've decided to make some of my own status icons and put them add them into the grf files. Tested and it works.

     

    I'm not sure if this is what the community wants and if it is worth continuing, so I decided to post some of my status icons here and get some feedback. Do you guys want this to be released or is it totally useless?

     

    Status_Icon.jpg

     

    If I decided to release these, I'll put some a patch/guide on implementing every status effect icons.

     

    Thanks,

    Shade

    • Upvote 2
  10. Hey Anacondaqq,

     

    I've look at those, but no matter what I do, it wouldn't let me change the gloria skill. I tried this guide, but it wouldn't let me overwrite it over the gloria skill.

    Is there anyway I can search for what is the name of the propertyundead status icon name is?

    I tried to search for undead but couldn't find it. Maybe it is in korean? or in another folder?

  11. Hi,

     

    Everytime a monster cast SC_CHANGEUNDEAD on me, this Gloria Skill Icon appears. I wonder if I could change it to something else but I don't know where the configuration is.

     

    CHANGEUNDEAD_BUG.png

     

    Looking forward to your kind help.

     

    Thanks,

    Shade

  12. Hi there,

     

    I've made a custom status that works just like Preserve/Cloaking. I need help with the following:

     

    1. Is there anyway for me to put in effect (like the stars when you're stunned, black when you're stone cursed, or turn purple when you're poisoned)? I just need to copy the visual effect of being poisoned to be used for my custom status.

     

     

    2. How do I add status icon. I don't mind using/recycling the icon Ragnarok already have, just need a way for it to show me that the status is on.

    Solved by adding this to status.c: 

    StatusIconChangeTable[SC_UNHOLYLIGHT] = SI_PLUSMAGICPOWER;

    Looking forward to get some help and understanding on how this works.

     

    Thanks,

    Shade

     

×
×
  • Create New...