diff --git a/osx/boe.combat.cpp b/osx/boe.combat.cpp index 885693cd..c7ab3a19 100644 --- a/osx/boe.combat.cpp +++ b/osx/boe.combat.cpp @@ -2638,6 +2638,7 @@ void monst_fire_missile(short m_num,short bless,short level,location source,shor web_space(targ_space.x,targ_space.y); } else if(level == 23) { // paral + // TODO: This sound doesn't seem right? play_sound(51); if(target < 100) { // on PC sprintf (create_line, " Fires ray at %s. ",univ.party[target].name.c_str()); @@ -4694,6 +4695,7 @@ static void process_force_cage(location loc, short i) { short m = i - 100; cCreature& which_m = univ.town.monst[m]; if(which_m.attitude % 2 == 1 && get_ran(1,1,100) < which_m.mu * 10 + which_m.cl * 4 + 5) { + // TODO: This sound is not right play_sound(60); monst_spell_note(m, 50); univ.town.set_force_cage(loc.x,loc.y,false); diff --git a/osx/boe.dlgutil.cpp b/osx/boe.dlgutil.cpp index 85c7e24f..71e288f1 100644 --- a/osx/boe.dlgutil.cpp +++ b/osx/boe.dlgutil.cpp @@ -255,6 +255,7 @@ void handle_sale(short what_chosen,short cost) { else if(!take_gold(cost,false)) ASB("Not enough gold."); else { + // TODO: This seems like the wrong sound play_sound(62); ASB("You buy an alchemical recipe."); univ.party.alchemy[base_item.item_level] = true; @@ -316,6 +317,7 @@ void handle_sale(short what_chosen,short cost) { else if(!take_gold(cost,false)) ASB("Not enough gold."); else { + // TODO: This seems like the wrong sound play_sound(62); ASB("You buy a spell."); univ.party[current_pc].mage_spells[base_item.item_level] = true; @@ -334,6 +336,7 @@ void handle_sale(short what_chosen,short cost) { else if(!take_gold(cost,false)) ASB("Not enough gold."); else { + // TODO: This seems like the wrong sound play_sound(62); ASB("You buy a spell."); univ.party[current_pc].priest_spells[base_item.item_level] = true; diff --git a/osx/boe.monster.cpp b/osx/boe.monster.cpp index ea957b04..1c83d461 100644 --- a/osx/boe.monster.cpp +++ b/osx/boe.monster.cpp @@ -970,6 +970,7 @@ bool monst_check_special_terrain(location where_check,short mode,short which_mon } if(univ.town.is_fire_barr(where_check.x,where_check.y)) { if((which_m->attitude % 2 == 1) && (get_ran(1,1,100) < (which_m->mu * 10 + which_m->cl * 4))) { + // TODO: Are these barrier sounds right? play_sound(60); monst_spell_note(which_monst, 49); univ.town.set_fire_barr(where_check.x,where_check.y,false); @@ -1236,6 +1237,7 @@ void record_monst(cCreature *which_m) { if((which_m->x_width > 1) || (which_m->y_width > 1)) { ASB("Capture Soul: Monster is too big."); } + // TODO: Are these two sounds right? else if((r1 > charm_odds[which_m->level / 2]) || (which_m->spec_skill == 12) || which_m->m_type == eRace::IMPORTANT) { monst_spell_note(which_m->number,10); diff --git a/osx/boe.party.cpp b/osx/boe.party.cpp index bebf1954..86bcaf0a 100644 --- a/osx/boe.party.cpp +++ b/osx/boe.party.cpp @@ -906,6 +906,7 @@ void give_party_spell(short which) { giveError("The scenario has tried to give you a non-existant spell."); return;} + // TODO: This seems like the wrong sounds if(which < 100) for(i = 0; i < 6; i++) if(!univ.party[i].mage_spells[which]) { @@ -1659,6 +1660,7 @@ void crumble_wall(location where) { // TODO: Add something like this to the spre return; ter = univ.town->terrain(where.x,where.y); if(univ.scenario.ter_types[ter].special == eTerSpec::CRUMBLING && univ.scenario.ter_types[ter].flag3.u < 2) { + // TODO: This seems like the wrong sound play_sound(60); univ.town->terrain(where.x,where.y) = univ.scenario.ter_types[ter].flag1.u; add_string_to_buf(" Barrier crumbles."); diff --git a/osx/boe.specials.cpp b/osx/boe.specials.cpp index 59db46bb..a3025e36 100644 --- a/osx/boe.specials.cpp +++ b/osx/boe.specials.cpp @@ -682,6 +682,7 @@ void use_item(short pc,short item) { else affect_pc(pc,which_stat,str); break; case eItemAbil::HASTE_SLOW: + // TODO: Is this the right sound? play_sound(75); which_stat = eStatus::HASTE_SLOW; if(type % 2 == 1) { @@ -693,6 +694,7 @@ void use_item(short pc,short item) { else affect_pc(pc,which_stat,str); break; case eItemAbil::AFFECT_INVULN: + // TODO: Is this the right sound? play_sound(68); which_stat = eStatus::INVULNERABLE; if(type % 2 == 1) { @@ -704,6 +706,7 @@ void use_item(short pc,short item) { else affect_pc(pc,which_stat,str); break; case eItemAbil::AFFECT_MAGIC_RES: + // TODO: Is this the right sound? play_sound(51); which_stat = eStatus::MAGIC_RESISTANCE; if(type % 2 == 1) { @@ -727,6 +730,7 @@ void use_item(short pc,short item) { else affect_pc(pc,which_stat,str); break; case eItemAbil::AFFECT_SANCTUARY: + // TODO: Is this the right sound? play_sound(43); which_stat = eStatus::INVISIBLE; if(type % 2 == 1) { @@ -738,6 +742,7 @@ void use_item(short pc,short item) { else affect_pc(pc,which_stat,str); break; case eItemAbil::AFFECT_MARTYRS_SHIELD: + // TODO: Is this the right sound? play_sound(43); which_stat = eStatus::MARTYRS_SHIELD; if(type % 2 == 1) { @@ -911,6 +916,7 @@ void use_item(short pc,short item) { } break; case eItemAbil::AFFECT_SKILL_POINTS: + // TODO: Is this the right sound? play_sound(68); switch(type) { case 0: @@ -1351,6 +1357,7 @@ void out_move_party(char x,char y) { // mode - 0=full teleport flash 1=no teleport flash 2=only fade flash 3=only arrival flash void teleport_party(short x,short y,short mode) { + // TODO: Teleport sound? (Sound 10) short i; location l; bool fadeIn = false, fadeOut = false; @@ -3572,6 +3579,7 @@ void townmode_spec(eSpecCtx which_mode,cSpecial cur_node,short cur_spec_type, check_mess = false; } else { + // TODO: This is missing some additions that the non-generic stair has *a = 1; if(spec.ex2b < 0) spec.ex2b = 0; if((spec.ex2b >= 8) || (cChoiceDlog(stairDlogs[spec.ex2b],{"climb","leave"}).show() == "climb")) diff --git a/osx/classes/terrain.cpp b/osx/classes/terrain.cpp index 453c5acd..212c5c17 100644 --- a/osx/classes/terrain.cpp +++ b/osx/classes/terrain.cpp @@ -240,7 +240,7 @@ void cTerrain::append(legacy::terrain_type_type& old){ break; case 22: special = eTerSpec::CHANGE_WHEN_USED; - flag2.u = 3; + flag2.u = 59; flag3.u = 0; break; case 23: