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

View File

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