289 lines
18 KiB
Plaintext
289 lines
18 KiB
Plaintext
void CreateSetting(object oUser)
|
|
{
|
|
object oSetting = CreateObject(OBJECT_TYPE_CREATURE, "dmfi_setting", GetLocation(oUser));
|
|
DelayCommand(0.5f, AssignCommand(oSetting, ActionSpeakString(GetLocalString(oUser, "EffectSetting") + " is currently set at " + FloatToString(GetLocalFloat(oUser, GetLocalString(oUser, "EffectSetting"))))));
|
|
SetLocalObject(oSetting, "MyMaster", oUser);
|
|
SetLocalInt(oSetting, "hls_Listening", 1); //listen to all text
|
|
SetListening(oSetting, TRUE); //be sure NPC is listening
|
|
}
|
|
|
|
//An FX Wand function
|
|
void FXWand_Firestorm(object oDM)
|
|
{
|
|
|
|
// FireStorm Effect
|
|
location lDMLoc = GetLocation ( oDM);
|
|
|
|
|
|
// tell the DM object to rain fire and destruction
|
|
AssignCommand ( oDM, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect ( VFX_FNF_METEOR_SWARM), lDMLoc));
|
|
AssignCommand ( oDM, DelayCommand (1.0, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect (VFX_FNF_SCREEN_SHAKE), lDMLoc)));
|
|
|
|
// create some fires
|
|
object oTargetArea = GetArea(oDM);
|
|
int nXPos, nYPos, nCount;
|
|
for(nCount = 0; nCount < 15; nCount++)
|
|
{
|
|
nXPos = Random(30) - 15;
|
|
nYPos = Random(30) - 15;
|
|
|
|
vector vNewVector = GetPosition(oDM);
|
|
vNewVector.x += nXPos;
|
|
vNewVector.y += nYPos;
|
|
|
|
location lFireLoc = Location(oTargetArea, vNewVector, 0.0);
|
|
object oFire = CreateObject ( OBJECT_TYPE_PLACEABLE, "plc_flamelarge", lFireLoc, FALSE);
|
|
object oDust = CreateObject ( OBJECT_TYPE_PLACEABLE, "plc_dustplume", lFireLoc, FALSE);
|
|
DelayCommand ( 10.0, DestroyObject ( oFire));
|
|
DelayCommand ( 14.0, DestroyObject ( oDust));
|
|
}
|
|
|
|
}
|
|
|
|
//An FX Wand function
|
|
void FXWand_Earthquake(object oDM)
|
|
{
|
|
// Earthquake Effect by Jhenne, 06/29/02
|
|
// declare variables used for targetting and commands.
|
|
location lDMLoc = GetLocation ( oDM);
|
|
|
|
// tell the DM object to shake the screen
|
|
AssignCommand( oDM, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), lDMLoc));
|
|
AssignCommand ( oDM, DelayCommand( 2.8, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect ( VFX_FNF_SCREEN_BUMP), lDMLoc)));
|
|
AssignCommand ( oDM, DelayCommand( 3.0, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect ( VFX_FNF_SCREEN_SHAKE), lDMLoc)));
|
|
AssignCommand ( oDM, DelayCommand( 4.5, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect ( VFX_FNF_SCREEN_BUMP), lDMLoc)));
|
|
AssignCommand ( oDM, DelayCommand( 5.8, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect ( VFX_FNF_SCREEN_BUMP), lDMLoc)));
|
|
// tell the DM object to play an earthquake sound
|
|
AssignCommand ( oDM, PlaySound ("as_cv_boomdist1"));
|
|
AssignCommand ( oDM, DelayCommand ( 2.0, PlaySound ("as_wt_thunderds3")));
|
|
AssignCommand ( oDM, DelayCommand ( 4.0, PlaySound ("as_cv_boomdist1")));
|
|
// create a dust plume at the DM and clicking location
|
|
object oTargetArea = GetArea(oDM);
|
|
int nXPos, nYPos, nCount;
|
|
for(nCount = 0; nCount < 15; nCount++)
|
|
{
|
|
nXPos = Random(30) - 15;
|
|
nYPos = Random(30) - 15;
|
|
|
|
vector vNewVector = GetPosition(oDM);
|
|
vNewVector.x += nXPos;
|
|
vNewVector.y += nYPos;
|
|
|
|
location lDustLoc = Location(oTargetArea, vNewVector, 0.0);
|
|
object oDust = CreateObject ( OBJECT_TYPE_PLACEABLE, "plc_dustplume", lDustLoc, FALSE);
|
|
DelayCommand ( 4.0, DestroyObject ( oDust));
|
|
}
|
|
}
|
|
|
|
//An FX Wand function
|
|
void FXWand_Lightning(object oDM, location lDMLoc)
|
|
{
|
|
// Lightning Strike by Jhenne. 06/29/02
|
|
// tell the DM object to create a Lightning visual effect at targetted location
|
|
AssignCommand( oDM, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_LIGHTNING_M), lDMLoc));
|
|
// tell the DM object to play a thunderclap
|
|
AssignCommand ( oDM, PlaySound ("as_wt_thundercl3"));
|
|
// create a scorch mark where the lightning hit
|
|
object oScorch = CreateObject ( OBJECT_TYPE_PLACEABLE, "plc_weathmark", lDMLoc, FALSE);
|
|
object oTargetArea = GetArea(oDM);
|
|
int nXPos, nYPos, nCount;
|
|
for(nCount = 0; nCount < 5; nCount++)
|
|
{
|
|
nXPos = Random(10) - 5;
|
|
nYPos = Random(10) - 5;
|
|
|
|
vector vNewVector = GetPositionFromLocation(lDMLoc);
|
|
vNewVector.x += nXPos;
|
|
vNewVector.y += nYPos;
|
|
|
|
location lNewLoc = Location(oTargetArea, vNewVector, 0.0);
|
|
AssignCommand( oDM, ApplyEffectAtLocation ( DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_LIGHTNING_S), lNewLoc));
|
|
}
|
|
DelayCommand ( 20.0, DestroyObject ( oScorch));
|
|
}
|
|
|
|
void FnFEffect(object oUser, int iVFX, location lEffect, float fDelay)
|
|
{
|
|
if (fDelay>2.0) FloatingTextStringOnCreature("Delay effect created", oUser, FALSE);
|
|
DelayCommand( fDelay, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(iVFX),lEffect));
|
|
}
|
|
|
|
void main()
|
|
{
|
|
int iDayMusic, iNightMusic, iBattleMusic;
|
|
int iEffect = GetLocalInt(OBJECT_SELF, "dmfi_univ_int");
|
|
location lEffect = GetLocalLocation(OBJECT_SELF, "dmfi_univ_location");
|
|
object oUser = OBJECT_SELF;
|
|
float fDelay;
|
|
float fDuration;
|
|
float fBeamDuration;
|
|
object oTarget;
|
|
|
|
fDelay = GetLocalFloat(oUser, "dmfi_effectdelay");
|
|
fDuration = GetLocalFloat(oUser, "dmfi_effectduration");
|
|
fBeamDuration = GetLocalFloat(oUser, "dmfi_beamduration");
|
|
|
|
if (!GetIsObjectValid(GetLocalObject(oUser, "dmfi_univ_target")))
|
|
oTarget = oUser;
|
|
else
|
|
oTarget = GetLocalObject(oUser, "dmfi_univ_target");
|
|
switch(iEffect)
|
|
{
|
|
//SoU/HotU Duration Effects(must have a target)
|
|
case 101: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BIGBYS_CLENCHED_FIST), oTarget, fDuration); break;
|
|
case 102: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BIGBYS_CRUSHING_HAND), oTarget, fDuration); break;
|
|
case 103: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BIGBYS_GRASPING_HAND), oTarget, fDuration); break;
|
|
case 104: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BIGBYS_INTERPOSING_HAND), oTarget, fDuration); break;
|
|
case 105: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_ICESKIN), oTarget, fDuration); break;
|
|
case 106: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_INFERNO), oTarget, fDuration); break;
|
|
case 107: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PIXIEDUST), oTarget, fDuration); break;
|
|
case 108: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY), oTarget, fDuration); break;
|
|
case 109: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION), oTarget, fDuration); break;
|
|
case 100: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE), oTarget, fDuration); break;
|
|
//Magical Duration Effects
|
|
case 10: ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CALTROPS),lEffect, fDuration); break;
|
|
case 11: ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_TENTACLE),lEffect, fDuration); break;
|
|
case 12: ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_WEB_MASS),lEffect, fDuration); break;
|
|
case 13: FnFEffect(oUser, VFX_FNF_GAS_EXPLOSION_MIND,lEffect, fDelay); break;
|
|
case 14: FnFEffect(oUser, VFX_FNF_LOS_HOLY_30,lEffect, fDelay); break;
|
|
case 15: FnFEffect(oUser, VFX_FNF_LOS_EVIL_30,lEffect, fDelay); break;
|
|
case 16: FnFEffect(oUser, VFX_FNF_SMOKE_PUFF,lEffect, fDelay); break;
|
|
case 17: FnFEffect(oUser, VFX_FNF_GAS_EXPLOSION_NATURE,lEffect, fDelay); break;
|
|
case 18: FnFEffect(oUser, VFX_FNF_DISPEL_DISJUNCTION,lEffect, fDelay); break;
|
|
case 19: FnFEffect(oUser, VFX_FNF_GAS_EXPLOSION_EVIL,lEffect, fDelay); break;
|
|
//Magical Status Effects (must have a target)
|
|
case 21: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROT_BARKSKIN), oTarget, fDuration); break;
|
|
case 22: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROT_GREATER_STONESKIN), oTarget, fDuration); break;
|
|
case 23: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_ENTANGLE), oTarget, fDuration); break;
|
|
case 24: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_ETHEREAL_VISAGE), oTarget, fDuration); break;
|
|
case 25: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE), oTarget, fDuration); break;
|
|
case 26: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_INVISIBILITY), oTarget, fDuration); break;
|
|
case 27: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BARD_SONG), oTarget, fDuration); break;
|
|
case 28: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY), oTarget, fDuration); break;
|
|
case 29: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PARALYZED), oTarget, fDuration); break;
|
|
case 20: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROT_SHADOW_ARMOR), oTarget, fDuration); break;
|
|
//Magical Burst Effects
|
|
case 31: FnFEffect(oUser, VFX_FNF_FIREBALL,lEffect, fDelay); break;
|
|
case 32: FnFEffect(oUser, VFX_FNF_FIRESTORM,lEffect, fDelay); break;
|
|
case 33: FnFEffect(oUser, VFX_FNF_HORRID_WILTING,lEffect, fDelay); break;
|
|
case 34: FnFEffect(oUser, VFX_FNF_HOWL_WAR_CRY,lEffect, fDelay); break;
|
|
case 35: FnFEffect(oUser, VFX_FNF_IMPLOSION,lEffect, fDelay); break;
|
|
case 36: FnFEffect(oUser, VFX_FNF_PWKILL,lEffect, fDelay); break;
|
|
case 37: FnFEffect(oUser, VFX_FNF_PWSTUN,lEffect, fDelay); break;
|
|
case 38: FnFEffect(oUser, VFX_FNF_SOUND_BURST,lEffect, fDelay); break;
|
|
case 39: FnFEffect(oUser, VFX_FNF_STRIKE_HOLY,lEffect, fDelay); break;
|
|
case 30: FnFEffect(oUser, VFX_FNF_WORD,lEffect, fDelay); break;
|
|
//Lighting Effects
|
|
case 41: ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_BLACKOUT),lEffect, fDuration); break;
|
|
case 42: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_ANTI_LIGHT_10),oTarget, fDuration); break;
|
|
case 43: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_BLUE_20),oTarget, fDuration); break;
|
|
case 44: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_GREY_20),oTarget, fDuration); break;
|
|
case 45: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_ORANGE_20),oTarget, fDuration); break;
|
|
case 46: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_PURPLE_20),oTarget, fDuration); break;
|
|
case 47: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_RED_20),oTarget, fDuration); break;
|
|
case 48: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_WHITE_20),oTarget, fDuration); break;
|
|
case 49: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20),oTarget, fDuration); break;
|
|
//Beam Effects
|
|
case 50: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_CHAIN, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 51: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_COLD, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 52: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_EVIL, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 53: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_FIRE, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 54: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_FIRE_LASH, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 55: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_HOLY, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 56: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 57: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_MIND, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 58: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_ODD, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
case 59: ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_COLD, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_EVIL, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_FIRE, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_FIRE_LASH, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_HOLY, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_LIGHTNING, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_MIND, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_ODD, oUser, BODY_NODE_CHEST, FALSE), oTarget, fBeamDuration); break;
|
|
|
|
//Environmental Effects
|
|
case 60: FnFEffect(oUser, VFX_FNF_NATURES_BALANCE,lEffect, fDelay);break;
|
|
case 61: FXWand_Lightning(oTarget, lEffect); break;
|
|
case 62: FXWand_Firestorm(oTarget); break;
|
|
case 63: FXWand_Earthquake(oTarget); break;
|
|
case 64: FnFEffect(oUser, VFX_FNF_ICESTORM,lEffect, fDelay); break;
|
|
case 65: FnFEffect(oUser, VFX_FNF_SUNBEAM,lEffect, fDelay); break;
|
|
case 66: SetWeather(GetArea(oUser), WEATHER_CLEAR); break;
|
|
case 67: SetWeather(GetArea(oUser), WEATHER_RAIN); break;
|
|
case 68: SetWeather(GetArea(oUser), WEATHER_SNOW); break;
|
|
case 69: SetWeather(GetArea(oUser), WEATHER_USE_AREA_SETTINGS); break;
|
|
//Summon Effects
|
|
case 71: FnFEffect(oUser, VFX_FNF_SUMMON_MONSTER_1,lEffect, fDelay); break;
|
|
case 72: FnFEffect(oUser, VFX_FNF_SUMMON_MONSTER_2,lEffect, fDelay); break;
|
|
case 73: FnFEffect(oUser, VFX_FNF_SUMMON_MONSTER_3,lEffect, fDelay); break;
|
|
case 74: FnFEffect(oUser, VFX_FNF_SUMMON_CELESTIAL,lEffect, fDelay); break;
|
|
case 75: FnFEffect(oUser, VFX_FNF_SUMMONDRAGON,lEffect, fDelay); break;
|
|
case 76: FnFEffect(oUser, VFX_FNF_SUMMON_EPIC_UNDEAD,lEffect, fDelay); break;
|
|
case 77: FnFEffect(oUser, VFX_FNF_SUMMON_GATE,lEffect, fDelay); break;
|
|
case 78: FnFEffect(oUser, VFX_FNF_SUMMON_UNDEAD,lEffect, fDelay); break;
|
|
case 79: FnFEffect(oUser, VFX_FNF_UNDEAD_DRAGON,lEffect, fDelay); break;
|
|
case 70: FnFEffect(oUser, VFX_FNF_WAIL_O_BANSHEES,lEffect, fDelay); break;
|
|
//SoU/HotU Effects
|
|
case 80: ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(322), oTarget, fDuration); break;
|
|
case 81: ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(132), oTarget, fDuration); break;
|
|
case 82: ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(133), oTarget, fDuration); break;
|
|
case 83: ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(136), oTarget, fDuration); break;
|
|
case 84: ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(137), oTarget, fDuration); break;
|
|
case 85: FnFEffect(oUser, VFX_FNF_DEMON_HAND,lEffect, fDelay); break;
|
|
case 86: FnFEffect(oUser, VFX_FNF_ELECTRIC_EXPLOSION,lEffect, fDelay); break;
|
|
case 87: FnFEffect(oUser, VFX_FNF_GREATER_RUIN,lEffect, fDelay); break;
|
|
case 88: FnFEffect(oUser, VFX_FNF_MYSTICAL_EXPLOSION,lEffect, fDelay); break;
|
|
case 89: FnFEffect(oUser, VFX_FNF_SWINGING_BLADE,lEffect, fDelay); break;
|
|
//Settings
|
|
case 91:
|
|
SetLocalString(oUser, "EffectSetting", "dmfi_effectduration");
|
|
CreateSetting(oUser);
|
|
break;
|
|
case 92:
|
|
SetLocalString(oUser, "EffectSetting", "dmfi_effectdelay");
|
|
CreateSetting(oUser);
|
|
break;
|
|
case 93:
|
|
SetLocalString(oUser, "EffectSetting", "dmfi_beamduration");
|
|
CreateSetting(oUser);
|
|
break;
|
|
case 94: //Change Day Music
|
|
iDayMusic = MusicBackgroundGetDayTrack(GetArea(oUser)) + 1;
|
|
if (iDayMusic > 33) iDayMusic = 49;
|
|
if (iDayMusic > 55) iDayMusic = 1;
|
|
MusicBackgroundStop(GetArea(oUser));
|
|
MusicBackgroundChangeDay(GetArea(oUser), iDayMusic);
|
|
MusicBackgroundPlay(GetArea(oUser));
|
|
break;
|
|
case 95: //Change Night Music
|
|
iNightMusic = MusicBackgroundGetDayTrack(GetArea(oUser)) + 1;
|
|
if (iNightMusic > 33) iNightMusic = 49;
|
|
if (iNightMusic > 55) iNightMusic = 1;
|
|
MusicBackgroundStop(GetArea(oUser));
|
|
MusicBackgroundChangeNight(GetArea(oUser), iNightMusic);
|
|
MusicBackgroundPlay(GetArea(oUser));
|
|
break;
|
|
case 96: //Play Background Music
|
|
MusicBackgroundPlay(GetArea(oUser));
|
|
break;
|
|
case 97: //Stop Background Music
|
|
MusicBackgroundStop(GetArea(oUser));
|
|
break;
|
|
case 98: //Change and Play Battle Music
|
|
iBattleMusic = MusicBackgroundGetBattleTrack(GetArea(oUser)) + 1;
|
|
if (iBattleMusic < 34 || iBattleMusic > 48) iBattleMusic = 34;
|
|
MusicBattleStop(GetArea(oUser));
|
|
MusicBattleChange(GetArea(oUser), iBattleMusic);
|
|
MusicBattlePlay(GetArea(oUser));
|
|
break;
|
|
case 99: //Stop Battle Music
|
|
MusicBattleStop(GetArea(oUser));
|
|
break;
|
|
|
|
default: break;
|
|
}
|
|
DeleteLocalObject(oUser, "EffectTarget");
|
|
return;
|
|
}
|