Added CCOH and missing areas Changed some areas to be craftable, Fixed some on death issues, Fixed the Gaurd
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;
|
|
}
|