-
Posts
897 -
Joined
-
Last visited
-
Days Won
26
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by Playtester
-
Just do the modifications you want in the skill_db.txt For pre-re it would be this one: https://github.com/rathena/rathena/blob/master/db/pre-re/skill_db.txt // 06 nk (skill damage properties): // 0x01 - No damage skill // 0x02 - Has splash area // 0x04 - Damage should be split among targets // 0x08 - Skill ignores caster's % damage cards (misc type always ignores) // 0x10 - Skill ignores elemental adjustments // 0x20 - Skill ignores target's defense (misc type always ignores) // 0x40 - Skill ignores target's flee (magic type always ignores) // 0x80 - Skill ignores target's def cards
-
How to add a little bit skill cast in all classes
Playtester replied to HappyMan's question in Script Requests
Make sure you modify the correct file. If you are compiling on renewal you have to modify /re/skill_cast_db.txt instead. //-- CH_SOULCOLLECT 401,0,0,0,600000,0,0,2000 Right now it's defined to have a 2 second fixed casting for the skill. I don't know what you want to adjust but just put whatever values you want here. Columns are described at top: // SkillID,CastingTime,AfterCastActDelay,AfterCastWalkDelay,Duration1,Duration2,Cool Down,Fixed Casting Time -
How to add a little bit skill cast in all classes
Playtester replied to HappyMan's question in Script Requests
You do that in the skill_cast_db file: https://github.com/rathena/rathena/blob/master/db/pre-re/skill_cast_db.txt -
You probably messed up when enabling pre-renewal mode. https://github.com/rathena/rathena/blob/master/src/config/renewal.hpp In this file you need to uncomment: //#define PRERE Don't do any other changes to the file. Then do a full recompile of all servers.
-
Remove the call of "clif_skill_nodamage" in skill.cpp. In case of AL_HEAL that would be here: clif_skill_nodamage (src, bl, skill_id, heal, 1); If you don't want to remove it for HLIF_HEAL and AB_HIGHNESSHEAL then you need to write an "if".
-
Not easily, but if you know to code then the easiest approach is to create a new skill and make the item use that skill. The skill then needs be implemented in: int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, t_tick tick, int flag) And need some code along those lines: if (!status_has_mode(&dstmd->status,MD_AGGRESSIVE)) sc_start4(src, bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
-
How to add a little bit skill cast in all classes
Playtester replied to HappyMan's question in Script Requests
Yes, that's what you wanted, no? Not being able to spam skills anymore when using 3rd party tools. If you want cast time, that's possible too but not as easily. However, I want to note that if you want to avoid 3rd party hacks, I recommend using my first suggestion to set that setting above to 600. Then even with 3rd party tools you can't cast the spell more than once every 600ms. If you add a small cast time to all skills, then 3rd party tools get even more exploitable as the aftercast delay will be even lower for all the skills. If you still want that, you will have to edit skill.cpp: // return final cast time time = max(time, 0); Change to e.g.: // return final cast time time = max(time, 500); Then all skills have a cast time of 500ms minimum. -
How to add a little bit skill cast in all classes
Playtester replied to HappyMan's question in Script Requests
1. Make sure you have up-to-date rAthena (at least more recent than February 21st 2016). 2. skill.conf // Minimum allowed delay for ANY skills after castbegin (in milliseconds) (Note 1) // Note: Setting this to anything above 0 can stop speedhacks. min_skill_delay_limit: 100 Set this to 600. -
I assume the actual problem is that the health of the icewall is only set for the original cell and not for the others, so the others immediately time out. That's the impression I get when watching the video. I don't have a client anymore to test this on a fresh rAthena checkout, though, so I don't know if that's a bug in the emulator or if one of your changes (or a bad merge) are the cause. The setting of health happens in skill.cpp here: case WZ_ICEWALL: unit_val1 = 200 + 200*skill_lv; unit_val2 = map_getcell(src->m, ux, uy, CELL_GETTYPE); break; I'd try to start debugging there...
-
Well, I don't like renewal... that's the main reason. euRO has no classic server. iRO had a classic server on which I actually played, but it's now blocked for EU countries. Even if it wasn't blocked I had several issues with it: The client was outdated, so all the quality of life features in renewal weren't supported. And the lag was pretty bad. When I clicked I had to wait 1 second before my character even started moving. It's not like I'm still playing RO, but I totally would play again if a new close-to-official pre-renewal server with at least 500 players appeared. I'd play on official too if they offered that and had proper support for it. Don't care much about payment model.
-
Pre-re + Renewal = Best of Both. Is it Possible?
Playtester replied to OscarScorp's topic in Renewal Discussion
I actually thought about such a system before. Basically after you transcend and reach 2nd job you can choose between 2nd job trans or 3rd job non-trans version. Of course you'd need to completely rebalance the skills. Not just by reducing damage, but by giving them a utility other than pure force that puts them apart from the 2nd job trans skills without overpowering them. -
Pre-re + Renewal = Best of Both. Is it Possible?
Playtester replied to OscarScorp's topic in Renewal Discussion
I would see a high monster variety as a good thing. And to some extend stronger monsters on the map can also be interesting (if there aren't more than say 5). Then it has these "Oh shit, there's a mimic over there" kind of moments. I agree that all the maps should be readded (and these could be used to give the remaining monsters their dominant map). And also to have easier monsters near towns. -
Then you can cast even less meteor storms at the same time.
-
I want Max Level character to lose exp
Playtester replied to nasagnilac's question in Scripting Support
You would need to implement a level down mechanism for that. That's pretty tough to do as you'd also have to reward the stat points. That means you will need to remember where the character put them last (unless you want this to result in a full stat reset). Would probably require quite some coding. I assume you mainly want the insurance to function as money sink. But you could have a similar effect by selling long-lasting food items. They give some bonus stats but expire on death. So it's kind of similar to downleveling, as you lose stats on death. And since they are sold, players can invest zeny to get the boost back. That's an easier alternative. -
Pre-re + Renewal = Best of Both. Is it Possible?
Playtester replied to OscarScorp's topic in Renewal Discussion
Pre-renewal and renewal stats don't fit together at all. Renewal monsters have like 5 times less ATK and on higher levels give a lot less EXP. Besides, all the monster levels have been changed. Also pre-renewal exp was already pretty unbalanced towards the end. The addition of Anubis, Thor Volcano, the increase of various old monster Exp all resulted in there only being certain regions worth leveling in anymore. Also as said the problem is that Gravity tried to make new things more and more worthwhile. Most equip drops from old monsters became useless. While keeping the player base interested in new things might have made sense for official servers which exist for years and mostly contain veteran, for the overall balance or new private servers that's completely counterproductive. Not to mention that the exp tables themselves are also a mess (you reach max job level way too early and then are stuck with not getting any skill points for 80% of the game). ------------------------ That being said, if you just wanted to solve the monster exp issue in a pretty easy way, then I'd just use a spreadsheet program that calculates a monster's potential (defensive and offensive) which results in a recommend HP:Exp ratio, then take the Base Exp:Job Exp from pre-renewal and automatically calculate the perfectly balanced Exp/JExp values of each monster. I actually had this as a project once. It's fairly easy to calculate defense and damage per second of a monster, where I got stuck was the skills. Monster skills can have a huge impact on their potential. And it might even depend on INT, but only for those that have strong spells (though I guess spell potential isn't very high in renewal anymore?). Plus you would also want to consider monster speed, because if they can be killed from a safe distance, then it's like the damage per second is zero. So plenty of more complex things to consider which isn't that easy to do with a simple spreadsheet formula. You could try to ignore the complexity and just see where it leads, though. ------------------------- Of course nothing beats carefully handcrafted balance. But then again, even if I accomplished the perfect balance by putting in hours and hours of work, it will not really be worth it for a private server these days. Why? Because they lack population. What's the point if every single map is 100% balanced? Then players will simply spread around the whole world of Ragnarok and you'll never see any oter person again. The fact that there are only 10-20 useful maps in pre-renewal at least made people meet each other frequently. ------------------------- @Seravy's approach is already a much easier solution to the problem. Give more exp the higher the level of the monster is compared to yours. The only issue I see with this is that renewal is WAY too easy early on. If there's no exp penalty for killing monsters above your level, then you can easily go and kill monsters 30 or more levels above you. This is especially true for monsters that are immobile or very slow. The system doesn't account for this at all. It consequently also gives an unfair advantage to ranged classes, which will still just go solo and wouldn't be interested in partying up at all. I guess excluding immobile monsters from the bonus and maybe having a lower bonus for slow monsters could work. Or only make the bonus apply in teamwork. At the same time monsters should also deal more damage when they are above your level, so you can't easily survive any that are far above. Though will still result in pretty boring exp values because renewal exp is streamlined (same level monsters often give same amount of exp) and jexp is still way too high. -
Pre-re + Renewal = Best of Both. Is it Possible?
Playtester replied to OscarScorp's topic in Renewal Discussion
Sounds like there isn't really a reason for renewal going by your list. Unless you enjoy a 100% linear experience and NPCs telling you where to go. But if you like that, might as well play any other MMORPG. I really gave up on RO after the renewal update because it turned RO from something unique into being just like any other MMORPG just with worse graphics and controls. The problem with pre-renewal really was only that its stat, class and equipment system really hit a cap. It got easier and easier to reach instant cast, status change immunity or defensive and resistance values so high you hardly took damage anymore. Gravity had to add better and better gear to keep players playing, but it also slowly but steadily ruined game's balance. Best of both worlds? Honestly not familiar enough with renewal to say what I'd take from it. But what definitely should be taken from pre-renewal was the old pre-trans monster difficulty / exp balance. Basically back then a monsters 2 times harder gave 3 times more exp. There was no exp or drop penalty at all because it wasn't needed. The reason you aimed for fighting stronger monsters was simply because it was more rewarding. You could really just go and play in any location you want. That's why partying up was also so much worth it. Due to the free choice of location, there was no "This region doesn't match my level" or "I'm currently in a different part of the quest so there's not much sense for me to join", you could just randomly make up "Today I'm doing a Glastheim party, who wants to join?" and you could easily find people joining from a wide level range. If they could have just managed to keep that feeling and just improve the game's balance rather than turning the whole game into another WoW clone... -
It's probably so that the client buffers the commands and sends them when it thinks that the amotion delay is over. But when auto attacking, it never gets to that point.
-
Wasn't it always like that? When I last checked this I figured the client refuses to send anything to the server while in auto attack except for move commands. Probably would need to require catching packets from official server for auto attack and see if there's anything different.
-
Only all equips, if you look at drops.conf, you see there are separate drop rates for other types.
-
How to change twice damage Bowling Bash skill to single hit
Playtester replied to instinctboy's question in Scripting Support
Try removing the self-collision part in skill.cpp: // Self-collision if(bl->x >= min_x && bl->x <= max_x && bl->y >= min_y && bl->y <= max_y) skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,(flag&0xFFF)>0?SD_ANIMATION:0); Damage you can set in battle.cpp: case KN_BOWLINGBASH: case MS_BOWLINGBASH: skillratio += 40 * skill_lv; break; Change it to: case KN_BOWLINGBASH: case MS_BOWLINGBASH: skillratio += 100 + 80 * skill_lv; break; For double damage. -
https://github.com/rathena/rathena/blob/master/doc/item_bonus.txt bonus bDelayrate,n; Increases skill delay by n% bonus2 bSkillDelay,sk,t; Increases delay of skill sk by t milliseconds bonus2 bSkillCooldown,sk,t; Increases cooldown of skill sk by t milliseconds
-
Ah, ich hab in meinem Browser Cache auf Arbeit doch tatsächlich noch die URL zu "Mega" gefunden: https://mega.nz/#F!QQhC3a6J!EJsIx9HLZ5SbiFxOH4nFqg!0JBmGKBT
-
Es gibt keine episodischen files, aber wenn du alte eAthena files willst kannst du jederzeit über das Githup Repository gehen. Die älteste sinnvolle Version die du da findest ist von Januar 2006: https://github.com/eathena/eathena/tree/382230bc611dbd2b335db4a65e6f42af64c2affc Das enthält schon ein paar spätere Episoden, aber die meisten Informationen entsprechen noch dem Episode 9 stand (z.B. die Monster Exp Werte von alten Monstern sind noch von Episode 9). Aegis Files sind wohl für immer verloren, da das ASB Sakray Board vor nem Jahr geschlossen hat. Jemand hatte mal alle Dateien auf "Mega" hochgeladen, aber der Link dahin war auf dem Board... Hab nur noch ne Episode 7 Aegis Mob DB die ich mal ins rAthena Format konvertiert hatte (ist aber nicht mehr auf dem aktuellen rAthena stand, würde also so nicht funktionieren, müsste man erst mob mode konvertieren glaub ich). mob_db_7.txt
-
In battle.cpp find this: case MO_EXTREMITYFIST: skillratio += 100 * (7 + sstatus->sp / 10); skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break; And change it to: case MO_EXTREMITYFIST: skillratio += skill_lv * 20 * (7 + sstatus->sp / 10); skillratio = min(500000,skillratio); //We stop at roughly 50k SP for overflow protection break;
-
I need help in editing mob_skill_db (renewal)
Playtester replied to kagzzz's question in Scripting Support
I assume the actual problem was that you edited the pre-re database file while compiling with renewal or vice-versa. But yeah, using the import folder is much better anyway, as it allows you to keep updating rAthena without merge conflicts.