Tests for conversion of legacy items

This commit is contained in:
2015-10-01 18:21:29 -04:00
parent 62c342645a
commit f0d200b13b
4 changed files with 996 additions and 2 deletions

View File

@@ -139,6 +139,7 @@
9192C12018F2745C0088A580 /* game.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9192C11E18F271920088A580 /* game.xib */; };
91960ED41BB6157A008AF8F4 /* restypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91960ED31BB613E5008AF8F4 /* restypes.cpp */; };
919B13A21BBCDF14009905A4 /* monst_legacy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 919B13A11BBCDE18009905A4 /* monst_legacy.cpp */; };
919B13A41BBD8854009905A4 /* item_legacy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 919B13A31BBD8849009905A4 /* item_legacy.cpp */; };
919CC2481B3772F300273FDA /* creatlist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91AC620A0FA2853700EEAE67 /* creatlist.cpp */; };
919CC2491B3772FB00273FDA /* creature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 914698FE1A747C4500F20F5E /* creature.cpp */; };
919CC24B1B37730300273FDA /* item.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91279D3D0F9D1D6A007B0D52 /* item.cpp */; };
@@ -661,6 +662,7 @@
9192C11E18F271920088A580 /* game.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = game.xib; path = ../rsrc/menus/game.xib; sourceTree = "<group>"; };
91960ED31BB613E5008AF8F4 /* restypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = restypes.cpp; sourceTree = "<group>"; };
919B13A11BBCDE18009905A4 /* monst_legacy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = monst_legacy.cpp; sourceTree = "<group>"; };
919B13A31BBD8849009905A4 /* item_legacy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = item_legacy.cpp; sourceTree = "<group>"; };
919DDBFA19006CC9003E7FED /* libboost_filesystem.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libboost_filesystem.dylib; path = /usr/local/lib/libboost_filesystem.dylib; sourceTree = "<absolute>"; };
919DDBFB19006CC9003E7FED /* libboost_system.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libboost_system.dylib; path = /usr/local/lib/libboost_system.dylib; sourceTree = "<absolute>"; };
919DDC091900750D003E7FED /* freetype.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = freetype.framework; path = ../../../../../../Library/Frameworks/freetype.framework; sourceTree = "<group>"; };
@@ -1313,6 +1315,7 @@
children = (
91CC17391B421CA0003D9A69 /* catch.cpp */,
91C763D81B4C4BB30086D879 /* enums.cpp */,
919B13A31BBD8849009905A4 /* item_legacy.cpp */,
91EF27761B693D5500666469 /* item_read.cpp */,
91EF27781B693D5F00666469 /* item_write.cpp */,
91C763DA1B4EE6E00086D879 /* map_read.cpp */,
@@ -1852,6 +1855,7 @@
91E381481B97677900F69B81 /* talk_write.cpp in Sources */,
91E3814A1B97679800F69B81 /* out_write.cpp in Sources */,
919B13A21BBCDF14009905A4 /* monst_legacy.cpp in Sources */,
919B13A41BBD8854009905A4 /* item_legacy.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@@ -2690,8 +2690,8 @@ void set_pc_moves() {
univ.party[i].ap = minmax(1,8,univ.party[i].ap - (r / 3));
if(int speed = univ.party[i].get_prot_level(eItemAbil::SPEED))
univ.party[i].ap += speed / 7 + 1;
univ.party[i].ap -= univ.party[i].get_prot_level(eItemAbil::SLOW_WEARER) / 5;
univ.party[i].ap += speed;
univ.party[i].ap -= univ.party[i].get_prot_level(eItemAbil::SLOW_WEARER);
if(univ.party[i].status[eStatus::HASTE_SLOW] < 0 && univ.party.age % 2 == 1) // slowed?
univ.party[i].ap = 0;

View File

@@ -504,16 +504,19 @@ void cItem::append(legacy::item_record_type& old){
break;
case 38: // Strength
ability = eItemAbil::BOOST_STAT;
desc = "Original ability strength was " + std::to_string(abil_data[0]);
abil_data[0] = 1;
abil_data[1] = int(eSkill::STRENGTH);
break;
case 39: // Dexterity
ability = eItemAbil::BOOST_STAT;
desc = "Original ability strength was " + std::to_string(abil_data[0]);
abil_data[0] = 1;
abil_data[1] = int(eSkill::DEXTERITY);
break;
case 40: // Intelligence
ability = eItemAbil::BOOST_STAT;
desc = "Original ability strength was " + std::to_string(abil_data[0]);
abil_data[0] = 1;
abil_data[1] = int(eSkill::INTELLIGENCE);
break;
@@ -569,9 +572,13 @@ void cItem::append(legacy::item_record_type& old){
break;
case 55:
ability = eItemAbil::SPEED;
abil_data[1] = abil_data[0];
abil_data[0] = abil_data[0] / 7 + 1;
break;
case 56:
ability = eItemAbil::SLOW_WEARER;
abil_data[1] = abil_data[0];
abil_data[0] = abil_data[0] / 5;
break;
case 57: // Protect from undead
ability = eItemAbil::DAMAGE_PROTECTION;