PROGRESS LOG (4/15/2025)
Slower progress today. I got through a lot yesterday, but now I feel like I'm hitting a brick wall.
THE PROBLEM:
RuneKnightGM does not kick open the Training Window
Testing RuneKnightGM with Character:AllowCrossClassTrainers (true) resulted in all class trainers not kicking open the Training Window while the character is set to 17 (RuneKnight).
Resetting it back, the trainers will kick the "You are not of X class" response - so we know they acknowledge the difference of class.
- Added a baseline copy of Level 1 Warrior Skills to the RuneKnight via skill_caps db, just to make sure we have something available to reference.
XXXXXXXXXXXXXXXXXXXXXXXXXXX
So far, no results - and my hunch is because the golden path of acquiring stat allocation and skills is through character creation. If we're changing it through commands, we have nothing to base off - so it gives us merely a blanket of what would be stats and 5 HP to keep us alive. Leveling up does not do anything, either.
We may need to look into more EQ_CORE_DLL injecting, and go down that rabbit hole.
I was also considering editting the Character Creation XML / UI to accomodate our new class.
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
- Removed spawn of Telelocator in NRO + Pirate NPC (Just getting rid of remnants of local Velious stuff)
- Removed spawn of Telelocator in Butcherblock (No passage to Kunark)
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
EXPERIMENTAL
//client.cpp
LINE 2185 under SetClassStartingSkills
Added:
if (cle->GetClientVersion() < static_cast<uint8>(EQ::versions::ClientVersion::Ro F2) && pp->class_ == Class::RuneKnight) {
pp->skills[EQ::skills::Skill1HBlunt] = 5;
pp->skills[EQ::skills::Skill1HSlashing] = 5;
pp->skills[EQ::skills::Skill2HBlunt] = 5;
pp->skills[EQ::skills::Skill2HSlashing] = 5;
pp->skills[EQ::skills::SkillAbjuration] = 5;
pp->skills[EQ::skills::SkillAlteration] = 5;
pp->skills[EQ::skills::SkillChanneling] = 5;
pp->skills[EQ::skills::SkillConjuration] = 5;
pp->skills[EQ::skills::SkillDefense] = 5;
pp->skills[EQ::skills::SkillDivination] = 5;
pp->skills[EQ::skills::SkillDoubleAttack] = 0;
pp->skills[EQ::skills::SkillDualWield] = 0;
pp->skills[EQ::skills::SkillEvocation] = 5;
pp->skills[EQ::skills::SkillHandtoHand] = 5;
pp->skills[EQ::skills::SkillMeditate] = 0;
pp->skills[EQ::skills::SkillOffense] = 5;
pp->skills[EQ::skills::SkillParry] = 5;
pp->skills[EQ::skills::Skill1HPiercing] = 5;
pp->skills[EQ::skills::SkillRiposte] = 0;
pp->skills[EQ::skills::SkillSafeFall] = 0;
pp->skills[EQ::skills::SkillSenseHeading] = 0;
pp->skills[EQ::skills::SkillSpecializeAbjure] = 0;
pp->skills[EQ::skills::SkillSpecializeAlteration] = 0;
pp->skills[EQ::skills::SkillSpecializeConjuration] = 0;
pp->skills[EQ::skills::SkillSpecializeDivination] = 0;
pp->skills[EQ::skills::SkillSpecializeEvocation] = 0;
pp->skills[EQ::skills::Skill2HPiercing] = 0;
}
// Trying to just cram the values into the game. They do it with the Berserker 2HPiercing, so maybe we can with our class.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Copied base_data from Shadowknights for Runeknights
INSERT INTO base_data
(level, class, hp, mana, end, hp_regen, end_regen, hp_fac, mana_fac, end_fac)
SELECT
level, '17', hp, mana, end, hp_regen, end_regen, hp_fac, mana_fac, end_fac
FROM
base_data
WHERE
class = 5;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|