forked from Mirrors/openclonk
Added more chunks: Amethyst, Ice, Ruby, Snow
parent
78349ba6a0
commit
ba521405ee
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Ice
|
||||
Blast2Object=Chunk_Ice
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
Corrode=60
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Ice
|
||||
Blast2Object=Chunk_Ice
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
Corrode=60
|
||||
|
|
|
@ -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
|
|
@ -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]
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Ruby
|
||||
Blast2Object=Chunk_Ruby
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Amethyst
|
||||
Blast2Object=Chunk_Amethyst
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Ruby
|
||||
Blast2Object=Chunk_Ruby
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
Binary file not shown.
|
@ -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
|
Binary file not shown.
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
Name=Amethyst
|
||||
Description=Wertvoller Klunker
|
|
@ -0,0 +1,2 @@
|
|||
Name=Amethyst
|
||||
Description=Valuable clunker
|
|
@ -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
|
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -0,0 +1,2 @@
|
|||
Name=Eis
|
||||
Description=Gefrorenes Wasser.
|
|
@ -0,0 +1,2 @@
|
|||
Name=Ice
|
||||
Description=Frozen water.
|
|
@ -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
|
Binary file not shown.
Binary file not shown.
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -0,0 +1,2 @@
|
|||
Name=Rubin
|
||||
Description=Wertvoller Klunker
|
|
@ -0,0 +1,2 @@
|
|||
Name=Ruby
|
||||
Description=Valuable clunker
|
|
@ -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
|
Binary file not shown.
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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;
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
Name=Schneeball
|
||||
Description=Schneeballschlacht!
|
|
@ -0,0 +1,2 @@
|
|||
Name=Snowball
|
||||
Description=Snowball fight!
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Ruby
|
||||
Blast2Object=Chunk_Ruby
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Amethyst
|
||||
Blast2Object=Chunk_Amethyst
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -4,7 +4,7 @@ Shape=Rough
|
|||
Density=70
|
||||
Friction=15
|
||||
BlastFree=1
|
||||
Blast2Object=Amethyst
|
||||
Blast2Object=Chunk_Amethyst
|
||||
Blast2ObjectRatio=100
|
||||
MaxAirSpeed=100
|
||||
MaxSlide=1
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue