No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
|spawnCode = "krampus"}} |
|spawnCode = "krampus"}} |
||
{{Template:Quote|Hello, foul creature of the underworld.|Wendy}} |
{{Template:Quote|Hello, foul creature of the underworld.|Wendy}} |
||
− | '''Krampus''' is a mob that will spawn if the player kills too many "innocent" (non-aggressive) [[Animals]], exceeding a certain naughtiness rating |
+ | '''Krampus''' is a mob that will spawn if the player kills too many "innocent" (non-aggressive) [[Animals]], exceeding a certain naughtiness rating. As the player is getting close to Krampus spawning, there will be a hissing noise warning the player each time more innocent creatures are killed. The player will hear a unique piercing noise upon Krampus' spawn. Not acting "naughty" for a while gradually decreases the naughtiness rating by one per minute. |
Krampus takes 3 blasts from the [[Ice Staff]] to be frozen. |
Krampus takes 3 blasts from the [[Ice Staff]] to be frozen. |
Revision as of 13:24, 15 October 2013
Krampus is a mob that will spawn if the player kills too many "innocent" (non-aggressive) Animals, exceeding a certain naughtiness rating. As the player is getting close to Krampus spawning, there will be a hissing noise warning the player each time more innocent creatures are killed. The player will hear a unique piercing noise upon Krampus' spawn. Not acting "naughty" for a while gradually decreases the naughtiness rating by one per minute.
Krampus takes 3 blasts from the Ice Staff to be frozen.
6 hits with spear and Hambat, 5 with batbat, 4 with tentacle spike and thulecite club, and 3 with dark sword.
Behavior
Krampus will break Chests, then proceed to steal everything before retreating. In order to get their items back, players must kill the Krampus and pick up the items. Krampus will also pick up items lying on the ground prior to destroying chests. Eye Bone, Lucy the Axe, Willow's Lighter, Wooden Thing components (Ring Thing, Crank Thing, Box Thing, and Metal Potato Thing) and the Divining Rod are the only items that Krampus will not steal.
Krampus moves fairly fast, dealing 50 points of damage per hit to unarmored targets, which can kill most characters in three hits. Krampus has a 1% chance of dropping its item sack upon death, which can be equipped like a Backpack. It yields 14 inventory slots rather than the Backpack's 8, and it doesn't slow the character like the Piggyback.
When killed, Krampus will drop all the goods it stole. Krampus also behaves similarly to a Gobbler when being pursued. It will disappear into its own sack if the player doesn't kill it fast enough.
Krampus will keep running around the player until no more items exist on-screen.
Naughtiness
Krampus will come and steal a very naughty player's items. It can break containers and steal entire stacks of items, then escape by paradoxically jumping into its own bag. One or two Krampii can spawn at the same time after day 50, and two or three after day 100.
Each minute of restraint reduces naughtiness by 1. Once the player reaches a threshold of naughtiness, a random number between 31 and 50, Krampus will come and steal the player's items. After Krampus appears, the naughtiness level is reset to 0.
It is worth noting that setting creatures ablaze will not award the player with naughtiness points. This is because the fire is considered to be the killing factor. The same goes for Tooth Traps and Bee Mines.
Creature |
Naughtiness |
---|---|
Baby Beefalo | 6 |
6 | |
4 | |
Pig | 3 |
Redbird and Snowbird | 2 |
Tallbird | 2 |
1 | |
Bee | 1 |
Butterfly | 1 |
Crow | 1 |
Scripting
To help keep track of your current naughtiness rating, you can use the excellent Always On Status mod , or create your own Naughtiness "Meter" through some file editing. Follow the steps below:
1. Go to the game directory, find and backup the file "kramped.lua" ( \data\scripts\components\kramped.lua )
2. Open the original file
3a. Follow these exact steps below to edit the file, OR alternatively, jump to step 3b. for a pre-edited file
find this function: function Kramped:OnNaughtyAction(how_naughty)
within that function find this line: self.timetodecay = self.decayperiod
start a new line below and add: print("Naughtiness: ", self.actions)
find this function: function Kramped:OnUpdate(dt)
within that function find this line: self.actions = self.actions - 1
again start a new line below and add: print("Naughtiness: ", self.actions)
Save the file and exit.
3b. Press ctrl + a to select everything in the file and delete.
copy the text from the box below
local Kramped = Class(function(self, inst) self.inst = inst self.actions = 0 self.threshold = 30 self.inst:ListenForEvent( "killed", function(inst,data) self:onkilledother(data.victim) end ) self.decayperiod = 60 self.timetodecay = self.decayperiod self.inst:StartUpdatingComponent(self) end) local SPAWN_DIST = 30 function Kramped:OnSave() return { threshold = self.threshold, actions = self.actions } end function Kramped:onkilledother(victim) if victim and victim.prefab then if victim.prefab == "pigman" then if not victim.components.werebeast or not victim.components.werebeast:IsInWereState() then self:OnNaughtyAction(3) end elseif victim.prefab == "beefalo" then self:OnNaughtyAction(4) elseif victim.prefab == "crow" then self:OnNaughtyAction(1) elseif victim.prefab == "robin" then self:OnNaughtyAction(2) elseif victim.prefab == "robin_winter" then self:OnNaughtyAction(2) elseif victim.prefab == "smallbird" then self:OnNaughtyAction(6) elseif victim.prefab == "butterfly" then self:OnNaughtyAction(1) elseif victim.prefab == "rabbit" then self:OnNaughtyAction(1) elseif victim.prefab == "tallbird" then self:OnNaughtyAction(2) end end end function Kramped:OnLoad(data) self.actions = data.actions or self.actions self.threshold = data.threshold or self.threshold end function Kramped:GetDebugString() return string.format("Actions: %d / %d, decay in %2.2f", self.actions, self.threshold, self.timetodecay) end function Kramped:OnUpdate(dt) if self.actions > 0 then self.timetodecay = self.timetodecay - dt if self.timetodecay < 0 then self.timetodecay = self.decayperiod self.actions = self.actions - 1 print("Naughtiness: ", self.actions) end end end function Kramped:OnNaughtyAction(how_naughty) self.actions = self.actions + (how_naughty or 1) self.timetodecay = self.decayperiod print("Naughtiness: ", self.actions) if self.actions >= self.threshold then local day = GetClock().numcycles local num_krampii = 1 self.threshold = 30 + math.random(20) self.actions = 0 if day > 50 then num_krampii = math.random(2) elseif day > 100 then num_krampii = 1 + math.random(2) end for k = 1, num_krampii do self:MakeAKrampus() end else self.inst:DoTaskInTime(1 + math.random()*2, function() local snd = CreateEntity() snd.entity:AddTransform() snd.entity:AddSoundEmitter() snd.persists = false local theta = math.random() * 2 * PI local radius = 15 local offset = Vector3(self.inst.Transform:GetWorldPosition()) + Vector3(radius * math.cos( theta ), 0, -radius * math.sin( theta )) snd.Transform:SetPosition(offset.x,offset.y,offset.z) local left = self.threshold - self.actions if left < 5 then snd.SoundEmitter:PlaySound("dontstarve/creatures/krampus/beenbad_lvl3") elseif left < 15 then snd.SoundEmitter:PlaySound("dontstarve/creatures/krampus/beenbad_lvl2") elseif left < 20 then snd.SoundEmitter:PlaySound("dontstarve/creatures/krampus/beenbad_lvl1") end snd:Remove() end) end end function Kramped:GetSpawnPoint(pt) local theta = math.random() * 2 * PI local radius = SPAWN_DIST local offset = FindWalkableOffset(pt, theta, radius, 12, true) if offset then return pt+offset end end function Kramped:MakeAKrampus() local pt = Vector3(self.inst.Transform:GetWorldPosition()) local spawn_pt = self:GetSpawnPoint(pt) if spawn_pt then local kramp = SpawnPrefab("krampus") if kramp then kramp.Physics:Teleport(spawn_pt:Get()) kramp:FacePoint(pt) end end end return Kramped
paste it into your empty script
Save the file and exit
4. Now whenever in game, you can press ctrl + L to enable the log. Each time the naughtiness level changes the log will print the current value on screen. Additionally, you can also find a text file record of the the log under the current user's My Documents\Klei\DoNotStarve\ folder.
Killing Strategies
- By far the easiest method to kill Krampus is to simply put it to sleep (Sleep Dart, Pan Flute). Then kill the Krampus with a Spear or Tentacle Spike.
- Alternately, the player may kill Krampus in direct combat. This can be done by first using ranged weapons such as a Boomerang or a Blow Dart to strike Krampus, which will cause Krampus to engage the player. Then the player may lure Krampus into hazards such as Tooth Traps.
- If the player keeps track of their "naughtiness", they can set a trap for the Krampus before its arrival. The player should place a Chest with a few dummy items between where they will do the final act. Then the player should surround it with Bee Mines. The Krampus should go to the Chest, trigger the mines, and die from the bees. A player without traps or mines can directly engage Krampus while it's busy with the chest.
- Another way to farm Krampus is to kill Rabbits with Traps, and when the loud hissing sound is played, get a Rabbit, go away from the camp, place a random item or two on the ground and kill the Rabbit. As Krampus spawns, it will take away the items. If the player fails to kill Krampus when it is taking the item, drop another one, though Krampus may have disappeared already.
- One of the funniest ways to kill Krampus is by putting a small stack of killer bees into a remote chest, and then letting it destroy the chest, setting off the bees.
- A good way to get items back is to make Krampus run into some Frogs: their tongues will make Krampus drop its stolen items, which can be picked up at will.
- If the player is aiming to get Krampus' Sack, try using the Fire Staff since the sack doesn't burn. Krampus' other drops will be turned to ash, but since they are common drops, this isn't a big deal.
- Another strategy to find the Sack is to save the game right before killing him; if he doesn't drop the Sack, close the game with the alt+f4 command, and repeat the process until you got the bag. But be mindful of the auto-save.
Trivia
- In folklore, Krampus is a beast-like creature from the folklore of Alpine countries, thought to punish bad children during the Yule season, in contrast with Saint Nicholas, who rewards nice ones with gifts. Krampus is said to capture particularly naughty children in his sack and carry them to his lair. Krampus' contrast to Saint Nicholas is reinforced by the Charcoal he carries; traditionally, naughty children are punished with coal in their stockings.
- Krampus might also have some references to the Scandinavian Yule goat, an old pagan tradition originating from Norse mythology. Note that Krampus' horns resemble ones of an ornamental straw goat and in Finnish tradition, young men used to wear goat heads made out of straw (notice the Krampus' figure) in the Yule season, while going house to house demanding food and alcohol. The Finnish version of Santa Claus still has the name of the Yule goat.
- Krampus also appears similar to reports of the Jersey Devil, a winged red horse with horns. However, Krampus has no wings and has a much thicker tail than a horse, more like that of a kangaroo or lizard.
- In Six Feet Under, Krampus was given a new look. He was retextured with white eyes and a purple "mouth".
Bugs
- Hitting Krampus as it jumps into its bag will cause it to reappear and become invincible. In this state, Krampus cannot move and cannot be killed, but it can still be frozen and put to sleep just like normal.
Gallery
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Hostile Creatures | |
Neutral Animals | |
Passive Animals | |
Boss | |
Follower Animals | |
Traders | |
NPC |
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Hostile Creatures | |
Neutral Animals | |
Passive Animals | |
Boss | |
Follower Animals | |
Traders | |
NPC |
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Hostile Creatures | |
Neutral Animals | |
Passive Animals | |
Boss | |
Follower Animals | |
Traders | |
NPC |
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Hostile Creatures | |
Neutral Animals | |
Passive Animals | |
Boss | |
Follower Animals | |
Traders | |
NPC |
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Hostile Creatures | |
Neutral Animals | |
Passive Animals | |
Boss | |
Follower Animals | |
Traders | |
NPC | |
The Forge | |
The Gorge |
Mobs | |
Attention: The following categories are only for the players look up the page based on their first impression, they have nothing to do with the actual categories/behavior/function/tags of these creatures | |
Spiders | |
Hounds | |
Mechanisms | |
Bugs and Worms | |
Сrustaceans | |
Ungulates (no pigs) | |
Rodents | |
Cats | |
Birds | |
Amphibians | |
Mollusca | |
Pinnipedia | |
Underwater Сreatures | |
Terraria | |
Living plants | |
Pigs | |
Monkeys | |
Golems | |
Ghosts | |
Lunar Сreatures | |
Shadow Сreatures | |
Follower Animals | |
Boss | |
NPC | |
The Forge | |
The Gorge | |
Event Mobs |