Quest offsets correctly updated

This commit is contained in:
Hash Borgir 2022-06-22 06:04:13 -06:00
parent 3b03e54fa5
commit bdf2409c11
2 changed files with 109 additions and 102 deletions

View File

@ -30,10 +30,6 @@ class D2Char {
return $this->parseChar(); // end of parseChar() calls parseItems()
}
// parse items from d2s and add to $this->items[]
/*
* @return Array of items
*/
public function parseItems() {
$_data = file_get_contents($this->filePath);
// get offset of first JM and skip it
@ -192,7 +188,7 @@ class D2Char {
$a5 = strrev(strtobits(fread($this->fp, 1)));
$wp['Norm'] = str_split($a1 . $a2 . $a3 . $a4 . $a5);
ddump($wp['Norm']);
// ddump($wp['Norm']);
fseek($this->fp, $this->sData->wpOffsetsNM);
$a1 = strrev(strtobits(fread($this->fp, 1)));

View File

@ -68,127 +68,138 @@ class D2CharStructureData {
714 => 51, // NPC Introductions
];
public $qNorm = [
//345 => 'introWarriv',
345 => 'introWarriv',
347 => 'Den_Of_Evil',
349 => 'Sisters_Burial_Grounds',
351 => 'Tools_Of_The_Trade',
353 => 'The_Search_For_Cain',
355 => 'The_Forgotten_Tower',
357 => 'Sisters_To_The_Slaughter',
//359 => 'traveledToAct2',
//361 => 'introJerhyn',
359 => 'traveledToAct2',
361 => 'introJerhyn',
363 => 'Radaments_Lair',
365 => 'TheHoradric_Staff',
367 => 'Tainted_Sun',
369 => 'Arcane_Sanctuary',
371 => 'The_Summoner',
373 => 'The_Seven_Tombs',
//375 => 'traveledToAct3',
//377 => 'introHratli',
375 => 'traveledToAct3',
377 => 'introHratli',
379 => 'LamEsens_Tome',
381 => 'Khalims_Will',
383 => 'Blade_Of_The_Old_Religion',
385 => 'The_Golden_Bird',
387 => 'The_Blackened_Temple',
389 => 'The_Guardian',
//391 => 'traveledtoAct4',
//393 => 'introToAct4',
391 => 'traveledtoAct4',
393 => 'introToAct4',
395 => 'The_Fallen_Angel',
397 => 'Terrors_End',
399 => 'Hell_Forge',
//401 => 'empty1',
//403 => 'empty2',
//405 => 'empty3',
//407 => 'traveledToAct5',
//409 => 'completedTerrorsEnd',
414 => 'Siege_On_Harrogath',
416 => 'Rescue_On_MountArreat',
418 => 'Prison_Of_Ice',
420 => 'Betrayal_Of_Harrogath',
422 => 'Rite_Of_Passage',
424 => 'Eve_Of_Destruction',
401 => 'traveledToAct5',
//403 => 'empty31',
//405 => 'empty32',
//407 => 'empty33',
409 => 'completedTerrorsEnd',
//411 => 'empty21',
//413 => 'empty22',
415 => 'Siege_On_Harrogath',
417 => 'Rescue_On_MountArreat',
419 => 'Prison_Of_Ice',
421 => 'Betrayal_Of_Harrogath',
423 => 'Rite_Of_Passage',
425 => 'Eve_Of_Destruction',
// read 425, pointer at 427, + 14 = 441 qNM offset
];
public $qNM = [
//438 => 'introWarrivNM',
440 => 'Den_Of_Evil_NM',
442 => 'Sisters_Burial_Grounds_NM',
444 => 'Tools_Of_The_Trade_NM',
446 => 'The_Search_For_Cain_NM',
448 => 'The_Forgotten_Tower_NM',
450 => 'Sisters_To_The_Slaughter_NM',
//452 => 'traveledToAct2',
//454 => 'introJerhyn',
456 => 'Radaments_Lair_NM',
458 => 'The_Horadric_Staff_NM',
460 => 'Tainted_Sun_NM',
462 => 'Arcane_Sanctuary_NM',
464 => 'The_Summoner_NM',
466 => 'The_SevenTombs_NM',
//468 => 'traveledToAct3',
//470 => 'introHratli',
472 => 'Lam_Esens_Tome_NM',
474 => 'Khalims_Will_NM',
476 => 'Blade_Of_The_OldReligion_NM',
478 => 'The_Golden_Bird_NM',
480 => 'The_Blackened_Temple_NM',
482 => 'The_Guardian_NM',
//484 => 'traveledtoAct4',
//486 => 'introToAct4',
488 => 'The_Fallen_Angel_NM',
490 => 'Terrors_End_NM',
492 => 'Hell_Forge_NM',
//494 => 'empty1',
//496 => 'empty2',
//498 => 'empty3',
//500 => 'traveledToAct5',
//502 => 'completedTerrorsEnd',
504 => 'Siege_On_Harrogath_NM',
506 => 'Rescue_On_MountArreat_NM',
508 => 'Prison_Of_Ice_NM',
510 => 'Betrayal_Of_Harrogath_NM',
512 => 'Rite_Of_Passage_NM',
514 => 'Eve_Of_Destruction_NM',
441 => 'introWarrivNM',
443 => 'Den_Of_Evil_NM',
445 => 'Sisters_Burial_Grounds_NM',
447 => 'Tools_Of_The_Trade_NM',
449 => 'The_Search_For_Cain_NM',
451 => 'The_Forgotten_Tower_NM',
453 => 'Sisters_To_The_Slaughter_NM',
455 => 'traveledToAct2',
457 => 'introJerhyn',
459 => 'Radaments_Lair_NM',
461 => 'The_Horadric_Staff_NM',
463 => 'Tainted_Sun_NM',
465 => 'Arcane_Sanctuary_NM',
467 => 'The_Summoner_NM',
469 => 'The_SevenTombs_NM',
471 => 'traveledToAct3',
473 => 'introHratli',
475 => 'Lam_Esens_Tome_NM',
477 => 'Khalims_Will_NM',
479 => 'Blade_Of_The_OldReligion_NM',
481 => 'The_Golden_Bird_NM',
483 => 'The_Blackened_Temple_NM',
485 => 'The_Guardian_NM',
487 => 'traveledtoAct4',
489 => 'introToAct4',
491 => 'The_Fallen_Angel_NM',
493 => 'Terrors_End_NM',
495 => 'Hell_Forge_NM',
497 => 'traveledToAct5',
//499 => 'empty31',
//501 => 'empty32',
//503 => 'empty33',
505 => 'completedTerrorsEnd',
//507 => 'empty21',
//509 => 'empty22',
511 => 'Siege_On_Harrogath',
513 => 'Rescue_On_MountArreat',
515 => 'Prison_Of_Ice',
517 => 'Betrayal_Of_Harrogath',
519 => 'Rite_Of_Passage',
521 => 'Eve_Of_Destruction',
// read 521, pointer at 523, + 14 = 537 qHell offset
];
public $qHell = [
//528 => 'introWarriv',
530 => 'Den_Of_Evil_Hell',
532 => 'Sisters_Burial_Grounds_Hell',
534 => 'Tools_Of_The_Trade_Hell',
536 => 'The_Search_For_Cain_Hell',
538 => 'The_Forgotten_Tower_Hell',
540 => 'Sisters_To_The_Slaughter_Hell',
//542 => 'traveledToAct2',
//544 => 'introJerhyn',
546 => 'Radaments_Lair_Hell',
548 => 'The_Horadric_Staff_Hell',
550 => 'Tainted_Sun_Hell',
552 => 'Arcane_Sanctuary_Hell',
554 => 'The_Summoner_Hell',
556 => 'The_SevenTombs_Hell',
//558 => 'traveledToAct3',
//560 => 'introHratli',
562 => 'Lam_Esens_Tome_Hell',
564 => 'KhalimsWill_Hell',
566 => 'Blade_Of_The_Old_Religion_Hell',
568 => 'The_Golden_Bird_Hell',
570 => 'The_Blackened_Temple_Hell',
572 => 'The_Guardian_Hell',
//574 => 'traveledtoAct4',
//576 => 'introToAct4',
578 => 'The_Fallen_Angel_Hell',
580 => 'Terrors_End_Hell',
582 => 'Hell_Forge_Hell',
//584 => 'empty1',
//586 => 'empty2',
//588 => 'empty3',
//590 => 'traveledToAct5',
//592 => 'completedTerrorsEnd',
594 => 'Siege_On_Harrogath_Hell',
596 => 'Rescue_On_MountArreat_Hell',
598 => 'Prison_Of_Ice_Hell',
600 => 'Betrayal_Of_Harrogath_Hell',
602 => 'Rite_Of_Passage_Hell',
604 => 'Eve_Of_Destruction_Hell',
537 => 'introWarriv',
539 => 'Den_Of_Evil_Hell',
541 => 'Sisters_Burial_Grounds_Hell',
543 => 'Tools_Of_The_Trade_Hell',
545 => 'The_Search_For_Cain_Hell',
547 => 'The_Forgotten_Tower_Hell',
549 => 'Sisters_To_The_Slaughter_Hell',
551 => 'traveledToAct2',
553 => 'introJerhyn',
555 => 'Radaments_Lair_Hell',
557 => 'The_Horadric_Staff_Hell',
559 => 'Tainted_Sun_Hell',
561 => 'Arcane_Sanctuary_Hell',
563 => 'The_Summoner_Hell',
565 => 'The_SevenTombs_Hell',
567 => 'traveledToAct3',
569 => 'introHratli',
571 => 'Lam_Esens_Tome_Hell',
573 => 'KhalimsWill_Hell',
575 => 'Blade_Of_The_Old_Religion_Hell',
577 => 'The_Golden_Bird_Hell',
579 => 'The_Blackened_Temple_Hell',
581 => 'The_Guardian_Hell',
583 => 'traveledtoAct4',
585 => 'introToAct4',
587 => 'The_Fallen_Angel_Hell',
589 => 'Terrors_End_Hell',
591 => 'Hell_Forge_Hell',
593 => 'traveledToAct5',
//595 => 'empty31',
//597 => 'empty32',
//599 => 'empty33',
601 => 'completedTerrorsEnd',
//603 => 'empty21',
//605 => 'empty22',
607 => 'Siege_On_Harrogath',
609 => 'Rescue_On_MountArreat',
611 => 'Prison_Of_Ice',
613 => 'Betrayal_Of_Harrogath',
615=> 'Rite_Of_Passage',
617 => 'Eve_Of_Destruction',
];
public $version = [