Added more chunks: Amethyst, Ice, Ruby, Snow

heavy-resources
Clonkonaut 2014-03-30 22:18:25 +02:00
parent 78349ba6a0
commit ba521405ee
40 changed files with 313 additions and 17 deletions

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ice
Blast2Object=Chunk_Ice
MaxAirSpeed=100
MaxSlide=1
Corrode=60

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ice
Blast2Object=Chunk_Ice
MaxAirSpeed=100
MaxSlide=1
Corrode=60

View File

@ -5,11 +5,11 @@ Density=60
Friction=15
DigFree=1
BlastFree=1
Blast2Object=Ice
Dig2Object=Ice
Blast2Object=Chunk_Ice
Dig2Object=Chunk_Ice
Dig2ObjectRatio=300
Dig2ObjectCollect=2
Blast2ObjectRatio=120
Blast2ObjectRatio=150
MaxAirSpeed=100
MaxSlide=1
Corrode=60
@ -18,4 +18,4 @@ AboveTempConvert=10
AboveTempConvertDir=1
AboveTempConvertTo=Water
Placement=21
TextureOverlay=ice3
TextureOverlay=ice3

View File

@ -22,7 +22,7 @@ TextureOverlay=snow1
PXSGfxSize=3
PXSGfx=Snow
PXSGfxRt=0,0,16,16,-8,-8
Dig2Object=Snow
Dig2Object=Chunk_Snow
Dig2ObjectRatio=400
[Reaction]

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ruby
Blast2Object=Chunk_Ruby
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Amethyst
Blast2Object=Chunk_Amethyst
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ruby
Blast2Object=Chunk_Ruby
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -0,0 +1,15 @@
[DefCore]
id=Chunk_Amethyst
Version=4,10,0,0
Category=C4D_Object
Width=12
Height=12
Offset=-6,-6
Vertices=3
VertexX=0,4,-4
VertexY=3,-3,-3
VertexFriction=40,40,40
Value=50
Mass=25
Components=Amethyst=3
Rotate=1

View File

@ -0,0 +1,14 @@
material AmethystChunk
{
receive_shadows on
technique
{
pass
{
ambient 0.600000 0.200000 0.600000 0.800000
diffuse 0.7 0.3 0.7 0.600000
specular 0.9 0.5 0.9 0.700000 18.000000
emissive 0.9 0.5 0.9 0.800000
}
}
}

View File

@ -0,0 +1,9 @@
/*--- Amethyst Chunk ---*/
#include Chunk_Ruby
// returns the color of the gem (used for effects)
func GetGemColor()
{
return RGB(255, 20, 255);
}

View File

@ -0,0 +1,2 @@
Name=Amethyst
Description=Wertvoller Klunker

View File

@ -0,0 +1,2 @@
Name=Amethyst
Description=Valuable clunker

View File

@ -0,0 +1,17 @@
[DefCore]
id=Chunk_Ice
Version=4,10,0,0
Category=C4D_Object
Width=12
Height=12
Offset=-6,-6
Vertices=3
VertexX=0,4,-4
VertexY=3,-3,-3
VertexFriction=40,40,40
Value=3
Mass=20
Components=Ice=3
StretchGrowth=1
Float=1
Rotate=1

View File

@ -0,0 +1,14 @@
material IceChunk
{
receive_shadows on
technique
{
pass
{
ambient 0.500000 0.500000 0.500000 0.800000
diffuse 0.5 0.5 0.9 0.800000
specular 0.652682 0.652682 0.952682 0.800000 18.000000
emissive 0.2 0.2 0.5 0.800000
}
}
}

View File

@ -0,0 +1,48 @@
/*--- Ice Chunk ---*/
#include Library_CarryHeavy
public func GetCarryMode(clonk) { return CARRY_BothHands; }
public func GetCarryPhase() { return 800; }
protected func Construction()
{
AddTimer("Check", 30);
}
protected func Check()
{
if (GetTemperature() <= 0 && GetMaterial() == Material("Water") && GetCon() < 100)
Freeze();
// Don't do anything af
if (GetTemperature() > 0)
Melt();
}
private func Melt()
{
CastPXS("Water", 2, 0);
DoCon(-1);
}
private func Freeze()
{
ExtractMaterialAmount(0, 0, Material("Water"), 2);
DoCon(1);
}
protected func Hit()
{
Sound("CrystalHit?");
}
public func IsChunk() { return true; }
func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Rotate(30,0,0,1),Trans_Rotate(-30,1,0,0),Trans_Scale(1300)),def);
}
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 2;
local Plane = 450;

View File

@ -0,0 +1,2 @@
Name=Eis
Description=Gefrorenes Wasser.

View File

@ -0,0 +1,2 @@
Name=Ice
Description=Frozen water.

View File

@ -0,0 +1,15 @@
[DefCore]
id=Chunk_Ruby
Version=4,10,0,0
Category=C4D_Object
Width=12
Height=12
Offset=-6,-6
Vertices=3
VertexX=0,4,-4
VertexY=3,-3,-3
VertexFriction=40,40,40
Value=50
Mass=25
Components=Ruby=3
Rotate=1

View File

@ -0,0 +1,14 @@
material RubyChunk
{
receive_shadows on
technique
{
pass
{
ambient 0.600000 0.200000 0.200000 0.800000
diffuse 0.7 0.3 0.3 0.600000
specular 0.9 0.5 0.5 0.700000 18.000000
emissive 0.9 0.5 0.5 0.800000
}
}
}

View File

@ -0,0 +1,63 @@
/*--- Ruby Chunk ---*/
#include Library_CarryHeavy
public func GetCarryMode(clonk) { return CARRY_BothHands; }
public func GetCarryPhase() { return 800; }
// returns the color of the gem (used for effects)
func GetGemColor()
{
return RGB(255, 20, 20);
}
func Initialize()
{
AddEffect("Sparkle", this, 1, 30 + RandomX(-3, 3), this);
}
func FxSparkleStart(target, effect, temp)
{
if (temp) return;
var color = this->~GetGemColor() ?? RGB(255, 20, 20);
effect.particles =
{
Prototype = Particles_MagicRing(),
R = (color >> 16) & 0xff,
G = (color >> 8) & 0xff,
B = (color >> 0) & 0xff,
};
}
func FxSparkleTimer(target, effect, effect_time)
{
if(this()->Contained() || !Random(2)) return FX_OK;
CreateParticle("MagicRing", 0, 0, 0, 0, effect.Interval, effect.particles, 1);
return FX_OK;
}
func IsValuable() { return true; }
func QueryOnSell()
{
// Inform goal of gem sale
var goal = FindObject(Find_ID(Goal_SellGems));
if (goal) goal->OnGemSold();
return false; // do perform selling
}
func Hit()
{
Sound("GlassHit*");
}
public func IsChunk() { return true; }
func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Rotate(30,0,0,1),Trans_Rotate(-30,1,0,0),Trans_Scale(1300)),def);
}
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 2;
local Plane = 480;

View File

@ -0,0 +1,2 @@
Name=Rubin
Description=Wertvoller Klunker

View File

@ -0,0 +1,2 @@
Name=Ruby
Description=Valuable clunker

View File

@ -0,0 +1,17 @@
[DefCore]
id=Chunk_Snow
Version=4,10,0,0
Category=C4D_Object
Width=12
Height=12
Offset=-6,-6
Vertices=3
VertexX=0,4,-4
VertexY=3,-3,-3
VertexFriction=40,40,40
Value=3
Mass=20
Components=Snow=3
StretchGrowth=1
Float=1
Rotate=1

View File

@ -0,0 +1,14 @@
material SnowChunk
{
receive_shadows on
technique
{
pass
{
ambient 1.000000 1.000000 1.000000 1.000000
diffuse 1.0 1.0 1.0 1.000000
specular 1.0 1.0 1.0 1.000000 18.000000
emissive 1.0 1.0 1.0 1.000000
}
}
}

View File

@ -0,0 +1,40 @@
/*--- Snow Chunk ---*/
#include Library_CarryHeavy
public func GetCarryMode(clonk) { return CARRY_BothHands; }
public func GetCarryPhase() { return 800; }
protected func Construction()
{
AddTimer("Check", 30);
}
protected func Check()
{
if (GetTemperature() > 0)
Melt();
}
private func Melt()
{
CastPXS("Water", 2, 0);
DoCon(-1);
}
protected func Hit()
{
CastPXS("Snow", GetCon()*4,18);
RemoveObject();
}
public func IsChunk() { return true; }
func Definition(def) {
SetProperty("PictureTransformation", Trans_Mul(Trans_Rotate(30,0,0,1),Trans_Rotate(-30,1,0,0),Trans_Scale(1300)),def);
}
local Name = "$Name$";
local Description = "$Description$";
local Touchable = 2;
local Plane = 450;

View File

@ -0,0 +1,2 @@
Name=Schneeball
Description=Schneeballschlacht!

View File

@ -0,0 +1,2 @@
Name=Snowball
Description=Snowball fight!

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ruby
Blast2Object=Chunk_Ruby
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Amethyst
Blast2Object=Chunk_Amethyst
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -4,8 +4,8 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ruby
Blast2ObjectRatio=100
Blast2Object=Chunk_Ruby
Blast2ObjectRatio=150
MaxAirSpeed=100
MaxSlide=1
Corrode=60

View File

@ -4,7 +4,7 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Amethyst
Blast2Object=Chunk_Amethyst
Blast2ObjectRatio=100
MaxAirSpeed=100
MaxSlide=1

View File

@ -4,8 +4,8 @@ Shape=Rough
Density=70
Friction=15
BlastFree=1
Blast2Object=Ruby
Blast2ObjectRatio=100
Blast2Object=Chunk_Ruby
Blast2ObjectRatio=150
MaxAirSpeed=100
MaxSlide=1
Corrode=60