Dragonis1701

Members
  • Content Count

    75
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    1

Dragonis1701 last won the day on August 17

Dragonis1701 had the most liked content!

Community Reputation

3 Neutral

About Dragonis1701

  • Rank
    Santa Poring

Profile Information

  • Gender
    Male
  • Location
    Old Bridge, New Jersey

Recent Profile Visitors

1,849 profile views
  1. Player's are capped at 1.99 levels per exp source. So, taking those quests post rebirth would only net you 3.99 levels.
  2. I was talking to my partner about what Mvps we could do together once I finally found a marc card, because I also play on the server that I am working on to better find bugs and just 'cause I like RO, and one of the bosses was Ktullanux. I realized that, other than the Ice Necklace Quest, there was no other way to acquire more Freezing Snow Powder. It feels like a bit of an oversight that in order to summon the boss again, you need to get a character to base level 70 to do the quest. This is by far the highest requirement, especially since the server is 1x, to summon a boss and seems a bit strange to population-lock a boss like that. So, I implemented Freezing Snow Powder as a drop from all mobs in Ice Dungeon, excluding Iceicle, at varying rates. It was added to Siroma at 0.01% base, Snowier at 0.03% base, Gazeti at 0.08% base, Ice Titan at 0.10% base and Ktullanux at 30% base. I say base because my server has the +0.01% drop rate to all drops below 50%. So, that would make it 0.02, 0.04, 0.09, 0.11 and 30.01 across the mobs respectively. I never really gave Ktullanux much thought but I think this is a pretty decent change that should allow it to be summoned more often and would perhaps lead to an uptick in Ice Dungeon parties, as now, if you stay long enough, you can summon the boss.
  3. After hopping from server to server, I found that most servers had the same bugs that most people would suggest to be fixed after the server officially opened. I started to compile a list and post my list on the forums before the start of every server I played on. Being young at the time, 18 or 19, I thought maybe I could make a server, not knowing how much work really went into it. The seed was planted, though, and it stayed buried for a long time until about four years ago. I had just got done playing on a 1x server on renewal. It was fun and challenging in a few ways I didn't expect, mainly on the tedious spectrum and being used to autoloot. Unfortunately, the server died. A player from that server showed me how to set up my own instance of RO on my own computer and I could modify it to my liking but it needed a name. I wanted to make a good server, as most of us do, but I was no longer cocky. I knew being an admin was hard but I wanted to strive for something better than okay, something... decent. And thus the name was born. That preamble out of the way, I decided to just roll with what I was most comfortable with. Pre-renewal with some, pretty standard, tweaks and most of the usual suspects fixed. I taught myself script, so I'm pretty bad at it and most likely make redundant scripts but I've been able to get away with doing what I need to and, if I can't, I beg on these forums. It had to have BG and everybody loved eAmod BG, so I looked up the scripts for that and tried to get it to work. It needed some tweaks but I managed and, as far as I can test with one person running ten clients, it seemed to work properly with some play testing. Then I turned my eye to some normal features I felt were lacking: Pets, picking up loot, new content, etc. It was around this point I started modifying the src. I'm no where near even half decent at src modification but I've been able to put together how to get an idea of what is happening. It's allowed me to really make some decent modifications. I brought back pets fighting (not sure if that's enabled in renewal now), added arealoot with some bothering of Playtester, and started tweaking some renewal content. I've managed to get what I feel are some decent tweaks to New World, Dicastes, Mora, Old Glast Heim and Dewata. I implemented the pre-renewal Brasilis with some minor modifications. I've implemented all renewal cards, excluding maybe four or so. The amount of random tweaks I've made to this server I feel really make it stand out but I'm too worried, anxious and just scared to release it. I came close one time but then maintaining a website, finding the correct server to host it on and just the pressure of being an official admin was too much and I canceled. My changelog is pretty detailed and I've been adamant about making sure I write down every change or fix I make to the server. If you'd like to discuss, especially my unfinished ideas, I'm glad to hear feedback. Here's the link: https://pastebin.com/YCf0vnXp
  4. I think that requires src modifications.
  5. If I want to talk about a server I've been working on for years, is that allowed? I honestly doubt I'll ever officially open it but it would help with feedback, as I can get tunnel visioned after not having anybody to talk to my ideas about
  6. I've been trying to get a new status effect I've called SC_BIFROST for Mora Berry and I'm not sure what I'm doing wrong. I figured I'll implement it in the same vein as Pinguicula's Fruit Jam and such items. I've done the following: battle.c: if (bl->type == BL_MOB) { uint8 i; if ( ((sce=sc->data[SC_MANU_ATK]) && (flag&BF_WEAPON)) || ((sce=sc->data[SC_MANU_MATK]) && (flag&BF_MAGIC)) ) { for (i=0;ARRAYLENGTH(mob_manuk)>i;i++) { if (((TBL_MOB*)bl)->mob_id==mob_manuk[i]) { damage += damage * sce->val1 / 100; break; } } } if ( ((sce=sc->data[SC_SPL_ATK]) && (flag&BF_WEAPON)) || ((sce=sc->data[SC_SPL_MATK]) && (flag&BF_MAGIC)) ) { for (i=0;ARRAYLENGTH(mob_splendide)>i;i++) { if (((TBL_MOB*)bl)->mob_id==mob_splendide[i]) { damage += damage * sce->val1 / 100; break; } } } if ( (sce=sc->data[SC_BIFROST]) ) { for (i=0;ARRAYLENGTH(mob_bifrost)>i;i++) { if (((TBL_MOB*)bl)->mob_id==mob_bifrost[i]) { damage += damage * sce->val1 / 100; break; } } } } battle.c2: if (src->type == BL_MOB) { int i; if (sc->data[SC_MANU_DEF]) { for (i=0;ARRAYLENGTH(mob_manuk)>i;i++) { if (mob_manuk[i]==((TBL_MOB*)src)->mob_id) { damage -= damage * sc->data[SC_MANU_DEF]->val1 / 100; break; } } } if (sc->data[SC_SPL_DEF]) { for (i=0;ARRAYLENGTH(mob_splendide)>i;i++) { if (mob_splendide[i]==((TBL_MOB*)src)->mob_id) { damage -= damage * sc->data[SC_SPL_DEF]->val1 / 100; break; } } } if (sc->data[SC_BIFROST]) { for (i=0;ARRAYLENGTH(mob_bifrost)>i;i++) { if (mob_bifrost[i]==((TBL_MOB*)src)->mob_id) { damage -= damage * sc->data[SC_BIFROST]->val1 / 500; break; } } } } status.c: StatusIconChangeTable[SC_MANU_ATK] = SI_MANU_ATK; StatusIconChangeTable[SC_MANU_DEF] = SI_MANU_DEF; StatusIconChangeTable[SC_SPL_ATK] = SI_SPL_ATK; StatusIconChangeTable[SC_SPL_DEF] = SI_SPL_DEF; StatusIconChangeTable[SC_MANU_MATK] = SI_MANU_MATK; StatusIconChangeTable[SC_SPL_MATK] = SI_SPL_MATK; StatusIconChangeTable[SC_BIFROST] = SI_BIFROST; status.c2: case SC_MANU_DEF: case SC_MANU_ATK: case SC_MANU_MATK: val2 = 1; // Manuk group break; case SC_SPL_DEF: case SC_SPL_ATK: case SC_SPL_MATK: val2 = 2; // Splendide group break; case SC_BIFROST: val2 = 3; break; status.h: SC_BIFROST, SC_MAX, status.h2: SI_BIFROST = 1018, SI_MAX, Inserted it into three points where it is also implemented in skill.c under Banishing Buster, Dispell and Clearance. mob.c: const int mob_manuk[20] = { MOBID_TATACHO, MOBID_CENTIPEDE, MOBID_NEPENTHES, MOBID_HILLSRION, MOBID_HARDROCK_MOMMOTH, MOBID_G_TATACHO, MOBID_G_HILLSRION, MOBID_CENTIPEDE_LARVA, MOBID_HORN_SCARABA, MOBID_HORN_SCARABA2, MOBID_ANTLER_SCARABA, MOBID_RAKE_SCARABA, MOBID_QUEEN_SCARABA, MOBID_HORN_SCARABA_EGG, MOBID_HORN_SCARABA2_EGG, MOBID_ANTLER_SCARABA_EGG, MOBID_RAKE_SCARABA_EGG, MOBID_DOLOMEDES, MOBID_G_ANTLER_SCARABA, MOBID_G_RAKE_SCARABA }; const int mob_splendide[17] = { MOBID_TENDRILRION, MOBID_CORNUS, MOBID_NAGA, MOBID_LUCIOLA_VESPA, MOBID_PINGUICULA, MOBID_LOST_DRAGON, MOBID_POM_SPIDER, MOBID_ANGRA_MANTIS, MOBID_PARUS, MOBID_LITTLE_FATUM, MOBID_MIMING, MOBID_DRACO, MOBID_DRACO_EGG, MOBID_PINGUICULA_D, MOBID_AQUA_ELEMENTAL, MOBID_RATA, MOBID_DUNEYRR }; const int mob_bifrost[6] = { MOBID_POM_SPIDER, MOBID_LOST_DRAGON, MOBID_ANGRA_MANTIS, MOBID_PARUS, MOBID_LITTLE_FATUM, MOBID_MIMING }; mob.h: extern const int mob_manuk[20]; extern const int mob_splendide[17]; extern const int mob_bifrost[6]; itemdb: 12574,Mora_Berry,Mora Berry,2,1000,,50,,,,,0xFFFFFFFF,7,2,,,,,,{ specialeffect2 EF_POTION_BERSERK; sc_start SC_BIFROST,1800000,250; },{},{} Pinguicula's Fruit Jam and those items work fine after the modifications I made to them but this new one doesn't. Am I missing a spot I should have added some lines of code to?
  7. Oh, that's unfortunate. Thanks.
  8. I repurposed an old item, item ID 542, to be another usable item that heals the player. Currently the item has a rising white aura effect on use. How do I change the effect to something like an orange potion's orange splash on use?
  9. While doing the sign quest, no alterations to the script, and I got this error when trying to spam enter during the queen of the dead's spam of effects, where she gives you the Lucifer's Lament, (see picture below) in the console. This bug made it so that I was not able to continue the dialog and the client became unresponsive, requiring a relog to be able to function again. Going back to the Queen of the dead and re-talk to her did not see a repeat of this error. Can this just randomly happen every now and then?
  10. Figured it out. Turns out if your Message_Size was larger than default, 79 + 1, it crashed your map server.
  11. Git Hash: 27e90f8f455c849ba919f85d9521f1126e6af29a Client: 2013-08-07
  12. When I try to open a buying store, my map server crashes giving me the error: --------------------------- Microsoft Visual C++ Runtime Library --------------------------- Debug Error! Program: ...s\User\Desktop\Jordan's Folder\Backups\rathena\map-server.exe Module: ...s\User\Desktop\Jordan's Folder\Backups\rathena\map-server.exe File: c:\users\user\desktop\jordan's folder\backups\rathena\src\map\clif.c Line: 16826 Run-Time Check Failure #2 - Stack around the variable 'buf' was corrupted. (Press Retry to debug the application) --------------------------- Abort Retry Ignore --------------------------- And the code it is pointing out in clif.c is: void clif_buyingstore_entry(struct map_session_data* sd) { uint8 buf[86]; WBUFW(buf,0) = 0x814; WBUFL(buf,2) = sd->bl.id; memcpy(WBUFP(buf,6), sd->message, MESSAGE_SIZE); clif_send(buf, packet_len(0x814), &sd->bl, AREA_WOS); } < Line 16826 Any ideas? I have no idea why it's doing it.
  13. If the title was confusing, I will elaborate. When you kill a mob and that mob has 0 experience, the player will gain 1 experience instead of not gaining any. Is there a way to remove this 1 experience gain?
  14. Hiya. I'm not sure why this happens but when Sharp Shooting has a cast time, you will see the words "Sharp Shooting" above the character's head on usage but when Sharp Shooting does not have a cast time, you will see nothing displayed above the character's head on usage.
  15. Hey. When a player is a 3rd job class that is above 99 and then you change that player into a 2nd job, @job will reset their stats. Is there a way to avoid this? I figured it out. Close please~