rodecomp/Source/Contents/Effects/RagEffectResourceSelection.cpp
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

676 lines
15 KiB
C++

#include "Contents/Effects/RagEffectInitialization.h"
#include "Contents/Effects/RagEffectState.h"
#include "Contents/Configuration/ServiceOptions.h"
#include <cstdio>
#include <cstdlib>
// ORIGINAL_SITE: 0x00C1C359 in fn_20074 (fragment)
void SelectRagEffectResource(RagEffectState& effect, ServiceOptions& options, char* name) {
name[0] = '\0';
switch (effect.id) {
case 10:
std::sprintf(name, options.Get(229) != 0 ? "memor_min.str" : "Maemor.str");
break;
case 13:
case 315:
std::sprintf(name, "SafetyWall.str");
break;
case 23:
case 195:
std::sprintf(name, "StoneCurse.str");
break;
case 25:
std::sprintf(name, "Firewall%d.str", std::rand() % 2 + 1);
break;
case 29:
std::sprintf(name, "Lightning.str");
break;
case 30:
std::sprintf(name, "ThunderStorm.str");
break;
case 40:
std::sprintf(name, "Cross.str");
break;
case 41:
case 717:
std::sprintf(name, options.Get(229) != 0 ? "jong_mini.str" : "Angelus.str");
break;
case 49:
case 603:
std::sprintf(name, "FireHit%d.str", std::rand() % 3 + 1);
break;
case 52:
std::sprintf(name, "WindHit%d.str", std::rand() % 3 + 1);
break;
case 64:
std::sprintf(name, "ArrowShot.str");
break;
case 65:
std::sprintf(name, "Invenom.str");
break;
case 66:
std::sprintf(name, options.Get(229) != 0 ? "cure_min.str" : "Cure.str");
break;
case 67:
std::sprintf(name, "Provoke.str");
break;
case 68:
std::sprintf(name, "Mvp.str");
break;
case 69:
std::sprintf(name, "SkidTrap.str");
break;
case 70:
std::sprintf(name, "Brandish.str");
break;
case 75:
std::sprintf(name, options.Get(229) != 0 ? "gloria_min.str" : "Gloria.str");
break;
case 76:
std::sprintf(name, options.Get(229) != 0 ? "magnificat_min.str" : "Magnificat.str");
break;
case 77:
std::sprintf(name, options.Get(229) != 0 ? "resurrection_min.str" : "Resurrection.str");
break;
case 78:
std::sprintf(name, "Recovery.str");
break;
case 83:
std::sprintf(name, "Sanctuary.str");
break;
case 84:
std::sprintf(name, "Impositio.str");
break;
case 85:
std::sprintf(name, options.Get(229) != 0 ? "lexaeterna_min.str" : "LexAeterna.str");
break;
case 86:
std::sprintf(name, "Aspersio.str");
break;
case 87:
std::sprintf(name, "LexDivina.str");
break;
case 88:
std::sprintf(name, options.Get(229) != 0 ? "suffragium_min.str" : "Suffragium.str");
break;
case 89:
std::sprintf(name, "StormGust.str");
break;
case 90:
std::sprintf(name, "Lord.str");
break;
case 91:
std::sprintf(name, "Benedictio.str");
break;
case 92:
std::sprintf(name, "Meteor%d.str", std::rand() % 3 + 1);
break;
case 95:
std::sprintf(name, "Quagmire.str");
break;
case 96:
std::sprintf(name, "FirePillar.str");
break;
case 97:
std::sprintf(name, "FirePillarBomb.str");
break;
case 101:
std::sprintf(name, "RepairWeapon.str");
break;
case 102:
std::sprintf(name, "CrashEarth.str");
break;
case 103:
std::sprintf(name, options.Get(229) != 0 ? "WeaponPerfection_min.str" : "WeaponPerfection.str");
break;
case 104:
std::sprintf(name, options.Get(229) != 0 ? "maximize_min.str" : "MaximizePower.str");
break;
case 106:
std::sprintf(name, "BlastMine.str");
break;
case 107:
std::sprintf(name, "Claymore.str");
break;
case 108:
std::sprintf(name, "Freezing.str");
break;
case 109:
std::sprintf(name, "Bubble%d.str", std::rand() % 4 + 1);
break;
case 110:
std::sprintf(name, "GasPush.str");
break;
case 111:
std::sprintf(name, "Spring.str");
break;
case 112:
std::sprintf(name, options.Get(229) != 0 ? "kyrie_min.str" : "Kyrie.str");
break;
case 113:
std::sprintf(name, "Magnus.str");
break;
case 124:
std::sprintf(name, "VenomDust.str");
break;
case 126:
std::sprintf(name, "PoisonReact_1st.str");
break;
case 127:
std::sprintf(name, "PoisonReact.str");
break;
case 129:
std::sprintf(name, "VenomSplasher.str");
break;
case 130:
case 250:
case 369:
std::sprintf(name, "TwoHand.str");
break;
case 131:
std::sprintf(name, "AutoCounter.str");
break;
case 133:
std::sprintf(name, "Freeze.str");
break;
case 134:
std::sprintf(name, "Freezed.str");
break;
case 135:
std::sprintf(name, "IceCrash.str");
break;
case 136:
std::sprintf(name, "slowp.str");
break;
case 139:
std::sprintf(name, "SandMan.str");
break;
case 141:
std::sprintf(name, "Pneuma%d.str", std::rand() % 3 + 1);
break;
case 143:
std::sprintf(name, "SonicBlow.str");
break;
case 144:
std::sprintf(name, "Brandish2.str");
break;
case 145:
std::sprintf(name, "ShockWave.str");
break;
case 146:
std::sprintf(name, "ShockWaveHit.str");
break;
case 147:
std::sprintf(name, "EarthHit.str");
break;
case 148:
std::sprintf(name, "Pierce.str");
break;
case 149:
std::sprintf(name, "Bowling.str");
break;
case 150:
std::sprintf(name, "SpearStab.str");
break;
case 151:
std::sprintf(name, "SpearBoomerang.str");
break;
case 152:
std::sprintf(name, "HolyHit.str");
break;
case 153:
case 750:
std::sprintf(name, "Concentration.str");
break;
case 154:
std::sprintf(name, "bs_RefineSuccess.str");
break;
case 155:
std::sprintf(name, "bs_RefineFailed.str");
break;
case 156:
std::sprintf(name, "JobChange.str");
break;
case 157:
std::sprintf(name, "LevelUP.str");
break;
case 158:
case 337:
std::sprintf(name, "JobLvUP.str");
break;
case 167:
std::sprintf(name, "TamingSuccess.str");
break;
case 168:
std::sprintf(name, "TamingFailed.str");
break;
case 169:
std::sprintf(name, "EnergyCoat.str");
break;
case 170:
std::sprintf(name, "CartRevolution.str");
break;
case 181:
std::sprintf(name, "MentalBreak.str");
break;
case 182:
std::sprintf(name, "magical.str");
break;
case 183:
std::sprintf(name, "sui_explosion.str");
break;
case 185:
std::sprintf(name, "suicide.str");
break;
case 186:
std::sprintf(name, "yunta_1.str");
break;
case 187:
std::sprintf(name, "yunta_2.str");
break;
case 188:
std::sprintf(name, "yunta_3.str");
break;
case 189:
std::sprintf(name, "yunta_4.str");
break;
case 190:
std::sprintf(name, "yunta_5.str");
break;
case 191:
std::sprintf(name, "homing.str");
break;
case 192:
std::sprintf(name, "poison.str");
break;
case 193:
std::sprintf(name, "silence.str");
break;
case 194:
std::sprintf(name, "stun.str");
break;
case 197:
std::sprintf(name, "sleep.str");
break;
case 199:
std::sprintf(name, "Pong%d.str", std::rand() % 3 + 1);
break;
case 204:
std::sprintf(name, "\273\241\260\243\306\367\274\307.str");
break;
case 205:
std::sprintf(name, "\301\326\310\253\306\367\274\307.str");
break;
case 206:
std::sprintf(name, "\263\353\266\365\306\367\274\307.str");
break;
case 207:
std::sprintf(name, "\307\317\276\341\306\367\274\307.str");
break;
case 208:
std::sprintf(name, "\306\304\266\365\306\367\274\307.str");
break;
case 209:
std::sprintf(name, "\303\312\267\317\306\367\274\307.str");
break;
case 210:
std::sprintf(name, "fruit.str");
break;
case 211:
std::sprintf(name, "fruit_.str");
break;
case 213:
std::sprintf(name, "Deffender.str");
break;
case 214:
std::sprintf(name, "Keeping.str");
break;
case 218:
std::sprintf(name, "\301\375\301\337.str");
break;
case 219:
std::sprintf(name, "\260\242\274\272.str");
break;
case 220:
case 756:
std::sprintf(name, "\271\366\274\255\305\251.str");
break;
case 234:
std::sprintf(name, "spell.str");
break;
case 235:
std::sprintf(name, "\265\360\275\272\306\347.str");
break;
case 244:
std::sprintf(name, "\270\305\301\367\267\316\265\345.str");
break;
case 245:
std::sprintf(name, "holy_cross.str");
break;
case 246:
std::sprintf(name, "shield_charge.str");
break;
case 248:
std::sprintf(name, "providence.str");
break;
case 251:
std::sprintf(name, "devotion.str");
break;
case 255:
std::sprintf(name, "enc_fire.str");
break;
case 256:
std::sprintf(name, "enc_ice.str");
break;
case 257:
std::sprintf(name, "enc_wind.str");
break;
case 258:
std::sprintf(name, "enc_earth.str");
break;
case 268:
std::sprintf(name, "steal_coin.str");
break;
case 269:
std::sprintf(name, "strip_weapon.str");
break;
case 270:
std::sprintf(name, "strip_shield.str");
break;
case 271:
std::sprintf(name, "strip_armor.str");
break;
case 272:
std::sprintf(name, "strip_helm.str");
break;
case 273:
std::sprintf(name, "\277\254\310\257.str");
break;
case 305:
std::sprintf(name, "p_success.str");
break;
case 306:
std::sprintf(name, "p_failed.str");
break;
case 311:
std::sprintf(name, "loud.str");
break;
case 371:
std::sprintf(name, "angel.str");
break;
case 372:
case 1033:
std::sprintf(name, "devil.str");
break;
case 390:
std::sprintf(name, "melt.str");
break;
case 391:
std::sprintf(name, "cart.str");
break;
case 392:
std::sprintf(name, "sword.str");
break;
case 406:
std::sprintf(name, "\274\322\277\357\271\370.str");
break;
case 407:
std::sprintf(name, "\273\347\266\367\310\277\260\372.str");
break;
case 440:
std::sprintf(name, "asum.str");
break;
case 491:
std::sprintf(name, "\302\375\275\322\266\261.str");
break;
case 492:
std::sprintf(name, "ramadan.str");
break;
case 507:
std::sprintf(name, "mapae.str");
break;
case 508:
case 612:
std::sprintf(name, "itempokjuk.str");
break;
case 565:
std::sprintf(name, "moonlight_1.str");
break;
case 566:
std::sprintf(name, "moonlight_2.str");
break;
case 567:
std::sprintf(name, "moonlight_3.str");
break;
case 568:
std::sprintf(name, "h_levelup.str");
break;
case 569:
std::sprintf(name, "defense.str");
break;
case 593:
std::sprintf(name, "food_str.str");
break;
case 594:
std::sprintf(name, "food_int.str");
break;
case 595:
std::sprintf(name, "food_vit.str");
break;
case 596:
std::sprintf(name, "food_agi.str");
break;
case 597:
std::sprintf(name, "food_dex.str");
break;
case 598:
std::sprintf(name, "food_luk.str");
break;
case 608:
std::sprintf(name, "cook_suc.str");
break;
case 609:
std::sprintf(name, "cook_fail.str");
break;
case 635:
std::sprintf(name, "fire dragon.str");
break;
case 636:
std::sprintf(name, "icy.str");
break;
case 646:
std::sprintf(name, "\306\256\267\242\305\267.str");
break;
case 649:
std::sprintf(name, "\272\322\275\272\276\306\300\314.str");
break;
case 668:
case 670:
std::sprintf(name, "dfear.str");
break;
case 669:
std::sprintf(name, "wideb.str");
break;
case 677:
std::sprintf(name, "cwound.str");
break;
case 699:
std::sprintf(name, "flower_leaf.str");
break;
case 704:
std::sprintf(name, "mobile_ef02.str");
break;
case 705:
std::sprintf(name, "mobile_ef01.str");
break;
case 706:
std::sprintf(name, "mobile_ef03.str");
break;
case 708:
std::sprintf(name, "storm_min.str");
break;
case 709:
std::sprintf(name, "pokjuk_jap.str");
break;
case 721:
std::sprintf(name, "ado.str");
break;
case 722:
std::sprintf(name, "\300\314\261\327\264\317\274\307\272\352\267\271\300\314\305\251.str");
break;
case 727:
std::sprintf(name, "crimson_r.str");
break;
case 728:
std::sprintf(name, "hell_in.str");
break;
case 731:
std::sprintf(name, "dragon_h.str");
break;
case 734:
std::sprintf(name, "chainlight.str");
break;
case 745:
std::sprintf(name, "aimed.str");
break;
case 746:
std::sprintf(name, "arrowstorm.str");
break;
case 747:
std::sprintf(name, "laulamus.str");
break;
case 748:
std::sprintf(name, "lauagnus.str");
break;
case 749:
std::sprintf(name, "mil_shield.str");
break;
case 795:
std::sprintf(name, "powerswing.str");
break;
case 813:
std::sprintf(name, "enervation.str");
break;
case 814:
std::sprintf(name, "groomy.str");
break;
case 815:
std::sprintf(name, "ignorance.str");
break;
case 816:
std::sprintf(name, "laziness.str");
break;
case 817:
std::sprintf(name, "unlucky.str");
break;
case 818:
std::sprintf(name, "weakness.str");
break;
case 920:
std::sprintf(name, "Firewall_per.str");
break;
case 926:
std::sprintf(name, "hunter_shockwave_blue.str");
break;
case 959:
std::sprintf(name, "poison_mist.str");
break;
case 960:
std::sprintf(name, "eraser_cutter.str");
break;
case 964:
std::sprintf(name, "lava_slide.str");
break;
case 965:
std::sprintf(name, "sonic_claw.str");
break;
case 966:
std::sprintf(name, "tinder.str");
break;
case 967:
std::sprintf(name, "mid_frenzy.str");
break;
case 975:
std::sprintf(name, "vash00.str");
break;
case 987:
std::sprintf(name, "rwc2011.str");
break;
case 988:
std::sprintf(name, "rwc2011_2.str");
break;
case 1006:
std::sprintf(name, "100.str");
break;
case 1015:
std::sprintf(name, "rune_success.str");
break;
case 1016:
std::sprintf(name, "rune_fail.str");
break;
case 1017:
std::sprintf(name, "changematerial_su.str");
break;
case 1018:
std::sprintf(name, "changematerial_fa.str");
break;
case 1019:
std::sprintf(name, "Guardian.str");
break;
case 1020:
std::sprintf(name, "bubble%d_1.str", std::rand() % 4 + 1);
break;
case 1021:
std::sprintf(name, "dust.str");
effect.unknown_11C80 = 10;
break;
case 1029:
std::sprintf(name, "dancingblade.str");
break;
case 1031:
std::sprintf(name, "INVINCIBLEOFF2.str");
break;
case 1040:
std::sprintf(name, "gc_darkcrow.str");
effect.unknown_11C80 = 9999;
break;
case 1042:
std::sprintf(name, "all_full_throttle.str");
break;
case 1043:
std::sprintf(name, "sr_flashcombo.str");
break;
case 1044:
std::sprintf(name, "rk_luxanima.str");
break;
case 1046:
std::sprintf(name, "so_elemental_shield.str");
break;
case 1047:
std::sprintf(name, "AB_OFFERTORIUM.str");
break;
case 1048:
std::sprintf(name, "WL_TELEKINESIS_INTENSE.str");
effect.unknown_11C80 = 9999;
break;
case 1049:
std::sprintf(name, "GN_ILLUSIONDOPING.str");
break;
case 1050:
std::sprintf(name, "NC_MAGMA_ERUPTION.str");
effect.unknown_11C80 = 9999;
break;
case 1055:
std::sprintf(name, "chill.str");
effect.unknown_11C80 = 9999;
break;
case 1057:
std::sprintf(name, "AB_OFFERTORIUM_ring.str");
effect.unknown_11C80 = 9999;
break;
default:
break;
}
}