[6838] [2008_11_18_01_mangos_creature_movement.sql 2008_11_18_02_mangos_mangos_string.sql] Implement localization support for creature_movemant.

Implemented in same way as db script localization. creature_movemant now store indexes in db_script_string.
In game waypoint text setting disabled. Unclear how this possible implement with localization data.
This commit is contained in:
VladimirMangos 2008-11-18 20:18:40 +03:00
parent 8032d6d5a4
commit e3abf5c936
9 changed files with 118 additions and 111 deletions

View file

@ -19,11 +19,11 @@
/*
creature_movement Table
alter table creature_movement add `text1` varchar(255) default NULL;
alter table creature_movement add `text2` varchar(255) default NULL;
alter table creature_movement add `text3` varchar(255) default NULL;
alter table creature_movement add `text4` varchar(255) default NULL;
alter table creature_movement add `text5` varchar(255) default NULL;
alter table creature_movement add `textid1` int(11) NOT NULL default '0';
alter table creature_movement add `textid2` int(11) NOT NULL default '0';
alter table creature_movement add `textid3` int(11) NOT NULL default '0';
alter table creature_movement add `textid4` int(11) NOT NULL default '0';
alter table creature_movement add `textid5` int(11) NOT NULL default '0';
alter table creature_movement add `emote` int(10) unsigned default '0';
alter table creature_movement add `spell` int(5) unsigned default '0';
alter table creature_movement add `wpguid` int(11) default '0';
@ -146,21 +146,21 @@ WaypointMovementGenerator<Creature>::Update(Creature &creature, const uint32 &di
creature.CastSpell(&creature,behavior->spell, false);
if(behavior->model1 != 0)
creature.SetDisplayId(behavior->model1);
if(!behavior->text[0].empty())
if(behavior->textid[0])
{
// Only one text is set
if( !behavior->text[1].empty() )
// Not only one text is set
if( behavior->textid[1] )
{
// Select one from max 5 texts (0 and 1 laready checked)
int i = 2;
for( ; i < 5; ++i )
if( behavior->text[i].empty() )
for( ; i < MAX_WAYPOINT_TEXT; ++i )
if( !behavior->textid[i] )
break;
creature.Say(behavior->text[rand() % i].c_str(), 0, 0);
creature.Say(behavior->textid[rand() % i], 0, 0);
}
else
creature.Say(behavior->text[0].c_str(), 0, 0);
creature.Say(behavior->textid[0], 0, 0);
}
i_hasDone[idx] = true;