Kokotewa

Corrections

Ragnarok Online has many errors, localizations, and regional differences. Consequently, it is beneficial to provide commentary where our presentation differs from the community consensus. Significant deviations, with appropriate context, are discussed here.

Translation Corrections

These corrections address translation and localization errors including: inaccurate & inconsistent translation, typographical oversights, ambiguous wording, and culturally insensitive terminology. In most cases, remediation is limited to a single character or word and is self explanatory. Although remediation examples are provided, all remediations are not documented to completion as there is limited consensus between regions and releases (read: what constitutes a remediation is not readily apparent). Two broader remediations, Gypsy → Starlet and Undead → Decay, are discussed in detail.

Gypsy is increasingly interpreted as an offensive classification with negative connotations. To remediate this, we have relabeled Gypsy (job) to Starlet. This is descriptive of an attractive performer with fame aspirations and closely aligns with the job theming.

Though still frequently encountered in English, use of the term Gypsy to refer to Roma people or their language is increasingly regarded as offensive because of negative stereotypes associated with that term. Although Gypsy is sometimes used as a neutral or positive self-descriptor, it is recommended that those for whom it is not a self-descriptor use Roma or Romani/Romany instead. Other uses of gypsy are also increasingly understood as offensive, including the general "wanderer" meaning of the noun and the related meaning of the verb gypsy, as well as compound terms, such as gypsy moth and gypsy cab. The word gyp, which probably originated as a shortened form of Gypsy, has noun and verb meanings relating to cheating and swindling that are widely considered offensive.

- Merriam-Webster

Undead cryptically referred to both a Race and an Element. To remediate this, we have relabeled Undead (Element) to Decay. This is necessary to avoid ambiguity when documenting item and skill behavior. As an illustration, consider parsing the following item lists without this disambiguation.

Monster, skill, and item remediation examples are detailed below.

Monsters

Hellhound → Hell Poodle Hell Vesper → Hell Apocalypse Iceicle → Icicle Thorny Skeleton → Thorn of Bone Heirozoist → Hylozoist Side Winder → Sidewinder Poisonous Toad → Poison Toad Kapha → Kappa

Skills

Enlarge Weight Limit → Increase Weight Limit Improve Dodge → Increase Dodge Stone Fling → Throw Stone Venom Knife → Throw Venom Knife Tomahawk Throwing → Throw Tomahawk Smith Knucklebrace → Smith Knuckle Smith Sword → Smith 1H Sword Smith Two Handed Sword → Smith 2H Sword Iron Tempering → Smith Iron Steel Tempering → Smith Steel Enchantedstone Craft → Smith Enchanted Stone Alchemical Weapon → Protect Weapon Synthesized Shield → Protect Shield Synthetic Armor → Protect Armor Biochemical Helm → Protect Helm Gypsy's Kiss → Starlet's Kiss Fist Master Spirit → Taekwon Master Spirit Spiritual Sphere Absorption → Spirit Sphere Absorption Intimidate → Imitate Lightening Bolt → Lightning Bolt Fire Ball → Fireball Water Ball → Waterball Dispell → Dispel Hocus pocus → Hocus Pocus B.S Sacramenti → B.S. Sacramenti Back Slide → Backslide Back Stab → Backstab Power Cord → Power Chord Bull's Eye → Bullseye

Items

Amblem of the Sun God → Emblem of the Sun God Denture from Dragon Mask → Dragon Mask Dentures Darkred Scale Piece → Dark Red Scale Cookbook Lv 1 ... 10 → Cookbook Vol. 1 ... 10 Folding Fan of Cat Ghost → Folding Fan Free Ticket for Kafra Storage → Free Storage Voucher Free Ticket for Kafra Transportation → Free Transit Voucher Free Ticket for Kafra Cart Service → Free Pushcart Voucher Mould Powder → Mold Powder Magic Bible Vol1 → Magic Bible Tristran III → Tristan III Base Guitar → Bass Guitar Blood Tears → Bloody Tears Whip (1952, 1953) → Wire Whip Whip (1960, 1961) → Leather Whip Andre Egg Card → Ant Egg Card Arclouze Card → Arclouse Card Apocalipse Card → Apocalypse Card Chraben Card → Kraben Card Detardeurus Card → Detale Card Egnigem (MVP) Card → Swordman Card Randgris Card → Valkyrie Randgris Card Samurai Spector Card → Samurai Specter Card Savage Bebe Card → Savage Babe Card Stalatic Card → Stalactic Golem Card Tower Keeper Card → Clock Tower Manager Card Zombie Slaughter Card → Zombie Slaughterer Card

Monster Corrections

These corrections address errors in monster definitions, summons, and skills.

BACSOJIN & CHUNG_E

This correction details an error in BACSOJIN & CHUNG_E monster STR IDs.

White Lady (BACSOJIN & BACSOJIN_) and Green Maiden (CHUNG_E & CHUNG_E_) have an interesting and nuanced history. Although originally introduced in episode 8.5 as BACSOJIN (1518) and CHUNG_E (1519), these monsters did not observe a map definition until episode 10.2 as BACSOJIN_ (1630) and CHUNG_E_ (1631). The initial monster STR IDs, BACSOJIN and CHUNG_E, were not referenced as monster spawns. Despite this, the Green Maiden monster tame (Tantan Noodle), obtained from White Lady and Green Maiden, referenced the initial monster STR ID (CHUNG_E). Consequently, Green Maiden Egg (Chung_E_Egg) could not be obtained legitimately.

The remediation is to reconcile the monster STR IDs BACSOJIN_ → BACSOJIN and CHUNG_E_ → CHUNG_E to restore monster tame functionality.

G_THA_ODIUM

This correction details an error in G_THA_ODIUM Recovery Motion Time (RMT).

"Ghost" monsters, often identified by a G_ STR ID prefix, have mirrored stat blocks relative to their normal counterparts but yield limited experience and item rewards on defeat. Common uses for ghost monsters include summoned or quest enemies where replicas are used to place emphasis on boss or quest reward while maintaining difficulty. All Thanatos monsters share this characteristic with the exception of Thanatos Odium, which has an irregular recovery motion time (RMT) and consequently a faster attack speed (ASPD). It can be inferred that this discrepancy originates from a copy-paste error as G_THA_ODIUM shares a RMT value with THANATOS instead of THA_ODIUM.

The remediation is to reconcile G_THA_ODIUM RMT to THA_ODIUM RMT.

MONSTER HP ATK1 ATK2 DEF RMT AMT
THA_DOLOR 59,922 1,392 700 21 160 672
G_THA_DOLOR 59,922 1,392 700 21 160 672
THA_MAERO 62,000 2,022 266 29 160 480
G_THA_MAERO 62,000 2,022 266 29 160 480
THA_DESPERO 86,666 2,182 900 38 160 528
G_THA_DESPERO 86,666 2,182 900 38 160 528
THA_ODIUM 72,389 2,100 700 68 432 288
G_THA_ODIUM 72,389 2,100 700 68 115 288
THANATOS 445,660 3,812 3,671 35 115 816

THIEF_BUG__

This correction details an error in THIEF_BUG__ Skills.

Although THIEF_BUG, THIEF_BUG_, and THIEF_BUG__ all know AGI UP, it is only cast in the MOVEITEM_ST or "looter" state (AI Type 7). As THIEF_BUG__ cannot enter AI Type 7, it cannot cast the skill. This can lead to a misinterpretation of monster behavior, as there are documented inaccessible paths.

The remediation is to remove the AGI UP skill from the THIEF_BUG__ AddSkillInfo list.

Map Corrections

Blocked MvP+ Map Ice Wall Availability

This correction details errors in Ice Wall skill availability on MvP+ maps.

Through the "Ice Wall lock", it is possible to trivialize content to the extent any monster can be defeated by one or two players. Although this skill behavior was undesirable, it was not addressed by developers, and each region was independently responsible for remediation. This resulted in region-dependent corrections and timelines.

Ice Wall was not used to trivialize content in the east. However, it was (mostly) unimpeded in the west, e.g. on International Ragnarok Online or iRO. This eventually changed on 2012 July 31 when Ice Wall was blocked on iRO Classic:Loki. Heimdallr, the iRO community manager, provided the following commentary regarding the change.

I'm curious about what better solution there is for Ice Wall. The options that I saw available were only two and admittedly both not "good" but at least [one] would work.

  1. Make specific maps restrict Ice Wall (this is what happened)
  2. Remove Ice wall from the game, readjust Wizard skill tree and refund skill points appropriately.

Ice Wall is invincible to monsters (players can beat it down) but monsters literally treat it as an invincible block of "no walk zone". We experimented for 3 weeks with Valkyrie Randgris trying to get her to avoid, break, or otherwise bypass Ice Walls. And nothing worked, even Grimtooth (direct damage), Earthquake, Heaven's Drive, etc. don't actually damage. Nor can we make the MVPs jump over, Snap, Backslide, or otherwise skip the Ice Wall, this is due to their "no knockback" property that boss monsters have. And worse we can't get the MVP to even detect Ice Wall being cast as it isn't targeted at the MVP nor have an area effect going down on them. I think making the MVPs not boss property would open up way more exploits like status ailments and stealing which would make everything problematic more so than removing Ice Wall.

We did discuss changing Ice Wall with the development team, and it wasn't seen as feasible/worthwhile as only our community uses it as a turn MVPs inert skill. With all these variables here we didn't have too many other options remaining but to either let chump killing the bleeding punching bags that the MVPs were, or limit an option.

I love Ice Wall when its use was to protect the party, i.e. create a barrier. But that barrier idea all too often became a "screw up the monster AI thing" or worse lets force teleport the monster to annoy the other group. Neither of these things are a challenge, neither is actually fighting the MVP, it is just farming a monster at that point. Plus the amount of reports we get of the MVP losers Ice Wall all over the MVP drops so the other group can't pick [them] up was ridiculous. I suppose I could set MVPs then when idle to just continually send people away every .1 seconds that way the party could never approach it when it is idle (meaning you can't hide behind Ice Wall or risk it going idle). We did this with Valk by making her Jupitel Thunder and Spear Boomerang when she wasn't otherwise engaged, but it didn't help very much [and] she still died like a punk.

- Heimdallr (2012, August 07). Patch Notes for Classic: Loki. WarpPortal Forums.

This presents a clear insight into what is, and is not, desired game play. I.e. Players can use Ice Wall to isolate enemies but cannot use it to trivialize content. This is in alignment with the east, where Ice Wall is not permitted where it would significantly reduce the number of players required to complete content.

The remediation is to block Ice Wall on high end content maps.

Blocked PvP Map Item Scripts (Uninterruptible Cast)

This correction details errors in uninterruptible cast blocked item scripts on PvP maps.

In organized PvP maps, e.g. Battlegrounds and War of Emperium, uninterruptible cast or, the "phen effect", is disabled. To complement this, related item scripts are blocked on the appropriate map types. It is notable that their inclusion does not present the uninterruptible cast block, this is defined by the map type, rather it blocks other effects (e.g. Cast Time +%) associated with the item scripts. It is suspected that the intent behind their inclusion is that if the beneficial effects were blocked, the detrimental effects should be blocked as well.

However, although all uninterruptible cast items were included within the block equipitem list on release, this list was not maintained. Consequently, although new items did not grant uninterruptible cast on organized PvP maps, they continued to impose their other detrimental effects. An excerpt from the maptype 8 (WoE 1) map definition is presented below.

The remediation is to amend the map type definitions for organized PvP maps to include other uninterruptible cast item scripts.

MAPTYPE 8 // Guild Fort { ... // Disable Phen Effects ADD_BLOCK_EQUIPITEM("Phen_Card"); // Phen Card ADD_BLOCK_EQUIPITEM("Blood_Butterfly_Card"); // Bloody Butterfly Card //The following line was missing //ADD_BLOCK_EQUIPITEM("Orleans_Gown"); // Orlean's Gown ... }

Fixed Spawn Locations

This correction details errors in fixed monster spawn locations.

Monster spawn locations are defined by four parameters: x_init, y_init, x_var, and y_var. Generalizing monster spawn behavior, x_init and y_init define the initial monster spawn position and x_var and y_var define variance from that position. If x_init, y_init, x_var, and y_var are 0, the monster may spawn on any cell except within 15 cells of the map edge. If non-zero, the monster can spawn on any cell within the defined area except within 15 cells of the map edge. If an invalid, e.g. non-walkable or map-edge adjacent cell is selected, the monster will spawn on a random cell instead.

Some monster fixed spawn definition locations, i.e. spawn definitions without variance (x_var & y_var == 0), result in exclusively invalid locations. For example, a monster definition may result in a monster always spawning within a wall or other non-walkable cell. As previously described, the result of the aforementioned definitions would be a random spawn location.

The remediation is to shift invalid fixed spawn definitions with reference to in game objects. Shifted definitions are detailed below.

c_tower4

//x-8 to avoid invalid cell (within wall) //putmob "c_tower4" 98 180 0 0 1 RIDEWORD 300000 150000 1 //x-44, y-4 to avoid invalid cell (out of bounds) //putmob "c_tower4" 257 109 0 0 1 MIMIC 1800000 900000 1

gl_knt01

//Must be regenerated by script instead of respawn timer due to "no spawn zone" along map edge //putmob "gl_knt01" 4 184 0 0 1 BLACK_MUSHROOM 3600000 1800000 1 //putmob "gl_knt01" 4 185 0 0 1 BLACK_MUSHROOM 3600000 1800000 1

iz_dun03

//x-3 to avoid invalid cell (within wall) //putmob "iz_dun03" 203 59 0 0 1 HYDRA 312000 150000 0 //putmob "iz_dun03" 203 56 0 0 1 HYDRA 323000 150000 0 //putmob "iz_dun03" 203 53 0 0 1 HYDRA 317000 150000 0 //putmob "iz_dun03" 203 50 0 0 1 HYDRA 323000 150000 0 //putmob "iz_dun03" 203 47 0 0 1 HYDRA 305000 150000 0 //putmob "iz_dun03" 204 60 0 0 1 HYDRA 304000 150000 0 //putmob "iz_dun03" 204 57 0 0 1 HYDRA 302000 150000 0 //putmob "iz_dun03" 204 54 0 0 1 HYDRA 310000 150000 0 //putmob "iz_dun03" 204 51 0 0 1 HYDRA 309000 150000 0 //putmob "iz_dun03" 204 48 0 0 1 HYDRA 313000 150000 0 //y-3 to avoid invalid cell (within wall) //putmob "iz_dun03" 191 144 0 0 1 HYDRA 321000 150000 0 //putmob "iz_dun03" 194 144 0 0 1 HYDRA 316000 150000 0 //putmob "iz_dun03" 197 144 0 0 1 HYDRA 296000 150000 0 //putmob "iz_dun03" 200 144 0 0 1 HYDRA 282000 150000 0 //putmob "iz_dun03" 203 144 0 0 1 HYDRA 310000 150000 0 //putmob "iz_dun03" 206 144 0 0 1 HYDRA 305000 150000 0 //putmob "iz_dun03" 209 144 0 0 1 HYDRA 308000 150000 0 //putmob "iz_dun03" 212 144 0 0 1 HYDRA 321000 150000 0 //putmob "iz_dun03" 193 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 196 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 199 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 202 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 205 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 208 143 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun03" 211 143 0 0 1 HYDRA 300000 150000 0 //x-3, y-5 to avoid invalid cell (within wall) //putmob "iz_dun03" 176 260 0 0 1 HYDRA 300000 150000 0 //y+4 to avoid invalid cell (within wall) //putmob "iz_dun03" 180 251 0 0 1 HYDRA 300000 150000 0

iz_dun04

//y-3 to avoid invalid cell (within wall) //putmob "iz_dun04" 79 246 0 0 1 HYDRA 300000 150000 0 //putmob "iz_dun04" 80 246 0 0 1 HYDRA 294000 150000 0 //y+2,3 to avoid invalid cell (within wall) //putmob "iz_dun04" 79 234 0 0 1 HYDRA 302000 150000 0 //putmob "iz_dun04" 80 233 0 0 1 HYDRA 318000 150000 0

treasure01

//x+2 182 to avoid invalid cell (within wall) //putmob "treasure01" 60 182 0 0 1 HYDRA 313000 100000 1 //x-3 to avoid invalid cell (within wall) //putmob "treasure01" 78 182 0 0 1 HYDRA 269000 100000 1

Item Corrections

These corrections address errors in item definitions and scripts.

Cursed Items

This correction details an error in cursed items.

Items that negatively affect the user by chance, or cursed items, do not function as intended. Due to status application caveats and item script function limitations the curse application rate is either skipped, negligible (too low), or considerable (too high). Skipped, negligible, and considerable examples are detailed below.

Skipped

The curse application chance is skipped if the user performs a ranged attack. Consider Ice Falchion, a cursed item that applies Freeze to the user by 0.1% chance. Abnormal status by chance for melee and ranged attacks is defined using the AddState_MLEATK and AddState_RANGEATK functions respectively. While AddState_MLEATK supports parameterization for the status destination (user or target), AddState_RANGEATK does not (target only). Consequently, AddState_RANGEATK cannot be used to apply status to the user (a curse) on ranged attacks. It is expected that the designers intended a symmetrical solution but were limited by available functions.

# Ice Falchion Script (truncated) event OnStartEquip: ... AddState_MLEATK User BODYFreezing 1 AddState_MLEATK Target BODYFreezing 50 AddState_RANGEATK BODYFreezing 50 return # Status Functions & Supported Arguments AddState_MLEATK(destination, status, chance) AddState_RANGEATK(status, chance)

Negligible

The curse application rate is negligible (never) if the base rate is small. Consider Specialty Jur, a cursed item that applies Bleed to the user by 0.1% chance and the accompanying status function. As the source and target are the same, the level difference component cancels out (bLV - bLV). Thus, even with minimal (1) VIT and LUK, the curse cannot affect the user as these attributes are sufficient in negating the 0.1% base chance. It is expected that the developers did not intend to implement a curse that never applies.

# Specialty Jur Script event OnStartEquip: AddState_MLEATK User HEALTHBlooding 1 return # Bleed Application Chance chance = base_chance * (1 - vittar / 100) - (base_lvtar - base_lvsrc) / 10 - luktar / 10 chance = 0.1 * (1 - 1 / 100) - 1 / 10 chance = 0%

Considerable

The curse application rate is considerable (10~100x base rate) if the target's base level does not mitigate the status application chance. Consider Muramasa, a cursed item that applies Curse to the user by 0.1% chance and the accompanying status function. As the target's level does not contribute to the status application rate, the curse rate scales linearly with user level, e.g. for a 1 LUK character at bLV 25:2.51%, 50:5.01%, 75:7.51%, and 99:10.00%. It is expected that the developers did not intend to implement a curse that applies up to 100x more frequently than defined.

# Muramasa Script event OnStartEquip: AddExtParam User VAR_CRITICALSUCCESSVALUE 300 AddExtParam User VAR_PLUSASPDPERCENT 8 AddState_MLEATK User HEALTHCurse 1 return # Curse Application Chance (bLV 99) chance = base_chance * (1 - luktar / 100) + base_lvsrc / 10 - luktar / 10 chance = 0.1 * (1 - 1 / 100) + 99 / 10 - 1 / 10 = 9.999%

Remediation

The remediation is to amend the cursed item scripts to decouple the curse rate from the curse status through adoption of the Weapon Activation design pattern. With this pattern, the curse rate and curse status are defined by SetAutoWeapon and OnActiveWeapon blocks respectively. In this fashion, the curse rate (SetAutoWeapon) is independent of character attributes (e.g. bLV, LUK), however the curse status (OnActiveWeapon) remains dependent on these attributes.

# Remediated Ice Falchion Script (truncated) event OnStartEquip: ... AddState_MLEATK Target BODYFreezing 50 AddState_RANGEATK BODYFreezing 50 //AddState_MLEATK User BODYFreezing 1 // Curse User on 0.1% of Physical Attacks SetAutoWeapon Ice_Falchon 1 1 return event OnActiveWeapon: // Freeze User for 12 Seconds by 100% Chance Condition BODYFreezing 12 1000 ShowEffect "" EF_FREEZING return # Related Functions & Supported Arguments SetAutoWeapon(chance, duration) Condition(status, duration, chance)

Guarana Candy

This correction details an inconsistency in the Guarana Candy script.

Sources differ on whether the user should benefit from Increase AGI 5 after consuming Guarana Candy. Although the Brazil Ragnarok Online (bRO) documented the effect on their website, the effect is missing from the item script from the Brasilis release. The effect is present in an earlier release, however this release is missing other Brasilis item definitions (e.g. Hydra Ball), which indicates the effect was removed later in development. In reflection, unrestricted access to Increase AGI (which dispels Decrease AGI) would significantly alter game play dynamics and is suggestive to why it was removed.

Uma deliciosa bala típica feita de Guaraná. Carrega consigo as propriedades energéticas da fruta. Aumenta um pouco a velocidade de ataque e conjura a habilidade Aumentar Agilidade em nível 5.

- Level Up Games (2012, October 31). Venha conhecer Brasilis. Universo Online.

item Guarana_Candy event OnConsume: Condition EFFECTHasteAttack 1800 10 //This line was removed //SkillToMe AL_INCAGI 5 return

Lance_

This correction details an error in Lance_ slots.

There are many items with distinct IDs, but identical names, that differ mechanically. An item ID suffixed with a _ will present an increased number of slots, e.g. Knife_ and Knife correspond to Knife [4] and Knife [3] respectively. The community refers to these items as "slotted" and "normal" variants, we adopt this terminology here. Unlike the normal variant, the slotted variant cannot be purchased from NPC shops and are exclusive to monster drop and make_item tables.

There is an exception to the above convention, Lance_, which does not present additional slots relative to its normal variant. Given the aforementioned observations, it is expected that Lance_ was omitted from the slot augmentation presented to _ items. Comparing Lance with Claymore, another item with similar characteristics (see table), 2 slots is appropriate. The Claymore and Lance attributes, as well as Old Blue Box (OBB) and Old Purple Box (OPB) make_item tables, are presented below.

The remediation is to amend Lance_ to have 2 card slots.

Claymore vs. Lance

ClaymoreLance
ATK180185
Wpn.Lv33
Req.Lv3333
Weight250250
JobSwordmanSwordman
Slots0 → 20 → ?

OBB Table

Guisarme
3 entries
Guisarme_
3 entries
Glaive
3 entries
Glaive_
3 entries
Partizan
3 entries
Partizan_
3 entries
Trident
3 entries
Trident_
3 entries
Halberd
3 entries
Halberd_
3 entries
Lance
3 entries
Lance_
3 entries

OPB Table

Guisarme_
7 entries
Glaive_
7 entries
Partizan_
7 entries
Trident_
7 entries
Halberd_
7 entries
Lance_
7 entries

Lava Golem Card

This correction details an error in Lava Golem Card unequip script.

The Lava Golem Card script which does not reduce damage to Bradium Golems on unequip. By repeatedly equipping and unequipping an item compounded with the card to repeatedly benefit from the physical damage bonus. This enabled the trivialization of content, as characters can easily dispatch enemies without difficulty. The Lava Golem Card script is presented below.

The remediation is to amend the item script to remove the damage bonus on unequip.

event OnStartEquip: AddDamage_Name Target GOLEM 30 AddDamage_Name Target STALACTIC_GOLEM 30 AddDamage_Name Target LAVA_GOLEM 30 AddDamage_Name Target WOODEN_GOLEM 30 AddDamage_Name Target BRADIUM_GOLEM 30 return event OnFinishEquip: SubDamage_Name Target GOLEM 30 SubDamage_Name Target STALACTIC_GOLEM 30 SubDamage_Name Target LAVA_GOLEM 30 SubDamage_Name Target WOODEN_GOLEM 30 //The following line was missing //SubDamage_Name Target BRADIUM_GOLEM 30 return

Magic Bible

This correction details an error in Magic Bible applicable jobs.

The Magic Bible was introduced as part of an itemization block modeled after promotional artwork for transcendent jobs. However, unlike other items within the block, it was not restricted to transcendent jobs. This is inconsistent not only with other items within the aforementioned itemization block, but also with the design practice to avoid introducing "strictly better" items without transcendent restrictions. The aforementioned promotional artwork, and representative items, are presented below.

The remediation is to restrict Magic Bible to transcendent jobs.

Parasite Card & Harpy Card

This correction details an error in Parasite Card and Harpy Card damage reduction scope.

The Parasite Card and Harpy Card scripts do not accurately correlate to their item descriptions. It is expected that, due to a miscommunication between the game designer and game developer originating to similarities between Formless (RACE_Nothing) and Neutral (PROPERTY_Nothing) terminology, the item originally reduced damage from Formless enemies instead of Neutral attacks. This error was later addressed in renewal. The related episodic excerpts from the related item scripts are presented below.

The remediation is to amend the item scripts to reduce damage from Neutral attacks instead of Formless enemies.

$ grep -rn "Parasite_Card" -A13 . | grep "Tolerace" ./10.0/special.sc AddRaceTolerace RACE_Nothing 5 ./10.2/special.sc AddRaceTolerace RACE_Nothing 5 ./11.3/special.sc AddRaceTolerace RACE_Nothing 5 ./12.0/special.sc AddRaceTolerace RACE_Nothing 5 ./13.2/special.sc AddRaceTolerace RACE_Nothing 5 ./18.0/special.sc AddAttrTolerace PROPERTY_Nothing 5

$ grep -rn "Harpy_Card" -A13 . | grep "Tolerace" ./10.0/special.sc AddRaceTolerace RACE_Nothing 15 ./10.2/special.sc AddRaceTolerace RACE_Nothing 15 ./11.3/special.sc AddRaceTolerace RACE_Nothing 15 ./12.0/special.sc AddRaceTolerace RACE_Nothing 15 ./13.2/special.sc AddRaceTolerace RACE_Nothing 15 ./18.0/special.sc AddAttrTolerace PROPERTY_Nothing 15

Ragnarok Online © Gravity Corp. & Lee Myoungjin
Kokotewa ©