malufett Posted November 15, 2012 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 554 Reputation: 70 Joined: 04/04/12 Last Seen: November 8, 2013 Share Posted November 15, 2012 //:) me too like to add some reply... I would like to answer bodebruno... if you can notice almost every month official server releases new items with new functions/skill.. and ATM there are already skills designated for 700+ // New NPC Wide Status AoE Skills And Others //700,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDEHEALTHFEAR,Wide Health Fear //701,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDEBODYBURNNING,Wide Body Burnning //702,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDEFROSTMISTY,Wide Freezing //703,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDECOLD,Wide Crystalize //704,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDE_DEEP_SLEEP,Wide Deep Sleep //705,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_WIDESIREN,Wide Siren's Voice //706,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_VENOMFOG,Venom Fog //707,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_MILLENNIUMSHIELD,Millenium Shield 2 //708,0,0,0,0,0,0,??,0,no,0,0,0,none,0, NPC_COMET,Comet 2 Quote Link to comment Share on other sites More sharing options...
rocky6861 Posted November 17, 2012 Group: Members Topic Count: 1 Topics Per Day: 0.00 Content Count: 4 Reputation: 0 Joined: 04/02/12 Last Seen: September 24, 2021 Share Posted November 17, 2012 (edited) Well I guess I will continue to post here. These armors created, even if used with elemental stones or SC, the SC and elemental stone do not affect the armor at all. For instance a Fire Chain mail acts exactly like a regular chain mail. I am looking around the source, but as I'm teaching it to myself, it is very difficult to read. Where would I put the code to check the armor for an element? Im assuming in the status.c but the battle.c also has a couple of elemental checks in it. So I cant seem to find the location at which the data is actually used in the calculations. Any help on this would be much appreciated. EDIT: I was able to get the element taking effect though I am sure that this is a crude piece of code. Here is my code, hope it helps someone. //Parse Cards for( i = 0; i < EQI_MAX - 4; i++ ) { current_equip_item_index = index = sd->equip_index[i]; //We pass INDEX to current_equip_item_index - for EQUIP_SCRIPT (new cards solution) [Lupus] if( index < 0 ) continue; if( i == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index ) continue; if( i == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index ) continue; if( i == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index) ) continue; if( sd->inventory_data[index] ) { int j, c; struct item_data *data; //Card script execution. if( itemdb_isspecial(sd->status.inventory[index].card[0]) ) { + if(sd->status.inventory[index].card[1]&0x0f){ + switch(sd->status.inventory[index].card[1]&0x0f) { + case 1: status->def_ele=ELE_WATER; break; + case 2: status->def_ele=ELE_EARTH; break; + case 3: status->def_ele=ELE_FIRE; break; + case 4: status->def_ele=ELE_WIND; break; + } + } continue; + } for( j = 0; j < MAX_SLOTS; j++ ) { // Uses MAX_SLOTS to support Soul Bound system [inkfish] current_equip_card_id = c = sd->status.inventory[index].card[j]; if( !c ) continue; data = itemdb_exists(c); if( !data ) continue; if( first && data->equip_script ) { //Execute equip-script on login run_script(data->equip_script,0,sd->bl.id,0); if( !calculating ) return 1; } EDIT2: I was able to make the Star crumbs work as well. Here is my code for that: else if(sd->inventory_data[index]->type == IT_ARMOR) { + int r, s; + s = 0; + if(sd->status.inventory[index].card[0]==CARD0_FORGE && sd->equip_index[EQI_ARMOR] == index) + { // Forged Armor, Smith, Forge, Armor + r += (sd->status.inventory[index].card[1]>>8); //while weapons get 5 atk, armors get 2 def (hence the 2/5 calc) + s = (r*2)/5; + if(s >= 6) s = 8; // 3 Star Crumbs now give +11 def + if(pc_famerank(MakeDWord(sd->status.inventory[index].card[2],sd->status.inventory[index].card[3]) ,MAPID_BLACKSMITH)) + s += 4; //Ranked Smiths give +4 def to armors + } + status->def += s; if ( (r = sd->status.inventory[index].refine) ) refinedef += refine_info[REFINE_TYPE_ARMOR].bonus[r-1]; if(sd->inventory_data[index]->script) { if( i == EQI_HAND_L ) //Shield sd->state.lr_flag = 3; run_script(sd->inventory_data[index]->script,0,sd->bl.id,0); if( i == EQI_HAND_L ) //Shield sd->state.lr_flag = 0; if (!calculating) //Abort, run_script retriggered this. [skotlex] return 1; } } Edited November 17, 2012 by rocky6861 Quote Link to comment Share on other sites More sharing options...
Reaper_san Posted June 9, 2017 Group: Members Topic Count: 5 Topics Per Day: 0.00 Content Count: 22 Reputation: 4 Joined: 09/08/12 Last Seen: December 15, 2020 Share Posted June 9, 2017 Hi Is this still working on new relases? ... I need this in the server Quote Link to comment Share on other sites More sharing options...
Quesooo Posted April 15, 2018 Group: Members Topic Count: 197 Topics Per Day: 0.07 Content Count: 883 Reputation: 28 Joined: 02/13/17 Last Seen: November 10, 2022 Share Posted April 15, 2018 hi good day anyone can update this to work on latest rathena rev Quote Link to comment Share on other sites More sharing options...
HristDead Posted September 23, 2019 Group: Members Topic Count: 66 Topics Per Day: 0.01 Content Count: 167 Reputation: 2 Joined: 08/01/12 Last Seen: October 9, 2019 Share Posted September 23, 2019 I would love to have this for the current revision. Would any generous dev care to update it please? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.