#include "net_common.h" float x, y, z, dx, dy, dz; #include "common_se06.cs" int ClayFigureState[5]; void SpawnClayFigure(int idx); void OnCache() { LoadScene("SE06"); SetSceneObjectSwitch("cauldron", "PRESENT", 0); // CacheLevelModel("Guard02"); PlayNetGameMusic(se06_music); SetAudioEnvironment(ENVIRONMENT_LIVINGROOM); } void OnHostGame() { // initial Parameters for (i = 0 ; i < 8 ; i++) { SetSceneObjectSwitch(NumToStr("light%02da", i), "PRESENT", 1); SetSceneObjectSwitch(NumToStr("light%02db", i), "PRESENT", 0); SetSceneObjectSwitch(NumToStr("light%02dc", i), "PRESENT", 1); SetSceneLightColor(NumToStr("light%02d", i), 0.99, 0.5, 0.1, 0.1, 0.1, 0.2); } SetSceneLightColor("ambient", 0.4, 0.2, 0.1, 0.1, 0.1, 0.2); /* for (i = 0 ; i < 5 ; i++) { ClayFigureID[i] = FindSceneItem(NumToStr("GUARD02_%02d", i)); SpawnClayFigure(i); } */ } // ------------- // ClayFigure // ------------- /* int GetCFiguresIndex(int id) { for (i = 0 ; i < 5 ; i++) { if(CFID[i] == id) return i; } Print("Warnning,illegle CF id accessed!" ,id ,"\n"); return -1; } void SpawnClayFigure(int idx) { GetSceneItemPos(ClayFigureID[idx], x, y, z); GetSceneItemRot(ClayFigureID[idx], dx, dy, dz); CFID[idx] = SpawnItem("clayfigure", x, y, z, dx, dy, dz); SetItemAttrib(CFID[idx], ITEM_DAMAGE, 80); ClayFigureState[idx] = 0; } void BreakClayFigure(int id) { i = GetCFiguresIndex(id); if( (i < 0) || (ClayFigureState[i] == 0) ) return; BreakItem(id, 300); CFID[i] = -1; if(CauldronHP > 0) SpawnClayFigure(i); } void CLAYFIGURE_OnReach(int id, int np) { SetItemAttrib(id, ITEM_LIFTABLE, 1); i = GetCFiguresIndex(id); ClayFigureState[i] = 1; } void CLAYFIGURE_OnAttack(int id, int charaId,int damage) { if (damage < 10) return; BreakClayFigure(id); } void CLAYFIGURE_OnHitWall(int id) { Print(id, " hit wall\n"); BreakClayFigure(id); } void CLAYFIGURE_OnHitItem(int id, int item) { Print(id, " hit item\n"); BreakClayFigure(id); } void CLAYFIGURE_OnHitChara(int id, int charaId) { Print(id, " hit chara", charaId, "\n"); BreakClayFigure(id); } */