Module: Lich::Gemstone::Infomon::Parser::Pattern
- Defined in:
- documented/gemstone/infomon/parser.rb
Constant Summary collapse
- CharRaceProf =
Regex patterns grouped for Info, Exp, Skill and PSM parsing - calls upsert_batch to reduce db impact
/^Name:\s+(?<name>[A-z\s'-]+)\s+Race:\s+(?<race>[A-z]+|[A-z]+(?: |-)[A-z]+)\s+Profession:\s+(?<profession>[-A-z]+)/.freeze
- CharGenderAgeExpLevel =
/^Gender:\s+(?<gender>[A-z]+)\s+Age:\s+(?<age>[,0-9]+)\s+Expr:\s+(?<experience>[0-9,]+)\s+Level:\s+(?<level>[0-9]+)/.freeze
- Stat =
/^\s*(?<stat>[A-z]+)\s\((?:STR|CON|DEX|AGI|DIS|AUR|LOG|INT|WIS|INF)\):\s+(?<value>[0-9]+)\s\((?<bonus>-?[0-9]+)\)\s+[.]{3}\s+(?<enhanced_value>\d+)\s+\((?<enhanced_bonus>-?\d+)\)/.freeze
- StatEnd =
/^Mana:\s+-?\d+\s+Silver:\s(?<silver>-?[\d,]+)$/.freeze
- Fame =
serves as ExprStart
/^\s+Level: \d+\s+Fame: (?<fame>-?[\d,]+)$/.freeze
- RealExp =
%r{^\s+Experience: [\d,]+\s+Field Exp: (?<fxp_current>[\d,]+)/(?<fxp_max>[\d,]+)$}.freeze
- AscExp =
/^\s+Ascension Exp: (?<ascension_experience>[\d,]+)\s+Recent Deaths: [\d,]+$/.freeze
- TotalExp =
/^\s+Total Exp: (?<total_experience>[\d,]+)\s+Death's Sting: (?<deaths_sting>None|Light|Moderate|Sharp|Harsh|Piercing|Crushing)$/.freeze
- LTE =
/^\s+Long-Term Exp: (?<long_term_experience>[\d,]+)\s+Deeds: (?<deeds>\d+)$/.freeze
- ExprEnd =
/^\s+Exp (?:until lvl|to next TP): -?[\d,]+/.freeze
- SkillStart =
/^\s\w+\s\(at level \d+\), your current skill bonuses and ranks/.freeze
- Skill =
/^\s+(?<name>[[a-zA-Z]\s\-']+)\.+\|\s+(?<bonus>\d+)\s+(?<ranks>\d+)/.freeze
- SpellRanks =
/^\s+(?<name>[\w\s\-']+)\.+\|\s+(?<rank>\d+).*$/.freeze
- SkillEnd =
/^Training Points: \d+ Phy \d+ Mnt/.freeze
- GoalsDetected =
/^Skill goals updated!$/.freeze
- GoalsEnded =
/^Further information can be found in the FAQs\.$/.freeze
- PSMStart =
/^\w+, the following (?<cat>Ascension Abilities|Armor Specializations|Combat Maneuvers|Feats|Shield Specializations|Weapon Techniques) are available:$/.freeze
- PSM =
/^\s+(?<name>[A-z\s\-':]+)\s+(?<command>[a-z]+)\s+(?<ranks>\d+)\/(?<max>\d+).*$/.freeze
- PSMEnd =
/^ Subcategory: all$/.freeze
- Levelup =
Single / low impact - single db write
/^\s+(?<stat>\w+)\s+\(\w{3}\)\s+:\s+(?<value>\d+)\s+(?:\+1)\s+\.\.\.\s+(?<bonus>\d+)(?:\s+\+1)?$/.freeze
- SpellsSolo =
from SPELL command
/^(?<name>Bard|Cleric|Empath|Minor (?:Elemental|Mental|Spiritual)|Major (?:Elemental|Mental|Spiritual)|Paladin|Ranger|Savant|Sorcerer|Wizard)(?: Base)?\.+(?<rank>\d+).*$/.freeze
- Citizenship =
/^You currently have .*? citizenship in (?<town>.*)\.$/.freeze
- NoCitizenship =
/^You don't seem to have citizenship\./.freeze
- Society =
/^\s+You are a (?<standing>Master|member) (?:in|of) the (?<society>Order of Voln|Council of Light|Guardians of Sunfist)(?: at (?:rank|step) (?<rank>[0-9]+))?\.$/.freeze
- NoSociety =
/^\s+You are not a member of any society at this time./.freeze
- SocietyStep =
/^(?:Zarak|Faylanna|Draelox|Marl|Vindar|Taryn|Meaha|Oxanna|Cyndelle) traces the outline of a sigil into the air before you and says|^The High Taskmaster looks at you, consults (?:her|his) notes, and then announces in a loud voice|^The monk concludes ceremoniously,/.freeze
- SocietyJoin =
/^The Grandmaster says, "Welcome to the Order|^The Grandmaster says, "You are now a member of the Guardians of Sunfist|^The Grand Poohbah smiles broadly. "Welcome to the Lodge," he cries/.freeze
- SocietyResign =
/^The Grandmaster says, "I'm sorry to hear that. You are no longer in our service.|^The Poohbah looks at you sternly. "I had high hopes for you," he says, "but if this be your decision, so be it\. I hereby strip you of membership|^The Grandmaster says, "I'm sorry to hear that,.+I wish you well with any of your future endeavors./.freeze
- Warcries =
/^\s+(?<name>(?:Bertrandt's Bellow|Yertie's Yowlp|Gerrelle's Growl|Seanette's Shout|Carn's Cry|Horland's Holler))$/.freeze
- NoWarcries =
/^You must be an active member of the Warrior Guild to use this skill\.$/.freeze
- LearnPSM =
/^You have now achieved rank (?<rank>\d+) of (?<psm>[A-z\s]+), costing \d+ (?<cat>[A-z]+) .*?points\.$/- LearnTechnique =
Technique covers Specialization (Armor and Shield), Technique (Weapon), and Feat
/^\[You have (?:gained|increased to) rank (?<rank>\d+) of (?<cat>[A-z]+).*: (?<psm>[A-z\s\-':]+)\.\]$/.freeze
- UnlearnPSM =
/^You decide to unlearn rank (?<rank>\d+) of (?<psm>[A-z\s\-':]+), regaining \d+ (?<cat>[A-z]+) .*?points\.$/- UnlearnTechnique =
/^\[You have decreased to rank (?<rank>\d+) of (?<cat>[A-z]+).*: (?<psm>[A-z\s\-':]+)\.\]$/.freeze
- LostTechnique =
/^\[You are no longer trained in (?<cat>[A-z]+) .*: (?<psm>[A-z\s\-':]+)\.\]$/.freeze
- Resource =
/^(?:Essence|Necrotic Energy|Lore Knowledge|Motes of Tranquility|Devotion|Nature's Grace|Grit|Luck Inspiration|Guile|Vitality): (?<weekly>[0-9,]+)\/50,000 \(Weekly\)\s+(?<total>[0-9,]+)\/200,000 \(Total\)$/.freeze
- Suffused =
/^Suffused (?<type>(?:Essence|Necrotic Energy|Lore Knowledge|Motes of Tranquility|Devotion|Nature's Grace|Grit|Luck Inspiration|Guile|Vitality)): (?<suffused>[0-9,]+)$/.freeze
- VolnFavor =
/^Voln Favor: (?<favor>[-\d,]+)$/.freeze
- CovertArtsCharges =
/^Covert Arts Charges: (?<charges>[-\d,]+)\/200$/.freeze
- ShadowEssence =
/^Accumulated Shadow (?:E|e)ssence: (?<essence>\d)/.freeze
- ShadowEssenceGain =
/^You violently shatter the bond on the soul of the .+\. As you draw it into yourself, you manipulate the chaotic and broken life forces, forming shadow essence\./.freeze
- ShadowEssenceCap =
/^You begin to sacrifice your victim but immediately sense that it would overwhelm you with shadow essence\./.freeze
- SacrificeMana =
/^You summon the shadow essence from the inner depths of your body, surrounding yourself in a dark halo of power\. You will the shadows into the eddies and currents of the flows of essence around you, spreading through them like blackened veins of corruption\. The surroundings glow with silent anguish\. Everything around you becomes pale and enervated with discoloration, like the life has been drained out of the world\. There is a flood of power as you feel (?<amount>\d+) mana surge into you!$/.freeze
- SacrificeChannel =
/^Focusing on the bond to your animate, you force shadow essence into .+, leveraging its broken life forces\. The backlash of sorcerous violence with the necrotic energy of the \w+ ends in the unnatural revitalization of its animate matter\.$/.freeze
- SacrificeInfest =
/^Mastering the struggle against the frantic rush of stolen power, you unleash a dark haze of necrosis upon your unfortunate victim\. With a small smirk, you force the sickly currents of shadow essence from your body, commanding them to seek and infest .+\.$/.freeze
- SacrificeFate =
/^You close your eyes momentarily and visualize the strands of fate that tie together the firmament\. Identifying a susceptible star, you compel the shadow essence within you to corrupt it\.$/.freeze
- SacrificeShift =
/^Summoning the shadow essence within yourself, you will it to bleed through the veil, exposing your mind to the vast abyss of cosmic horror\. Countless possible gateways reveal themselves, with runes hidden in the fabric of reality\.$/.freeze
- GigasArtifactFragments =
/^You are carrying (?<gigas_artifact_fragments>[\d,]+) gigas artifact fragments?\.$/.freeze
- RedsteelMarks =
/^(?:\s* Redsteel Marks: |You are carrying) (?<redsteel_marks>[\d,]+)(?: redsteel marks?\.)?$/.freeze
- GemstoneDust =
/^You are carrying (?<gemstone_dust>[\d,]+) Dust in your reserves?\.$/.freeze
- TicketGeneral =
/^\s*General - (?<tickets>[\d,]+) tickets?\.$/.freeze
- TicketBlackscrip =
/^\s*Troubled Waters - (?<blackscrip>[\d,]+) blackscrip\.$/.freeze
- TicketBloodscrip =
/^\s*Duskruin Arena - (?<bloodscrip>[\d,]+) bloodscrip\.$/.freeze
- TicketEtherealScrip =
/^\s*Reim - (?<ethereal_scrip>[\d,]+) ethereal scrip\.$/.freeze
- TicketSoulShards =
/^\s*Ebon Gate - (?<soul_shards>[\d,]+) soul shards?\.$/.freeze
- TicketRaikhen =
/^\s*Rumor Woods - (?<raikhen>[\d,]+) raikhen\.$/.freeze
- TicketGold =
/^\s*Gold - (?<gold>[\d,]+) gold\.$/.freeze
- WealthSilver =
/^You have (?<silver>no|[,\d]+|but one) silver with you\./.freeze
- WealthSilverContainer =
/^You are carrying (?<silver>[\d,]+) silver stored within your /.freeze
- AccountName =
/^Account Name: (?<name>[\w\d\-\_]+)$/.freeze
- AccountSubscription =
/^Account Type: (?<subscription>F2P|Standard|Premium|Platinum)(?: with Shattered)?(?: \(\w+\))?$/.freeze
- ProfileStart =
/^PERSONAL INFORMATION$/.freeze
- ProfileName =
/^Name: (?<name>[\w\s]+)$/.freeze
- ProfileHouseCHE =
/^[A-Za-z\- ]+? (?:of House of the |of House of |of House |of )(?<house>Argent Aspis|Rising Phoenix|Paupers|Arcane Masters|Brigatta|Twilight Hall|Silvergate Inn|Sovyn|Sylvanfair|Helden Hall|White Haven|Beacon Hall|Rone Academy|Willow Hall|Moonstone Abbey|Obsidian Tower|Cairnfang Manor)(?: Archive)?$|^(?<none>No House affiliation)$/.freeze
- ResignCHE =
/^(?:Once you have resigned from your House, you will be unable to rejoin without being inducted again by the |If you wish to renounce your membership in the |Before you can resign from the )(?:House |of House of the |of House of |of House |of )?(?<house>Argent Aspis|Rising Phoenix|Paupers|Arcane Masters|Brigatta|Twilight Hall|Silvergate Inn|Sovyn|Sylvanfair|Helden Hall|White Haven|Beacon Hall|Rone Academy|Willow Hall|Moonstone Abbey|Obsidian Tower|Cairnfang Manor)(?: Archive)?|^(?<none>The RESIGN command is for resigning your membership in a House, but you don't currently belong to any of the Cooperative Houses of Elanthia)\.$/.freeze
- ResignConfirmCHE =
/^\[You have resigned from the (?:House |of House of the |of House of |of House |of )?(?<house>Argent Aspis|Rising Phoenix|Paupers|Arcane Masters|Brigatta|Twilight Hall|Silvergate Inn|Sovyn|Sylvanfair|Helden Hall|White Haven|Beacon Hall|Rone Academy|Willow Hall|Moonstone Abbey|Obsidian Tower|Cairnfang Manor)(?: Archive)?\.\]$/.freeze
- SleepActive =
TODO: refactor / streamline?
/^Your mind goes completely blank\.$|^You close your eyes and slowly drift off to sleep\.$|^You slump to the ground and immediately fall asleep\. You must have been exhausted!$|^That is impossible to do while unconscious$/.freeze
- SleepNoActive =
/^Your thoughts slowly come back to you as you find yourself lying on the ground\. You must have been sleeping\.$|^You wake up from your slumber\.$|^You are awoken|^You awake|^You slowly come back to alertness and realize you must have been sleeping\.$/.freeze
- BindActive =
/^An unseen force (?:envelops|entangles) you, restricting (?:all|your) movement|^You are caught fast, the light of (?:Liabo|Lornon|Tilaok|Makiri|the moon) arresting your movements/.freeze
- BindNoActive =
/^The restricting force that envelops you dissolves away\.|^You shake off the immobilization that was restricting your movements!|^The restricting force enveloping you fades away\./.freeze
- SilenceActive =
/^A pall of silence settles over you\.|^The pall of silence settles more heavily over you\./.freeze
- SilenceNoActive =
/^The pall of silence leaves you\./.freeze
- CalmActive =
/^A calm washes over you\./.freeze
- CalmNoActive =
/^You are enraged by .*? attack!|^The feeling of calm leaves you\./.freeze
- CutthroatActive =
/slices deep into your vocal cords!$|^All you manage to do is cough up some blood\.$/.freeze
- CutthroatNoActive =
/^\s*The horrible pain in your vocal cords subsides as you spit out the last of the blood clogging your throat\.$|^That tingles, but there are no head injuries to repair\.$/.freeze
- ThornPoisonStart =
/^One of the vines surrounding .*? lashes out at you, driving a thorn into your skin! You feel poison coursing through your veins\.$/.freeze
- ThornPoisonProgression =
/^You begin to feel a strange fatigue, spreading throughout your body\.$|^The strange lassitude is growing worse, making it difficult to keep up with any strenuous activities\.$|^You find yourself gradually slowing down, your muscles trembling with fatigue\.$|^It\'s getting increasingly difficult to move. It feels almost as if the air itself is growing thick as molasses\.$|^No longer able to fight this odd paralysis, you collapse to the ground, as limp as an old washrag\.$/.freeze
- ThornPoisonDeprogression =
/^With a shaky gasp and trembling muscles, you regain at least some small ability to move, however slowly\.$|Although you can\'t seem to move as quickly as you usually can, you\'re feeling better than you were just moments ago\.$|^Fine coordination is difficult, but at least you can move at something close to your normal speed again\.$|^While you\'re still a bit shaky, your muscles are responding better than they were\.$/.freeze
- ThornPoisonEnd =
/^Your body begins to respond normally again\.$|^Your skin takes on a more pinkish tint\.$/.freeze
- SpellUpMsgs =
Adding spell regexes. Does not save to infomon.db. Used by Spell and by ActiveSpells
/^#{Lich::Common::Spell.upmsgs.join('$|^')}$/o.freeze
- SpellDnMsgs =
/^#{Lich::Common::Spell.dnmsgs.join('$|^')}$/o.freeze
- SpellsongRenewed =
/^Your songs? renews?/.freeze
- EnhanciveStart =
Enhancive parsing patterns - from INVENTORY ENHANCIVE TOTALS command
/^Stats:$/.freeze
- EnhanciveStat =
/^\s+(?<stat>Strength|Constitution|Dexterity|Agility|Discipline|Aura|Logic|Intuition|Wisdom)\s+\((?<abbr>\w{3})\):\s*(?<value>\d+)\/(?<cap>\d+)$/.freeze
- EnhanciveSkillsSection =
/^Skills:$/.freeze
- EnhanciveSkillRanks =
/^\s+(?<name>[\w\s\-']+?)\s+Ranks:\s*(?<value>\d+)\/(?<cap>\d+)$/.freeze
- EnhanciveSkillBonus =
/^\s+(?<name>[\w\s\-']+?)\s+Bonus:\s*(?<value>\d+)\/(?<cap>\d+)$/.freeze
- EnhanciveResourcesSection =
/^Resources:$/.freeze
- EnhanciveResource =
/^\s+(?<name>Max Mana|Max Health|Max Stamina|Mana Recovery|Stamina Recovery):\s*(?<value>\d+)\/(?<cap>\d+)$/.freeze
- EnhanciveSpellsSection =
/^Self Knowledge Spells:$/.freeze
- EnhanciveSpells =
/^\s+(?<spells>[\d,\s]+)$/.freeze
- EnhanciveStatisticsSection =
/^Statistics:$/.freeze
- EnhanciveStatistic =
/^\s+(?<name>Enhancive Items|Enhancive Properties|Total Enhancive Amount):\s*(?<value>\d+)$/.freeze
- EnhanciveEnd =
/^For more details, see INVENTORY ENHANCIVE TOTALS DETAILS\.$/.freeze
- EnhanciveNone =
/^No enhancive item bonuses found\.$/.freeze
- EnhanciveOn =
Enhancive active state tracking (on/off)
/^You are (?:now|already|currently) accepting the benefits of (?:your|any and all) enhancive (?:inventory )?items(?: in your inventory)?\./.freeze
- EnhanciveOff =
/^You (?:are no longer|already are not|are not currently) accepting the benefit(?:s)? of (?:your|any) enhancive (?:inventory )?items(?: in your inventory)?\./.freeze
- EnhancivePauses =
/^You currently have (?<pauses>\d+) enhancive pauses? available\.$/.freeze
- All =
Regexp.union(CharRaceProf, CharGenderAgeExpLevel, Stat, StatEnd, Fame, RealExp, AscExp, TotalExp, LTE, ExprEnd, SkillStart, Skill, SpellRanks, SkillEnd, PSMStart, PSM, PSMEnd, Levelup, SpellsSolo, Citizenship, NoCitizenship, Society, NoSociety, SleepActive, SleepNoActive, BindActive, BindNoActive, SilenceActive, SilenceNoActive, CalmActive, CalmNoActive, CutthroatActive, CutthroatNoActive, SpellUpMsgs, SpellDnMsgs, Warcries, NoWarcries, SocietyJoin, SocietyStep, SocietyResign, LearnPSM, UnlearnPSM, LostTechnique, LearnTechnique, UnlearnTechnique, Resource, Suffused, VolnFavor, GigasArtifactFragments, RedsteelMarks, TicketGeneral, TicketGold, TicketBlackscrip, TicketBloodscrip, TicketEtherealScrip, TicketSoulShards, TicketRaikhen, WealthSilver, WealthSilverContainer, GoalsDetected, GoalsEnded, SpellsongRenewed, ThornPoisonStart, ThornPoisonProgression, ThornPoisonDeprogression, ThornPoisonEnd, CovertArtsCharges, AccountName, AccountSubscription, ProfileStart, ProfileName, ProfileHouseCHE, ResignCHE, ResignConfirmCHE, ShadowEssence, ShadowEssenceGain, ShadowEssenceCap, SacrificeMana, SacrificeChannel, SacrificeInfest, SacrificeFate, SacrificeShift, GemstoneDust, EnhanciveStart, EnhanciveStat, EnhanciveSkillsSection, EnhanciveSkillRanks, EnhanciveSkillBonus, EnhanciveResourcesSection, EnhanciveResource, EnhanciveSpellsSection, EnhanciveSpells, EnhanciveStatisticsSection, EnhanciveStatistic, EnhanciveEnd, EnhanciveNone, EnhanciveOn, EnhanciveOff, EnhancivePauses)