| RE: Stephen Rimmer's Alpha Mail Alpha Adventure [WIP with links] 
 
				////////////////////////////// Run when entering map
 void OnEnter()
 {
 AutoSave();
 AddEntityCollideCallback("Player", "scarearea1", "startscare", true, 1);
 AddCombineCallback("hammer_and_chipper", "stone_hammer_1", "stone_chipper_1", "CombineHammerAndChipper", true);
 AddUseItemCallback("MeltPadlock", "glass_container_filled", "padlock_worn", "MeltPadlock", true);
 AddUseItemCallback("BreakLock", "stone_hammer_chipper", "padlock_acid_used", "BreakLock", true);
 AddUseItemCallback("", "glassjar", "acid_container_1", "filljar", true);
 AddUseItemCallback("", "servantskey", "headservantroom", "openservantdoor", true);
 SetEntityPlayerInteractCallback("stone_hammer_1", "spawnmen", true);
 }
 
 void openservantdoor(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("headservantroom", false, true);
 PlaySoundAtEntity("", "unlock_door.snt", "headservantroom", 0, false);
 RemoveItem("servantskey");
 }
 
 void spawnmen(string &in asParent, string &in asChild, int alState)
 {
 SetEntityActive("hammergrunt", true);
 AddEnemyPatrolNode("hammergrunt", "headservant", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_1", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_2", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_3", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_4", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_5", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_6", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_7", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_8", 0.0f, "");
 AddEnemyPatrolNode("hammergrunt", "headservant_9", 0.0f, "");
 CheckPoint("checkhammergrunt", "checkpoint1", "CheckPoint01", "Misc", "servdeath");
 }
 
 //void CheckPoint01(string &in asName, int alCount)
 //{
 //SetPlayerHealth(RandFloat(80,90));
 //SetPlayerSanity(RandFloat(40,60));
 //}
 
 void startscare(string &in asParent, string &in asChild, int alState)
 {
 AddPropImpulse("scarehammer", 10, 5, -5, "World");
 GiveSanityDamage(10, true);
 SetLampLit("scarecandle", false, true);
 SetLampLit("scarelantern", false, true);
 SetLanternActive(false, false);
 PlayGuiSound("react_scare", 1.0f);
 }
 
 void CombineHammerAndChipper(string &in asItem)
 {
 
 if(asItem == "stone_hammer_1" && HasItem("stone_chipper_1")){
 
 RemoveItem("stone_chipper_1");
 RemoveItem("stone_hammer_1");
 
 GiveItem("stone_hammer_chipper", "Puzzle", "stone_hammer_chipper", "stone_hammer_chipper.tga", 0);
 }
 else if(asItem == "stone_chipper_1" && HasItem("stone_hammer_1")){
 
 RemoveItem("stone_chipper_1");
 RemoveItem("stone_hammer_1");
 
 GiveItem("stone_hammer_chipper", "Puzzle", "stone_hammer_chipper", "stone_hammer_chipper.tga", 0);
 }
 }
 
 void MeltPadlock(string &in asItem, string &in asEntity)
 {
 SetEntityActive("padlock_worn", false);
 SetEntityActive("padlock_acid_used", true);
 RemoveItem(asItem);
 SetMessage("Levels", "LockWeak", 0);
 }
 
 void filljar(string &in asItem, string &in asEntity)
 {
 if(asItem == "glassjar"){
 PlaySoundAtEntity("fillbottle", "puzzle_acid_success", asEntity, 1.0f, false);
 RemoveItem(asItem);
 GiveItemFromFile("glass_container_filled", "glass_container_filled.ent");
 SetMessage("Levels", "AcidInJar", 0);
 }
 else if(asItem == "glass_container_filled"){
 SetMessage("Levels", "AcidAlreadyInJar", 0);
 }
 }
 
 void BreakLock(string &in asItem, string &in asEntity)
 {
 SetSwingDoorLocked("prisongate1", false, true);
 SetEntityActive("padlock_acid_used", false);
 GiveSanityBoostSmall();
 }
 
 ////////////////////////////
 // Run when leaving map
 void OnLeave()
 {
 }
 |