Jump to content

lllaaazzz

Members
  • Posts

    154
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by lllaaazzz

  1. ???? in your data.grf everything in your skillinfoz folder skilldb.txt skill_tree.txt skill.c / skill.h battle.c / battle.h
  2. pretty sure the only difference is that in PRE RE matk didnt get any bonus from dex and luk , just INT so just replace it with this return status->int_ + (status->int_ / 7) * (status->int_ / 7); return status->int_ + (status->int_ / 5) * (status->int_ / 5); the top one is minimum matk and bottom is maximum
  3. download this http://www.pspad.com/en/ then open up the .RSW (there is the .Gat 2-3 others when you save your browedit map) then change whatever is in this square (line 1 column 3)highlight square to 0109, save and you should be ok
  4. Not sure about 5 lol (i can see something working but i dont know where i would write it) (what i would do is just make a multi purpose arrow and a buff associated with it that just counters that i could do) but yeah you would need to do some src editing to give GS that sort of buff
  5. Yeah in status.c unsigned short status_base_matk_min(struct block_list *bl, const struct status_data* status, int level) { switch (bl->type) { case BL_PET: case BL_MOB: case BL_MER: case BL_ELEM: return status->int_ + level + status->rhw.matk * 70 / 100; case BL_HOM: return status_get_homint(bl) + level + (status_get_homint(bl) + status_get_homdex(bl)) / 5; case BL_PC: default: return status->int_ + (status->int_ / 2) + (status->dex / 5) + (status->luk / 3) + (level / 4); } } /* * Calculates maximum magic attack */ unsigned short status_base_matk_max(struct block_list *bl, const struct status_data* status, int level) { switch (bl->type) { case BL_PET: case BL_MOB: case BL_MER: case BL_ELEM: return status->int_ + level + status->rhw.matk * 130 / 100; case BL_HOM: return status_get_homint(bl) + level + (status_get_homluk(bl) + status_get_homint(bl) + status_get_homdex(bl)) / 3; case BL_PC: default: return status->int_ + (status->int_ / 2) + (status->dex / 5) + (status->luk / 3) + (level / 4); } } #endif this part is player Case BL_PC: default: return status->int_ + (status->int_ / 2) + (status->dex / 5) + (status->luk / 3) + (level / 4); Also recompile after making changes in your SRC folder
  6. I would suggest reading what i posted lol maybe include 1 time rewards to specific jobs that you want the extra skill points on like archer gets +2 at joblvl 10
  7. use @jobchange to the first class then @setjoblevel 50 then jobchange to second class and set your job level again but if you changed the max job to 90 for first class then idk edit: Ok so did you change your job_exp.txt and set the maxjob level for first class to 90 too? How about you just make it require more EXP to level up the job so you dont have this excess skill point problem, but i guess you did change it because you want ALL the skills in the first class? In that case wouldnt it be easier to just add skill points another way or whatever... because your just making problem for yourself if annie couldnt help you
  8. 1 Yeah Water Attribute Change [Lv 1] attack - HP lower than 70 percent 100% 1 sec 6000 sec self no Holy Attribute Change [Lv 1] attack - HP lower than 40 percent 100% 1 sec 6000 sec self no Ghost Attribute Change [Lv 1] attack - HP lower than 10 percent 100% 1 sec 6000 sec self no 2 Seems like any skill with knockback can move traps, i cant target them with autoattack on my server 3 Go edit mode > global height edit > select area with objects by dragging the square, press C, and select objects only (and height) make sure you dont place them outside your map border or youll just crash (me anyways) 4 I dont like the code in @storeall, its misleading.... but im not an expert but maybe someone else can help you, I would suggest using : To make duplicates of your items and turn them back somehow but i dont know much beyond the basic when it comes to "scripting commands" 5 I dont understand this question, are you saying, if you attack a poring, you dont know that its actually a water property mob until you look it up with rms or sense from wizz? This is part of the game For Cecil in particular you just gotta watch her hp cause at 70>40>10 she keeps changing When you see her use this, which is cancelable Thats when she changes elements, but like the rms suggest she will only change to specific elements at certain hps thresholds
  9. I just wanted to add that its cool cause you can just throw everything out and make it a fixed camera and no one would know its ragnarok lol and theres probably more then enough editable skill effects to make it look awesome... gl dude
  10. You know it is a good idea, i like harvest moon and making it on this would be pretty cool lol
  11. Just to be clear, you want third job to have fixed and variable cast time but you want trans class to be able to hit insta cast with 150 dex? But Third cant? Im assuming this is for a split pvp ?
  12. Im not sure how to respond to this (#koreansnekroingskills) But those are all really simple changes, so if thats real then yeah im sure someone will do it.
  13. try readding the #ifndef RENEWAL_CAST and #endif
  14. EF_ERASER_CUTTER: 960 EF_SILENT_BREEZE: 961 EF_MAGMA_FLOW: 962 EF_GRAYBODY: 963 EF_LAVA_SLIDE: 964 EF_SONIC_CLAW: 965 EF_TINDER_BREAKER: 966 EF_MIDNIGHT_FRENZY: 967 EF_MACRO: 968 EF_CHEMICAL_ALLRANGE: 969 EF_TETRA_FIRE: 970 EF_TETRA_WATER: 971 EF_TETRA_WIND: 972 EF_TETRA_GROUND: 973 EF_EMITTER: 974 EF_VOLCANIC_ASH: 975 EF_LEVEL99_ORB1: 976 EF_LEVEL99_ORB2: 977 EF_LEVEL150: 978 EF_LEVEL150_SUB: 979 EF_THROWITEM4_1: 980 EF_THROW_HAPPOKUNAI: 981 EF_THROW_MULTIPLE_COIN: 982 EF_THROW_BAKURETSU: 983 EF_ROTATE_HUUMARANKA: 984 EF_ROTATE_BG: 985 EF_ROTATE_LINE_GRAY: 986 EF_2011RWC: 987 EF_2011RWC2: 988 EF_KAIHOU: 989 EF_GROUND_EXPLOSION: 990 EF_KG_KAGEHUMI: 991 EF_KO_ZENKAI_WATER: 992 EF_KO_ZENKAI_LAND: 993 EF_KO_ZENKAI_FIRE: 994 EF_KO_ZENKAI_WIND: 995 EF_KO_JYUMONJIKIRI: 996 EF_KO_SETSUDAN: 997 EF_RED_CROSS: 998 EF_KO_IZAYOI: 999 EF_ROTATE_LINE_BLUE: 1000 EF_KG_KYOMU: 1001 EF_KO_HUUMARANKA: 1002 EF_BLUELIGHTBODY: 1003 EF_KAGEMUSYA: 1004 EF_OB_GENSOU: 1005 EF_NO100_FIRECRACKER: 1006 EF_KO_MAKIBISHI: 1007 EF_KAIHOU1: 1008 EF_AKAITSUKI: 1009 EF_ZANGETSU: 1010 EF_GENSOU: 1011 EF_HAT_EFFECT: 1012 EF_CHERRYBLOSSOM: 1013 EF_EVENT_CLOUD: 1014 EF_RUN_MAKE_OK: 1015 EF_RUN_MAKE_FAILURE: 1016 EF_MIRESULT_MAKE_OK: 1017 EF_MIRESULT_MAKE_FAIL: 1018 EF_ALL_RAY_OF_PROTECTION: 1019 EF_VENOMFOG: 1020 EF_DUSTSTORM: 1021 EF_LEVEL160: 1022 EF_LEVEL160_SUB: 1023 EF_MAPCHAIN: 1024 EF_MAGIC_FLOOR: 1025 EF_ICEMINE: 1026 EF_FLAMECORSS: 1027 EF_ICEMINE_1: 1028 EF_DANCE_BLADE_ATK: 1029 EF_DARKPIERCING: 1030 EF_INVINCIBLEOFF2: 1031 EF_MAXPAIN: 1032 EF_DEATHSUMMON: 1033 EF_MOONSTAR: 1034 EF_STRANGELIGHTS: 1035 EF_SUPER_STAR: 1036 EF_YELLOBODY: 1037 EF_COLORPAPER2: 1038 EF_EVILS_PAW: 1039 EF_GC_DARKCROW: 1040 EF_RK_DRAGONBREATH_WATER: 1041 EF_ALL_FULL_THROTTLE: 1042 EF_SR_FLASHCOMBO: 1043 EF_RK_LUXANIMA: 1044 EF_CLOUD10: 1045 EF_SO_ELEMENTAL_SHIELD: 1046 EF_AB_OFFERTORIUM: 1047 EF_WL_TELEKINESIS_INTENSE: 1048 EF_GN_ILLUSIONDOPING: 1049 EF_NC_MAGMA_ERUPTION: 1050 EF_LG_KINGS_GRACE: 1051 EF_BLOODDRAIN2: 1052 EF_NPC_WIDEWEB: 1053 EF_NPC_BURNT: 1054 EF_NPC_CHILL: 1055 EF_RA_UNLIMIT: 1056 EF_AB_OFFERTORIUM_RING: 1057 EF_SC_ESCAPE: 1058 EF_WM_FRIGG_SONG: 1059 EF_FLICKER: 1060 EF_C_MAKER: 1061 EF_HAMMER_OF_GOD: 1062 EF_MASS_SPIRAL: 1063 EF_FIRE_RAIN: 1064 EF_WHITEBODY: 1065 EF_BANISHING_BUSTER: 1066 EF_SLUGSHOT: 1067 EF_D_TAIL: 1068 EF_BIND_TRAP1: 1069 EF_BIND_TRAP2: 1070 EF_BIND_TRAP3: 1071 EF_JUMPBODY1: 1072 EF_ANIMATED_EMITTER: 1073 EF_RL_EXPLOSION: 1074 EF_C_MAKER_1: 1075 EF_QD_SHOT: 1076 EF_P_ALTER: 1077 EF_S_STORM: 1078 EF_MUSIC_HAT: 1079 EF_CLOUD_KILL: 1080 EF_ESCAPE: 1081 EF_XENO_SLASHER: 1082 EF_FLOWERSMOKE: 1083 EF_FSTONE: 1084 EF_QSCARABA: 1085 EF_LJOSALFAR: 1086 EF_HAPPINESSSTAR: 1087 EF_POWER_OF_GAIA: 1088 EF_MAPLE_FALLS: 1089 EF_MARKING_USE_CHANGEMONSTER: 1090 EF_MAGICAL_FEATHER: 1091 EF_MERMAID_LONGING: 1092 EF_GIFT_OF_SNOW: 1093 EF_ACH_COMPLETE: 1094 EF_TIME_ACCESSORY: 1095 EF_SPRITEMABLE: 1096 EF_TUNAPARTY: 1097 Just gotta update my own client now haha
  15. Not exactly sure what your asking but MoveSpeed: Monster's speed. Sets speed (cells/sec). 1000 / SPEED (CELLS/SEC) So Poring has 400 Move speed, so im assuming thats 4 cells per seconds AttackMotion: 1000 / ASPD (ATTACKS/SEC) So poring has 480 aspd, thats 2 attacks per second
  16. I think its cool to see this emulator being used for different things... this is the best game engine (w/e) ive ever played on and couldnt believe that it was open source
  17. Anyone wanna help me fill this up, im really unfamiliar with renewal and dont know any of these. Im stuck on browedit revision 586 (the same one used in the tutorial videos), couldnt get any other to work so i may just be wasting time with this post. Ive placed effects up until #1050 and barely any of these i could bring up with @effect command and just spawning them in one of my maps and they showed up fine. Thats already 100 more then the current effects_doc, id imagine with the newer clients there would be even more since soul reaper was released. I could just be mistaken since im a pre re kid so if someone wants to look through and give them real descriptions im sure itd be appreciated. . . . These are a few of them up until 1050, im sure you can verify if they are just duplicates or whatever just by looking at them but i have no idea It clearly says NO MORE EFFECTS FROM 2008 CLIENT, and im just on 2015 client , like i said their is probably more on a 2018-2019 client
  18. maybe cause i dont understand what he wants and just providing what i know he asked me this in another thread : "Why I dont have ATK bonuses on my pre-renewal server?) Bonus to MATK works correctly." Why would i respond with such a simple thing i assumed was the basics . . .
  19. /*========================================== * Calculates the standard damage of a normal attack assuming it hits, * it calculates nothing extra fancy, is needed for magnum breaks WATK_ELEMENT bonus. [Skotlex] *------------------------------------------ * Pass damage2 as NULL to not calc it. * Flag values: // TODO: Check whether these values are correct (the flag parameter seems to be passed through to other functions), and replace them with an enum. * &1: Critical hit * &2: Arrow attack * &4: Skill is Magic Crasher * &8: Skip target size adjustment (Extremity Fist?) *&16: Arrow attack but BOW, REVOLVER, RIFLE, SHOTGUN, GATLING or GRENADE type weapon not equipped (i.e. shuriken, kunai and venom knives not affected by DEX) */ /* 'battle_calc_base_damage' is used on renewal, 'battle_calc_base_damage2' otherwise. */ // FIXME: Missing documentation for flag2 int64 battle_calc_base_damage(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int nk, bool n_ele, short s_ele, short s_ele_, int type, int flag, int flag2) { int64 damage; struct status_data *st = status->get_status_data(src); struct status_change *sc = status->get_sc(src); const struct map_session_data *sd = NULL; nullpo_retr(0, src); sd = BL_CCAST(BL_PC, src); if ( !skill_id ) { s_ele = st->rhw.ele; s_ele_ = st->lhw.ele; if (sd != NULL) { if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count >= MAX_SPIRITCHARM) { s_ele = s_ele_ = sd->charm_type; } if (flag&2 && sd->bonus.arrow_ele != 0) s_ele = sd->bonus.arrow_ele; } } if (src->type == BL_PC) { int64 batk; // Property from mild wind bypasses it if (sc && sc->data[SC_TK_SEVENWIND]) batk = battle->calc_elefix(src, bl, skill_id, skill_lv, status->calc_batk(bl, sc, st->batk, false), nk, n_ele, s_ele, s_ele_, false, flag); else batk = battle->calc_elefix(src, bl, skill_id, skill_lv, status->calc_batk(bl, sc, st->batk, false), nk, n_ele, ELE_NEUTRAL, ELE_NEUTRAL, false, flag); if (type == EQI_HAND_L) damage = batk + 3 * battle->calc_weapon_damage(src, bl, skill_id, skill_lv, &st->lhw, nk, n_ele, s_ele, s_ele_, status_get_size(bl), type, flag, flag2) / 4; else damage = (batk << 1) + battle->calc_weapon_damage(src, bl, skill_id, skill_lv, &st->rhw, nk, n_ele, s_ele, s_ele_, status_get_size(bl), type, flag, flag2); } else { damage = (st->batk + 15) + battle->calc_weapon_damage(src, bl, skill_id, skill_lv, &st->rhw, nk, n_ele, s_ele, s_ele_, status_get_size(bl), type, flag, flag2); } return damage; } int64 battle_calc_base_damage2(struct status_data *st, struct weapon_atk *wa, struct status_change *sc, unsigned short t_size, struct map_session_data *sd, int flag) { unsigned int atkmin=0, atkmax=0; short type = 0; int64 damage = 0; nullpo_retr(damage, st); nullpo_retr(damage, wa); if (!sd) { //Mobs/Pets if(flag&4) { atkmin = st->matk_min; atkmax = st->matk_max; } else { atkmin = wa->atk; atkmax = wa->atk2; } if (atkmin > atkmax) atkmin = atkmax; } else { //PCs atkmax = wa->atk; type = (wa == &st->lhw)?EQI_HAND_L:EQI_HAND_R; if (!(flag&1) || (flag&2)) { //Normal attacks atkmin = st->dex; if (sd->equip_index[type] >= 0 && sd->inventory_data[sd->equip_index[type]]) atkmin = atkmin*(80 + sd->inventory_data[sd->equip_index[type]]->wlv*20)/100; if (atkmin > atkmax) atkmin = atkmax; if(flag&2 && !(flag&16)) { //Bows atkmin = atkmin*atkmax/100; if (atkmin > atkmax) atkmax = atkmin; } } } if (sc && sc->data[SC_MAXIMIZEPOWER]) atkmin = atkmax; //Weapon Damage calculation if (!(flag&1)) damage = (atkmax>atkmin? rnd()%(atkmax-atkmin):0)+atkmin; else damage = atkmax; if (sd) { //rodatazone says the range is 0~arrow_atk-1 for non crit if (flag&2 && sd->bonus.arrow_atk) damage += ( (flag&1) ? sd->bonus.arrow_atk : rnd()%sd->bonus.arrow_atk ); //SizeFix only for players if (!(sd->special_state.no_sizefix || (flag&8))) damage = damage * ( type == EQI_HAND_L ? sd->left_weapon.atkmods[t_size] : sd->right_weapon.atkmods[t_size] ) / 100; } //Finally, add baseatk if(flag&4) damage += st->matk_min; else damage += st->batk; //rodatazone says that Overrefined bonuses are part of baseatk //Here we also apply the weapon_atk_rate bonus so it is correctly applied on left/right hands. if(sd) { if (type == EQI_HAND_L) { if(sd->left_weapon.overrefine) damage += rnd()%sd->left_weapon.overrefine+1; if (sd->weapon_atk_rate[sd->weapontype2]) damage += damage * sd->weapon_atk_rate[sd->weapontype2] / 100; } else { //Right hand if(sd->right_weapon.overrefine) damage += rnd()%sd->right_weapon.overrefine+1; if (sd->weapon_atk_rate[sd->weapontype1]) damage += damage * sd->weapon_atk_rate[sd->weapontype1] / 100; } } return damage; } int status_get_weapon_atk(struct block_list *bl, struct weapon_atk *watk, int flag) { #ifdef RENEWAL int min = 0, max = 0; struct status_change *sc = status->get_sc(bl); nullpo_ret(bl); nullpo_ret(watk); if (bl->type == BL_PC && watk->atk) { float strdex_bonus, variance; int dstr; if (flag&2) dstr = status_get_dex(bl); else dstr = status_get_str(bl); variance = 5.0f * watk->atk * watk->wlv / 100.0f; strdex_bonus = watk->atk * dstr / 200.0f; min = (int)(watk->atk - variance + strdex_bonus) + watk->atk2; max = (int)(watk->atk + variance + strdex_bonus) + watk->atk2; } else if ((bl->type == BL_MOB || bl->type == BL_MER) && watk->atk) { min = watk->atk * 80 / 100; max = watk->atk * 120 / 100; } else if (bl->type == BL_HOM && watk->atk) { if (flag & 4) { max = min = status->get_matk(bl, 2); } else { min = watk->atk; max = watk->atk2; } } if (!(flag&1)) { if (max > min) max = min + rnd()%(max - min + 1); else max = min; } if ( bl->type == BL_PC && !(flag & 2) ) { const struct map_session_data *sd = BL_UCCAST(BL_PC, bl); short index = sd->equip_index[EQI_HAND_R], refine; if ( index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_WEAPON && (refine = sd->status.inventory[index].refine) < 16 && refine ) { int r = status->dbs->refine_info[watk->wlv].randombonus_max[refine + (4 - watk->wlv)] / 100; if ( r ) max += (rnd() % 100) % r + 1; } if (sd->charm_type == CHARM_TYPE_LAND && sd->charm_count > 0) max += 10 * max * sd->charm_count / 100; } max = status->calc_watk(bl, sc, max, false); return max; #else return 0; #endif } You can change the damage variance pretty easily but i cant see an easy tweak to ATK using STR but that may just be my lack of knowledge
  20. After re reading i think you may have a different problem Are you saying the wings you got are COSTUME items and the red glasses are NORMAL items? and you want them both to show? Pretty sure thats not possible unless you make the wings lower headgear Sorry im really not familiar with this
  21. I didnt add them to my own data grf, but im sure it'll work fine
×
×
  • Create New...