Frictional Games Forum (read-only)

Full Version: So I thought I knew it all...
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Since I finished Amnesia already, I thought I'd give a speedrun a try (just for myself) which means I had to try some stuff to see what I could and couldn't do. I thought I knew every monsters position and the surprises the game had so I wouldn't be as frightened as my first playtrough.

So I was at the start of the sewer level, where you see a brute walking by and I wanted to see if he would attack or just disappear. He didn't seem to notice me and I followed him, going insane in the mean time, but I had my laugh :p
He turned around at a hallway and attacked me, but before the hit landed, he *poofed* away. Okay, that guy is no thread then.... Lets see continue to the pipe and the puzzle...... okay, broke off the pipe and lets get to the levers.... run run run

*splash* *splash* *GRAWLLLL* *SPLASH* *SPLASH!!!*

HOLY SHEEEEEEEEET!!! THERES A FREAKING WATER LURKER IN THE SEWER!!!!!!!! RUN RUN RUN !!!!!

Turned out it was due to the insanity i had from looking at the monster at the start, but I kinda freaked out when i saw the splashes coming around the corner.
Thats what you get for DOING IT WRONG!!! Tongue
(01-10-2011, 11:22 PM)Spooder Wekd Wrote: [ -> ]Thats what you get for DOING IT WRONG!!! Tongue

[Image: you_re-doing-it-wrong.jpg]
ROFL shev!
Took a look in the level editor and it seems it does spawn a fake water lurker after you break the pipe and your sanity is higher then 30% (which seems unlikely when you play normally I think)

Code:
/////////////////////////
// Break pipe piece
void CollidePipePieceWithBreakArea(string &in asParent, string &in asChild, int alState)
{
    ///////////////////////////////////////////
    // Check how many times the pipe has collided with area, and break if enough
    int lBreakAmount = GetLocalVarInt("PipeBreakAmount");
    if(lBreakAmount==2)
    {
        PlaySoundAtEntity("PipeBreak", "17_break_wheel.snt", asParent, 0.3f, false);
        PlaySoundAtEntity("PipeBreak2", "25_bar_drop.snt", asParent, 0, false);
        PlaySoundAtEntity("PipeBreak3", "impact_water_med.snt", asParent, 0, false);
        
        SetEntityActive(asParent, false);
        SetEntityActive("pipe_piece", true);
        RemoveEntityCollideCallback(asParent, asChild);
        
        CompleteQuest("20Pipe", "20Pipe");
        
        SetEntityActive("AreaScaryWaterLurkerEvent", true); //Activate a scary water lurker event.
    }
    else
    {
        lBreakAmount++;
        SetLocalVarInt("PipeBreakAmount", lBreakAmount);
    }
}

Code:
//////////////////////////
// WATER LURKER SCARE IN HALL 2
//////////////////////////

//------------------------------------------------------

void CollideScaryWaterLurkerEvent(string &in asParent, string &in asChild, int alState)
{
    if(GetPlayerSanity()>=30)
        return;
        
    PlayMusic("04_event_stairs.ogg", false, 0.7, 0.1, 10, false);
    
    AddTimer("scare", 0.7f, "TimerPlayerReact");
    AddTimer("breath", 2.7f, "TimerPlayerReact");
    AddTimer("breathl", 4.7f, "TimerPlayerReact");
    
    AddTimer("AreaLurkerSound", 0.5f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_1", 1.0f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_2", 2.2f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_3", 3.0f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_4", 3.5f, "TimerLurkerSplash");
    AddTimer("AreaLurkerSplash_5", 4.0f, "TimerLurkerSplash");
    
    RemoveEntityCollideCallback(asParent, asChild);
}

//------------------------------------------------------

void TimerLurkerSplash(string &in asTimer)
{
    if(asTimer == "AreaLurkerSound"){
        PlaySoundAtEntity("LurkerSound","water_lurker_hunt.snt", "AreaLurkerSplash_1", 0, false);
        GiveSanityDamage(10.0f, true);
        StartScreenShake(0.003f, 0.0f, 0.5f, 3.0f);
        
    }else{
    
        PlaySoundAtEntity("LurkerSound","impact_water_high.snt", asTimer, 0, false);
        CreateParticleSystemAtEntity("LurkerPS", "waterlurker_walk_splash", asTimer, false);    
    }
    
    if(asTimer == "AreaLurkerSplash_5")
        PlaySoundAtEntity("LurkerSound2","water_lurker_eat.snt", asTimer, 0, false);
}


It also seems the only map where something is happening based on your insanity. I checked all other map-scripts and none other then Sewers has a line like "if(GetPlayerSanity()>"

-edit-
never mind, with just "if(GetPlayerSanity()" i get more results. Seems like the waterlurker in the Cistern also spawns only on high insanity levels
Lolz that explains it all Big Grin the sanity i mean, coz when i was in cistern, after turning all the valves i saw a splash on the water and becouse this was the second time playing it i jumped in the water, just to make sure and whaddya know, it killed me ;<
They need to do more stuff with the sanity meter (if they're going to use that anymore). The more insane you are, the more unexplainable phenomena happen, like loud footsteps approaching you fast, and the more monsters you encounter. That way you want to keep your sanity in control.